Lifecycle Management of SOA Artifacts for             WSO2 Products                   Janaka Ranabahu      (Software Engin...
Overview• Problem• Solution• Governance Registry• Lifecycles• ESB configuration Model• Registry Mounting• Deployment Synch...
Problem• SOA Governance• Moving configuration between different environments (dev, qa & prod)
Solution
WSO2 Governance Registry• Repository   • Resources   • Collections• Features   • Versioning   • Lifecycle management   • T...
Lifecycles• Represents the nature of a resource  • States  • Transitions• Ability to define different lifecycles  • XML co...
Lifecycles• Check items for states<state id="Testing">   <datamodel>       <data name="checkItems">           <item name="...
Lifecycles• Permissions for check items<item name="Code Completed" forEvent="">      <permissions>            <permission ...
Lifecycles• Validations for check items<item name="Code Completed" forEvent="">      <validations>            <validation ...
Lifecycles• Multiple state transitions<state id="Testing">       <transition event="Promote" target="Production"/>       <...
Lifecycles• Permissions for state transition<state id="Testing">       <data name="transitionPermission">            <perm...
Lifecycles• Validations for state transitions<state id="Testing">       <data name="transitionValidation">            <val...
Lifecycles• Transition UIs<state id="Testing">       <data name="transitionUI">            <ui forEvent="Promote"         ...
Lifecycles• Transition executions<state id="Testing">       <data name="transitionExecution">            <execution forEve...
ESB Configuration Lifecycle
WSO2 ESB Configuration Model• WSO2 ESB follows a zero-code approach for message  mediation / enterprise integration• ESB’s...
WSO2 ESB Configuration Artifacts• Configuration artifacts of WSO2 ESB   •   Proxy services   •   Sequences   •   Endpoints...
Storing Configuration• WSO2 ESB ships with an embedded registry. Which is  partitioned to three parts   • Local registry –...
Stored Configuration
Registry Mounting• Each ESB’s registry could be mounted to a remote central  repository which is managed by WSO2 Governanc...
Mounting Multiple ESBs
Mounting Multiple ESBs
Mounting Configuration (registry.xml)<wso2registry> … <dbConfig name="mountRegistry">    <url>jdbc:mysql://192.168.10.1:33...
Deployment Synchronizer• Seamlessly synchronizes configuration among Carbon servers• Key usage is to replicate configurati...
Selected Customers https://ail.google.com/mail/u/0/?ui= 2&ik=ad9ae58f41&view=att&th=13 31a70983344a32&attid=0.1&disp=t hd&...
WSO2 engagement model• QuickStart• Development  Support• Development  Services• Production  Support• Turnkey Solutions  • ...
Lifecycle Management of SOA Artifacts for WSO2 Products
Lifecycle Management of SOA Artifacts for WSO2 Products
Upcoming SlideShare
Loading in …5
×

Lifecycle Management of SOA Artifacts for WSO2 Products

2,270 views

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,270
On SlideShare
0
From Embeds
0
Number of Embeds
408
Actions
Shares
0
Downloads
110
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Lifecycle Management of SOA Artifacts for WSO2 Products

  1. 1. Lifecycle Management of SOA Artifacts for WSO2 Products Janaka Ranabahu (Software Engineer – WSO2 Governance Registry) & Sadeep Jayasumana (Software Engineer – WSO2 Enterprise Service Bus)
  2. 2. Overview• Problem• Solution• Governance Registry• Lifecycles• ESB configuration Model• Registry Mounting• Deployment Synchronizer• Demo
  3. 3. Problem• SOA Governance• Moving configuration between different environments (dev, qa & prod)
  4. 4. Solution
  5. 5. WSO2 Governance Registry• Repository • Resources • Collections• Features • Versioning • Lifecycle management • Tagging • Rating • Comments • Search
  6. 6. Lifecycles• Represents the nature of a resource • States • Transitions• Ability to define different lifecycles • XML configuration • SCXML specification
  7. 7. Lifecycles• Check items for states<state id="Testing"> <datamodel> <data name="checkItems"> <item name="Code Completed" forEvent="Promote"> </item> …......... </data> </datamodel></state>
  8. 8. Lifecycles• Permissions for check items<item name="Code Completed" forEvent=""> <permissions> <permission roles=""/> </permissions> .....</item>
  9. 9. Lifecycles• Validations for check items<item name="Code Completed" forEvent=""> <validations> <validation forEvent="" class=""> <parameter name="" value=""/> </validation> ..... </validations></item>
  10. 10. Lifecycles• Multiple state transitions<state id="Testing"> <transition event="Promote" target="Production"/> <transition event="Demote" target="Development"/></state>
  11. 11. Lifecycles• Permissions for state transition<state id="Testing"> <data name="transitionPermission"> <permission forEvent="" roles=""/> </data></state>
  12. 12. Lifecycles• Validations for state transitions<state id="Testing"> <data name="transitionValidation"> <validation forEvent="" class=""> <parameter name="" value=""/> </validation> </data></state>
  13. 13. Lifecycles• Transition UIs<state id="Testing"> <data name="transitionUI"> <ui forEvent="Promote" href="../lifecycles/invoke_aspect_ajaxprocessor.jsp"/> </data></state>
  14. 14. Lifecycles• Transition executions<state id="Testing"> <data name="transitionExecution"> <execution forEvent="" class=""> <parameter name="" value=""/> ... </execution> </data></state>
  15. 15. ESB Configuration Lifecycle
  16. 16. WSO2 ESB Configuration Model• WSO2 ESB follows a zero-code approach for message mediation / enterprise integration• ESB’s runtime behaviour is decided by its XML configuration• XML configuration could be a single XML file. But to ease development and management, its split in to smaller XML configuration files (configuration artifacts)• As a result, developer could keep separate configuration files for proxy services, sequences, endpoints etc.
  17. 17. WSO2 ESB Configuration Artifacts• Configuration artifacts of WSO2 ESB • Proxy services • Sequences • Endpoints • Local entries • Message stores • etc..• Each artifact stores an XML configuration• Configuration artifacts are stored in a central repository to enable configuration sharing
  18. 18. Storing Configuration• WSO2 ESB ships with an embedded registry. Which is partitioned to three parts • Local registry – stores local resources, not meant to be shared • Configuration registry – stores configuration • Governance registry – stores governance artifacts. WSDLs, Schema etc.• ESB configuration is stored in the configuration registry
  19. 19. Stored Configuration
  20. 20. Registry Mounting• Each ESB’s registry could be mounted to a remote central repository which is managed by WSO2 Governance Registry• Each ESB’s config registry is mounted to a separate Collection (directory) of the central repository
  21. 21. Mounting Multiple ESBs
  22. 22. Mounting Multiple ESBs
  23. 23. Mounting Configuration (registry.xml)<wso2registry> … <dbConfig name="mountRegistry"> <url>jdbc:mysql://192.168.10.1:3306/registryDB</url> <userName>root</userName> <password>root</password> <driverName>com.mysql.jdbc.Driver</driverName> <maxActive>50</maxActive> <maxWait>60000</maxWait> <minIdle>5</minIdle> </dbConfig> <remoteInstance url="https://192.168.10.2:9443/registry"> <id>mount1</id> <dbConfig>mountRegistry</dbConfig> <readOnly>false</readOnly> <registryRoot>/</registryRoot> </remoteInstance> <mount path="/_system/config" overwrite="true"> <instanceId>Mount1</instanceId> <targetPath>/_system/esbConfig/dev</targetPath> </mount> ….</wso2registry>
  24. 24. Deployment Synchronizer• Seamlessly synchronizes configuration among Carbon servers• Key usage is to replicate configuration among nodes of a cluster without restarting nodes• Master node ‘commits’ its configuration to a central repository, slave nodes ‘check-out’ configuration from there.• Deployment synchronizer comes in two flavors • Registry based deployment synchronizer • SVN based deployment synchronizer• Registry based deployment synchronizer uses a central WSO2 Governance Registry instance to store configuration• SVN based deployment synchronizer uses a central SVN repository to store configuration
  25. 25. Selected Customers https://ail.google.com/mail/u/0/?ui= 2&ik=ad9ae58f41&view=att&th=13 31a70983344a32&attid=0.1&disp=t hd&realattid=f_gtxto6mk0&zw
  26. 26. WSO2 engagement model• QuickStart• Development Support• Development Services• Production Support• Turnkey Solutions • WSO2 Mobile Services Solution • WSO2 FIX Gateway Solution • WSO2 SAP Gateway Solution

×