Upload
issel
View
200
Download
1
Embed Size (px)
Citation preview
IntroducingS-CASEMDEEnginefromtheS-CASEdeveloperperspective
ChistoforosZolotas,IntelligentSystems&So6wareEngineeringLabgroup,DepartmentofElectricalandComputerEngineering,AristotleUniversityofThessaloniki,Greece
16.10.2015
1
S-CA
SEM
DEW
ebinar
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
Webinar’sGoals
1. FamiliarizeeveryonewiththeS-CASEMDEEngine,itsfuncVonalityandUIs.
2. PrepareeveryoneforthenextS-CASETechnicalmeeVnghackathoninThessaloniki(29-30/10).
16.10.2015
S-CA
SEM
DEW
ebinar
3
EnvisioningtheidealMDEengine
16.10.2015
S-CA
SEM
DEW
ebinar
4
Thecoffeemachineparadigm–Easyhandling,readytouseoutput
EnvisioningtheidealMDEengine
16.10.2015
S-CA
SEM
DEW
ebinar
5
Thecoffeemachineparadigm–Easyhandling,readytouseoutput
1)Theuserprovidesthedesiredinputtothemachine.Itissupposedtobeeasytousefordomainexperts(e.g.someonewhohasusedseveralcoffeemachines)
EnvisioningtheidealMDEengine
16.10.2015
S-CA
SEM
DEW
ebinar
6
Thecoffeemachineparadigm–Easyhandling,readytouseoutput
1)Theuserprovidesthedesiredinputtothemachine.Itissupposedtobeeasytousefordomainexperts(e.g.someonewhohasusedseveralcoffeemachines)
2)Themachinemakesanyneededcalcula>onsandproducestheoutcome.Theuserisnotsupposedtounderstandhowthemachineworks.
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.
16.10.2015
S-CA
SEM
DEW
ebinar
S-CASELowerCASEMDEEngine
S-CASEFramework
8
S-CASE:Atwo-foldmechanism
16.10.2015
S-CA
SEM
DEW
ebinar
9S-CASEUpperCASERAT,StoryboardCreatoretc.
S-CASELowerCASEMDEEngine
S-CASE:Atwo-foldmechanism
S-CASEFramework
Iknowhowtousethismachine!
16.10.2015
S-CA
SEM
DEW
ebinar
10S-CASEUpperCASERAT,StoryboardCreatoretc.
S-CASELowerCASEMDEEngine
S-CASE:Atwo-foldmechanism
Iwantsomecoffee
S-CASEDeveloper
S-CASEFramework
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!
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
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
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!
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
Themeta-model:RESTaspects
16.10.2015
S-CA
SEM
DEW
ebinar
16
Hypermediaconcept
WitheveryrequesttheserversendsbacktotheclientthenextpossibleacVons:
Themeta-model:RESTaspects
16.10.2015
S-CA
SEM
DEW
ebinar
17
Hypermediaexample&NamingProper>es
<<Resource>>
ShoppingList
<<Resource>>
Product
<<Property>>
Price
<<Property>>
DescripVon
hasrelatedResource
Themeta-model:RESTaspects
16.10.2015
S-CA
SEM
DEW
ebinar
18
Hypermediaexample&NamingProper>es
<<Resource>>
ShoppingList
<<Resource>>
Product
<<Property>>
Price
<<Property>>
DescripVon
hasrelatedResource
Themeta-model:RESTWizard
16.10.2015
S-CA
SEM
DEW
ebinar
19
ExploringtheCoreCIMWizard&Demo
Themeta-model:RESTWizard
16.10.2015
S-CA
SEM
DEW
ebinar
20
ExploringtheCoreCIMWizard&Demo
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
Themeta-model:BasicAuthentication
16.10.2015
S-CA
SEM
DEW
ebinar
22
ExploringtheBasicAuthen>ca>onCIMMeta-Model
Themeta-model:BasicAuthentication
16.10.2015
S-CA
SEM
DEW
ebinar
23
TheBasicAuthen>ca>onWizard&demo
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
Themeta-model:DatabaseKeyword-Searching
16.10.2015
S-CA
SEM
DEW
ebinar
25
ExploringtheDatabaseKeyword-SearchingCIMMeta-Model
SearchResources
executesearchrequests
SearchableResources
haveindexedproperVesforsearching
Themeta-model:DatabaseKeyword-Searching
16.10.2015
S-CA
SEM
DEW
ebinar
26
ExploringtheDatabaseKeyword-SearchingWizard&Demo
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
Themeta-model:Interoperatingwithexistingservices
16.10.2015
S-CA
SEM
DEW
ebinar
28
Exploringthe3rdPartyInteropera>onCIMMeta-model
Themeta-model:Interoperatingwithexistingservices
16.10.2015
S-CA
SEM
DEW
ebinar
29
Exploringthe3rdPartyInteropera>onWizard&Demo
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
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