Solutions ArchitectChintana Wilamuna
SOA Patterns: Legacy Wrappers
Senior Solutions EngineerNadeesha Gamage
*
About the Presenter(s)
Nadeesha GamageSenior Solutions Engineer
Chintana WilamunaSolutions Architect
Agenda
❖ Why we cannot replace legacy systems
❖ What are legacy wrappers
❖ Characteristics of legacy wrappers
❖ Advantages of using WSO2 for connecting legacy systems
❖ Focus on
➢ Specific functionality that can be utilized
➢ WSO2 Enterprise Services Bus
➢ WSO2 Data Services
❖ Customer use cases
❖ Demo
*
Legacy Systems
❖ ‘Pre-SOA’ era applications- No concept of planned extension points- No concept of APIs
❖ Proven to be successful overtime
❖ Too complex and expensive to replace
❖ No standard way of exposing data (integration points to external systems)
❖ Too important, can't run them as isolated system. But too difficult to integrate with rest of the organization.
*
Modern organization
❖ API driven, leverage heavily on SOA
❖ Uses best of breed systems from multiple vendors
❖ Internal business capabilities exposed to larger stakeholder base (ie customers, suppliers and partners)
*
Q: How to integrate legacy systems with rest of the organization?
A: Legacy Wrappers
What are Legacy Wrappers
❖ Legacy systems expose little to no data through standard protocols
❖ These should be integrated using standard protocols with other apps in the business ecosystem
❖ Wrapper to ‘wrap’ legacy systems to create standard APIs that can be directly consumed.
❖ Recognized Enterprise Integration Patterns (EAI) to support legacy system integration to the rest of the enterprise IT systems.
EIPs with WSO2 ESB - https://docs.wso2.com/display/IntegrationPatterns/Enterprise+Integration+Patterns+with+WSO2+ESB
*
What are Legacy Wrappers
*
Legacy System
Legacy WrapperStandard API
API Consumer
Legacy system’s specific API
Legacy wrappers
*
Legacy wrappers characteristics
❖ Encapsulate and proxy legacy services as standard API’s
❖ Communicate with legacy systems using proprietary protocols
❖ Transform, enrich or build a message payload expected by the legacy system
❖ Provide responses based on accepted web service standards and protocols
❖ Apply Quality Of Service (QoS) such as security, throttling and error handling
*
Advantages of using WSO2
❖ Treating the legacy wrapper as a black box - keep public interface/API fixed
❖ Connecting and exposing APIs for integration with other systems
❖ Capable of accepting XML/JSON message formats
❖ Possibility of integrating it with mobile clients
❖ Legacy wrapper as an extension of the existing SOA infrastructure
❖ Utilizing integration capabilities to other scenarios
❖ Gradually expand features / SOA infrastructure➢ Security/Throttling➢ Adapt new components - BAM / CEP / Governance Registry
*
Building Legacy Wrappers
*
Today’s focus
WSO2 Enterprise Service Bus❖ Lean, high performance ESB❖ Supports wide range of standards, protocols and transports❖ Supports multiple EIP patterns❖ Tooling Support via WSO2 Developer Studio
WSO2 Data Services Server❖ Supports wide range datasources and transports❖ In-built support to secure and expose data as a service❖ Ability to expose data as SOAP or REST services❖ Tooling Support via WSO2 Developer Studio
*
WSO2 Enterprise Service Bus
❖ Supports a host of transport protocols and messaging standards.- Transports - HTTP(s), JMS, FTP(s), SFTP, POP, IMAP, SMTP, JMS,
AMQP, UDP, TCP and many more.- Messaging standard and Formats - SOAP, REST, XML, JSON, EDI,
HL7 and many more- Connection to cloud connectors to service providers such as
Salesforce.com and Twitter.
❖ Rich library of mediators that can perform any type of mediation tasks.
❖ Mediators to perform content and message transformation between systems.
*
Specific ESB Functionality
❖ TCP transport- Utilizing existing TCP transport- Integration with a custom messaging through TCP
❖ Custom transports/message formatters/builders/mediators- Standard extension points
❖ VFS transport- Read/write files through FTP/SFTP/HTTP/WebDAV
❖ Protocol transformation- HTTP to FIX / HTTP to JMS / JMS to FIX / JMS to flat file / HTTP to
custom transport through TCP
*
WSO2 Data Services Server
❖ Can connect to popular databases through JDBC
❖ Can connect and expose data in tables as web services through configuration
❖ Build data services through Developer Studio
❖ Expose data as XML/JSON
❖ Exposing data from legacy applications with just a DB, no specific extension mechanism
*
Customer use case 1
❖ Connecting COBOL copybooks to a new MDM solution➢ Reading copybook formatted data➢ Integrating to highly scalable NoSQL master data repository➢ APIs exposing data➢ Monitoring/reporting on copybook records
*
Customer use case 2
❖ Legacy ERP application integration with SalesForce➢ A flat file with updated data exported from ERP➢ Read/convert and push it to SalesForce.com
*
Building Legacy Wrappers
❖ Scenario 1- Legacy wrapper with WSO2 ESB
- Legacy System exposes a FTP interface to add orders- ESB wraps and expose this FTP interface as a SOAP service- API Consumer consumes this ESB SOAP service- WS-Security to secure access to the API
*
Legacy System
XML <<Secured>>
API ConsumerCustom message
format via FTP
Response <<Secured>>
Cloud to Legacy connectivity
❖ Ability to connect Legacy systems with cloud service providers
❖ Streamline access and provide direct connectivity
❖ Bridge technology gap between components of your organization.
*
Legacy System
QueryCustom message
format via FTP
Extract
Cloud Service providers
Building Legacy Wrappers
❖ Scenario 2- Legacy wrapper with WSO2 DSS
- Legacy system coupled with a database server- No proper API to access the data available- Data Services Server to create a data service API that can be
consumed as a web service.- WS-Security to secure access to the API
*
Query
Legacy System
XML
API Consumer
Response
DB
*
Business Model
Contact us !