SlideShare a Scribd company logo
1 of 72
Download to read offline
WSO2 Integration Platform Deep
Dive
Chanaka Fernando - Senior Technical Lead
Ramith Jayasinghe - Senior Technical Lead
Agenda
• Concepts in Integration
• Demonstration
• Product roadmaps/features
• Q&A
Evolution of Integration
Point to Point Integration
● Custom code, data formats for
majority of integration ( data
extraction, business rule
processing, data loading)
● Costly over time (maintenance,
complexity)
● Tight Coupling
● Scalability is an issue
● Less reusability
Evolution of Integration
Use of Enterprise Service Bus ● Consistency: Clear set of guidelines
(EIPs) results in repeatable and
successful integration
efforts/projects.
● Reusability: Tested and
preconfigured components provides
repeatable approach to
integration.(transports/connectors/m
ediators etc)
● Effectiveness: A common integration
framework (with related abstract
concepts) improves integration
developer's productivity.
Connected Business
An internally and externally connected business.
Image courtesy hRp://jdamico.net/wp-content/uploads/2010/04/collaborate-with-B2B-channel-partners.jpg
ESB were used to connect
internal systems in the past.
Current need is to connect
internal/external parties quickly
and flexible manner.
E.g. Employees, Internal/External
systems, Partners, Customers.
Connected Business
Integration is a key factor for having frictionless interactions, inside
and outside the organization.
Integration and APIs - The Close Cousins
• APIs cannot replace Integration
– Integration of internal services, systems, data and cloud apis
• Cannot mangle SOA for API Management needs
• Using SOA and API in combination is the key to success of
Connected Business.
Integration and APIs - The Close Cousins
WSO2 Integration + API Management Platform
In practise API management and
integration co-exists providing
flexible, faster ways to connect
required parties such as users,
internal/external systems, employees
etc.
WSO2 Integration Platform
Fundamentals of WSO2 ESB
Message Processing units
- Sequences, mediators
Message entry points
- Proxy Services, APIs, Inbound
endpoints.
Message exit points
- Endpoints
Mediators
Example Mediators
Name Description
Log Mediator Logs full or part of the message, at various severity levels ( Trace, Debug, etc)
Sequence Mediator Invokes existing sequence - Sequence name can be static or dynamic
Send Mediator Sends a message out, using static information or endpoint definition.
Datamapper Mediator Transform data from one form to another
Switch Mediator Evaluates messages contents against regular expression and invokes the
corresponding mediator (switch-case-default)
Validate Mediator Validates message or parts of message against XML schema (schema can be
local or in registry)
PayloadFactory Mediator Create a message payload from an existing message or from scratch
Fault Mediator Transforms current message into custom Fault message
Mediators
• Transformation Mediators
• Filters, Switches, Iterate, Aggregate, Clone
• Property Mediator
• Script Mediators
• Custom Mediators
Connectors
• A connector is a ready made and convenient
tool to reach publicly available web API’s.
• ‘Cloud to Cloud’ and ‘Cloud to Enterprise’
Integration
• ESB Connector Store : https://store.wso2.com/
Connectors
• Every connector is self-contained and
independent from ESB code
• Dynamically plug in to ESB
• Dynamic Tooling support with WSO2 Developer
Studio
• You can write, ‘your own connector’ and just plug it
in
Sequences
Fundamentals of WSO2 ESB
Message Processing units
- Sequences, mediators
Message entry points
- Proxy Services, APIs, Inbound
endpoints.
Message exit points
- Endpoints
Proxy Service
• Acts like a virtual service.
• Receives messages and mediates
them before sending them to the
endpoint (usually an actual
service)
• Mainly to expose as SOAP Service
API/HTTP Service
• APIs can accept REST messages which allow clients
to provide additional information on how to
mediate the message
• Defined under a URL Context (e.g: /customer)
• Can define multiple resources under a URL context
• Resources
– Component of API accessed through HTTP call
– Similar to proxy service (in, out, and fault
sequences)
– Can restrict resource’s scope using URL
patterns and URI templates
API/HTTP Service
• URL mapping
– Path mappings (eg: /test/*, /foo/bar/*)
– Extension mappings (eg: *.jsp, *.do)
– Exact mappings (eg: /test, /test/foo)
• URI template
– /order/{orderId}would process /order/A0001
– /dictionary/{char}/{word}would process /dictionary/c/cat
– Use get-property to retrieve exact values
<log level="custom">
<property name="Character" expression="get-property('uri.var.char')"/>
<property name="Word" expression="get-property('uri.var.word')"/>
</log>
Inbound Endpoint
• Creating inbound messaging channels
dynamically.
– Listening Inbound – HTTP, HL7, TCP
– Polling Inbound – JMS, File/VFS
• Injects the inbound messages into an
ESB message flow.
Polling Inbound endpoint in a Cluster
One Consumer Multiple Consumers
Fundamentals of WSO2 ESB
Message Processing units
- Sequences, mediators
Message entry points
- Proxy Services, APIs, Inbound
endpoints.
Message exit points
- Endpoints
Endpoints
• Logical representation of one or more real backend
service, jms queue etc.
• Address, HTTP Endpoints – A logical endpoint for an
existing BE service
• Load balancing / Failover – Group of endpoints for
existing BE services
Message Store and Message Processor
• Asynchronous/One-way Messaging, JMS
• Store and forward
• Guaranteed Delivery and Rate matching
• JMS Message broker as the persistence store – WSO2 MB, Apache
Active MQ etc.
Message Processor in a Cluster
• One consumer per cluster – Guaranteed in-order delivery
• Multiple consumers – Guaranteed delivery
One Consumer Multiple Consumers
Tasks
• Allow configuration of scheduled jobs to execute internal/external
commands
• Inject a message into a proxy service or a named sequence
Service Chaining
• Orchestrating/Combining multiple Services
Load Balancing
Enterprise Integration Patterns
https://docs.wso2.com/display/IntegrationPatterns/Enterprise
+Integration+Patterns+with+WSO2+ESB
Tooling Support for WSO2 ESB
WSO2 ESB 5.0 – Upcoming release
• Beta version is available (Released on May 2016)
• Improved usability of the ESB through debugging, data
mapping capabilities through developer studio tooling
• The product is released as a tuple of runtime, analytics
and tooling
• Dedicated analytics distribution(DAS) for ESB specific
monitoring with pre built dashboards
WSO2 ESB 5.0 – Statistics/Tracing
• Coarse grained statistics about proxy/sequence/api/endpoint
WSO2 ESB 5.0 – Statistics/Tracing
• Fine grained statistics/tracing on mediators (message level)
WSO2 ESB 5.0 – Statistics/Tracing
• Fine grained tracing on messages
WSO2 ESB 5.0 – Visual Data Mapper
• Visual Data mapper
– Different input/output options (XML, JSON, Files, Schemas)
– Apply functions while mapping the data (Split, Aggregate, Uppercase, Lowercase)
WSO2 ESB 5.0 – Mediation debugger
• Debug mediation flows from the Developer studio
WSO2 ESB – What’s new in 5.0
Other new features
• JMS 2.0 support
• Websocket support
• JMS distributed(XA) transaction support
• Rabbitmq/MQTT performance improvements
WSO2 Integration Cloud (Upcoming)
WSO2 Integration Cloud (Upcoming)
Integration Platform as a Service (iPaaS)
• Running integrations on the cloud
• Analytics integration
• Develop integrations using WSO2 Developer studio
WSO2 Integration Platform
Business Processes
WSO2 Business Process Server
• BPMN 2.0
• WS-BPEL 2.0
• WS-HumanTask 1.1
• BPEL4People
● Define and execute business processes
● Define workflows interacting with People
● Graphical process modeling/administration/monitoring
Human Task Support
WSO2 Business Rules Server
● Integrates JSR94
compliant rule engines.
● Embed drools engine.
WSO2 Integration Platform
Fundamentals of WSO2 Message Broker
Messaging Models
● RPC Style
- Request/Response (there is always a response)
- Synchronous (client waits for response)
- Non-persistent (message is lost if something failed)
● Point to Point (Queues)
- A message is delivered only once to a single Broadcast a
message to all the subscribers
● Publish/Subscribe (Topics)
- Broadcast a message to all the subscribers
Fundamentals of WSO2 Message Broker
Messaging Models
● Publish/Subscribe (Topics)
- Broadcast a message to all the subscribers
● Durable Subscriptions
- Same as topic subscriptions
- Subscriber offline - Messages get queued
- Subscriber back online - Messages get delivered
- Unsubscription needed to remove queuing
Fundamentals of WSO2 Message Broker
● Transactional
- Send/Receive multiple messages in a transactions.
- ( send/consume -> rollback, reject, commit)
● Guaranteed Delivery/Acknowledgments , QOS ( MQTT, JMS).
● Persistence
- Messages kept in memory or in reliable storage.
Fundamentals of WSO2 Message Broker
● Dead letter channel
- Broker keeps invalid/rejected messages in this channel.
- Users can inspect/reroute/delete these messages.
● Hierarchical topics
- Map relationships between data being published onto different
topics.
- Can Subscribe to part of the hierarchy.
Games.*
- receives messages published to ‘Games.FootBall’
and ‘Games.Cricket’
Games.Cricket.#
- Receives messages published to
‘Games.Cricket.SriLanka’ and ‘Games.Cricket.UK’
Fundamentals of WSO2 Message Broker
Distributed Queues
● Provides strict or best effort
support for inorder delivery
● There are no guarantee
about the global order seen
across subscribers
Fundamentals of WSO2 Message Broker
Distributed Queues with MB
● Provides strict or best effort
support for inorder delivery
● There are no guarantee
about the global order seen
across subscribers
● Supported Protocols
AMQP/JMS, MQTT
MB Roadmap
• Support for AMQP 1.0 and JMS 2.0
• Improvements to Storage Scheme, Performance improvements
• Analytics for MB
• C5 migration
• Improved GUI
• MQTT + Websockets
WSO2 Integration Platform
Introducing WSO2 Data Services Server
Painpoints:
● Application Silos / Different data
stores
● Cumbersome data access/
transformation logic
● Business logic vs Data access logic
● Repetitive Code
DSS:
● Well defined interfaces (standard based)
● Encapsulated data logic
● Configuration driven
● Loose Coupling between App & Data stores
● Scale as a separate architectural layer.
WSO2 Data Services Server : Features
• Multiple Data Sources
• Nested Queries
• Batch Processing
• Distributed Transactions
• OData (www.odata.org)
– Quickly expose data as REST APIs
– Standardized [URL conventions, Request/Response Headers,
Status Codes ,Payload formats]
Demonstration - Use Case
• As part of an effort to improve traffic monitoring process, City
transport authorities are making buses to send useful
information while it's in operation such as speed, location data
and direction.
• To ensure safety of passengers, officials would like to detect bus
drivers who violate speed limits. Supervisors will investigate
these incidents case-by-case basis.
• If a supervisor determines a particular incident is undue, bus
driver will be placed under further investigation/review.
Demonstration - Solution Architecture
Demonstration - Concepts (OData)
Retrieve duty roster:
GET http://localhost:9765/odata/AllocationData/DriverAllocations/duty_roster(1)
{
"@odata.context": "$metadata#duty_roster/$entity",
"@odata.etag": "8d32bf38-8d8f-30cb-8e87-36ebeaedc2a9",
"vehicleId": 1,
"driverId": 1
}
Retrieve employee information:
GET http://localhost:9765/odata/HRDataAPI/records/employee(1)
{
"@odata.context": "$metadata#employee/$entity",
"@odata.etag": "58bff0d2-09a4-3315-b2a0-667626dbf5c7",
"id": 1,
"supervisorId": 2,
"username": "driver",
"status": "UnderReview",
"name": "Driver"
}
Update Employee status:
PATCH http://localhost:9765/odata/HRDataAPI/records/employee(1)
{ "status" :"UnderReview"}
Demonstration - Concepts (Inbound Endpoints)
<inboundEndpoint name="speed-alert-receiver" onError="fault"
protocol="jms" sequence="BusSpeedViolationsSeq" suspend="false" xmlns="http://ws.apache.org/ns/synapse">
<parameters>
<parameter name="interval">1</parameter>
<parameter name="sequential">true</parameter>
<parameter name="coordination">true</parameter>
<parameter name="transport.jms.Destination">SpeedViolations</parameter>
<parameter name="transport.jms.CacheLevel">3</parameter>
<parameter name="transport.jms.ConnectionFactoryJNDIName">QueueConnectionFactory</parameter>
<parameter name="java.naming.factory.initial">org.wso2.andes.jndi.PropertiesFileInitialContextFactory</parameter>
<parameter name="java.naming.provider.url">repository/conf/jndi.properties</parameter>
<parameter name="transport.jms.SessionAcknowledgement">SESSION_TRANSACTED</parameter>
<parameter name="transport.jms.SessionTransacted">true</parameter>
<parameter name="transport.jms.SubscriptionDurable">false</parameter>
<parameter name="transport.jms.ConnectionFactoryType">queue</parameter>
<parameter name="transport.jms.ReceiveTimeout">100</parameter>
<parameter name="transport.jms.ContentType">application/json</parameter>
</parameters>
</inboundEndpoint>
<inboundEndpoint name="hr-request-receiver" onError="fault"
protocol="http" sequence="HRSeq" suspend="false" xmlns="http://ws.apache.org/ns/synapse">
<parameters>
<parameter name="inbound.http.port">8081</parameter>
</parameters>
</inboundEndpoint>
Demonstration - Concepts (Endpoints)
<endpoint name="DutyRosterEP" xmlns="http://ws.apache.org/ns/synapse">
<http method="get" trace="disable"
uri-template="http://localhost:9765/odata/AllocationData/DriverAllocations/duty_roster({uri.var.busId})"/>
</endpoint>
<endpoint name="GetEmployeeRecordsEP" xmlns="http://ws.apache.org/ns/synapse">
<http method="get" trace="disable" uri-template="http://localhost:9765/odata/HRDataAPI/records/employee({uri.var.employeeId})"/>
</endpoint>
<endpoint name="UpdateEmployStatusEP" xmlns="http://ws.apache.org/ns/synapse">
<http method="patch" trace="disable"
uri-template="http://localhost:9765/odata/HRDataAPI/records/employee({uri.var.employeeId})"/>
</endpoint>
Usage:
<property expression="json-eval($.driverId)" name="uri.var.employeeId"
scope="default" type="STRING"/>
<call>
<endpoint key="GetEmployeeRecordsEP"/>
</call>
Demonstration - Concepts (Data Mapping)
<datamapper
config="gov:datamapper/MapSpeedViolationResultToHRSystem.dmc"
description="Map-Speed-Violation-OutCome-To-HR-System"
inputSchema="gov:datamapper/MapSpeedViolationResult
ToHRSystem_inputSchema.json"
inputType="JSON"
outputSchema=
"gov:datamapper/MapSpeedViolationResultToHRSystem_outputSchem
a.json"
outputType="JSON" />
Demonstration - Concepts (Payload Messages and Service Chains)
<sequence name="BusSpeedViolationsSeq" onError="fault" statistics="enable" trace="disable"
xmlns="http://ws.apache.org/ns/synapse">
<property expression="json-eval($.event.payloadData.id)"
name="uri.var.busId" scope="default" type="STRING"/>
<property expression="json-eval($.event.payloadData.id)"
name="busId" scope="default" type="STRING"/>
<property expression="json-eval($.event.payloadData.timeStamp)"
name="timeStamp" scope="default" type="STRING"/>
<property name="uri.var.busId" scope="default"
type="STRING" value="1"/>
<call>
<endpoint key="DutyRosterEP"/>
</call>
<property expression="json-eval($.driverId)"
name="uri.var.employeeId" scope="default" type="STRING"/>
<property expression="json-eval($.driverId)"
name="driverId" scope="default" type="STRING"/>
<call>
<endpoint key="GetEmployeeRecordsEP"/>
</call>
Demonstration - Concepts (Payload Messages and Service Chains)
<property expression="json-eval($.username)"
name="driverUsername" scope="default" type="STRING"/>
<property expression="json-eval($.name)"
name="driverName" scope="default" type="STRING"/>
<property expression="json-eval($.supervisorId)"
name="supervisorId" scope="default" type="STRING"/>
<property expression="json-eval($.supervisorId)"
name="uri.var.employeeId" scope="default" type="STRING"/>
<call>
<endpoint key="GetEmployeeRecordsEP"/>
</call>
<property expression="json-eval($.username)"
name="supervisorUserName" scope="default" type="STRING"/>
Demonstration - Concepts (Payload Messages and Service Chains)
<payloadFactory media-type="json">
<format>
{"processDefinitionKey": "trafficViolations","businessKey": "trafficKey","tenantId": "-1234",
"variables": [
{"name": "vehicleId", "value": "$1"},
{ "name": "timeStamp", "value": $2 },
{ "name": "driverId", "value": "$3"},
{ "name": "driverUserName", "value": "$4"},
{ "name": "driverName", "value": "$5"},
{ "name": "supervisorUserName", "value": "$6" }]}
</format>
<args>
<arg evaluator="xml" expression="$ctx:busId" xmlns:ns="http://org.apache.synapse/xsd"/>
<arg evaluator="xml" expression="$ctx:timeStamp" xmlns:ns="http://org.apache.synapse/xsd"/>
<arg evaluator="xml" expression="$ctx:driverId" xmlns:ns="http://org.apache.synapse/xsd"/>
<arg evaluator="xml" expression="$ctx:driverUsername" xmlns:ns="http://org.apache.synapse/xsd"/>
<arg evaluator="xml" expression="$ctx:driverName" xmlns:ns="http://org.apache.synapse/xsd"/>
<arg evaluator="xml" expression="$ctx:supervisorUserName" xmlns:ns="http://org.apache.synapse/xsd"/>
</args>
</payloadFactory>
<property name="messageType" scope="axis2" type="STRING" value="application/json"/>
<property expression="fn:concat('Basic ', base64Encode('admin:admin'))" name="Authorization" scope="transport"
type="STRING" xmlns:ns="http://org.apache.synapse/xsd"/>
<call> <endpoint key="CreateBPMNWorkFlowEP"/> </call>
<drop/>
</sequence>
Demonstration - Concepts (Payload Messages and Service Chains)
<sequence name="HRSeq" statistics="enable" trace="disable"
xmlns="http://ws.apache.org/ns/synapse">
<property expression="json-eval($.driverId)"
name="uri.var.employeeId" scope="default" type="STRING" />
<datamapper config="gov:datamapper/MapSpeedViolationResultToHRSystem.dmc"
description="Map-Speed-Violation-OutCome-To-HR-System"
inputSchema="gov:datamapper/MapSpeedViolationResultToHRSystem_inputSchema.json"
inputType="JSON"
outputSchema="gov:datamapper/MapSpeedViolationResultToHRSystem_outputSchema.json"
outputType="JSON" />
<property name="FORCE_SC_ACCEPTED" scope="axis2" type="STRING" value="true" />
<property name="OUT_ONLY" scope="default" type="STRING" value="true" />
<call description="">
<endpoint key="UpdateEmployStatusEP" />
</call>
</sequence>
Demonstration - Concepts (BPMN Workflows)
Next generation Integration Platform
• WSO2 Gateway Framework
– An ultra high performance, lightweight and reusable message
Gateway framework that encapsulates the messaging between
source and target systems
– HTTP/s message gateway leveraging Netty, LMAX Disruptor and
WSO2 Pass-Thru messaging architecture.
WSO2 Integration product suite
• Series of products based on WSO2 GW Core framework.
WSO2 Process Center
Process owner /
analyst
Process
participant
Developer
Create / improve
/ standardize
Search / browse
/ follow
View
Develop executable processes
Executable
process is
associated with
Process Center
Thank You!
#WSO2ConEU
Share your feedback for this session
wso2con.com/app

More Related Content

What's hot

Overview of Mule
Overview of MuleOverview of Mule
Overview of Mulemdfkhan625
 
Anypoint mq queues and exchanges
Anypoint mq queues and exchangesAnypoint mq queues and exchanges
Anypoint mq queues and exchangesSon Nguyen
 
Anypoint connector dev kit
Anypoint connector dev kitAnypoint connector dev kit
Anypoint connector dev kitSon Nguyen
 
Mule database-connectors
Mule database-connectorsMule database-connectors
Mule database-connectorsPhaniu
 
WSDL in Mule Esb
WSDL in Mule EsbWSDL in Mule Esb
WSDL in Mule EsbAnand kalla
 
Wso2 esb 5.0.0 product release webinar
Wso2 esb 5.0.0   product release webinarWso2 esb 5.0.0   product release webinar
Wso2 esb 5.0.0 product release webinarChanaka Fernando
 
Mule concepts components
Mule concepts componentsMule concepts components
Mule concepts componentskunal vishe
 
Mule enterprise service introduction
Mule enterprise service introductionMule enterprise service introduction
Mule enterprise service introductionSon Nguyen
 
WebSphere Application Server Family (Editions Comparison)
WebSphere Application Server Family (Editions Comparison)WebSphere Application Server Family (Editions Comparison)
WebSphere Application Server Family (Editions Comparison)ejlp12
 
Introduction to RESTful Webservice
Introduction to RESTful WebserviceIntroduction to RESTful Webservice
Introduction to RESTful WebserviceEftakhairul Islam
 
Introduction to mule Esbs
Introduction to mule EsbsIntroduction to mule Esbs
Introduction to mule EsbsPrabhat gangwar
 
Exl393 exchange 2013 architecture schnoll (rm221)
Exl393 exchange 2013 architecture schnoll (rm221)Exl393 exchange 2013 architecture schnoll (rm221)
Exl393 exchange 2013 architecture schnoll (rm221)Khalid Al-Ghamdi
 

What's hot (20)

Overview of Mule
Overview of MuleOverview of Mule
Overview of Mule
 
Anypoint mq queues and exchanges
Anypoint mq queues and exchangesAnypoint mq queues and exchanges
Anypoint mq queues and exchanges
 
Anypoint connector dev kit
Anypoint connector dev kitAnypoint connector dev kit
Anypoint connector dev kit
 
Sap
SapSap
Sap
 
Biztalk ESB Toolkit Demos
Biztalk ESB Toolkit DemosBiztalk ESB Toolkit Demos
Biztalk ESB Toolkit Demos
 
Upgrading to Exchange 2016
Upgrading to Exchange 2016Upgrading to Exchange 2016
Upgrading to Exchange 2016
 
Mule database-connectors
Mule database-connectorsMule database-connectors
Mule database-connectors
 
WSDL in Mule Esb
WSDL in Mule EsbWSDL in Mule Esb
WSDL in Mule Esb
 
Wso2 esb 5.0.0 product release webinar
Wso2 esb 5.0.0   product release webinarWso2 esb 5.0.0   product release webinar
Wso2 esb 5.0.0 product release webinar
 
Mule ESB Fundamentals
Mule ESB FundamentalsMule ESB Fundamentals
Mule ESB Fundamentals
 
Mule concepts components
Mule concepts componentsMule concepts components
Mule concepts components
 
Mule enterprise service introduction
Mule enterprise service introductionMule enterprise service introduction
Mule enterprise service introduction
 
Mule rabbit mq
Mule rabbit mqMule rabbit mq
Mule rabbit mq
 
Mule rabbitmq
Mule rabbitmqMule rabbitmq
Mule rabbitmq
 
WebSphere Application Server Family (Editions Comparison)
WebSphere Application Server Family (Editions Comparison)WebSphere Application Server Family (Editions Comparison)
WebSphere Application Server Family (Editions Comparison)
 
Exchange 2013 Migration & Coexistence
Exchange 2013 Migration & CoexistenceExchange 2013 Migration & Coexistence
Exchange 2013 Migration & Coexistence
 
Introduction to RESTful Webservice
Introduction to RESTful WebserviceIntroduction to RESTful Webservice
Introduction to RESTful Webservice
 
Introduction to mule Esbs
Introduction to mule EsbsIntroduction to mule Esbs
Introduction to mule Esbs
 
Mule soa
Mule soaMule soa
Mule soa
 
Exl393 exchange 2013 architecture schnoll (rm221)
Exl393 exchange 2013 architecture schnoll (rm221)Exl393 exchange 2013 architecture schnoll (rm221)
Exl393 exchange 2013 architecture schnoll (rm221)
 

Viewers also liked

Discover Data That Matters- Deep dive into WSO2 Analytics
Discover Data That Matters- Deep dive into WSO2 AnalyticsDiscover Data That Matters- Deep dive into WSO2 Analytics
Discover Data That Matters- Deep dive into WSO2 AnalyticsSriskandarajah Suhothayan
 
WSO2 API Manager 2.0 - Overview
WSO2 API Manager 2.0 - Overview WSO2 API Manager 2.0 - Overview
WSO2 API Manager 2.0 - Overview Edgar Silva
 
WSO2Con USA 2017: WSO2 Partner Program – Engaging with WSO2
WSO2Con USA 2017: WSO2 Partner Program – Engaging with WSO2WSO2Con USA 2017: WSO2 Partner Program – Engaging with WSO2
WSO2Con USA 2017: WSO2 Partner Program – Engaging with WSO2WSO2
 
WSO2Con USA 2017: Integrating Systems for University of Exeter using Zero and...
WSO2Con USA 2017: Integrating Systems for University of Exeter using Zero and...WSO2Con USA 2017: Integrating Systems for University of Exeter using Zero and...
WSO2Con USA 2017: Integrating Systems for University of Exeter using Zero and...WSO2
 
WSO2Con USA 2017: DevOps Best Practices in 7 Steps
WSO2Con USA 2017: DevOps Best Practices in 7 StepsWSO2Con USA 2017: DevOps Best Practices in 7 Steps
WSO2Con USA 2017: DevOps Best Practices in 7 StepsWSO2
 
Implementing Private Clouds
Implementing Private CloudsImplementing Private Clouds
Implementing Private CloudsJohn Pritchard
 
Continuous Availability for Private Database Clouds
Continuous Availability for Private Database CloudsContinuous Availability for Private Database Clouds
Continuous Availability for Private Database CloudsNoel Sidebotham
 
MySQL DevOps at Outbrain
MySQL DevOps at OutbrainMySQL DevOps at Outbrain
MySQL DevOps at OutbrainShlomi Noach
 
RDS for MySQL, No BS Operations and Patterns
RDS for MySQL, No BS Operations and PatternsRDS for MySQL, No BS Operations and Patterns
RDS for MySQL, No BS Operations and PatternsLaine Campbell
 
Deploying WSO2 Middleware on Containers
Deploying WSO2 Middleware on ContainersDeploying WSO2 Middleware on Containers
Deploying WSO2 Middleware on ContainersImesh Gunaratne
 
Pluk2011 deploy-mysql-like-a-devops-sysadmin
Pluk2011 deploy-mysql-like-a-devops-sysadminPluk2011 deploy-mysql-like-a-devops-sysadmin
Pluk2011 deploy-mysql-like-a-devops-sysadminFrederic Descamps
 
Deploying WSO2 Middleware on Kubernetes
Deploying WSO2 Middleware on KubernetesDeploying WSO2 Middleware on Kubernetes
Deploying WSO2 Middleware on KubernetesImesh Gunaratne
 
OSS4B: Installing & Managing MySQL like a real devops
OSS4B: Installing & Managing MySQL like a real devopsOSS4B: Installing & Managing MySQL like a real devops
OSS4B: Installing & Managing MySQL like a real devopsFrederic Descamps
 
Nuxeo Enterprise Platform (Nuxeo EP) - Technical Overview
Nuxeo Enterprise Platform (Nuxeo EP) - Technical OverviewNuxeo Enterprise Platform (Nuxeo EP) - Technical Overview
Nuxeo Enterprise Platform (Nuxeo EP) - Technical OverviewNuxeo
 
Managing Engineering Information with Nuxeo
Managing Engineering Information with NuxeoManaging Engineering Information with Nuxeo
Managing Engineering Information with NuxeoNuxeo
 
Nuxeo Platform 7.4: What's New
Nuxeo Platform 7.4: What's NewNuxeo Platform 7.4: What's New
Nuxeo Platform 7.4: What's NewNuxeo
 
Nuxeo platform in 15mn
Nuxeo platform in 15mnNuxeo platform in 15mn
Nuxeo platform in 15mnNuxeo
 
WSO2Con USA 2017: Implement an Effective Digital Platform Using WSO2 Integration
WSO2Con USA 2017: Implement an Effective Digital Platform Using WSO2 IntegrationWSO2Con USA 2017: Implement an Effective Digital Platform Using WSO2 Integration
WSO2Con USA 2017: Implement an Effective Digital Platform Using WSO2 IntegrationWSO2
 

Viewers also liked (20)

Esb 4.9.0 release webinar
Esb 4.9.0 release webinarEsb 4.9.0 release webinar
Esb 4.9.0 release webinar
 
Wso2 esb-rest-integration
Wso2 esb-rest-integrationWso2 esb-rest-integration
Wso2 esb-rest-integration
 
Discover Data That Matters- Deep dive into WSO2 Analytics
Discover Data That Matters- Deep dive into WSO2 AnalyticsDiscover Data That Matters- Deep dive into WSO2 Analytics
Discover Data That Matters- Deep dive into WSO2 Analytics
 
WSO2 API Manager 2.0 - Overview
WSO2 API Manager 2.0 - Overview WSO2 API Manager 2.0 - Overview
WSO2 API Manager 2.0 - Overview
 
WSO2Con USA 2017: WSO2 Partner Program – Engaging with WSO2
WSO2Con USA 2017: WSO2 Partner Program – Engaging with WSO2WSO2Con USA 2017: WSO2 Partner Program – Engaging with WSO2
WSO2Con USA 2017: WSO2 Partner Program – Engaging with WSO2
 
WSO2Con USA 2017: Integrating Systems for University of Exeter using Zero and...
WSO2Con USA 2017: Integrating Systems for University of Exeter using Zero and...WSO2Con USA 2017: Integrating Systems for University of Exeter using Zero and...
WSO2Con USA 2017: Integrating Systems for University of Exeter using Zero and...
 
WSO2Con USA 2017: DevOps Best Practices in 7 Steps
WSO2Con USA 2017: DevOps Best Practices in 7 StepsWSO2Con USA 2017: DevOps Best Practices in 7 Steps
WSO2Con USA 2017: DevOps Best Practices in 7 Steps
 
Implementing Private Clouds
Implementing Private CloudsImplementing Private Clouds
Implementing Private Clouds
 
Continuous Availability for Private Database Clouds
Continuous Availability for Private Database CloudsContinuous Availability for Private Database Clouds
Continuous Availability for Private Database Clouds
 
MySQL DevOps at Outbrain
MySQL DevOps at OutbrainMySQL DevOps at Outbrain
MySQL DevOps at Outbrain
 
RDS for MySQL, No BS Operations and Patterns
RDS for MySQL, No BS Operations and PatternsRDS for MySQL, No BS Operations and Patterns
RDS for MySQL, No BS Operations and Patterns
 
Deploying WSO2 Middleware on Containers
Deploying WSO2 Middleware on ContainersDeploying WSO2 Middleware on Containers
Deploying WSO2 Middleware on Containers
 
Pluk2011 deploy-mysql-like-a-devops-sysadmin
Pluk2011 deploy-mysql-like-a-devops-sysadminPluk2011 deploy-mysql-like-a-devops-sysadmin
Pluk2011 deploy-mysql-like-a-devops-sysadmin
 
Deploying WSO2 Middleware on Kubernetes
Deploying WSO2 Middleware on KubernetesDeploying WSO2 Middleware on Kubernetes
Deploying WSO2 Middleware on Kubernetes
 
OSS4B: Installing & Managing MySQL like a real devops
OSS4B: Installing & Managing MySQL like a real devopsOSS4B: Installing & Managing MySQL like a real devops
OSS4B: Installing & Managing MySQL like a real devops
 
Nuxeo Enterprise Platform (Nuxeo EP) - Technical Overview
Nuxeo Enterprise Platform (Nuxeo EP) - Technical OverviewNuxeo Enterprise Platform (Nuxeo EP) - Technical Overview
Nuxeo Enterprise Platform (Nuxeo EP) - Technical Overview
 
Managing Engineering Information with Nuxeo
Managing Engineering Information with NuxeoManaging Engineering Information with Nuxeo
Managing Engineering Information with Nuxeo
 
Nuxeo Platform 7.4: What's New
Nuxeo Platform 7.4: What's NewNuxeo Platform 7.4: What's New
Nuxeo Platform 7.4: What's New
 
Nuxeo platform in 15mn
Nuxeo platform in 15mnNuxeo platform in 15mn
Nuxeo platform in 15mn
 
WSO2Con USA 2017: Implement an Effective Digital Platform Using WSO2 Integration
WSO2Con USA 2017: Implement an Effective Digital Platform Using WSO2 IntegrationWSO2Con USA 2017: Implement an Effective Digital Platform Using WSO2 Integration
WSO2Con USA 2017: Implement an Effective Digital Platform Using WSO2 Integration
 

Similar to Wso2 integration platform deep dive eu con 2016

WSO2Con USA 2015: WSO2 Integration Platform Deep Dive
WSO2Con USA 2015: WSO2 Integration Platform Deep DiveWSO2Con USA 2015: WSO2 Integration Platform Deep Dive
WSO2Con USA 2015: WSO2 Integration Platform Deep DiveWSO2
 
Integration Solution Patterns
Integration Solution Patterns Integration Solution Patterns
Integration Solution Patterns WSO2
 
Webbinar slides
Webbinar slidesWebbinar slides
Webbinar slidesWSO2
 
Better Enterprise Integration With the WSO2 ESB 4.5.1
Better Enterprise Integration With the WSO2 ESB 4.5.1Better Enterprise Integration With the WSO2 ESB 4.5.1
Better Enterprise Integration With the WSO2 ESB 4.5.1WSO2
 
WSO2 Intro Webinar - Simplifying Enterprise Integration with Configurable WS...
WSO2 Intro Webinar -  Simplifying Enterprise Integration with Configurable WS...WSO2 Intro Webinar -  Simplifying Enterprise Integration with Configurable WS...
WSO2 Intro Webinar - Simplifying Enterprise Integration with Configurable WS...WSO2
 
Developing, Debugging and Administrating Your Integration Scenarios with WSO2...
Developing, Debugging and Administrating Your Integration Scenarios with WSO2...Developing, Debugging and Administrating Your Integration Scenarios with WSO2...
Developing, Debugging and Administrating Your Integration Scenarios with WSO2...WSO2
 
WSO2-ESB - The backbone of Enterprise Integration
WSO2-ESB - The backbone of Enterprise IntegrationWSO2-ESB - The backbone of Enterprise Integration
WSO2-ESB - The backbone of Enterprise IntegrationKasun Indrasiri
 
WSO2 Product Release webinar - The WSO2 ESB 4.8.0
WSO2 Product Release webinar - The WSO2 ESB 4.8.0WSO2 Product Release webinar - The WSO2 ESB 4.8.0
WSO2 Product Release webinar - The WSO2 ESB 4.8.0WSO2
 
Developing, Administering and Debugging with WSO2 Enterprise Integrator
Developing, Administering and Debugging with WSO2 Enterprise IntegratorDeveloping, Administering and Debugging with WSO2 Enterprise Integrator
Developing, Administering and Debugging with WSO2 Enterprise IntegratorWSO2
 
Exploring the WSO2 ESB 4.7
Exploring the WSO2 ESB 4.7 Exploring the WSO2 ESB 4.7
Exploring the WSO2 ESB 4.7 WSO2
 
Enterprise Integration with the WSO2 ESB
Enterprise Integration with the WSO2 ESB Enterprise Integration with the WSO2 ESB
Enterprise Integration with the WSO2 ESB WSO2
 
WSO2Con USA 2015: An Introduction to the WSO2 Integration Platform
WSO2Con USA 2015: An Introduction to the WSO2 Integration PlatformWSO2Con USA 2015: An Introduction to the WSO2 Integration Platform
WSO2Con USA 2015: An Introduction to the WSO2 Integration PlatformWSO2
 
Hia 1693-effective application-development_in_iib
Hia 1693-effective application-development_in_iibHia 1693-effective application-development_in_iib
Hia 1693-effective application-development_in_iibAndrew Coleman
 
WSO2 Quarterly Technical Update
WSO2 Quarterly Technical UpdateWSO2 Quarterly Technical Update
WSO2 Quarterly Technical UpdateWSO2
 
2014 q3-platform-update-v1.06.johnmathon
2014 q3-platform-update-v1.06.johnmathon2014 q3-platform-update-v1.06.johnmathon
2014 q3-platform-update-v1.06.johnmathonaaronwso2
 
1480-techintrotoiib-150224130001-conversion-gate01.pptx
1480-techintrotoiib-150224130001-conversion-gate01.pptx1480-techintrotoiib-150224130001-conversion-gate01.pptx
1480-techintrotoiib-150224130001-conversion-gate01.pptxBalakoteswaraReddyM
 
Impact 2014 - IIB - selecting the right transformation option
Impact 2014 -  IIB - selecting the right transformation optionImpact 2014 -  IIB - selecting the right transformation option
Impact 2014 - IIB - selecting the right transformation optionAndrew Coleman
 

Similar to Wso2 integration platform deep dive eu con 2016 (20)

WSO2Con USA 2015: WSO2 Integration Platform Deep Dive
WSO2Con USA 2015: WSO2 Integration Platform Deep DiveWSO2Con USA 2015: WSO2 Integration Platform Deep Dive
WSO2Con USA 2015: WSO2 Integration Platform Deep Dive
 
Integration Solution Patterns
Integration Solution Patterns Integration Solution Patterns
Integration Solution Patterns
 
Webbinar slides
Webbinar slidesWebbinar slides
Webbinar slides
 
Better Enterprise Integration With the WSO2 ESB 4.5.1
Better Enterprise Integration With the WSO2 ESB 4.5.1Better Enterprise Integration With the WSO2 ESB 4.5.1
Better Enterprise Integration With the WSO2 ESB 4.5.1
 
An overview of BizTalk
An overview of BizTalkAn overview of BizTalk
An overview of BizTalk
 
WSO2 Intro Webinar - Simplifying Enterprise Integration with Configurable WS...
WSO2 Intro Webinar -  Simplifying Enterprise Integration with Configurable WS...WSO2 Intro Webinar -  Simplifying Enterprise Integration with Configurable WS...
WSO2 Intro Webinar - Simplifying Enterprise Integration with Configurable WS...
 
Developing, Debugging and Administrating Your Integration Scenarios with WSO2...
Developing, Debugging and Administrating Your Integration Scenarios with WSO2...Developing, Debugging and Administrating Your Integration Scenarios with WSO2...
Developing, Debugging and Administrating Your Integration Scenarios with WSO2...
 
WSO2-ESB - The backbone of Enterprise Integration
WSO2-ESB - The backbone of Enterprise IntegrationWSO2-ESB - The backbone of Enterprise Integration
WSO2-ESB - The backbone of Enterprise Integration
 
Wso2 esb
Wso2 esbWso2 esb
Wso2 esb
 
Wso2 esb
Wso2 esbWso2 esb
Wso2 esb
 
WSO2 Product Release webinar - The WSO2 ESB 4.8.0
WSO2 Product Release webinar - The WSO2 ESB 4.8.0WSO2 Product Release webinar - The WSO2 ESB 4.8.0
WSO2 Product Release webinar - The WSO2 ESB 4.8.0
 
Developing, Administering and Debugging with WSO2 Enterprise Integrator
Developing, Administering and Debugging with WSO2 Enterprise IntegratorDeveloping, Administering and Debugging with WSO2 Enterprise Integrator
Developing, Administering and Debugging with WSO2 Enterprise Integrator
 
Exploring the WSO2 ESB 4.7
Exploring the WSO2 ESB 4.7 Exploring the WSO2 ESB 4.7
Exploring the WSO2 ESB 4.7
 
Enterprise Integration with the WSO2 ESB
Enterprise Integration with the WSO2 ESB Enterprise Integration with the WSO2 ESB
Enterprise Integration with the WSO2 ESB
 
WSO2Con USA 2015: An Introduction to the WSO2 Integration Platform
WSO2Con USA 2015: An Introduction to the WSO2 Integration PlatformWSO2Con USA 2015: An Introduction to the WSO2 Integration Platform
WSO2Con USA 2015: An Introduction to the WSO2 Integration Platform
 
Hia 1693-effective application-development_in_iib
Hia 1693-effective application-development_in_iibHia 1693-effective application-development_in_iib
Hia 1693-effective application-development_in_iib
 
WSO2 Quarterly Technical Update
WSO2 Quarterly Technical UpdateWSO2 Quarterly Technical Update
WSO2 Quarterly Technical Update
 
2014 q3-platform-update-v1.06.johnmathon
2014 q3-platform-update-v1.06.johnmathon2014 q3-platform-update-v1.06.johnmathon
2014 q3-platform-update-v1.06.johnmathon
 
1480-techintrotoiib-150224130001-conversion-gate01.pptx
1480-techintrotoiib-150224130001-conversion-gate01.pptx1480-techintrotoiib-150224130001-conversion-gate01.pptx
1480-techintrotoiib-150224130001-conversion-gate01.pptx
 
Impact 2014 - IIB - selecting the right transformation option
Impact 2014 -  IIB - selecting the right transformation optionImpact 2014 -  IIB - selecting the right transformation option
Impact 2014 - IIB - selecting the right transformation option
 

More from Chanaka Fernando

Designing microservices platforms with nats
Designing microservices platforms with natsDesigning microservices platforms with nats
Designing microservices platforms with natsChanaka Fernando
 
WSO2 API microgateway introduction
WSO2 API microgateway introductionWSO2 API microgateway introduction
WSO2 API microgateway introductionChanaka Fernando
 
Wso2 api microgateway deployment patterns
Wso2 api microgateway deployment patternsWso2 api microgateway deployment patterns
Wso2 api microgateway deployment patternsChanaka Fernando
 
Federated api management with wso2 api manager
Federated api management with wso2 api managerFederated api management with wso2 api manager
Federated api management with wso2 api managerChanaka Fernando
 
Wso2 enterprise integrator deployment patterns
Wso2 enterprise integrator deployment patternsWso2 enterprise integrator deployment patterns
Wso2 enterprise integrator deployment patternsChanaka Fernando
 
Api management best practices with wso2 api manager
Api management best practices with wso2 api managerApi management best practices with wso2 api manager
Api management best practices with wso2 api managerChanaka Fernando
 
Wso2 api manager analytics and reporting
Wso2 api manager analytics and reportingWso2 api manager analytics and reporting
Wso2 api manager analytics and reportingChanaka Fernando
 
Exploring ballerina toolset (docker, testing, tracing, analytics, and more) ...
Exploring ballerina toolset (docker, testing, tracing, analytics, and more)  ...Exploring ballerina toolset (docker, testing, tracing, analytics, and more)  ...
Exploring ballerina toolset (docker, testing, tracing, analytics, and more) ...Chanaka Fernando
 
File processing and websockets with ballerina chanaka edited
File processing and websockets with ballerina chanaka editedFile processing and websockets with ballerina chanaka edited
File processing and websockets with ballerina chanaka editedChanaka Fernando
 
Hybrid integration platform reference architecture
Hybrid integration platform reference architectureHybrid integration platform reference architecture
Hybrid integration platform reference architectureChanaka Fernando
 

More from Chanaka Fernando (10)

Designing microservices platforms with nats
Designing microservices platforms with natsDesigning microservices platforms with nats
Designing microservices platforms with nats
 
WSO2 API microgateway introduction
WSO2 API microgateway introductionWSO2 API microgateway introduction
WSO2 API microgateway introduction
 
Wso2 api microgateway deployment patterns
Wso2 api microgateway deployment patternsWso2 api microgateway deployment patterns
Wso2 api microgateway deployment patterns
 
Federated api management with wso2 api manager
Federated api management with wso2 api managerFederated api management with wso2 api manager
Federated api management with wso2 api manager
 
Wso2 enterprise integrator deployment patterns
Wso2 enterprise integrator deployment patternsWso2 enterprise integrator deployment patterns
Wso2 enterprise integrator deployment patterns
 
Api management best practices with wso2 api manager
Api management best practices with wso2 api managerApi management best practices with wso2 api manager
Api management best practices with wso2 api manager
 
Wso2 api manager analytics and reporting
Wso2 api manager analytics and reportingWso2 api manager analytics and reporting
Wso2 api manager analytics and reporting
 
Exploring ballerina toolset (docker, testing, tracing, analytics, and more) ...
Exploring ballerina toolset (docker, testing, tracing, analytics, and more)  ...Exploring ballerina toolset (docker, testing, tracing, analytics, and more)  ...
Exploring ballerina toolset (docker, testing, tracing, analytics, and more) ...
 
File processing and websockets with ballerina chanaka edited
File processing and websockets with ballerina chanaka editedFile processing and websockets with ballerina chanaka edited
File processing and websockets with ballerina chanaka edited
 
Hybrid integration platform reference architecture
Hybrid integration platform reference architectureHybrid integration platform reference architecture
Hybrid integration platform reference architecture
 

Recently uploaded

From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
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.pptxHampshireHUG
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
[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.pdfhans926745
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
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 WorkerThousandEyes
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
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 productivityPrincipled Technologies
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 

Recently uploaded (20)

From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
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
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
[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
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
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
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
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
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 

Wso2 integration platform deep dive eu con 2016

  • 1. WSO2 Integration Platform Deep Dive Chanaka Fernando - Senior Technical Lead Ramith Jayasinghe - Senior Technical Lead
  • 2. Agenda • Concepts in Integration • Demonstration • Product roadmaps/features • Q&A
  • 3. Evolution of Integration Point to Point Integration ● Custom code, data formats for majority of integration ( data extraction, business rule processing, data loading) ● Costly over time (maintenance, complexity) ● Tight Coupling ● Scalability is an issue ● Less reusability
  • 4. Evolution of Integration Use of Enterprise Service Bus ● Consistency: Clear set of guidelines (EIPs) results in repeatable and successful integration efforts/projects. ● Reusability: Tested and preconfigured components provides repeatable approach to integration.(transports/connectors/m ediators etc) ● Effectiveness: A common integration framework (with related abstract concepts) improves integration developer's productivity.
  • 5. Connected Business An internally and externally connected business. Image courtesy hRp://jdamico.net/wp-content/uploads/2010/04/collaborate-with-B2B-channel-partners.jpg ESB were used to connect internal systems in the past. Current need is to connect internal/external parties quickly and flexible manner. E.g. Employees, Internal/External systems, Partners, Customers.
  • 6. Connected Business Integration is a key factor for having frictionless interactions, inside and outside the organization.
  • 7. Integration and APIs - The Close Cousins • APIs cannot replace Integration – Integration of internal services, systems, data and cloud apis • Cannot mangle SOA for API Management needs • Using SOA and API in combination is the key to success of Connected Business.
  • 8. Integration and APIs - The Close Cousins
  • 9. WSO2 Integration + API Management Platform In practise API management and integration co-exists providing flexible, faster ways to connect required parties such as users, internal/external systems, employees etc.
  • 11. Fundamentals of WSO2 ESB Message Processing units - Sequences, mediators Message entry points - Proxy Services, APIs, Inbound endpoints. Message exit points - Endpoints
  • 13. Example Mediators Name Description Log Mediator Logs full or part of the message, at various severity levels ( Trace, Debug, etc) Sequence Mediator Invokes existing sequence - Sequence name can be static or dynamic Send Mediator Sends a message out, using static information or endpoint definition. Datamapper Mediator Transform data from one form to another Switch Mediator Evaluates messages contents against regular expression and invokes the corresponding mediator (switch-case-default) Validate Mediator Validates message or parts of message against XML schema (schema can be local or in registry) PayloadFactory Mediator Create a message payload from an existing message or from scratch Fault Mediator Transforms current message into custom Fault message
  • 14. Mediators • Transformation Mediators • Filters, Switches, Iterate, Aggregate, Clone • Property Mediator • Script Mediators • Custom Mediators
  • 15. Connectors • A connector is a ready made and convenient tool to reach publicly available web API’s. • ‘Cloud to Cloud’ and ‘Cloud to Enterprise’ Integration • ESB Connector Store : https://store.wso2.com/
  • 16. Connectors • Every connector is self-contained and independent from ESB code • Dynamically plug in to ESB • Dynamic Tooling support with WSO2 Developer Studio • You can write, ‘your own connector’ and just plug it in
  • 18. Fundamentals of WSO2 ESB Message Processing units - Sequences, mediators Message entry points - Proxy Services, APIs, Inbound endpoints. Message exit points - Endpoints
  • 19. Proxy Service • Acts like a virtual service. • Receives messages and mediates them before sending them to the endpoint (usually an actual service) • Mainly to expose as SOAP Service
  • 20. API/HTTP Service • APIs can accept REST messages which allow clients to provide additional information on how to mediate the message • Defined under a URL Context (e.g: /customer) • Can define multiple resources under a URL context • Resources – Component of API accessed through HTTP call – Similar to proxy service (in, out, and fault sequences) – Can restrict resource’s scope using URL patterns and URI templates
  • 21. API/HTTP Service • URL mapping – Path mappings (eg: /test/*, /foo/bar/*) – Extension mappings (eg: *.jsp, *.do) – Exact mappings (eg: /test, /test/foo) • URI template – /order/{orderId}would process /order/A0001 – /dictionary/{char}/{word}would process /dictionary/c/cat – Use get-property to retrieve exact values <log level="custom"> <property name="Character" expression="get-property('uri.var.char')"/> <property name="Word" expression="get-property('uri.var.word')"/> </log>
  • 22. Inbound Endpoint • Creating inbound messaging channels dynamically. – Listening Inbound – HTTP, HL7, TCP – Polling Inbound – JMS, File/VFS • Injects the inbound messages into an ESB message flow.
  • 23. Polling Inbound endpoint in a Cluster One Consumer Multiple Consumers
  • 24. Fundamentals of WSO2 ESB Message Processing units - Sequences, mediators Message entry points - Proxy Services, APIs, Inbound endpoints. Message exit points - Endpoints
  • 25. Endpoints • Logical representation of one or more real backend service, jms queue etc. • Address, HTTP Endpoints – A logical endpoint for an existing BE service • Load balancing / Failover – Group of endpoints for existing BE services
  • 26. Message Store and Message Processor • Asynchronous/One-way Messaging, JMS • Store and forward • Guaranteed Delivery and Rate matching • JMS Message broker as the persistence store – WSO2 MB, Apache Active MQ etc.
  • 27. Message Processor in a Cluster • One consumer per cluster – Guaranteed in-order delivery • Multiple consumers – Guaranteed delivery One Consumer Multiple Consumers
  • 28. Tasks • Allow configuration of scheduled jobs to execute internal/external commands • Inject a message into a proxy service or a named sequence
  • 33. WSO2 ESB 5.0 – Upcoming release • Beta version is available (Released on May 2016) • Improved usability of the ESB through debugging, data mapping capabilities through developer studio tooling • The product is released as a tuple of runtime, analytics and tooling • Dedicated analytics distribution(DAS) for ESB specific monitoring with pre built dashboards
  • 34. WSO2 ESB 5.0 – Statistics/Tracing • Coarse grained statistics about proxy/sequence/api/endpoint
  • 35. WSO2 ESB 5.0 – Statistics/Tracing • Fine grained statistics/tracing on mediators (message level)
  • 36. WSO2 ESB 5.0 – Statistics/Tracing • Fine grained tracing on messages
  • 37. WSO2 ESB 5.0 – Visual Data Mapper • Visual Data mapper – Different input/output options (XML, JSON, Files, Schemas) – Apply functions while mapping the data (Split, Aggregate, Uppercase, Lowercase)
  • 38. WSO2 ESB 5.0 – Mediation debugger • Debug mediation flows from the Developer studio
  • 39. WSO2 ESB – What’s new in 5.0 Other new features • JMS 2.0 support • Websocket support • JMS distributed(XA) transaction support • Rabbitmq/MQTT performance improvements
  • 41. WSO2 Integration Cloud (Upcoming) Integration Platform as a Service (iPaaS) • Running integrations on the cloud • Analytics integration • Develop integrations using WSO2 Developer studio
  • 44. WSO2 Business Process Server • BPMN 2.0 • WS-BPEL 2.0 • WS-HumanTask 1.1 • BPEL4People ● Define and execute business processes ● Define workflows interacting with People ● Graphical process modeling/administration/monitoring
  • 46. WSO2 Business Rules Server ● Integrates JSR94 compliant rule engines. ● Embed drools engine.
  • 48. Fundamentals of WSO2 Message Broker Messaging Models ● RPC Style - Request/Response (there is always a response) - Synchronous (client waits for response) - Non-persistent (message is lost if something failed) ● Point to Point (Queues) - A message is delivered only once to a single Broadcast a message to all the subscribers ● Publish/Subscribe (Topics) - Broadcast a message to all the subscribers
  • 49. Fundamentals of WSO2 Message Broker Messaging Models ● Publish/Subscribe (Topics) - Broadcast a message to all the subscribers ● Durable Subscriptions - Same as topic subscriptions - Subscriber offline - Messages get queued - Subscriber back online - Messages get delivered - Unsubscription needed to remove queuing
  • 50. Fundamentals of WSO2 Message Broker ● Transactional - Send/Receive multiple messages in a transactions. - ( send/consume -> rollback, reject, commit) ● Guaranteed Delivery/Acknowledgments , QOS ( MQTT, JMS). ● Persistence - Messages kept in memory or in reliable storage.
  • 51. Fundamentals of WSO2 Message Broker ● Dead letter channel - Broker keeps invalid/rejected messages in this channel. - Users can inspect/reroute/delete these messages. ● Hierarchical topics - Map relationships between data being published onto different topics. - Can Subscribe to part of the hierarchy. Games.* - receives messages published to ‘Games.FootBall’ and ‘Games.Cricket’ Games.Cricket.# - Receives messages published to ‘Games.Cricket.SriLanka’ and ‘Games.Cricket.UK’
  • 52. Fundamentals of WSO2 Message Broker Distributed Queues ● Provides strict or best effort support for inorder delivery ● There are no guarantee about the global order seen across subscribers
  • 53. Fundamentals of WSO2 Message Broker Distributed Queues with MB ● Provides strict or best effort support for inorder delivery ● There are no guarantee about the global order seen across subscribers ● Supported Protocols AMQP/JMS, MQTT
  • 54. MB Roadmap • Support for AMQP 1.0 and JMS 2.0 • Improvements to Storage Scheme, Performance improvements • Analytics for MB • C5 migration • Improved GUI • MQTT + Websockets
  • 56. Introducing WSO2 Data Services Server Painpoints: ● Application Silos / Different data stores ● Cumbersome data access/ transformation logic ● Business logic vs Data access logic ● Repetitive Code DSS: ● Well defined interfaces (standard based) ● Encapsulated data logic ● Configuration driven ● Loose Coupling between App & Data stores ● Scale as a separate architectural layer.
  • 57. WSO2 Data Services Server : Features • Multiple Data Sources • Nested Queries • Batch Processing • Distributed Transactions • OData (www.odata.org) – Quickly expose data as REST APIs – Standardized [URL conventions, Request/Response Headers, Status Codes ,Payload formats]
  • 58. Demonstration - Use Case • As part of an effort to improve traffic monitoring process, City transport authorities are making buses to send useful information while it's in operation such as speed, location data and direction. • To ensure safety of passengers, officials would like to detect bus drivers who violate speed limits. Supervisors will investigate these incidents case-by-case basis. • If a supervisor determines a particular incident is undue, bus driver will be placed under further investigation/review.
  • 59. Demonstration - Solution Architecture
  • 60. Demonstration - Concepts (OData) Retrieve duty roster: GET http://localhost:9765/odata/AllocationData/DriverAllocations/duty_roster(1) { "@odata.context": "$metadata#duty_roster/$entity", "@odata.etag": "8d32bf38-8d8f-30cb-8e87-36ebeaedc2a9", "vehicleId": 1, "driverId": 1 } Retrieve employee information: GET http://localhost:9765/odata/HRDataAPI/records/employee(1) { "@odata.context": "$metadata#employee/$entity", "@odata.etag": "58bff0d2-09a4-3315-b2a0-667626dbf5c7", "id": 1, "supervisorId": 2, "username": "driver", "status": "UnderReview", "name": "Driver" } Update Employee status: PATCH http://localhost:9765/odata/HRDataAPI/records/employee(1) { "status" :"UnderReview"}
  • 61. Demonstration - Concepts (Inbound Endpoints) <inboundEndpoint name="speed-alert-receiver" onError="fault" protocol="jms" sequence="BusSpeedViolationsSeq" suspend="false" xmlns="http://ws.apache.org/ns/synapse"> <parameters> <parameter name="interval">1</parameter> <parameter name="sequential">true</parameter> <parameter name="coordination">true</parameter> <parameter name="transport.jms.Destination">SpeedViolations</parameter> <parameter name="transport.jms.CacheLevel">3</parameter> <parameter name="transport.jms.ConnectionFactoryJNDIName">QueueConnectionFactory</parameter> <parameter name="java.naming.factory.initial">org.wso2.andes.jndi.PropertiesFileInitialContextFactory</parameter> <parameter name="java.naming.provider.url">repository/conf/jndi.properties</parameter> <parameter name="transport.jms.SessionAcknowledgement">SESSION_TRANSACTED</parameter> <parameter name="transport.jms.SessionTransacted">true</parameter> <parameter name="transport.jms.SubscriptionDurable">false</parameter> <parameter name="transport.jms.ConnectionFactoryType">queue</parameter> <parameter name="transport.jms.ReceiveTimeout">100</parameter> <parameter name="transport.jms.ContentType">application/json</parameter> </parameters> </inboundEndpoint> <inboundEndpoint name="hr-request-receiver" onError="fault" protocol="http" sequence="HRSeq" suspend="false" xmlns="http://ws.apache.org/ns/synapse"> <parameters> <parameter name="inbound.http.port">8081</parameter> </parameters> </inboundEndpoint>
  • 62. Demonstration - Concepts (Endpoints) <endpoint name="DutyRosterEP" xmlns="http://ws.apache.org/ns/synapse"> <http method="get" trace="disable" uri-template="http://localhost:9765/odata/AllocationData/DriverAllocations/duty_roster({uri.var.busId})"/> </endpoint> <endpoint name="GetEmployeeRecordsEP" xmlns="http://ws.apache.org/ns/synapse"> <http method="get" trace="disable" uri-template="http://localhost:9765/odata/HRDataAPI/records/employee({uri.var.employeeId})"/> </endpoint> <endpoint name="UpdateEmployStatusEP" xmlns="http://ws.apache.org/ns/synapse"> <http method="patch" trace="disable" uri-template="http://localhost:9765/odata/HRDataAPI/records/employee({uri.var.employeeId})"/> </endpoint> Usage: <property expression="json-eval($.driverId)" name="uri.var.employeeId" scope="default" type="STRING"/> <call> <endpoint key="GetEmployeeRecordsEP"/> </call>
  • 63. Demonstration - Concepts (Data Mapping) <datamapper config="gov:datamapper/MapSpeedViolationResultToHRSystem.dmc" description="Map-Speed-Violation-OutCome-To-HR-System" inputSchema="gov:datamapper/MapSpeedViolationResult ToHRSystem_inputSchema.json" inputType="JSON" outputSchema= "gov:datamapper/MapSpeedViolationResultToHRSystem_outputSchem a.json" outputType="JSON" />
  • 64. Demonstration - Concepts (Payload Messages and Service Chains) <sequence name="BusSpeedViolationsSeq" onError="fault" statistics="enable" trace="disable" xmlns="http://ws.apache.org/ns/synapse"> <property expression="json-eval($.event.payloadData.id)" name="uri.var.busId" scope="default" type="STRING"/> <property expression="json-eval($.event.payloadData.id)" name="busId" scope="default" type="STRING"/> <property expression="json-eval($.event.payloadData.timeStamp)" name="timeStamp" scope="default" type="STRING"/> <property name="uri.var.busId" scope="default" type="STRING" value="1"/> <call> <endpoint key="DutyRosterEP"/> </call> <property expression="json-eval($.driverId)" name="uri.var.employeeId" scope="default" type="STRING"/> <property expression="json-eval($.driverId)" name="driverId" scope="default" type="STRING"/> <call> <endpoint key="GetEmployeeRecordsEP"/> </call>
  • 65. Demonstration - Concepts (Payload Messages and Service Chains) <property expression="json-eval($.username)" name="driverUsername" scope="default" type="STRING"/> <property expression="json-eval($.name)" name="driverName" scope="default" type="STRING"/> <property expression="json-eval($.supervisorId)" name="supervisorId" scope="default" type="STRING"/> <property expression="json-eval($.supervisorId)" name="uri.var.employeeId" scope="default" type="STRING"/> <call> <endpoint key="GetEmployeeRecordsEP"/> </call> <property expression="json-eval($.username)" name="supervisorUserName" scope="default" type="STRING"/>
  • 66. Demonstration - Concepts (Payload Messages and Service Chains) <payloadFactory media-type="json"> <format> {"processDefinitionKey": "trafficViolations","businessKey": "trafficKey","tenantId": "-1234", "variables": [ {"name": "vehicleId", "value": "$1"}, { "name": "timeStamp", "value": $2 }, { "name": "driverId", "value": "$3"}, { "name": "driverUserName", "value": "$4"}, { "name": "driverName", "value": "$5"}, { "name": "supervisorUserName", "value": "$6" }]} </format> <args> <arg evaluator="xml" expression="$ctx:busId" xmlns:ns="http://org.apache.synapse/xsd"/> <arg evaluator="xml" expression="$ctx:timeStamp" xmlns:ns="http://org.apache.synapse/xsd"/> <arg evaluator="xml" expression="$ctx:driverId" xmlns:ns="http://org.apache.synapse/xsd"/> <arg evaluator="xml" expression="$ctx:driverUsername" xmlns:ns="http://org.apache.synapse/xsd"/> <arg evaluator="xml" expression="$ctx:driverName" xmlns:ns="http://org.apache.synapse/xsd"/> <arg evaluator="xml" expression="$ctx:supervisorUserName" xmlns:ns="http://org.apache.synapse/xsd"/> </args> </payloadFactory> <property name="messageType" scope="axis2" type="STRING" value="application/json"/> <property expression="fn:concat('Basic ', base64Encode('admin:admin'))" name="Authorization" scope="transport" type="STRING" xmlns:ns="http://org.apache.synapse/xsd"/> <call> <endpoint key="CreateBPMNWorkFlowEP"/> </call> <drop/> </sequence>
  • 67. Demonstration - Concepts (Payload Messages and Service Chains) <sequence name="HRSeq" statistics="enable" trace="disable" xmlns="http://ws.apache.org/ns/synapse"> <property expression="json-eval($.driverId)" name="uri.var.employeeId" scope="default" type="STRING" /> <datamapper config="gov:datamapper/MapSpeedViolationResultToHRSystem.dmc" description="Map-Speed-Violation-OutCome-To-HR-System" inputSchema="gov:datamapper/MapSpeedViolationResultToHRSystem_inputSchema.json" inputType="JSON" outputSchema="gov:datamapper/MapSpeedViolationResultToHRSystem_outputSchema.json" outputType="JSON" /> <property name="FORCE_SC_ACCEPTED" scope="axis2" type="STRING" value="true" /> <property name="OUT_ONLY" scope="default" type="STRING" value="true" /> <call description=""> <endpoint key="UpdateEmployStatusEP" /> </call> </sequence>
  • 68. Demonstration - Concepts (BPMN Workflows)
  • 69. Next generation Integration Platform • WSO2 Gateway Framework – An ultra high performance, lightweight and reusable message Gateway framework that encapsulates the messaging between source and target systems – HTTP/s message gateway leveraging Netty, LMAX Disruptor and WSO2 Pass-Thru messaging architecture.
  • 70. WSO2 Integration product suite • Series of products based on WSO2 GW Core framework.
  • 71. WSO2 Process Center Process owner / analyst Process participant Developer Create / improve / standardize Search / browse / follow View Develop executable processes Executable process is associated with Process Center
  • 72. Thank You! #WSO2ConEU Share your feedback for this session wso2con.com/app