SlideShare ist ein Scribd-Unternehmen logo
1 von 28
Downloaden Sie, um offline zu lesen
Lifecycle Management of SOA Artifacts for
             WSO2 Products

                   Janaka Ranabahu
      (Software Engineer – WSO2 Governance Registry)
                         &
                 Sadeep Jayasumana
      (Software Engineer – WSO2 Enterprise Service Bus)
Overview

• Problem
• Solution
• Governance Registry
• Lifecycles
• ESB configuration Model
• Registry Mounting
• Deployment Synchronizer
• Demo
Problem

• SOA Governance
• Moving configuration between different
 environments (dev, qa & prod)
Solution
WSO2 Governance Registry

• Repository
   • Resources
   • Collections

• Features
   • Versioning
   • Lifecycle management
   • Tagging
   • Rating
   • Comments
   • Search
Lifecycles

• Represents the nature of a resource
  • States
  • Transitions

• Ability to define different lifecycles
  • XML configuration
  • SCXML specification
Lifecycles
• Check items for states
<state id="Testing">
   <datamodel>
       <data name="checkItems">
           <item name="Code Completed" forEvent="Promote">
           </item>
         ….........
       </data>
   </datamodel>
</state>
Lifecycles
• Permissions for check items

<item name="Code Completed" forEvent="">
      <permissions>
            <permission roles=""/>
      </permissions>
      .....
</item>
Lifecycles
• Validations for check items

<item name="Code Completed" forEvent="">
      <validations>
            <validation forEvent="" class="">
                  <parameter name="" value=""/>
            </validation>
            .....
      </validations>
</item>
Lifecycles
• Multiple state transitions

<state id="Testing">
       <transition event="Promote" target="Production"/>
       <transition event="Demote" target="Development"/>
</state>
Lifecycles
• Permissions for state transition

<state id="Testing">
       <data name="transitionPermission">
            <permission forEvent="" roles=""/>
       </data>
</state>
Lifecycles
• Validations for state transitions

<state id="Testing">
       <data name="transitionValidation">
            <validation forEvent="" class="">
                     <parameter name="" value=""/>
            </validation>
       </data>
</state>
Lifecycles
• Transition UIs

<state id="Testing">
       <data name="transitionUI">
            <ui forEvent="Promote"
              href="../lifecycles/invoke_aspect_ajaxprocessor.jsp"/>
       </data>
</state>
Lifecycles
• Transition executions

<state id="Testing">
       <data name="transitionExecution">
            <execution forEvent="" class="">
                     <parameter name="" value=""/>
                       ...
            </execution>
       </data>
</state>
ESB Configuration Lifecycle
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.
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
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
Stored Configuration
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
Mounting Multiple ESBs
Mounting Multiple ESBs
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>
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
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
WSO2 engagement model


• QuickStart
• Development
  Support
• Development
  Services
• Production
  Support
• Turnkey Solutions
  • WSO2 Mobile Services Solution
  • WSO2 FIX Gateway Solution
  • WSO2 SAP Gateway Solution

Weitere ähnliche Inhalte

Was ist angesagt?

Web sphere application server administration
Web sphere application server administrationWeb sphere application server administration
Web sphere application server administration
akirait4
 
April 2010 - JBoss Web Services
April 2010 - JBoss Web ServicesApril 2010 - JBoss Web Services
April 2010 - JBoss Web Services
JBug Italy
 
SharePoint 2010 Training Session 6
SharePoint 2010 Training Session 6SharePoint 2010 Training Session 6
SharePoint 2010 Training Session 6
Usman Zafar Malik
 

Was ist angesagt? (20)

Liquibase – a time machine for your data
Liquibase – a time machine for your dataLiquibase – a time machine for your data
Liquibase – a time machine for your data
 
Agile Database Development with Liquibase
Agile Database Development with LiquibaseAgile Database Development with Liquibase
Agile Database Development with Liquibase
 
Weblogic server administration
Weblogic server administrationWeblogic server administration
Weblogic server administration
 
Web sphere application server administration
Web sphere application server administrationWeb sphere application server administration
Web sphere application server administration
 
Uniface Lectures Webinar - Building Responsive Applications with Uniface: Dev...
Uniface Lectures Webinar - Building Responsive Applications with Uniface: Dev...Uniface Lectures Webinar - Building Responsive Applications with Uniface: Dev...
Uniface Lectures Webinar - Building Responsive Applications with Uniface: Dev...
 
Liquibase migration for data bases
Liquibase migration for data basesLiquibase migration for data bases
Liquibase migration for data bases
 
Weblogic Server Overview Weblogic Scripting Tool
Weblogic Server Overview Weblogic Scripting ToolWeblogic Server Overview Weblogic Scripting Tool
Weblogic Server Overview Weblogic Scripting Tool
 
Weblogic deployment
Weblogic deploymentWeblogic deployment
Weblogic deployment
 
CRCE Architecture Overview
CRCE Architecture OverviewCRCE Architecture Overview
CRCE Architecture Overview
 
Mule esb
Mule esbMule esb
Mule esb
 
April 2010 - JBoss Web Services
April 2010 - JBoss Web ServicesApril 2010 - JBoss Web Services
April 2010 - JBoss Web Services
 
Building and Managing Projects with Maven
Building and Managing Projects with MavenBuilding and Managing Projects with Maven
Building and Managing Projects with Maven
 
WADL support for UltraESB
WADL support for UltraESBWADL support for UltraESB
WADL support for UltraESB
 
Liquibase for java developers
Liquibase for java developersLiquibase for java developers
Liquibase for java developers
 
Simplify Multi-Tenant Queries in ORM Frameworks
Simplify Multi-Tenant Queries in ORM FrameworksSimplify Multi-Tenant Queries in ORM Frameworks
Simplify Multi-Tenant Queries in ORM Frameworks
 
Securing Java EE apps using WildFly Elytron
Securing Java EE apps using WildFly ElytronSecuring Java EE apps using WildFly Elytron
Securing Java EE apps using WildFly Elytron
 
WebLogic FAQs
WebLogic FAQsWebLogic FAQs
WebLogic FAQs
 
SharePoint 2010 Training Session 6
SharePoint 2010 Training Session 6SharePoint 2010 Training Session 6
SharePoint 2010 Training Session 6
 
Liquibase case study
Liquibase case studyLiquibase case study
Liquibase case study
 
Oracle WebLogic Diagnostics & Perfomance tuning
Oracle WebLogic Diagnostics & Perfomance tuningOracle WebLogic Diagnostics & Perfomance tuning
Oracle WebLogic Diagnostics & Perfomance tuning
 

Ähnlich wie Lifecycle Management of SOA Artifacts for WSO2 Products

TechDays 2013 Jari Kallonen: What's New WebForms 4.5
TechDays 2013 Jari Kallonen: What's New WebForms 4.5TechDays 2013 Jari Kallonen: What's New WebForms 4.5
TechDays 2013 Jari Kallonen: What's New WebForms 4.5
Tieturi Oy
 
Fast and Free SSO: A Survey of Open-Source Solutions to Single Sign-On
Fast and Free SSO: A Survey of Open-Source Solutions to Single Sign-OnFast and Free SSO: A Survey of Open-Source Solutions to Single Sign-On
Fast and Free SSO: A Survey of Open-Source Solutions to Single Sign-On
elliando dias
 
Site activity & performance analysis
Site activity & performance analysisSite activity & performance analysis
Site activity & performance analysis
Eyal Vardi
 
World2016_T5_S5_SQLServerFunctionalOverview
World2016_T5_S5_SQLServerFunctionalOverviewWorld2016_T5_S5_SQLServerFunctionalOverview
World2016_T5_S5_SQLServerFunctionalOverview
Farah Omer
 

Ähnlich wie Lifecycle Management of SOA Artifacts for WSO2 Products (20)

Rock Solid SQL Server Management
Rock Solid SQL Server ManagementRock Solid SQL Server Management
Rock Solid SQL Server Management
 
State management in ASP.NET
State management in ASP.NETState management in ASP.NET
State management in ASP.NET
 
Resource Registries: Plone Conference 2014
Resource Registries: Plone Conference 2014Resource Registries: Plone Conference 2014
Resource Registries: Plone Conference 2014
 
TechDays 2013 Jari Kallonen: What's New WebForms 4.5
TechDays 2013 Jari Kallonen: What's New WebForms 4.5TechDays 2013 Jari Kallonen: What's New WebForms 4.5
TechDays 2013 Jari Kallonen: What's New WebForms 4.5
 
Spring Web Flow. A little flow of happiness.
Spring Web Flow. A little flow of happiness.Spring Web Flow. A little flow of happiness.
Spring Web Flow. A little flow of happiness.
 
Fast and Free SSO: A Survey of Open-Source Solutions to Single Sign-on
Fast and Free SSO: A Survey of Open-Source Solutions to Single Sign-onFast and Free SSO: A Survey of Open-Source Solutions to Single Sign-on
Fast and Free SSO: A Survey of Open-Source Solutions to Single Sign-on
 
J boss
J bossJ boss
J boss
 
Rich Portlet Development in uPortal
Rich Portlet Development in uPortalRich Portlet Development in uPortal
Rich Portlet Development in uPortal
 
Fast and Free SSO: A Survey of Open-Source Solutions to Single Sign-On
Fast and Free SSO: A Survey of Open-Source Solutions to Single Sign-OnFast and Free SSO: A Survey of Open-Source Solutions to Single Sign-On
Fast and Free SSO: A Survey of Open-Source Solutions to Single Sign-On
 
Breaking SAP portal (HackerHalted)
Breaking SAP portal (HackerHalted)Breaking SAP portal (HackerHalted)
Breaking SAP portal (HackerHalted)
 
Site activity & performance analysis
Site activity & performance analysisSite activity & performance analysis
Site activity & performance analysis
 
Global Scale ESB with Mule
Global Scale ESB with MuleGlobal Scale ESB with Mule
Global Scale ESB with Mule
 
Boost Development With Java EE7 On EAP7 (Demitris Andreadis)
Boost Development With Java EE7 On EAP7 (Demitris Andreadis)Boost Development With Java EE7 On EAP7 (Demitris Andreadis)
Boost Development With Java EE7 On EAP7 (Demitris Andreadis)
 
Training in Android with Maven
Training in Android with MavenTraining in Android with Maven
Training in Android with Maven
 
Resource registries plone conf 2014
Resource registries plone conf 2014Resource registries plone conf 2014
Resource registries plone conf 2014
 
World2016_T5_S5_SQLServerFunctionalOverview
World2016_T5_S5_SQLServerFunctionalOverviewWorld2016_T5_S5_SQLServerFunctionalOverview
World2016_T5_S5_SQLServerFunctionalOverview
 
WinOps Conf 2016 - Ed Wilson - Configuration Management with Azure DSC
WinOps Conf 2016 - Ed Wilson - Configuration Management with Azure DSCWinOps Conf 2016 - Ed Wilson - Configuration Management with Azure DSC
WinOps Conf 2016 - Ed Wilson - Configuration Management with Azure DSC
 
WildFly v9 - State of the Union Session at Voxxed, Istanbul, May/9th 2015.
WildFly v9 - State of the Union Session at Voxxed, Istanbul, May/9th 2015.WildFly v9 - State of the Union Session at Voxxed, Istanbul, May/9th 2015.
WildFly v9 - State of the Union Session at Voxxed, Istanbul, May/9th 2015.
 
Real world #microservices with Apache Camel, Fabric8, and OpenShift
Real world #microservices with Apache Camel, Fabric8, and OpenShiftReal world #microservices with Apache Camel, Fabric8, and OpenShift
Real world #microservices with Apache Camel, Fabric8, and OpenShift
 
Real-world #microservices with Apache Camel, Fabric8, and OpenShift
Real-world #microservices with Apache Camel, Fabric8, and OpenShiftReal-world #microservices with Apache Camel, Fabric8, and OpenShift
Real-world #microservices with Apache Camel, Fabric8, and OpenShift
 

Mehr von WSO2

Mehr von WSO2 (20)

Driving Innovation: Scania's API Revolution with WSO2
Driving Innovation: Scania's API Revolution with WSO2Driving Innovation: Scania's API Revolution with WSO2
Driving Innovation: Scania's API Revolution with WSO2
 
Less Is More: Utilizing Ballerina to Architect a Cloud Data Platform
Less Is More: Utilizing Ballerina to Architect a Cloud Data PlatformLess Is More: Utilizing Ballerina to Architect a Cloud Data Platform
Less Is More: Utilizing Ballerina to Architect a Cloud Data Platform
 
Modernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using BallerinaModernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using Ballerina
 
WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...
WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...
WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...
 
WSO2CON 2024 Slides - Unlocking Value with AI
WSO2CON 2024 Slides - Unlocking Value with AIWSO2CON 2024 Slides - Unlocking Value with AI
WSO2CON 2024 Slides - Unlocking Value with AI
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Quantum Leap in Next-Generation Computing
Quantum Leap in Next-Generation ComputingQuantum Leap in Next-Generation Computing
Quantum Leap in Next-Generation Computing
 
WSO2CON 2024 - Elevating the Integration Game to the Cloud
WSO2CON 2024 - Elevating the Integration Game to the CloudWSO2CON 2024 - Elevating the Integration Game to the Cloud
WSO2CON 2024 - Elevating the Integration Game to the Cloud
 
WSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & Innovation
WSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & InnovationWSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & Innovation
WSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & Innovation
 
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
 
WSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaSWSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaS
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...
WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...
WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...
 
WSO2CON 2024 - Architecting AI in the Enterprise: APIs and Applications
WSO2CON 2024 - Architecting AI in the Enterprise: APIs and ApplicationsWSO2CON 2024 - Architecting AI in the Enterprise: APIs and Applications
WSO2CON 2024 - Architecting AI in the Enterprise: APIs and Applications
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
 
WSO2CON 2024 - Software Engineering for Digital Businesses
WSO2CON 2024 - Software Engineering for Digital BusinessesWSO2CON 2024 - Software Engineering for Digital Businesses
WSO2CON 2024 - Software Engineering for Digital Businesses
 
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
 
WSO2CON 2024 - Designing Event-Driven Enterprises: Stories of Transformation
WSO2CON 2024 - Designing Event-Driven Enterprises: Stories of TransformationWSO2CON 2024 - Designing Event-Driven Enterprises: Stories of Transformation
WSO2CON 2024 - Designing Event-Driven Enterprises: Stories of Transformation
 
WSO2CON 2024 - Not Just Microservices: Rightsize Your Services!
WSO2CON 2024 - Not Just Microservices: Rightsize Your Services!WSO2CON 2024 - Not Just Microservices: Rightsize Your Services!
WSO2CON 2024 - Not Just Microservices: Rightsize Your Services!
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 

Kürzlich hochgeladen

Kürzlich hochgeladen (20)

2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 

Lifecycle Management of SOA Artifacts for WSO2 Products

  • 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. Overview • Problem • Solution • Governance Registry • Lifecycles • ESB configuration Model • Registry Mounting • Deployment Synchronizer • Demo
  • 3. Problem • SOA Governance • Moving configuration between different environments (dev, qa & prod)
  • 5. WSO2 Governance Registry • Repository • Resources • Collections • Features • Versioning • Lifecycle management • Tagging • Rating • Comments • Search
  • 6. Lifecycles • Represents the nature of a resource • States • Transitions • Ability to define different lifecycles • XML configuration • SCXML specification
  • 7. Lifecycles • Check items for states <state id="Testing"> <datamodel> <data name="checkItems"> <item name="Code Completed" forEvent="Promote"> </item> …......... </data> </datamodel> </state>
  • 8. Lifecycles • Permissions for check items <item name="Code Completed" forEvent=""> <permissions> <permission roles=""/> </permissions> ..... </item>
  • 9. Lifecycles • Validations for check items <item name="Code Completed" forEvent=""> <validations> <validation forEvent="" class=""> <parameter name="" value=""/> </validation> ..... </validations> </item>
  • 10. Lifecycles • Multiple state transitions <state id="Testing"> <transition event="Promote" target="Production"/> <transition event="Demote" target="Development"/> </state>
  • 11. Lifecycles • Permissions for state transition <state id="Testing"> <data name="transitionPermission"> <permission forEvent="" roles=""/> </data> </state>
  • 12. Lifecycles • Validations for state transitions <state id="Testing"> <data name="transitionValidation"> <validation forEvent="" class=""> <parameter name="" value=""/> </validation> </data> </state>
  • 13. Lifecycles • Transition UIs <state id="Testing"> <data name="transitionUI"> <ui forEvent="Promote" href="../lifecycles/invoke_aspect_ajaxprocessor.jsp"/> </data> </state>
  • 14. Lifecycles • Transition executions <state id="Testing"> <data name="transitionExecution"> <execution forEvent="" class=""> <parameter name="" value=""/> ... </execution> </data> </state>
  • 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. 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. 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
  • 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
  • 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. 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.
  • 26.
  • 27. 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
  • 28. WSO2 engagement model • QuickStart • Development Support • Development Services • Production Support • Turnkey Solutions • WSO2 Mobile Services Solution • WSO2 FIX Gateway Solution • WSO2 SAP Gateway Solution