SlideShare a Scribd company logo
Three SOA Case Studies understanding what to use – where Paul Fremantle  Chief Technology Officer WSO2 Inc
Introduction Paul Fremantle, CTO, WSO2 Co-Chair, OASIS WSRX TC VP, Apache Synapse Previously STSM in WebSphere Architecture This is based on projects I’ve worked on at WSO2 Case study #1 Integrating legacy systems for reporting at Concur Case study #2 Building a National SOA – OIO SOI Case study #3  Using SOA to integrate IT Management systems Anti-study  Some lessons learnt NOT on WSO2 projects!
A very short plug for WSO2 Open Source SOA Startup  Since 2005 A complete SOA platform available under the Apache License WSO2 Carbon – OSGi-based runtime including ESB Service Hosting – Web Services Application Server Data Services Registry / SOA Governance Business Process Server No Gimmicks / Gotchas Full 24x7 support  Training and Consultancy Hear more tomorrow  at 16:45 SkillsMatter booth
Case study 1
Integration at the glass
Concur Concur is an online expense management company >$200m revenue Multiple legacy systems: Customer Relationship Management ERP Sales Force Automation In house HR employee application Main requirement – enable better reporting across applications Internal project only – not in the direct flow of external customer systems Needed an approach that supported: Iterative development Support changes to the underlying systems Flexible
Architecture WSAS Data Services  Spring Services Existing  Databases Existing  Applications SOAP Services ESB routing, synchronization and transformation Registry File Access Mashups SOAP Bug Tracking / ITIL Ticket / CRM / SFA / HR / (10 systems in all and growing) Restful
Technical details Everything deployed on Windows 2003 running on VMWare Internal systems so limited security Basic authentication Some use of digital signature Running in a blade server to simplify test and scaling Currently Hot/Cold but moving to Hot/Hot ~75,000 transactions a day 95% SOAP, 5% Restful at this point WSDLs and Schema’s stored in WSO2 Registry Embedded in the ESB Currently 18 services across 10 backends with 120 operations Growing Looking at moving to a more event-based approach in the future
Iterative development
Project Approach Planned for iterative development over phases Staff self-educated on SOA and looked at Open Source systems before talking to vendors One week “kickstart” education and POC session Built a data synchronization application  Proof to the business:  Concur built a prototype that offered real value to executives: Single customer view mashup – pulled open CRM tickets, ERP and CRM data.  The demo was an “instant hit” – gaining an executive sponsor Team identified re-usable services  Put extra effort into the design Several refactoring iterations
Benefits Lower cost of licenses/users on SaaS systems Previously were using licenses for occasional users Intermittent users were being trained on systems that they rarely used – the new mashups replaced this requirement The SOA design has allowed incremental replacement of some legacy systems Existing test plans for Sarbanes-Oxley could be re-used Open source meant that a POC could prove the benefits to the business without upfront expenditure
Lessons Learnt Keep it Simple In-house expertise has paid off Steeper learning curve but Better technology selection Lower overall cost More agility Use of open source projects has  Reduced cost  Been more flexible Given better access to the community and developers
Business to Government
Case Study 2 OIO SOI
OIO SOI Danish Government wanted to simplify electronic business Especially for Business-to-Government (B2G) Potential savings of 630m Euros by digitalizing business Requirements Reliable delivery Secure – encrypted and signed messages Support small businesses
OIO SOI Several aspects A registry for service lookup A profile of transport protocols Open Source toolkits for Java and .NET A reference implementation of a message handler A legal framework Some existing framework A nationwide digital certificate framework A standard XML syntax for invoices and orders (UBL2)
Registry  A profile of OASIS UDDI v3.0 A central registry run by the Danish Government https://publish.uddi.ehandel.gov.dk:12443/registry/uddi/web   Designed to be used by electronic clients Not to be browsed by humans! Requires a Danish Certified Certificate to publish
RASP
RASP Reliable Asynchronous Secure Profile A profile of  SOAP 1.2 WS-Security 1.1 WS-ReliableMessaging 1.0 WS-Addressing  Two bindings: HTTP and SMTP Why SMTP? To allow small businesses to communicate  No requirement to host a web server No 24x7 operation No firewall configuration Only an email address
RASP capabilities Authentication Confidentiality Integrity Non-repudiation / proof of delivery Support for intermediaries Asynchronisity
Interoperability RASP includes libraries for both  .NET – based on WCF 3.0 Java – based on Apache Axis2 Defined a set of tests and run using a continuous test environment Biggest problems were found with WSRM and SMTP
NITA Interop
Logical architecture This is logically a complete peer-to-peer architecture With only a central registry Any company can talk to any other company Even those with only mail accounts Cannot track all the requests!
Results 18,500 companies sending invoices via RASP Mandatory to send invoices to all government agencies Scanning companies and a web gateway allow bridging
Lessons learnt SMTP in the real world is tricky Spam filters can modify or drop messages Our email accounts got shut down for “spamming”  i.e. sending many messages in a short time Timeouts were too long for the RM system We made mistakes layering SMTP and WS-Addressing Publishing interoperable reference implementations was a big win Proved interoperability Formed the basis for other implementations to test against The RASP team is now working on a European initiative: PEPPOL  http://peppol.eu   Trying to bring the same results across Europe
Resources RASP specs and pointers to implementations http://tinyurl.com/azwhx5   Peppol http://peppol.eu
Case Study #3 Enterprise IT Management
Enterprise IT Management Problem statement: Customers have multiple installed management systems Network Management User Management Systems Management  All from the same vendor! These are not just “stock” systems – each has been customized for each installation Customers have to keep these systems in sync By data entry Any solution needs to be flexible, extensible, modifiable
This is a difficult problem! Synchronizing multiple different systems But: Systems have different underlying formats Some of the systems may be more accurate than others Need to be able to scale to different numbers of systems Must be extensible / reprogrammable
Event based models
Actuators and Sensors An actuator emits an event A sensor accepts events Each of the systems produces events when something changes within the system An Adapter converts the event into an XML and publishes it The XML can be in an “Application Specific” format These events are transformed by the ESB into “Generic”
Managing the Event Subscriptions A header carries the “Topic” E.g.  /config/hardware/server/windows/xp Subscribers can subscribe to a specific topic, or all sub-events The topic space is represented as a tree in the registry Subscriptions are simply URLs stored as entries at a point in the tree /config/ /software/ /hardware/   /server/ /linux/ /windows /xp/ URL1 / URL2 (etc) The G-message schemas match the structure  /config/hardware/server extends /config/hardware The master data services are all generated from a schema-driven DSL
Feedback!
Feedback problems Black Box change update
Feedback loops Black Box system Black Box system Adapter Adapter Event Broker http://pzf.fremantle.org/2008/09/interesting-problem-in-event-driven.html
Adding Master Data into an Event Based Architecture
Understanding the flow  Adapter produces an AS-Event ESB transforms to a G-Event and sends to subscribers Master receives the event Decides if it is an echo (and drops) Executes policy based on the topic/message This may execute a business process or ruleset Master updates the master db  Republishes in a second topic space using a G-Event This is now the master event This gets transformed to an update of the other systems using the AS-schema
Technologies used SOAP WS-Transfer for the updates Both the adapters and the master data WS-Eventing for the events WS-Security for authentication, encryption, signatures WS-ReliableMessaging for reliable message delivery The system is manageable using JMX But can also be managed by logging events with a new subscriber
Project approach Kickstart 1 week  “ Thin Slice” end-to-end Several teams  Adapter Master Data Eventing Transformation Integrated  Iterative development Start with two key Use Cases Open Source  In close partnership with WSO2 for support and consultancy
Anti-patterns Use a full waterfall model Don’t budget time for integration test Assume that standard coding unit test->integration test will work Build unit tests that don’t test interoperability E.g. Simulate XML request/response inside the calling system rather than calling a remote system Wait until all the systems are ready before starting any integration test A delay to one system will hold up testing all the others Don’t bother with continuous build and test Even better build by hand Even better  test by hand too Have a nice complex process to hand over from development to test That way each defect will take a long time Wait until the project is failing to find out your team doesn’t have the skills
Conclusions
Thin slice prototyping is always a good idea
Iterative project plans are essential
Prove the concept to the business
KISS Keep it Simple, Stupid!
Questions?

More Related Content

PPT
SOA Unit I
PDF
SOA Service-oriented Architecture Fundamentals IBM Certification
PDF
Practical SOA for the Solution Architect
PPTX
Dave Jones, CIO at Cape Plc - Transition of Autonomous regional IT to Providi...
PPTX
Introduction to SOA EAI ETL BPM
PPTX
From Components To Services
PPT
SAE2 Application Modernization Process
PPTX
Design and Instantiation of Reference Architecture for Pluggable Service Plat...
SOA Unit I
SOA Service-oriented Architecture Fundamentals IBM Certification
Practical SOA for the Solution Architect
Dave Jones, CIO at Cape Plc - Transition of Autonomous regional IT to Providi...
Introduction to SOA EAI ETL BPM
From Components To Services
SAE2 Application Modernization Process
Design and Instantiation of Reference Architecture for Pluggable Service Plat...

What's hot (20)

PPT
Service Oriented Architecture and Business Process Modeling Overview
PPTX
Next Generation_WVI
PDF
Learning and Performance System Integration: A Competitive Edge on the World
PDF
Enterprise Service Bus
PDF
Ibm web sphere vs sap netweaver evaluation whitepaper
PPTX
Business Process Management Meets Enterprise 2 0
PPTX
Oracle Cloud
PDF
Using the Power of IBM Tivoli Common Reporting to Make Smart Decisions: The U...
PPT
Ws Soa V6 Theory And Practice
PDF
PDF
The Enterprise Reference Architecture and Tools
PDF
Oracle soa-vs-ibm-soa-345791
PDF
ESB and SOA
PPTX
03 Service Oriented Architecture Series - Basic SOA Architecture
PPTX
Why Enterprise Service Bus (ESB)
PPTX
Customizing the Mobile Connections App
PDF
Leveraging Governance in the IBM WebSphere Service Registry and Repository fo...
PPT
Overview of SOA and the role of ESB / OSB
PPTX
Service oriented architecture characteristics of soa
PPT
SOA Fundamentals
Service Oriented Architecture and Business Process Modeling Overview
Next Generation_WVI
Learning and Performance System Integration: A Competitive Edge on the World
Enterprise Service Bus
Ibm web sphere vs sap netweaver evaluation whitepaper
Business Process Management Meets Enterprise 2 0
Oracle Cloud
Using the Power of IBM Tivoli Common Reporting to Make Smart Decisions: The U...
Ws Soa V6 Theory And Practice
The Enterprise Reference Architecture and Tools
Oracle soa-vs-ibm-soa-345791
ESB and SOA
03 Service Oriented Architecture Series - Basic SOA Architecture
Why Enterprise Service Bus (ESB)
Customizing the Mobile Connections App
Leveraging Governance in the IBM WebSphere Service Registry and Repository fo...
Overview of SOA and the role of ESB / OSB
Service oriented architecture characteristics of soa
SOA Fundamentals
Ad

Viewers also liked (9)

PDF
SOA Case Study
PPT
A Comprehensive Introduction to Everything SOA
PDF
SOA Implementation & Case Studies
PPT
Basic introduction to SOA
PDF
WSO2Con US 2013 - A Case Study Using WSO2 Middleware in an Enterprise SOA Inf...
PDF
Mashups and Business Process Management in SOA
PDF
Oracle SOA Development - Hands-On from Start to Finish
PPSX
ESB Overview
SOA Case Study
A Comprehensive Introduction to Everything SOA
SOA Implementation & Case Studies
Basic introduction to SOA
WSO2Con US 2013 - A Case Study Using WSO2 Middleware in an Enterprise SOA Inf...
Mashups and Business Process Management in SOA
Oracle SOA Development - Hands-On from Start to Finish
ESB Overview
Ad

Similar to Three SOA Case Studies (20)

PPT
Oracle SOA Suite in use – a practical experience report
PPT
IT Modernization For Process Modernization
PPT
Aceu2009 Apache Synapse Events
PPT
Enterprise Deployments & SOA
PPTX
PPT
The New Enterprise Alphabet - .Net, XML And XBRL
PPT
O2 Presentation Sdp Event
PPT
Azure Serrvices Platform Pro Dev Partners
ODP
Carbon Webinar
KEY
Event Driven Architecture at NDDNUG
PPTX
Azure Overview Csco
PPT
Webinar: Deploying the Combined Virtual and Physical Infrastructure
PDF
Spring and Pivotal Application Service - SpringOne Tour - Boston
PPT
Oracle 10g Application Server
ODP
RailswayCon 2010 - Command Your Domain
PPTX
PPTX
Introduction To Cloud Computing
PPTX
Serhiy Kalinets "Embracing architectural challenges in the modern .NET world"
PPT
Phase Two: What’s Next for Life Sciences and Enterprise Content Management
PPTX
The Story of How an Oracle Classic Stronghold successfully embraced SOA (ODTU...
Oracle SOA Suite in use – a practical experience report
IT Modernization For Process Modernization
Aceu2009 Apache Synapse Events
Enterprise Deployments & SOA
The New Enterprise Alphabet - .Net, XML And XBRL
O2 Presentation Sdp Event
Azure Serrvices Platform Pro Dev Partners
Carbon Webinar
Event Driven Architecture at NDDNUG
Azure Overview Csco
Webinar: Deploying the Combined Virtual and Physical Infrastructure
Spring and Pivotal Application Service - SpringOne Tour - Boston
Oracle 10g Application Server
RailswayCon 2010 - Command Your Domain
Introduction To Cloud Computing
Serhiy Kalinets "Embracing architectural challenges in the modern .NET world"
Phase Two: What’s Next for Life Sciences and Enterprise Content Management
The Story of How an Oracle Classic Stronghold successfully embraced SOA (ODTU...

More from Paul Fremantle (19)

PDF
IoT and Blockchains - enhancing security and privacy
PPTX
Anonymous Individual Integration for IoT
PPTX
Web API Management meets the Internet of Things
PPTX
IoT World - creating a secure robust IoT reference architecture
PPTX
Apache Stratos - Building a PaaS using OSGi and Equinox
PPTX
Securing the Internet of Things
PDF
Federated Identity for IoT with OAuth2
PDF
Beyond Economics - Cloud as a Business Enabler
PDF
Evolution of PaaS
PDF
The Evolution of Integration
PPTX
High Volume Web API Management with the WSO2 ESB
PDF
Stratos Open PaaS OSCON 2011
PPT
Stratos and PaaS for London Java Community
PPT
Understanding Platform as a Service
PPT
Making Apache Tomcat Multi-tenant, Elastic and Metered
PPT
Building Cloud Native Software
PPT
Building Innovation with Open Source Approaches
PPT
Fast SOA with Apache Synapse
PPT
REST vs WS-*: Myths Facts and Lies
IoT and Blockchains - enhancing security and privacy
Anonymous Individual Integration for IoT
Web API Management meets the Internet of Things
IoT World - creating a secure robust IoT reference architecture
Apache Stratos - Building a PaaS using OSGi and Equinox
Securing the Internet of Things
Federated Identity for IoT with OAuth2
Beyond Economics - Cloud as a Business Enabler
Evolution of PaaS
The Evolution of Integration
High Volume Web API Management with the WSO2 ESB
Stratos Open PaaS OSCON 2011
Stratos and PaaS for London Java Community
Understanding Platform as a Service
Making Apache Tomcat Multi-tenant, Elastic and Metered
Building Cloud Native Software
Building Innovation with Open Source Approaches
Fast SOA with Apache Synapse
REST vs WS-*: Myths Facts and Lies

Recently uploaded (20)

PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PPTX
Spectroscopy.pptx food analysis technology
PDF
Network Security Unit 5.pdf for BCA BBA.
PPTX
Cloud computing and distributed systems.
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PPTX
sap open course for s4hana steps from ECC to s4
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
DOCX
The AUB Centre for AI in Media Proposal.docx
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PPTX
Big Data Technologies - Introduction.pptx
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PPTX
MYSQL Presentation for SQL database connectivity
Reach Out and Touch Someone: Haptics and Empathic Computing
Spectroscopy.pptx food analysis technology
Network Security Unit 5.pdf for BCA BBA.
Cloud computing and distributed systems.
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
sap open course for s4hana steps from ECC to s4
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Mobile App Security Testing_ A Comprehensive Guide.pdf
The AUB Centre for AI in Media Proposal.docx
“AI and Expert System Decision Support & Business Intelligence Systems”
NewMind AI Weekly Chronicles - August'25 Week I
Per capita expenditure prediction using model stacking based on satellite ima...
Big Data Technologies - Introduction.pptx
Digital-Transformation-Roadmap-for-Companies.pptx
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Encapsulation_ Review paper, used for researhc scholars
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
MYSQL Presentation for SQL database connectivity

Three SOA Case Studies

  • 1. Three SOA Case Studies understanding what to use – where Paul Fremantle Chief Technology Officer WSO2 Inc
  • 2. Introduction Paul Fremantle, CTO, WSO2 Co-Chair, OASIS WSRX TC VP, Apache Synapse Previously STSM in WebSphere Architecture This is based on projects I’ve worked on at WSO2 Case study #1 Integrating legacy systems for reporting at Concur Case study #2 Building a National SOA – OIO SOI Case study #3 Using SOA to integrate IT Management systems Anti-study Some lessons learnt NOT on WSO2 projects!
  • 3. A very short plug for WSO2 Open Source SOA Startup Since 2005 A complete SOA platform available under the Apache License WSO2 Carbon – OSGi-based runtime including ESB Service Hosting – Web Services Application Server Data Services Registry / SOA Governance Business Process Server No Gimmicks / Gotchas Full 24x7 support Training and Consultancy Hear more tomorrow at 16:45 SkillsMatter booth
  • 6. Concur Concur is an online expense management company >$200m revenue Multiple legacy systems: Customer Relationship Management ERP Sales Force Automation In house HR employee application Main requirement – enable better reporting across applications Internal project only – not in the direct flow of external customer systems Needed an approach that supported: Iterative development Support changes to the underlying systems Flexible
  • 7. Architecture WSAS Data Services Spring Services Existing Databases Existing Applications SOAP Services ESB routing, synchronization and transformation Registry File Access Mashups SOAP Bug Tracking / ITIL Ticket / CRM / SFA / HR / (10 systems in all and growing) Restful
  • 8. Technical details Everything deployed on Windows 2003 running on VMWare Internal systems so limited security Basic authentication Some use of digital signature Running in a blade server to simplify test and scaling Currently Hot/Cold but moving to Hot/Hot ~75,000 transactions a day 95% SOAP, 5% Restful at this point WSDLs and Schema’s stored in WSO2 Registry Embedded in the ESB Currently 18 services across 10 backends with 120 operations Growing Looking at moving to a more event-based approach in the future
  • 10. Project Approach Planned for iterative development over phases Staff self-educated on SOA and looked at Open Source systems before talking to vendors One week “kickstart” education and POC session Built a data synchronization application Proof to the business: Concur built a prototype that offered real value to executives: Single customer view mashup – pulled open CRM tickets, ERP and CRM data. The demo was an “instant hit” – gaining an executive sponsor Team identified re-usable services Put extra effort into the design Several refactoring iterations
  • 11. Benefits Lower cost of licenses/users on SaaS systems Previously were using licenses for occasional users Intermittent users were being trained on systems that they rarely used – the new mashups replaced this requirement The SOA design has allowed incremental replacement of some legacy systems Existing test plans for Sarbanes-Oxley could be re-used Open source meant that a POC could prove the benefits to the business without upfront expenditure
  • 12. Lessons Learnt Keep it Simple In-house expertise has paid off Steeper learning curve but Better technology selection Lower overall cost More agility Use of open source projects has Reduced cost Been more flexible Given better access to the community and developers
  • 14. Case Study 2 OIO SOI
  • 15. OIO SOI Danish Government wanted to simplify electronic business Especially for Business-to-Government (B2G) Potential savings of 630m Euros by digitalizing business Requirements Reliable delivery Secure – encrypted and signed messages Support small businesses
  • 16. OIO SOI Several aspects A registry for service lookup A profile of transport protocols Open Source toolkits for Java and .NET A reference implementation of a message handler A legal framework Some existing framework A nationwide digital certificate framework A standard XML syntax for invoices and orders (UBL2)
  • 17. Registry A profile of OASIS UDDI v3.0 A central registry run by the Danish Government https://publish.uddi.ehandel.gov.dk:12443/registry/uddi/web Designed to be used by electronic clients Not to be browsed by humans! Requires a Danish Certified Certificate to publish
  • 18. RASP
  • 19. RASP Reliable Asynchronous Secure Profile A profile of SOAP 1.2 WS-Security 1.1 WS-ReliableMessaging 1.0 WS-Addressing Two bindings: HTTP and SMTP Why SMTP? To allow small businesses to communicate No requirement to host a web server No 24x7 operation No firewall configuration Only an email address
  • 20. RASP capabilities Authentication Confidentiality Integrity Non-repudiation / proof of delivery Support for intermediaries Asynchronisity
  • 21. Interoperability RASP includes libraries for both .NET – based on WCF 3.0 Java – based on Apache Axis2 Defined a set of tests and run using a continuous test environment Biggest problems were found with WSRM and SMTP
  • 23. Logical architecture This is logically a complete peer-to-peer architecture With only a central registry Any company can talk to any other company Even those with only mail accounts Cannot track all the requests!
  • 24. Results 18,500 companies sending invoices via RASP Mandatory to send invoices to all government agencies Scanning companies and a web gateway allow bridging
  • 25. Lessons learnt SMTP in the real world is tricky Spam filters can modify or drop messages Our email accounts got shut down for “spamming” i.e. sending many messages in a short time Timeouts were too long for the RM system We made mistakes layering SMTP and WS-Addressing Publishing interoperable reference implementations was a big win Proved interoperability Formed the basis for other implementations to test against The RASP team is now working on a European initiative: PEPPOL http://peppol.eu Trying to bring the same results across Europe
  • 26. Resources RASP specs and pointers to implementations http://tinyurl.com/azwhx5 Peppol http://peppol.eu
  • 27. Case Study #3 Enterprise IT Management
  • 28. Enterprise IT Management Problem statement: Customers have multiple installed management systems Network Management User Management Systems Management All from the same vendor! These are not just “stock” systems – each has been customized for each installation Customers have to keep these systems in sync By data entry Any solution needs to be flexible, extensible, modifiable
  • 29. This is a difficult problem! Synchronizing multiple different systems But: Systems have different underlying formats Some of the systems may be more accurate than others Need to be able to scale to different numbers of systems Must be extensible / reprogrammable
  • 31. Actuators and Sensors An actuator emits an event A sensor accepts events Each of the systems produces events when something changes within the system An Adapter converts the event into an XML and publishes it The XML can be in an “Application Specific” format These events are transformed by the ESB into “Generic”
  • 32. Managing the Event Subscriptions A header carries the “Topic” E.g. /config/hardware/server/windows/xp Subscribers can subscribe to a specific topic, or all sub-events The topic space is represented as a tree in the registry Subscriptions are simply URLs stored as entries at a point in the tree /config/ /software/ /hardware/ /server/ /linux/ /windows /xp/ URL1 / URL2 (etc) The G-message schemas match the structure /config/hardware/server extends /config/hardware The master data services are all generated from a schema-driven DSL
  • 34. Feedback problems Black Box change update
  • 35. Feedback loops Black Box system Black Box system Adapter Adapter Event Broker http://pzf.fremantle.org/2008/09/interesting-problem-in-event-driven.html
  • 36. Adding Master Data into an Event Based Architecture
  • 37. Understanding the flow Adapter produces an AS-Event ESB transforms to a G-Event and sends to subscribers Master receives the event Decides if it is an echo (and drops) Executes policy based on the topic/message This may execute a business process or ruleset Master updates the master db Republishes in a second topic space using a G-Event This is now the master event This gets transformed to an update of the other systems using the AS-schema
  • 38. Technologies used SOAP WS-Transfer for the updates Both the adapters and the master data WS-Eventing for the events WS-Security for authentication, encryption, signatures WS-ReliableMessaging for reliable message delivery The system is manageable using JMX But can also be managed by logging events with a new subscriber
  • 39. Project approach Kickstart 1 week “ Thin Slice” end-to-end Several teams Adapter Master Data Eventing Transformation Integrated Iterative development Start with two key Use Cases Open Source In close partnership with WSO2 for support and consultancy
  • 40. Anti-patterns Use a full waterfall model Don’t budget time for integration test Assume that standard coding unit test->integration test will work Build unit tests that don’t test interoperability E.g. Simulate XML request/response inside the calling system rather than calling a remote system Wait until all the systems are ready before starting any integration test A delay to one system will hold up testing all the others Don’t bother with continuous build and test Even better build by hand Even better test by hand too Have a nice complex process to hand over from development to test That way each defect will take a long time Wait until the project is failing to find out your team doesn’t have the skills
  • 42. Thin slice prototyping is always a good idea
  • 43. Iterative project plans are essential
  • 44. Prove the concept to the business
  • 45. KISS Keep it Simple, Stupid!