SlideShare a Scribd company logo
Introduction to
Inbound Endpoints
Isuru Udana
Associate Technical Lead
Viraj Senevirathne
Software Engineer
Nov 2015
About the Presenters
● Isuru UdanaAssociate Technical Lead WSO2
● Viraj Senevirathne Software Engineer WSO2
Outline
● Background
● ESB Basics
● Introduction to Inbound Endpoints
● HTTP Inbound Endpoint
● JMS Inbound Endpoint
● File Inbound Endpoint
● Demo
● Q & A
WSO2 ESB
● A lightweight, high performance ESB
● Feature rich and standards compliant
○ SOAP and WS-* standards
○ REST support
● Domain specific protocol support (eg: FIX, HL7)
● User friendly and highly extensible
● 100% free and open source with commercial support
Key Features - Routing
Key Features - Filtering
Key Features - Transformation
Key Features - Protocol Switch
Key Features - Load Balancing
Key Features - Quality of Service
WSO2 ESB Basics
High Level Message Flow
High Level Message Flow
Basic Constructs
Building Blocks
Programming Model
Invoking Messages Flows
Messages can be injected into sequences through the following
interfaces:
Invoking Messages Flows
Proxy Services
● Acts like a virtual service.
● Receives messages and mediates them before sending them to the
endpoint (usually an actual service)
Eg: Perform necessary transformations and/or introduce additional
functionality without changing existing service.
Invoking Messages Flows
APIs (HTTP Services)
● APIs can accept REST messages which allow clients to provide
additional information on how to manage the message
● Unmanaged API (API-Manager for managed APIs)
● Can handle multiple URLs
● Can handle parameters in the URL
Invoking Messages Flows
Main Sequence
● Messages not destined for Proxy Services/API are sent through Main
Invoking Messages Flows
Tasks
● Allow configuration of scheduled jobs to execute internal/external
commands
● Inject a message into a proxy service, Main sequence or a named
sequence
Invoking Messages Flows
Inbound Endpoints
● Newly introduced in ESB 4.9.0 release
● New Message Entry point
Inbound Endpoints
Inbound Endpoints
● New Message Entry point
Why Inbound Endpoints ?
Limitations prior to ESB 4.9.0
● Conventional axis2 based Transports does not support dynamic
configuration
Ex: To change the ports, restart is required
axis2.xml configuration
Why Inbound Endpoints ?
Limitations prior to ESB 4.9.0
● Multi-tenancy support is limited
○ Only HTTP Transport supports multi-tenancy
Inbound Endpoints Features
● A message source that can be configured dynamically
● Inbound architecture allows Multi-tenancy for all transports
○ JMS, VFS, HL7, etc
Inbound Endpoints Features
● Coordination Support
○ Controlled execution on clustered environment
○ Worker-Manager deployment for all transports
Inbound Endpoints Features
Coordination Support - Single Consumer
Inbound Endpoints Features
Inbound Endpoints Features
Coordination Support - Multiple Consumer
● Injects messages directly from transport layer to mediation layer
without going through the axis2 engine
● Dedicated thread pools per inbound
● Extending the functionality with custom inbound endpoints
Inbound Endpoints Features
Inbound Endpoint Types
● Listening Inbound Endpoints
● Polling Inbound Endpoints
● Event Based Inbound Endpoints
● Custom Inbound Endpoints
Listening Inbound Endpoint
● In this endpoint type messages send to the inbound endpoint by client.
○ Ex: HTTP, HTTPS
● Starts message listening interfaces dynamically
● Fully supported in multi-tenant environments.
● HTTP, HL7, WS-RM, TCP Inbound Endpoints
● Dynamically creates message polling interfaces.
Ex: JMS Inbound Endpoint – polls a given JMS queue and inject messages into an
ESB message flow.
● The the inbound endpoint will perform polling task with that specified time interval.
● We have to specify a polling interval when creating these type of inbound
endpoints.
Ex: File, JMS, Kafka
● Fully supported in multi-tenant environments
● Coordination support
Polling Inbound Endpoint
Event Based Inbound
Endpoints
● This endpoint task will run only once to establish connection with remote server.
This connection will be used for executing inbound endpoint task.
Ex: MQTT, RabbitMQ
Custom Inbound Endpoints
● Custom Inbound Endpoints are user defined inbound endpoints for custom tasks.
○ You will have to extend following classes for different implementations
■ Custom Listening Inbounds - GenericInboundListener
■ Custom Polling Inbounds - GenericPollingConsumer
HTTP Inbound Endpoint
● Dynamically configurable http and https endpoints at ESB runtime
○ Can create separate HTTP or HTTPS listeners which can handle messages separately
● Can directly inject messages to APIs, Proxies and sequences.
○ e.g.: There is a HTTP inbound endpoint running on port 8290.In order to inject messages
to a,
■ API (stockquote) - http://127.0.0.1:8290/stockquote/view/IBM
■ Proxy(StockQuoteProxy) - http://localhost:8290/services/StockQuoteProxy
■ Sequence - http://localhost:8290
● It is possible to specify different worker pool configuration for any inbound endpoint
HTTP/HTTPS Inbound Endpoint
HTTP and HTTPS Inbound
Endpoints
Important parameters used in HTTP and HTTPS Inbound Endpoint
Parameter Description
inbound.http.port The port on which the endpoint listener should be started.
( HTTP and HTTPS)
keystore The KeyStore location where keys are stored.( HTTPS Only)
Worker Pool Configuration Parameters (Optional)
inbound.worker.pool.size.core The initial number of threads in the worker thread pool. This value
can be changed accordingly based on the number of messages to
be processed. (default 400)
inbound.worker.pool.size.max The maximum number of threads in the worker thread pool.
(default 500)
Proxy Configurations related to HTTP/HTTPS inbound endpoints
inbound.only Whether the proxy service needs to be exposed only via inbound
endpoints.
Sample HTTP Inbound Configuration
HTTP and HTTPS Inbound
Endpoints
JMS Inbound Endpoint
● This is a much improved alternative to JMS Transport
● Supports multi-tenancy unlike JMS Transport
● JMS inbound protocol implementation can receive messages from active
JMS server
● Supports coordination in clustered environment
JMS Inbound Endpoint
Important parameters used in JMS Inbound Endpoint
JMS Inbound Endpoint
Parameter Description
Interval How frequently JMS inbound should poll the source JMS location
Eg: 10 (ms)
sequential Set this to true if you want to process list of messages one after
another.
coordination Set this to true if you want JMS polling in one instance at a time in
a clustered environment
java.naming.factory.initial The JNDI initial context factory class. This class must implement
the java.naming.spi.InitialContextFactory interface.
java.naming.provider.url The URL of the JNDI provider.
transport.jms.Destination The JNDI name of the destination.
transport.jms.ConnectionFactoryJNDIName The JNDI name of the connection factory.
Sample JMS Inbound Configuration
JMS Inbound Endpoint
File Inbound Endpoint
● This is a much improved alternative to VFS Transport
○ Improved functionality over VFS Transport
○ Improved Error handling
● Supports multi-tenancy unlike VFS Transport
● Supports coordination in clustered environment
○ When co-orrdination is enabled in clustered environment file inbound
task will run on only one ESB instant at a time
● Capable of handling major major file systems like local file system, ftp, sftp,
smb etc.
File Inbound Endpoint
Important parameters used in File Inbound Endpoint
File Inbound Endpoint
Parameter Description
transport.vfs. FileURI Specifies file source. Should use file system prefix in front of the
location uri.
Eg: file://<path>
Interval How frequently file inbound should poll the source file location
Eg: 1000 (ms)
sequential Set this to true if you want to process list of files one after
another
coordination Set this to true if you want file polling in one instance at a time in
a clustered environment
transport.vfs. ContentType Content type of the files processed by the file inbound. To
specify the encoding when reading a file, follow the content type
with a semi-colon and the character set.
Eg: text/plain;charset=UTF-32
transport.vfs. ActionAfterProcess
transport.vfs. ActionAfterFailure
transport.vfs. MoveAfterProcess
transport.vfs. MoveAfterFailure
These parameters can be used to specify the operation that
should be done after processing a file or incase of processing
failure
transport.vfs.DistributedLock This applies only in cluster deployments. Set to true if you need
to avoid multiple servers trying to process the same file
simultaneously.
Sample File Inbound Configuration
File Inbound Endpoint
Demo
QnA
Contact us !

More Related Content

PPTX
What is RabbitMQ ?
PDF
Introduction to Apache Synapse
PDF
WSO2 Enterprise Service Bus - Product Overview
PPTX
Rabbit MQ introduction
PDF
REST API and CRUD
PDF
Terraform을 기반한 AWS 기반 대규모 마이크로서비스 인프라 운영 노하우 - 이용욱, 삼성전자 :: AWS Summit Seoul ...
PPTX
Sql vs NoSQL
What is RabbitMQ ?
Introduction to Apache Synapse
WSO2 Enterprise Service Bus - Product Overview
Rabbit MQ introduction
REST API and CRUD
Terraform을 기반한 AWS 기반 대규모 마이크로서비스 인프라 운영 노하우 - 이용욱, 삼성전자 :: AWS Summit Seoul ...
Sql vs NoSQL

What's hot (20)

PDF
WSO2 ESB Integration with REST
PPTX
Overview of Microsoft Exchange Server
PDF
Introduction to WSO2 ESB
PPTX
Aws certified solutions architect
PDF
Aws 101 A walk-through the aws cloud (2013)
PDF
WebSphere MQ tutorial
KEY
Event Driven Architecture
PDF
Serverless Architecture - A Gentle Overview
PPTX
IBM MQ Overview (IBM Message Queue)
PDF
What is Domino IQ - DNUG Stammtisch Wien
PDF
Building Event Driven Systems
PDF
Azure-Backup-Presentation-Chico-7-22-2019-1.pdf
PDF
Enterprise Integration with the WSO2 ESB
PDF
IBM MQ: An Introduction to Using and Developing with MQ Publish/Subscribe
PDF
Dapr - A 10x Developer Framework for Any Language
PPSX
Domain Driven Design
PDF
PDF
What is REST API? REST API Concepts and Examples | Edureka
PPTX
CQRS: Command/Query Responsibility Segregation
PDF
Padrões essenciais de mensageria para integração de sistemas
WSO2 ESB Integration with REST
Overview of Microsoft Exchange Server
Introduction to WSO2 ESB
Aws certified solutions architect
Aws 101 A walk-through the aws cloud (2013)
WebSphere MQ tutorial
Event Driven Architecture
Serverless Architecture - A Gentle Overview
IBM MQ Overview (IBM Message Queue)
What is Domino IQ - DNUG Stammtisch Wien
Building Event Driven Systems
Azure-Backup-Presentation-Chico-7-22-2019-1.pdf
Enterprise Integration with the WSO2 ESB
IBM MQ: An Introduction to Using and Developing with MQ Publish/Subscribe
Dapr - A 10x Developer Framework for Any Language
Domain Driven Design
What is REST API? REST API Concepts and Examples | Edureka
CQRS: Command/Query Responsibility Segregation
Padrões essenciais de mensageria para integração de sistemas
Ad

Similar to WSO2 ESB Introduction to Inbound Endpoints (20)

PDF
UltraESB - an introduction
PDF
How the WSO2 ESB outperforms other major open source esb vendors
PDF
WSO2 Product Release webinar - The WSO2 ESB 4.8.0
PPTX
1480-techintrotoiib-150224130001-conversion-gate01.pptx
PPTX
WSO2Con USA 2015: WSO2 Integration Platform Deep Dive
PDF
Wso2 esb 5.0.0 product release webinar
PDF
Advaced training-wso2-esb
PDF
Esb 4.9.0 release webinar
ODP
HornetQ Presentation On JBoss World 2009
PDF
Plongée en eaux profondes dans l'architecture du nouvel Exchange 2013
ODP
Jbw chicago
PDF
WSO2Con USA 2015: An Introduction to the WSO2 Integration Platform
PDF
IAS for IBM WebSphere MQ Users
PPT
Webbinar slides
PDF
UltraESB - Advanced services
PDF
What’s new in WSO2 Enterprise Integrator 6.6
PDF
Developing, Administering and Debugging with WSO2 Enterprise Integrator
PDF
Introduction of Apache Camel
PPTX
Introduction to WSO2 Integration Platform
PDF
Mule esb and_relevant_components
UltraESB - an introduction
How the WSO2 ESB outperforms other major open source esb vendors
WSO2 Product Release webinar - The WSO2 ESB 4.8.0
1480-techintrotoiib-150224130001-conversion-gate01.pptx
WSO2Con USA 2015: WSO2 Integration Platform Deep Dive
Wso2 esb 5.0.0 product release webinar
Advaced training-wso2-esb
Esb 4.9.0 release webinar
HornetQ Presentation On JBoss World 2009
Plongée en eaux profondes dans l'architecture du nouvel Exchange 2013
Jbw chicago
WSO2Con USA 2015: An Introduction to the WSO2 Integration Platform
IAS for IBM WebSphere MQ Users
Webbinar slides
UltraESB - Advanced services
What’s new in WSO2 Enterprise Integrator 6.6
Developing, Administering and Debugging with WSO2 Enterprise Integrator
Introduction of Apache Camel
Introduction to WSO2 Integration Platform
Mule esb and_relevant_components
Ad

Recently uploaded (20)

PDF
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
PDF
PTS Company Brochure 2025 (1).pdf.......
PPTX
Reimagine Home Health with the Power of Agentic AI​
PDF
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
PDF
How Creative Agencies Leverage Project Management Software.pdf
PPTX
Introduction to Artificial Intelligence
PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
PPTX
Odoo POS Development Services by CandidRoot Solutions
PDF
Softaken Excel to vCard Converter Software.pdf
PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
PPTX
CHAPTER 2 - PM Management and IT Context
PDF
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
PPTX
ai tools demonstartion for schools and inter college
PDF
wealthsignaloriginal-com-DS-text-... (1).pdf
PDF
Understanding Forklifts - TECH EHS Solution
PDF
Which alternative to Crystal Reports is best for small or large businesses.pdf
PDF
AI in Product Development-omnex systems
PDF
Design an Analysis of Algorithms I-SECS-1021-03
PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
PDF
medical staffing services at VALiNTRY
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
PTS Company Brochure 2025 (1).pdf.......
Reimagine Home Health with the Power of Agentic AI​
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
How Creative Agencies Leverage Project Management Software.pdf
Introduction to Artificial Intelligence
Navsoft: AI-Powered Business Solutions & Custom Software Development
Odoo POS Development Services by CandidRoot Solutions
Softaken Excel to vCard Converter Software.pdf
2025 Textile ERP Trends: SAP, Odoo & Oracle
CHAPTER 2 - PM Management and IT Context
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
ai tools demonstartion for schools and inter college
wealthsignaloriginal-com-DS-text-... (1).pdf
Understanding Forklifts - TECH EHS Solution
Which alternative to Crystal Reports is best for small or large businesses.pdf
AI in Product Development-omnex systems
Design an Analysis of Algorithms I-SECS-1021-03
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
medical staffing services at VALiNTRY

WSO2 ESB Introduction to Inbound Endpoints

  • 1. Introduction to Inbound Endpoints Isuru Udana Associate Technical Lead Viraj Senevirathne Software Engineer Nov 2015
  • 2. About the Presenters ● Isuru UdanaAssociate Technical Lead WSO2 ● Viraj Senevirathne Software Engineer WSO2
  • 3. Outline ● Background ● ESB Basics ● Introduction to Inbound Endpoints ● HTTP Inbound Endpoint ● JMS Inbound Endpoint ● File Inbound Endpoint ● Demo ● Q & A
  • 4. WSO2 ESB ● A lightweight, high performance ESB ● Feature rich and standards compliant ○ SOAP and WS-* standards ○ REST support ● Domain specific protocol support (eg: FIX, HL7) ● User friendly and highly extensible ● 100% free and open source with commercial support
  • 5. Key Features - Routing
  • 6. Key Features - Filtering
  • 7. Key Features - Transformation
  • 8. Key Features - Protocol Switch
  • 9. Key Features - Load Balancing
  • 10. Key Features - Quality of Service
  • 17. Invoking Messages Flows Messages can be injected into sequences through the following interfaces:
  • 18. Invoking Messages Flows Proxy Services ● Acts like a virtual service. ● Receives messages and mediates them before sending them to the endpoint (usually an actual service) Eg: Perform necessary transformations and/or introduce additional functionality without changing existing service.
  • 19. Invoking Messages Flows APIs (HTTP Services) ● APIs can accept REST messages which allow clients to provide additional information on how to manage the message ● Unmanaged API (API-Manager for managed APIs) ● Can handle multiple URLs ● Can handle parameters in the URL
  • 20. Invoking Messages Flows Main Sequence ● Messages not destined for Proxy Services/API are sent through Main
  • 21. Invoking Messages Flows Tasks ● Allow configuration of scheduled jobs to execute internal/external commands ● Inject a message into a proxy service, Main sequence or a named sequence
  • 22. Invoking Messages Flows Inbound Endpoints ● Newly introduced in ESB 4.9.0 release ● New Message Entry point
  • 24. Inbound Endpoints ● New Message Entry point
  • 25. Why Inbound Endpoints ? Limitations prior to ESB 4.9.0 ● Conventional axis2 based Transports does not support dynamic configuration Ex: To change the ports, restart is required axis2.xml configuration
  • 26. Why Inbound Endpoints ? Limitations prior to ESB 4.9.0 ● Multi-tenancy support is limited ○ Only HTTP Transport supports multi-tenancy
  • 27. Inbound Endpoints Features ● A message source that can be configured dynamically
  • 28. ● Inbound architecture allows Multi-tenancy for all transports ○ JMS, VFS, HL7, etc Inbound Endpoints Features
  • 29. ● Coordination Support ○ Controlled execution on clustered environment ○ Worker-Manager deployment for all transports Inbound Endpoints Features
  • 30. Coordination Support - Single Consumer Inbound Endpoints Features
  • 31. Inbound Endpoints Features Coordination Support - Multiple Consumer
  • 32. ● Injects messages directly from transport layer to mediation layer without going through the axis2 engine ● Dedicated thread pools per inbound ● Extending the functionality with custom inbound endpoints Inbound Endpoints Features
  • 33. Inbound Endpoint Types ● Listening Inbound Endpoints ● Polling Inbound Endpoints ● Event Based Inbound Endpoints ● Custom Inbound Endpoints
  • 34. Listening Inbound Endpoint ● In this endpoint type messages send to the inbound endpoint by client. ○ Ex: HTTP, HTTPS ● Starts message listening interfaces dynamically ● Fully supported in multi-tenant environments. ● HTTP, HL7, WS-RM, TCP Inbound Endpoints
  • 35. ● Dynamically creates message polling interfaces. Ex: JMS Inbound Endpoint – polls a given JMS queue and inject messages into an ESB message flow. ● The the inbound endpoint will perform polling task with that specified time interval. ● We have to specify a polling interval when creating these type of inbound endpoints. Ex: File, JMS, Kafka ● Fully supported in multi-tenant environments ● Coordination support Polling Inbound Endpoint
  • 36. Event Based Inbound Endpoints ● This endpoint task will run only once to establish connection with remote server. This connection will be used for executing inbound endpoint task. Ex: MQTT, RabbitMQ
  • 37. Custom Inbound Endpoints ● Custom Inbound Endpoints are user defined inbound endpoints for custom tasks. ○ You will have to extend following classes for different implementations ■ Custom Listening Inbounds - GenericInboundListener ■ Custom Polling Inbounds - GenericPollingConsumer
  • 39. ● Dynamically configurable http and https endpoints at ESB runtime ○ Can create separate HTTP or HTTPS listeners which can handle messages separately ● Can directly inject messages to APIs, Proxies and sequences. ○ e.g.: There is a HTTP inbound endpoint running on port 8290.In order to inject messages to a, ■ API (stockquote) - http://127.0.0.1:8290/stockquote/view/IBM ■ Proxy(StockQuoteProxy) - http://localhost:8290/services/StockQuoteProxy ■ Sequence - http://localhost:8290 ● It is possible to specify different worker pool configuration for any inbound endpoint HTTP/HTTPS Inbound Endpoint
  • 40. HTTP and HTTPS Inbound Endpoints Important parameters used in HTTP and HTTPS Inbound Endpoint Parameter Description inbound.http.port The port on which the endpoint listener should be started. ( HTTP and HTTPS) keystore The KeyStore location where keys are stored.( HTTPS Only) Worker Pool Configuration Parameters (Optional) inbound.worker.pool.size.core The initial number of threads in the worker thread pool. This value can be changed accordingly based on the number of messages to be processed. (default 400) inbound.worker.pool.size.max The maximum number of threads in the worker thread pool. (default 500) Proxy Configurations related to HTTP/HTTPS inbound endpoints inbound.only Whether the proxy service needs to be exposed only via inbound endpoints.
  • 41. Sample HTTP Inbound Configuration HTTP and HTTPS Inbound Endpoints
  • 43. ● This is a much improved alternative to JMS Transport ● Supports multi-tenancy unlike JMS Transport ● JMS inbound protocol implementation can receive messages from active JMS server ● Supports coordination in clustered environment JMS Inbound Endpoint
  • 44. Important parameters used in JMS Inbound Endpoint JMS Inbound Endpoint Parameter Description Interval How frequently JMS inbound should poll the source JMS location Eg: 10 (ms) sequential Set this to true if you want to process list of messages one after another. coordination Set this to true if you want JMS polling in one instance at a time in a clustered environment java.naming.factory.initial The JNDI initial context factory class. This class must implement the java.naming.spi.InitialContextFactory interface. java.naming.provider.url The URL of the JNDI provider. transport.jms.Destination The JNDI name of the destination. transport.jms.ConnectionFactoryJNDIName The JNDI name of the connection factory.
  • 45. Sample JMS Inbound Configuration JMS Inbound Endpoint
  • 47. ● This is a much improved alternative to VFS Transport ○ Improved functionality over VFS Transport ○ Improved Error handling ● Supports multi-tenancy unlike VFS Transport ● Supports coordination in clustered environment ○ When co-orrdination is enabled in clustered environment file inbound task will run on only one ESB instant at a time ● Capable of handling major major file systems like local file system, ftp, sftp, smb etc. File Inbound Endpoint
  • 48. Important parameters used in File Inbound Endpoint File Inbound Endpoint Parameter Description transport.vfs. FileURI Specifies file source. Should use file system prefix in front of the location uri. Eg: file://<path> Interval How frequently file inbound should poll the source file location Eg: 1000 (ms) sequential Set this to true if you want to process list of files one after another coordination Set this to true if you want file polling in one instance at a time in a clustered environment transport.vfs. ContentType Content type of the files processed by the file inbound. To specify the encoding when reading a file, follow the content type with a semi-colon and the character set. Eg: text/plain;charset=UTF-32 transport.vfs. ActionAfterProcess transport.vfs. ActionAfterFailure transport.vfs. MoveAfterProcess transport.vfs. MoveAfterFailure These parameters can be used to specify the operation that should be done after processing a file or incase of processing failure transport.vfs.DistributedLock This applies only in cluster deployments. Set to true if you need to avoid multiple servers trying to process the same file simultaneously.
  • 49. Sample File Inbound Configuration File Inbound Endpoint
  • 50. Demo
  • 51. QnA