Page 1
IntroducingS-CASEMDEEnginefromtheS-CASEdeveloperperspective
ChistoforosZolotas,IntelligentSystems&So6wareEngineeringLabgroup,DepartmentofElectricalandComputerEngineering,AristotleUniversityofThessaloniki,Greece
16.10.2015
1
S-CA
SEM
DEW
ebinar
[email protected]
Page 2
WebinarOutline
• Webinar’sGoals
• Bigpicture–EnvisioninganidealMDEengine
• S-CASE:Atwo-foldmechanism
• ReferencemodelofRESTandnon-CRUDfuncVonality
• MDEEngine’slayersoffuncVonality
• Themeta-model:RESTaspects&Wizard
• Themeta-model:BasicAuthenVcaVon&Wizard-Demo
• Themeta-model:DatabaseKeyword-Searching&Wizard-Demo
• Themeta-model:InteroperaVngwithexisVngservices&Wizard-Demo
• PreparaVonsfortheS-CASETechnicalmeeVngon29-30/10
• ConclusionsandQuesVons
16.10.2015
S-CA
SEM
DEW
ebinar
2
Page 3
Webinar’sGoals
1. FamiliarizeeveryonewiththeS-CASEMDEEngine,itsfuncVonalityandUIs.
2. PrepareeveryoneforthenextS-CASETechnicalmeeVnghackathoninThessaloniki(29-30/10).
16.10.2015
S-CA
SEM
DEW
ebinar
3
Page 4
EnvisioningtheidealMDEengine
16.10.2015
S-CA
SEM
DEW
ebinar
4
Thecoffeemachineparadigm–Easyhandling,readytouseoutput
Page 5
EnvisioningtheidealMDEengine
16.10.2015
S-CA
SEM
DEW
ebinar
5
Thecoffeemachineparadigm–Easyhandling,readytouseoutput
1)Theuserprovidesthedesiredinputtothemachine.Itissupposedtobeeasytousefordomainexperts(e.g.someonewhohasusedseveralcoffeemachines)
Page 6
EnvisioningtheidealMDEengine
16.10.2015
S-CA
SEM
DEW
ebinar
6
Thecoffeemachineparadigm–Easyhandling,readytouseoutput
1)Theuserprovidesthedesiredinputtothemachine.Itissupposedtobeeasytousefordomainexperts(e.g.someonewhohasusedseveralcoffeemachines)
2)Themachinemakesanyneededcalcula>onsandproducestheoutcome.Theuserisnotsupposedtounderstandhowthemachineworks.
Page 7
EnvisioningtheidealMDEengine
16.10.2015
S-CA
SEM
DEW
ebinar
7
Thecoffeemachineparadigm–Easyhandling,readytouseoutput
1)Theuserprovidesthedesiredinputtothemachine.Itissupposedtobeeasytousefordomainexperts(e.g.someonewhohasusedseveralcoffeemachines)
3)Theusergetstheoutput.Somepost-ac>onsmightberequirede.g.addsomesugar.
2)Themachinemakesanyneededcalcula>onsandproducestheoutcome.Theuserisnotsupposedtounderstandhowthemachineworks.
Page 8
16.10.2015
S-CA
SEM
DEW
ebinar
S-CASELowerCASEMDEEngine
S-CASEFramework
8
S-CASE:Atwo-foldmechanism
Page 9
16.10.2015
S-CA
SEM
DEW
ebinar
9S-CASEUpperCASERAT,StoryboardCreatoretc.
S-CASELowerCASEMDEEngine
S-CASE:Atwo-foldmechanism
S-CASEFramework
Iknowhowtousethismachine!
Page 10
16.10.2015
S-CA
SEM
DEW
ebinar
10S-CASEUpperCASERAT,StoryboardCreatoretc.
S-CASELowerCASEMDEEngine
S-CASE:Atwo-foldmechanism
Iwantsomecoffee
S-CASEDeveloper
S-CASEFramework
Page 11
16.10.2015
S-CA
SEM
DEW
ebinar
11S-CASEUpperCASERAT,StoryboardCreatoretc.
S-CASELowerCASEMDEEngine
S-CASE:Atwo-foldmechanism
Iwantsomecoffee
S-CASEDeveloper
S-CASEFramework
MulV-modalrequirements
LetsseeifIgotthisright!
Page 12
OverviewofRESTdesign
16.10.2015
S-CA
SEM
DEW
ebinar
12
Richardson’sMaturityModelasa“RESTfulnessmetric”
Level3:HypermediaLinks(HATEOAS)
Level2:ProperHTTPVerbsUse
Level1:ResourceOrientedDesign
Level0:TheswampPOX
RESTfulServices
Ref:hkp://marVnfowler.com/arVcles/richardsonMaturityModel.html
Page 13
OverviewofRESTdesign
ThecommoninterfaceofRESTdefineswhatshouldbedonewithrespecttothefourCRUDverbs:
1. Create:Createanewinstanceofaresource
2. Read:RetrieveanexisVngresource
3. Update:UpdatethecontentofanexisVngresource
4. Delete:DeleteanexisVngresource
However,thatisenoughonlyforbasicdatacentricapplicaVons.AnyotheracVons(non-CRUDfunc>onality)cannotbemodeled(andthusautomated)withrespecttoCRUDverbs.
16.10.2015
S-CA
SEM
DEW
ebinar
13
CRUDandNon-CRUDfunc>onality
Page 14
MDEEngine’sLayersofFunctionality
16.10.2015
S-CA
SEM
DEW
ebinar
14
GoingBeyondREST–Essen>alWebServiceFunc>onality
1)BasicAuthenVcaVonwithusernameandpassword:
2)DatabaseKeywordSearching:
3)InteroperaVngwith3rdPartyServicestofetchdatafromelsewhere,ortousefuncVonalityofanotherservice(e.g.bookhotel,getweather):
TellmeyourcredenVals!
Page 15
Themeta-model:RESTaspects
16.10.2015
S-CA
SEM
DEW
ebinar
15
ExploringtheCoreCIMMeta-Model
Resource:ThebuildingblockCRUDAc>vity:ThecommonwebAPIProperty:Theresource’sdataI/ORepresenta>on:e.g.JSON/XMLHypermedia:InterconnecVonofresources
Page 16
Themeta-model:RESTaspects
16.10.2015
S-CA
SEM
DEW
ebinar
16
Hypermediaconcept
WitheveryrequesttheserversendsbacktotheclientthenextpossibleacVons:
Page 17
Themeta-model:RESTaspects
16.10.2015
S-CA
SEM
DEW
ebinar
17
Hypermediaexample&NamingProper>es
<<Resource>>
ShoppingList
<<Resource>>
Product
<<Property>>
Price
<<Property>>
DescripVon
hasrelatedResource
Page 18
Themeta-model:RESTaspects
16.10.2015
S-CA
SEM
DEW
ebinar
18
Hypermediaexample&NamingProper>es
<<Resource>>
ShoppingList
<<Resource>>
Product
<<Property>>
Price
<<Property>>
DescripVon
hasrelatedResource
Page 19
Themeta-model:RESTWizard
16.10.2015
S-CA
SEM
DEW
ebinar
19
ExploringtheCoreCIMWizard&Demo
Page 20
Themeta-model:RESTWizard
16.10.2015
S-CA
SEM
DEW
ebinar
20
ExploringtheCoreCIMWizard&Demo
Page 21
DEMO:TheRESTMarksapplication
16.10.2015
S-CA
SEM
DEW
ebinar
21
ExploringtheCoreCIMWizard&Demo
Requirements:
1) Thesystemmustbeabletocreate,updateanddeleteanaccount
2) Thesystemmustbeabletocreate,read,updateanddeletebookmarkslinkedtoanaccount,whichhaveaURLproperty
3) Thesystemmustbeabletocreate,read,updateanddeletetagslinkedtobookmarks,whichhaveadescrip>onproperty
4) ThesystemmustbeabletosearchbookmarksbytagdescripVon
5) ThesystemmustbeabletoshareabookmarktofacebookprovidedtheusersID.
6) NFR:ThesystemmustsupportBasicAuthenVcaVon
Page 22
Themeta-model:BasicAuthentication
16.10.2015
S-CA
SEM
DEW
ebinar
22
ExploringtheBasicAuthen>ca>onCIMMeta-Model
Page 23
Themeta-model:BasicAuthentication
16.10.2015
S-CA
SEM
DEW
ebinar
23
TheBasicAuthen>ca>onWizard&demo
Page 24
DEMO:TheRESTMarksapplication
16.10.2015
S-CA
SEM
DEW
ebinar
24
ExploringtheAuthen>ca>onCIMWizard&Demo
Requirements:
1) Thesystemmustbeabletocreate,updateanddeleteanaccount
2) Thesystemmustbeabletocreate,read,updateanddeletebookmarkslinkedtoanaccount,whichhaveaURLproperty
3) Thesystemmustbeabletocreate,read,updateanddeletetagslinkedtobookmarks,whichhaveadescripVonproperty
4) ThesystemmustbeabletosearchbookmarksbytagdescripVon
5) ThesystemmustbeabletoshareabookmarktofacebookprovidedtheusersID.
6) NFR:ThesystemmustsupportBasicAuthen>ca>on
Page 25
Themeta-model:DatabaseKeyword-Searching
16.10.2015
S-CA
SEM
DEW
ebinar
25
ExploringtheDatabaseKeyword-SearchingCIMMeta-Model
SearchResources
executesearchrequests
SearchableResources
haveindexedproperVesforsearching
Page 26
Themeta-model:DatabaseKeyword-Searching
16.10.2015
S-CA
SEM
DEW
ebinar
26
ExploringtheDatabaseKeyword-SearchingWizard&Demo
Page 27
DEMO:TheRESTMarksapplication
16.10.2015
S-CA
SEM
DEW
ebinar
27
ExploringtheSearchingCIMWizard&Demo
Requirements:
1) Thesystemmustbeabletocreate,updateanddeleteanaccount
2) Thesystemmustbeabletocreate,read,updateanddeletebookmarkslinkedtoanaccount,whichhaveaURLproperty
3) Thesystemmustbeabletocreate,read,updateanddeletetagslinkedtobookmarks,whichhaveadescripVonproperty
4) Thesystemmustbeabletosearchbookmarksbytagdescrip>on
5) ThesystemmustbeabletoshareabookmarktofacebookprovidedtheusersID.
6) NFR:ThesystemmustsupportBasicAuthenVcaVon
Page 28
Themeta-model:Interoperatingwithexistingservices
16.10.2015
S-CA
SEM
DEW
ebinar
28
Exploringthe3rdPartyInteropera>onCIMMeta-model
Page 29
Themeta-model:Interoperatingwithexistingservices
16.10.2015
S-CA
SEM
DEW
ebinar
29
Exploringthe3rdPartyInteropera>onWizard&Demo
Page 30
DEMO:TheRESTMarksapplication
16.10.2015
S-CA
SEM
DEW
ebinar
30
ExploringtheCoreCIMWizard&Demo
Requirements:
1) Thesystemmustbeabletocreate,updateanddeleteanaccount
2) Thesystemmustbeabletocreate,read,updateanddeletebookmarkslinkedtoanaccount,whichhaveaURLproperty
3) Thesystemmustbeabletocreate,read,updateanddeletetagslinkedtobookmarks,whichhaveadescripVonproperty
4) ThesystemmustbeabletosearchbookmarksbytagdescripVon
5) ThesystemmustbeabletoshareabookmarktofacebookprovidedtheusersID.
6) NFR:ThesystemmustsupportBasicAuthenVcaVon
Page 31
16.10.2015
S-CA
SEM
DEW
ebinar
31
[email protected]
Page 32
PreparationsforS-CASETechnicalmeeting&demos
DownloadthelatestversionoftheMDEengineat:
hkp://s-case.github.io/s-case_update_site/
TrytousethenextfewdaystheMDEengineandbuildsomesmallservicessoas
• tolearntousethesystem(especiallypilots)
• toprovideusfeedbackthroughthehkps://openproject.scasefp7.comVcketsystem(bugs&featureproposals)
• tohelpusalsouncovercrossplasormissues
• everyoneofusismetantllypreparedforaproducVveTechnicalMeeVnginThessalonikiin2weeks
16.10.2015
S-CA
SEM
DEW
ebinar
32
HelpfulAc>ons