Upload
wso2-inc
View
157
Download
2
Embed Size (px)
Citation preview
Implementing an effective digital platform using WSO2
Dushan Abeyruwan Senior Technical Lead
WSO2 Inc.
PMC Apache Synapse
Overview……..
● Introduction and the need of Integration Platform
● Enterprise Integrator 6.0
● Integration server architecture
● Architectural styles for integration
● Hybrid integration with WSO2
● Debugging and troubleshooting your integration
● Deployment
● Performance tuning
● Production hardening
Why Integration?
Applica
ti
ons
People
Device
s
• Enterprises heavily rely on the underlying software systems/services/applications.
• Disparate technologies and platforms
• No single solution or a vendor
• Diverse Business requirements
Enterprise Integration
• Plumbing different software applications/services/systems and forming new software solutions is known as ‘Enterprise Integration’.
“Technology for developing, maintaining, testing, deploying, and governing interfaces between applications, machines, or databases” – Forrester 2015
Digital Banking “The Evolving Journey”
http://www.pymnts.com/news/digital-banking/2016/mobile-digital-banking-future/
Why we need an ‘Integration Platform’?
• Different protocols, formats• Legacy systems• Reliable delivery• Pub-sub pattern• Orchestration• Long running processes (approval
operations)
Integration Requirements• Growth and diversity of Integration needs
– Iot,API,SaaS,B2B,On-premise applications• Agility and ease of Integration
– operational overhead, rapid integration,Visual, Error Handling• Orchestration on how quickly we can implement complex orchestration
logics– simple and agile development of orchestration logic
• Integrating applications, services, data, APIs and identity– Integration Server, Data Integration, Identity Bus, API
GW/Composition• Performance
– TPS, deal on demand• Scalability
– Container based scaling
WSO2 Integration Platform
Enterprise Integrator 6.0
Single integrated packaging of● ESB● Data Services● Business Processes● Business Rules● Application Server (replaced by MSF4J)● Message Broker
WSO2 Integration Platform - Digital Business -Banking
Integration server architecture
Service Integration a.k.a ESB runtime
o A lightweight, high performance service bus
o Comprehensive REST, SOAP, WS-* support
o SAP, FIX, HL7 - Domain specific solutions
o Zero Code/Configuration driven
o Extensible and Scalable
o 100% coverage of all EIPs
WSO2 Service Integration
• Revamped inbound messaging architecture. – Creating inbound messaging channels dynamically.
– Listening Inbound – HTTP, HL7, TCP, WS-RM
– Polling Inbound – JMS, File/VFS
• Coordination support– Task coordination – One tasks at a time on a cluster/ leader election.
– JMS, File(VFS) Inbound endpoint – One or multiple consumers per cluster.
– Message Processor- One or multiple processors per cluster.
•JMS 2.0
•Web Socket
•Data Mapping
•Mediation Debugger
Service Integration
• Call/respond mediator based message flow design.
Data Integration a.k.a DSS Runtime• Building Service abstractions on top of disparate data sources.
Business Processes a.k.a BPS Runtime
WSO2 BPS– Features • Define and execute business processes - WS-BPEL 2.0, BPEL4WS 1.1,
BPMN 2.0, long running stateful processes
• Define workflows interacting with People - BPMN user tasks, WS-HumanTask 1.1, BPEL4People 1.1
• Data manipulation and extensibility - XSLT, XPath, XQuery support
• Graphical process modeling – WSO2 Developer Studio
• Create and monitor custom Key performance indicators (KPI)
Broker a.k.a MB runtime
• Avoid message routing over the network .
• Use scalable storage to share messages between nodes
• High availability & fault tolerance.
• Interoperability with AMQP clients.
• Use distributed coordination to control the behavior (i.e Hazelcast).
• Extend messaging to IoT. (MQTT)
Analytics o Mediation Statistics - Coarse-grain
and fine-grain statistics of your integration/mediation flow.
o Message Tracing – Enable tracing for a selected message flow and trace through the message path.
Analytics - Service Integrator (Mediation Statistics) o Overview section: No of requests, TPS, successful and failed requests,
artifact level statistics.
Tooling - WSO2 Developer Studio
Tooling - Service Integration
Connectors Ensure Faster Integration with
Tooling
Hybrid Integration
Integration Cloud • Cloud-to-Cloud or Cloud-to-On-Premises integration projects for WSO2 Enterprise Service Bus (ESB)
http://wso2.com/cloud/integration-cloud/
Hybrid Integration
https://docs.wso2.com/display/IntegrationCloud
Implementing Extension Points in the WSO2 Platform
• Cloud to Cloud Integration– A connector is a ready made and
convenient tool to reach web API’s.
– ESB Connector Store : ~150 connectors
https://store.wso2.com/store/
• Integration Cloud– ESB as a service
– Integration templates with Connectors.
Debug and Troubleshooting
Mediation Debugger o Debugging a message flow.
Image: thinkpublic/photopin cc
Service Integration Analytics – Mediation Statistics o Fine-grained statistics of mediation flows : Profiling your mediation flows to
identify possible bottlenecks.
Image: thinkpublic/photopin cc
Architectural Styles of Enterprise Integration
Architectural Styles of Enterprise IntegrationNative support for ALL Enterprise Integration Patterns (EIP)
WSO2 EIP Guide: http://docs.wso2.org/display/IntegrationPatterns
Content based routerPublisher-Subscriber Point-to-Point Channel
Dead-letter channel Command message
Guaranteed delivery Request-reply
Splitter Aggregator Scatter-gather
Pipe-and-filters Message translator Event message
Event driven consumer Durable subscriber
Content enricherContent filter
Dead-Letter-Channel
Client Mediation... Endpoint Back-end
Message Store
MessageProcessor
Retry
RES
T A
PI
Response
Splitter
{XPath}
Extract ValuesClone
{2 Flows}
{PayloadFactory}
XML payloadSend
{to DSS}
{PayloadFactory}
JSON payloadSend
{to Message Broker}
Iterate Records
Read CSV file
Build its XML representation
http://wso2.com/whitepapers/microservices-in-practice-key-architectural-concepts-of-an-msa/
Microservices in Modern Enterprise Architecture
https://www.youtube.com/watch?v=CDwStTnoCMs
Loose Coupling and Its Architectural Benefits
Deployment
Continues Integration patterns
Deployment Pattern
Performance tuning / Production Hardening
High Performance ESB (5.0 vs 4.9)
TPS Comparison
Latency Comparison
High Performance ESB (5.0 vs 4.9)
Capacity driven deployment● If an instance of WSO2 Product handles
○ ω requests/transactions
○ within a second
● to handle
○ η requests/transactions
○ within a second
● A cluster of WSO2 ESB requires
○ n number of nodes/instances
● When
○ n = ⌈{ η + η (30/100) } / ω⌉● and
○ n.ω > η + η (30/100)
+ =
A1 A2 A3 An
LB
Future of Integration (Micro Integration)
• Programming language with text and graphical syntaxes and sequence diagram programming model
• Modern, network-aware, data-aware, security-aware programming system inspired by Java, Go, Maven, ...
http://ballerinalang.org/
Thank You!