WSO2Con USA 2017: Implement an Effective Digital Platform Using WSO2 Integration

Preview:

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!

Recommended