![Page 1: WSO2Con EU 2016: Our G-Reg Journey – From an Individual RXT model, Over a Custom Governance API to a Single Page JS Client](https://reader031.vdocuments.mx/reader031/viewer/2022022123/58a1334d1a28abd34f8b5c09/html5/thumbnails/1.jpg)
OurG-RegJourney-fromanindividualRXTmodel,overacustomgovernanceAPItoasinglepageJSclient
BerndRehwaldtPrincipalIT-ConsultantmsgsystemsagGermany
![Page 2: WSO2Con EU 2016: Our G-Reg Journey – From an Individual RXT model, Over a Custom Governance API to a Single Page JS Client](https://reader031.vdocuments.mx/reader031/viewer/2022022123/58a1334d1a28abd34f8b5c09/html5/thumbnails/2.jpg)
Star<ngpoint
JSClient
Metamodel
GovernanceAPI
G-Regjourney
![Page 3: WSO2Con EU 2016: Our G-Reg Journey – From an Individual RXT model, Over a Custom Governance API to a Single Page JS Client](https://reader031.vdocuments.mx/reader031/viewer/2022022123/58a1334d1a28abd34f8b5c09/html5/thumbnails/3.jpg)
Wheredowecomefrom?
• LargeautomoCvecustomer• NeedforgovernanceinsystemscommunicaCon(inhousebetween
applicaConclusters|tocustomers)• UsingSOAapproachestablishinggovernanceprinciples,rules,
processes,tooling• StandardizedcommunicaConbasedonSOAPwebservices• AMer7yearsendingupinatoolinglandscapewithcommercial
productsforrunCmegovernanceandahomegrownsetoftoolscomprisingdocuments,staCcwebsiteandalotofscripCng
![Page 4: WSO2Con EU 2016: Our G-Reg Journey – From an Individual RXT model, Over a Custom Governance API to a Single Page JS Client](https://reader031.vdocuments.mx/reader031/viewer/2022022123/58a1334d1a28abd34f8b5c09/html5/thumbnails/4.jpg)
Sowhatwastheproblem?
• Hardtokeeptrackofspecandlifecyclechanges
• Hardtomaintainthegovernancemodel
• NorealCmediscovery• Manytechnologiesandlanguages
(Java,Perl,XSLT,…)• Newrequirementscameup
– e.g.dealingwithRestAPIs
SVN
EnterpriseServiceBus
planningIT
Website
Excel
![Page 5: WSO2Con EU 2016: Our G-Reg Journey – From an Individual RXT model, Over a Custom Governance API to a Single Page JS Client](https://reader031.vdocuments.mx/reader031/viewer/2022022123/58a1334d1a28abd34f8b5c09/html5/thumbnails/5.jpg)
Ourarchitecturalvision?
DiscoveryClient
DataSourcesDataSources
DataTargetsDataTargets
GovernanceClient
Governancepla\orm
![Page 6: WSO2Con EU 2016: Our G-Reg Journey – From an Individual RXT model, Over a Custom Governance API to a Single Page JS Client](https://reader031.vdocuments.mx/reader031/viewer/2022022123/58a1334d1a28abd34f8b5c09/html5/thumbnails/6.jpg)
Lookingforanewgovernancepla\orm?
• InvesCgaCngIBMWebSphereRegistry&Repository(WSRR)+ Veryflexibleontologybasedmetamodeling- Genericgovernanceclient- Noenduserreadyclient- Quitehighlicensecost
• LookingforothercustomizablegovernancesoluCons• CameupwithWSO2GovernanceRegistry(V4.6)
![Page 7: WSO2Con EU 2016: Our G-Reg Journey – From an Individual RXT model, Over a Custom Governance API to a Single Page JS Client](https://reader031.vdocuments.mx/reader031/viewer/2022022123/58a1334d1a28abd34f8b5c09/html5/thumbnails/7.jpg)
G-RegjourneyMetamodel
![Page 8: WSO2Con EU 2016: Our G-Reg Journey – From an Individual RXT model, Over a Custom Governance API to a Single Page JS Client](https://reader031.vdocuments.mx/reader031/viewer/2022022123/58a1334d1a28abd34f8b5c09/html5/thumbnails/8.jpg)
Thecustomassetmetamodel• Shippedgovernance(service,endpoint,…)modeldidnotfit• Havemanagedtypes,codelistandAll-In-OneWSDLs
• CreatedcustommodelusingRXTmechanism
WADL XML
ServiceSpec
TypeSpec
Domain
Contract
System
ServiceVersion
TypeVersion
XSD
Doc
CodeList
WADLWSDL
Type
TypeType Type
Type
Type
Type
WikiPage
![Page 9: WSO2Con EU 2016: Our G-Reg Journey – From an Individual RXT model, Over a Custom Governance API to a Single Page JS Client](https://reader031.vdocuments.mx/reader031/viewer/2022022123/58a1334d1a28abd34f8b5c09/html5/thumbnails/9.jpg)
DefiningRXTs(#1)
• StoragelocaCons?– FlatStructureforeachassettype?– Wantedtostoreassetsthatbelongtogetherin
thesameplace• Service+ServiceSpecs+DocumentaCons+
TechnicalDefiniCons– Havingassetswithmetadataandthosewith
binarycontent– Issue:AnassetcannotbeacollecCon!– SoluCon:CreaCngacollecConforeachassetthat
hasmetadataanda<asset_name>_metaasset
CollecCon(ServiceSpec)
Asset(ServiceSpec)
ServiceSpec
ServiceVersion
WSDLDoc
ServiceSpec
ServiceVersion
WSDL
Doc
![Page 10: WSO2Con EU 2016: Our G-Reg Journey – From an Individual RXT model, Over a Custom Governance API to a Single Page JS Client](https://reader031.vdocuments.mx/reader031/viewer/2022022123/58a1334d1a28abd34f8b5c09/html5/thumbnails/10.jpg)
DefiningRXTs(#2)
• DealingwithrelaCons?– Have1-to-1and1-to-manyrelaCons– HavealwaysoneleadingassetwhendefiningarelaCon– EnsureeasynavigaConatresourceandgovernancelevel
• AllrelaConsarebidirecConal– Issue:AssociaConstothesameassetmaynothavethesametypename
– SoluCon:Fixmetamodel
ServiceSpecDomain Service
Version Spec*
Service
Domain
Service
![Page 11: WSO2Con EU 2016: Our G-Reg Journey – From an Individual RXT model, Over a Custom Governance API to a Single Page JS Client](https://reader031.vdocuments.mx/reader031/viewer/2022022123/58a1334d1a28abd34f8b5c09/html5/thumbnails/11.jpg)
GovernanceAPI
G-Regjourney
![Page 12: WSO2Con EU 2016: Our G-Reg Journey – From an Individual RXT model, Over a Custom Governance API to a Single Page JS Client](https://reader031.vdocuments.mx/reader031/viewer/2022022123/58a1334d1a28abd34f8b5c09/html5/thumbnails/12.jpg)
InvesCgaCngexisCngG-RegAPIs
• G-Reg4.6WebServiceAPI– Coversallgovernanceaspects– VeryhardtoemployfromJavaScriptclient
• G-Reg4.6RestAPI– Notatgovernancelevel(dealingwithresourcesandcollecCons)
• EnterpriseStore1.0API– CamewithJSClient– RestAPIbuildinJaggerybutnotdocumented
![Page 13: WSO2Con EU 2016: Our G-Reg Journey – From an Individual RXT model, Over a Custom Governance API to a Single Page JS Client](https://reader031.vdocuments.mx/reader031/viewer/2022022123/58a1334d1a28abd34f8b5c09/html5/thumbnails/13.jpg)
BuildourowngovernanceAPI
• Requirements(funcConal)– Generic(usableforallRXTdefiniCons)– CompletehandlingonGovernanceLevel(includingcomments,raCngs,voCngs)– Supportforbinaryassets(RXTswithoutcontent)– ValidaConsupport– OpCmizedforclientusage(associaConsupport)– AssetretrievalwithandwithoutSOLRindexing– Lifecyclemanagement(incl.LCconfiguraCondata,LChistory)
– AddiConalassetspecificAPIsifneeded
![Page 14: WSO2Con EU 2016: Our G-Reg Journey – From an Individual RXT model, Over a Custom Governance API to a Single Page JS Client](https://reader031.vdocuments.mx/reader031/viewer/2022022123/58a1334d1a28abd34f8b5c09/html5/thumbnails/14.jpg)
BuildourowngovernanceAPI
• Requirements(nonfuncConal)– FlexiblepaginaConandsorCng
overallanributes– Supportofdifferent
authenCcaConmethods
• BasicAuth
• JWT
• OAuth2
• WebSeal
Client GRegAPIAPI
Gateway
User
Client GRegAPI
User
Client GRegAPI
OAuthService
User
Client GRegAPIWebSeal
User
![Page 15: WSO2Con EU 2016: Our G-Reg Journey – From an Individual RXT model, Over a Custom Governance API to a Single Page JS Client](https://reader031.vdocuments.mx/reader031/viewer/2022022123/58a1334d1a28abd34f8b5c09/html5/thumbnails/15.jpg)
GovernanceAPIStructure(GenericAPI)Asset(s)GET assets/{type}?{start}&{size}&{limit}&{sort}&{sorder}&{query} RetrieveorsearchassetsGET asset/{type} ReturnstheRxtdefiniConGET asset/{type}/{id}/[binary] ReturnsassetdetailsPOST asset/{type}/[binary] CreatesanewassetPUT/DELETE asset/{type}/{id}/[binary] Update/DeleteexisCngassetPOST asset/{type}/validation ValidateanassetLifecycleGET asset/{type}/{id}/lc CurrentLCdataofanassetGET asset/type}/{id}/lc/history?{start}&{size} LChistoryofanassetPOST/DELETE asset/{type}/{id}/lc/{name} Atache/detacheaLCfromassetPOST/DELETE asset/{type}/{id}/lc/{name}/check/{index} Tick/unCckachecklistitemPUT asset/{type}/{id}/lc/{name}/{action} PerformsLCacCononassetTagsGET asset/tags RetrievealltagsGET asset/{type}/tags RetrievealltagsofanassettypeGET asset/{type}/{id}/tags RetrievealltagsofanassetPUT/DELETE asset/{type}/{id}/tags/{tag} Add/RemoveatagfromanassetCommentsGET asset/{type}/{id}/comments?{start}&{end} RetrievecommentsofanassetPUT/DELETE asset/{type}/{id}/comment/{cid} UpdateordeleteanexisCngcommentPOST asset/{type}/{id}/comment Addanewcommenttoanasset
![Page 16: WSO2Con EU 2016: Our G-Reg Journey – From an Individual RXT model, Over a Custom Governance API to a Single Page JS Client](https://reader031.vdocuments.mx/reader031/viewer/2022022123/58a1334d1a28abd34f8b5c09/html5/thumbnails/16.jpg)
WhataboutG-Reg5.1GovernanceAPI?
• Cametolate:-(• and…
– NoassociaConsupport–mustswitchtoresourcelevelanduseResourceRestAPI– NovalidaConsupport(prioradd/update)– MissingSupportforbinaryassets– NoLCconfigdata– OnlySolrbasedretrieveofassets– OnlyBasicOuthsupported
![Page 17: WSO2Con EU 2016: Our G-Reg Journey – From an Individual RXT model, Over a Custom Governance API to a Single Page JS Client](https://reader031.vdocuments.mx/reader031/viewer/2022022123/58a1334d1a28abd34f8b5c09/html5/thumbnails/17.jpg)
JSClient
G-Regjourney
![Page 18: WSO2Con EU 2016: Our G-Reg Journey – From an Individual RXT model, Over a Custom Governance API to a Single Page JS Client](https://reader031.vdocuments.mx/reader031/viewer/2022022123/58a1334d1a28abd34f8b5c09/html5/thumbnails/18.jpg)
Clientarchitecture
• Differentclientsforuserprofiles– Governance(manageassets,lifecycles)– Discovery(discoverassets,postnewassets)
• Technology– SinglePageHTMLclient– UsingBootstrap,AngularJS,D3.js– BuildingAngulardirecCvesforstandardbehavior
• Assetlifecycle• AssetrelaConsnetwork• Assetzoomabletreemap
![Page 19: WSO2Con EU 2016: Our G-Reg Journey – From an Individual RXT model, Over a Custom Governance API to a Single Page JS Client](https://reader031.vdocuments.mx/reader031/viewer/2022022123/58a1334d1a28abd34f8b5c09/html5/thumbnails/19.jpg)
• GenericLCmanagement• Autoroutedlayout• TransiCondialog• Resultmessagedialogs
forfailandsuccess• PaginatedLChistory
AngulardirecCve
assetlifecycle
![Page 20: WSO2Con EU 2016: Our G-Reg Journey – From an Individual RXT model, Over a Custom Governance API to a Single Page JS Client](https://reader031.vdocuments.mx/reader031/viewer/2022022123/58a1334d1a28abd34f8b5c09/html5/thumbnails/20.jpg)
• Differentnetworklayouts• Assetsearch• Assetbrowse• Assetfilter• Metadatadialogs
AngulardirecCve
assetrelaCons
![Page 21: WSO2Con EU 2016: Our G-Reg Journey – From an Individual RXT model, Over a Custom Governance API to a Single Page JS Client](https://reader031.vdocuments.mx/reader031/viewer/2022022123/58a1334d1a28abd34f8b5c09/html5/thumbnails/21.jpg)
• Fortreelikeassetstructures• AnimatednavigaCons• Assetsearch• Metadatadialogs
AngulardirecCve
assettreemap
![Page 22: WSO2Con EU 2016: Our G-Reg Journey – From an Individual RXT model, Over a Custom Governance API to a Single Page JS Client](https://reader031.vdocuments.mx/reader031/viewer/2022022123/58a1334d1a28abd34f8b5c09/html5/thumbnails/22.jpg)
Conclusions
• WSO2G-Regisastrongpla\ormfordesignCmegovernance– Hasstrongsupportformanagingcustommetamodelsandlifecycles– RemotegovernanceAPIcurrentlyshippedwiththeproductnotsufficient
enoughforcustomJSwebclient
• RightdecisiontorelyonWSO2G-Reg
![Page 23: WSO2Con EU 2016: Our G-Reg Journey – From an Individual RXT model, Over a Custom Governance API to a Single Page JS Client](https://reader031.vdocuments.mx/reader031/viewer/2022022123/58a1334d1a28abd34f8b5c09/html5/thumbnails/23.jpg)
QuesCons?
Dr.BerndRehwaldtPrincipalITconsultantIT-ArchitecturemsgAppliedTechnologyResearch
e-mail:[email protected]:www.msg-systems.com
msgsystemsagSubsidiaryBerlinWinestraße3013509BerlinGermany
![Page 24: WSO2Con EU 2016: Our G-Reg Journey – From an Individual RXT model, Over a Custom Governance API to a Single Page JS Client](https://reader031.vdocuments.mx/reader031/viewer/2022022123/58a1334d1a28abd34f8b5c09/html5/thumbnails/24.jpg)
ThankYou!
#WSO2ConEU
Shareyourfeedbackforthissessionwso2con.com/app