Building Your Own Store with WSO2 Enterprise Store The WSO2 Store Case Study
Sagara Gunathunga So<ware Architect WSO2
What is WSO2 Enterprise Store? • A tool to manage any type of enterprise assets
– Digital Assets -‐ APIs / Services, Policies, Apps, Documents – Physical assets -‐ Mobile Phones, IoT Devices, etc.
• Highly flexible extension model enabling store-‐level and asset-‐level customizaPons
• Custom lifecycles for specific asset types
• Customizable asset subscripPon process
• Customizable Store and Publisher Uis
• In-‐build social features
– Comments, tags, raPngs, user reviews
– Social network integraPon – TwiUer, Facebook, Google etc.
WSO2 ES Components ● Store (/store) -‐ End User’s view to discover and use assets ● Publisher (/publisher) -‐ Asset Manager’s view to create new
asset instances
● Manager (Yet to be intoduced ) ● Carbon Console (/carbon) -‐ Admin’s view to create new types
(RXT) and add lifecycles
Publisher Store
ES 2
Extension Model • RXT-‐based extension
– Defines metadata structure – Define some constraints and extra informaPon about the metadata
structure
• Lifecycle XML-‐based extension – Define states of the asset – Defines who (roles) can do what at each state
• App Extension – Affects the whole app
– E.g. changing the header, ribbon – color, etc
• Asset Extension – Customize asset type behavior/rendering
• E.g. Adding a custom UI for asset detail page
Extension model -‐ UI and Logic
Both logical (e.g. on add asset logic) and UI (e.g. change “Subscribe” buUon text) extension points are available
Improved REST API ● More REST like API with beUer defined Resources ● More control over API output such as query by
aUributes, filter fields and sort ● For example : /apis/assets?
type=book&q="overview_publishedyear":"1999"&sort=+overview_author
● AddiPonal API to get lifecycle informaPon
Use Case – WSO2 Governance Center • Asset types
– Any Governance Asset – Lifecycles
• Any Governance Lifecycle
• App and Asset Extensions
Use Case – WSO2 App Manager • Asset types
– webapp – mobileapp
• Lifecycles
– WebAppLifecycle
– MobileAppLifecycle
• App and Asset Extensions
Use Case – WSO2 API Manager 2 • Asset types
– API
• Lifecycles
– APILifecycle • App and Asset Extensions
Use Case – WSO2 Connector Store • Asset types
– esbconnector
• Lifecycles
– ESApprval • App and Asset Extensions
ES2 extension reusability • Portable asset management extensions.
• Single feature (package) contains – Asset definiPon – Asset Lifecycle definiPon – Asset UI definiPon for both Publisher and Store – Backend logic
• Example : – API-‐Manger 2 ‘API’ asset extension can be installed into G-‐Reg 5.X
to bring API management capability.
ES2 extension reusability – API-‐M features on G-‐Reg Product P2 repo
API Manager G-‐Reg
Store Publisher Store Publisher
Build your own Asset Store 1. IdenPfy your enterprise assets
2. Define them as RXTs
3. IdenPfy Lifecycle of each enterprise assets
4. Define Lifecycle as SCXML
5. IdenPfy and implement UI customizaPon 1. App level customizaPon 2. Asset level customizaPon
ES2 Manager ( Yet to be introduced ) • Define and manage categorizaPon • Manage front-‐page content • Content personalizaPon
Thank You
Top Related