SlideShare une entreprise Scribd logo
1  sur  52
Télécharger pour lire hors ligne
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 !

Contenu connexe

En vedette

Enterprise Integration made easy with WSO2 ESB
Enterprise Integration made easy with WSO2 ESBEnterprise Integration made easy with WSO2 ESB
Enterprise Integration made easy with WSO2 ESBWSO2
 
WSO2 ESB and SOA
WSO2 ESB and SOAWSO2 ESB and SOA
WSO2 ESB and SOAWSO2
 
Systems management - UltraESB
Systems management - UltraESBSystems management - UltraESB
Systems management - UltraESBAdroitLogic
 
Magento 2.0 - eCommerce Web Portal Solutions | Case Study
Magento 2.0 - eCommerce Web Portal Solutions | Case StudyMagento 2.0 - eCommerce Web Portal Solutions | Case Study
Magento 2.0 - eCommerce Web Portal Solutions | Case StudyAzilen Technologies Pvt. Ltd.
 
Deep-dive into WSO2 ESB 5.0
Deep-dive into WSO2 ESB 5.0 Deep-dive into WSO2 ESB 5.0
Deep-dive into WSO2 ESB 5.0 Kasun Indrasiri
 
Mulesoft - Documentation (Automation)
Mulesoft - Documentation (Automation)Mulesoft - Documentation (Automation)
Mulesoft - Documentation (Automation)Vamsi Krishna
 
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
 
System Configuration for UltraESB
System Configuration for UltraESBSystem Configuration for UltraESB
System Configuration for UltraESBAdroitLogic
 
Introduction to WSO2 Integration Platform
Introduction to WSO2 Integration PlatformIntroduction to WSO2 Integration Platform
Introduction to WSO2 Integration PlatformKasun Indrasiri
 
The Middleware technology that connects the enterprise
The Middleware technology that connects the enterpriseThe Middleware technology that connects the enterprise
The Middleware technology that connects the enterprise Kasun Indrasiri
 
Introduction to WSO2 ESB
Introduction to WSO2 ESB Introduction to WSO2 ESB
Introduction to WSO2 ESB WSO2
 
Analytics Patterns for Your Digital Enterprise
Analytics Patterns for Your Digital EnterpriseAnalytics Patterns for Your Digital Enterprise
Analytics Patterns for Your Digital EnterpriseSriskandarajah Suhothayan
 
Introduction to WSO2 ESB Pass-Through Transport
Introduction to WSO2 ESB Pass-Through TransportIntroduction to WSO2 ESB Pass-Through Transport
Introduction to WSO2 ESB Pass-Through TransportChanaka Fernando
 

En vedette (18)

Wso2 esb
Wso2 esbWso2 esb
Wso2 esb
 
Enterprise Integration made easy with WSO2 ESB
Enterprise Integration made easy with WSO2 ESBEnterprise Integration made easy with WSO2 ESB
Enterprise Integration made easy with WSO2 ESB
 
WSO2 ESB and SOA
WSO2 ESB and SOAWSO2 ESB and SOA
WSO2 ESB and SOA
 
Systems management - UltraESB
Systems management - UltraESBSystems management - UltraESB
Systems management - UltraESB
 
Microintegration
MicrointegrationMicrointegration
Microintegration
 
Magento 2.0 - eCommerce Web Portal Solutions | Case Study
Magento 2.0 - eCommerce Web Portal Solutions | Case StudyMagento 2.0 - eCommerce Web Portal Solutions | Case Study
Magento 2.0 - eCommerce Web Portal Solutions | Case Study
 
WSO2 Gateway
WSO2 GatewayWSO2 Gateway
WSO2 Gateway
 
Deep-dive into WSO2 ESB 5.0
Deep-dive into WSO2 ESB 5.0 Deep-dive into WSO2 ESB 5.0
Deep-dive into WSO2 ESB 5.0
 
Mulesoft - Documentation (Automation)
Mulesoft - Documentation (Automation)Mulesoft - Documentation (Automation)
Mulesoft - Documentation (Automation)
 
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
 
System Configuration for UltraESB
System Configuration for UltraESBSystem Configuration for UltraESB
System Configuration for UltraESB
 
Liferay (DXP) 7 Tech Meetup for Developers
Liferay (DXP) 7 Tech Meetup for DevelopersLiferay (DXP) 7 Tech Meetup for Developers
Liferay (DXP) 7 Tech Meetup for Developers
 
Introduction to WSO2 Integration Platform
Introduction to WSO2 Integration PlatformIntroduction to WSO2 Integration Platform
Introduction to WSO2 Integration Platform
 
The Middleware technology that connects the enterprise
The Middleware technology that connects the enterpriseThe Middleware technology that connects the enterprise
The Middleware technology that connects the enterprise
 
Introduction to WSO2 ESB
Introduction to WSO2 ESB Introduction to WSO2 ESB
Introduction to WSO2 ESB
 
Analytics Patterns for Your Digital Enterprise
Analytics Patterns for Your Digital EnterpriseAnalytics Patterns for Your Digital Enterprise
Analytics Patterns for Your Digital Enterprise
 
Introduction to WSO2 ESB Pass-Through Transport
Introduction to WSO2 ESB Pass-Through TransportIntroduction to WSO2 ESB Pass-Through Transport
Introduction to WSO2 ESB Pass-Through Transport
 
Wso2 esb-rest-integration
Wso2 esb-rest-integrationWso2 esb-rest-integration
Wso2 esb-rest-integration
 

Plus de WSO2

Accelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with PlatformlessAccelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with PlatformlessWSO2
 
How to Create a Service in Choreo
How to Create a Service in ChoreoHow to Create a Service in Choreo
How to Create a Service in ChoreoWSO2
 
Ballerina Tech Talk - May 2023
Ballerina Tech Talk - May 2023Ballerina Tech Talk - May 2023
Ballerina Tech Talk - May 2023WSO2
 
Platform Strategy to Deliver Digital Experiences on Azure
Platform Strategy to Deliver Digital Experiences on AzurePlatform Strategy to Deliver Digital Experiences on Azure
Platform Strategy to Deliver Digital Experiences on AzureWSO2
 
GartnerITSymSessionSlides.pdf
GartnerITSymSessionSlides.pdfGartnerITSymSessionSlides.pdf
GartnerITSymSessionSlides.pdfWSO2
 
[Webinar] How to Create an API in Minutes
[Webinar] How to Create an API in Minutes[Webinar] How to Create an API in Minutes
[Webinar] How to Create an API in MinutesWSO2
 
Modernizing the Student Journey with Ethos Identity
Modernizing the Student Journey with Ethos IdentityModernizing the Student Journey with Ethos Identity
Modernizing the Student Journey with Ethos IdentityWSO2
 
Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...
Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...
Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...WSO2
 
CIO Summit Berlin 2022.pptx.pdf
CIO Summit Berlin 2022.pptx.pdfCIO Summit Berlin 2022.pptx.pdf
CIO Summit Berlin 2022.pptx.pdfWSO2
 
Delivering New Digital Experiences Fast - Introducing Choreo
Delivering New Digital Experiences Fast - Introducing ChoreoDelivering New Digital Experiences Fast - Introducing Choreo
Delivering New Digital Experiences Fast - Introducing ChoreoWSO2
 
Fueling the Digital Experience Economy with Connected Products
Fueling the Digital Experience Economy with Connected ProductsFueling the Digital Experience Economy with Connected Products
Fueling the Digital Experience Economy with Connected ProductsWSO2
 
A Reference Methodology for Agile Digital Businesses
 A Reference Methodology for Agile Digital Businesses A Reference Methodology for Agile Digital Businesses
A Reference Methodology for Agile Digital BusinessesWSO2
 
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)WSO2
 
Lessons from the pandemic - From a single use case to true transformation
 Lessons from the pandemic - From a single use case to true transformation Lessons from the pandemic - From a single use case to true transformation
Lessons from the pandemic - From a single use case to true transformationWSO2
 
Adding Liveliness to Banking Experiences
Adding Liveliness to Banking ExperiencesAdding Liveliness to Banking Experiences
Adding Liveliness to Banking ExperiencesWSO2
 
Building a Future-ready Bank
Building a Future-ready BankBuilding a Future-ready Bank
Building a Future-ready BankWSO2
 
WSO2 API Manager Community Call - November 2021
WSO2 API Manager Community Call - November 2021WSO2 API Manager Community Call - November 2021
WSO2 API Manager Community Call - November 2021WSO2
 
[API World ] - Managing Asynchronous APIs
[API World ] - Managing Asynchronous APIs[API World ] - Managing Asynchronous APIs
[API World ] - Managing Asynchronous APIsWSO2
 
[API World 2021 ] - Understanding Cloud Native Deployment
[API World 2021 ] - Understanding Cloud Native Deployment[API World 2021 ] - Understanding Cloud Native Deployment
[API World 2021 ] - Understanding Cloud Native DeploymentWSO2
 
[API Word 2021] - Quantum Duality of “API as a Business and a Technology”
[API Word 2021] - Quantum Duality of “API as a Business and a Technology”[API Word 2021] - Quantum Duality of “API as a Business and a Technology”
[API Word 2021] - Quantum Duality of “API as a Business and a Technology”WSO2
 

Plus de WSO2 (20)

Accelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with PlatformlessAccelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with Platformless
 
How to Create a Service in Choreo
How to Create a Service in ChoreoHow to Create a Service in Choreo
How to Create a Service in Choreo
 
Ballerina Tech Talk - May 2023
Ballerina Tech Talk - May 2023Ballerina Tech Talk - May 2023
Ballerina Tech Talk - May 2023
 
Platform Strategy to Deliver Digital Experiences on Azure
Platform Strategy to Deliver Digital Experiences on AzurePlatform Strategy to Deliver Digital Experiences on Azure
Platform Strategy to Deliver Digital Experiences on Azure
 
GartnerITSymSessionSlides.pdf
GartnerITSymSessionSlides.pdfGartnerITSymSessionSlides.pdf
GartnerITSymSessionSlides.pdf
 
[Webinar] How to Create an API in Minutes
[Webinar] How to Create an API in Minutes[Webinar] How to Create an API in Minutes
[Webinar] How to Create an API in Minutes
 
Modernizing the Student Journey with Ethos Identity
Modernizing the Student Journey with Ethos IdentityModernizing the Student Journey with Ethos Identity
Modernizing the Student Journey with Ethos Identity
 
Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...
Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...
Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...
 
CIO Summit Berlin 2022.pptx.pdf
CIO Summit Berlin 2022.pptx.pdfCIO Summit Berlin 2022.pptx.pdf
CIO Summit Berlin 2022.pptx.pdf
 
Delivering New Digital Experiences Fast - Introducing Choreo
Delivering New Digital Experiences Fast - Introducing ChoreoDelivering New Digital Experiences Fast - Introducing Choreo
Delivering New Digital Experiences Fast - Introducing Choreo
 
Fueling the Digital Experience Economy with Connected Products
Fueling the Digital Experience Economy with Connected ProductsFueling the Digital Experience Economy with Connected Products
Fueling the Digital Experience Economy with Connected Products
 
A Reference Methodology for Agile Digital Businesses
 A Reference Methodology for Agile Digital Businesses A Reference Methodology for Agile Digital Businesses
A Reference Methodology for Agile Digital Businesses
 
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)
 
Lessons from the pandemic - From a single use case to true transformation
 Lessons from the pandemic - From a single use case to true transformation Lessons from the pandemic - From a single use case to true transformation
Lessons from the pandemic - From a single use case to true transformation
 
Adding Liveliness to Banking Experiences
Adding Liveliness to Banking ExperiencesAdding Liveliness to Banking Experiences
Adding Liveliness to Banking Experiences
 
Building a Future-ready Bank
Building a Future-ready BankBuilding a Future-ready Bank
Building a Future-ready Bank
 
WSO2 API Manager Community Call - November 2021
WSO2 API Manager Community Call - November 2021WSO2 API Manager Community Call - November 2021
WSO2 API Manager Community Call - November 2021
 
[API World ] - Managing Asynchronous APIs
[API World ] - Managing Asynchronous APIs[API World ] - Managing Asynchronous APIs
[API World ] - Managing Asynchronous APIs
 
[API World 2021 ] - Understanding Cloud Native Deployment
[API World 2021 ] - Understanding Cloud Native Deployment[API World 2021 ] - Understanding Cloud Native Deployment
[API World 2021 ] - Understanding Cloud Native Deployment
 
[API Word 2021] - Quantum Duality of “API as a Business and a Technology”
[API Word 2021] - Quantum Duality of “API as a Business and a Technology”[API Word 2021] - Quantum Duality of “API as a Business and a Technology”
[API Word 2021] - Quantum Duality of “API as a Business and a Technology”
 

Dernier

Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
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
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
[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
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
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
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 

Dernier (20)

Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
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
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
[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
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
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
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 

Introduction to Inbound Endpoints in WSO2 ESB 4.9.0 (HTTP/S, File, JMS)

  • 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