This document provides an overview of adapters in Neuron ESB and their use in integrating systems. It describes the different messaging semantics supported by adapters, including publish/subscribe. It provides examples of specific adapters like Microsoft Exchange, File, and ODBC and their supported features. The document also discusses how adapter metadata and policies can be used to affect message properties and failure handling between integrated systems.
2. Using Adapters and Mediation to Integrate Systems
• Provide a deeper understanding of some of the Neuron ESB Adapters
• Provide an understanding of adapter metadata and messaging patterns
Goals
3. Using Adapters and Mediation to Integrate Systems
• Adapter Messaging Semantics
• Adapter Deep Dive
• Adapter Messaging Patterns
• Adapter Metadata
• Adapter Policies
Lesson Plan
4. Using Adapters and Mediation to Integrate Systems
Message Semantics
Semantic What it means to you
Publish, Receive,
DatagramReceiver
Receives messages from a system and
publishes them to Neuron ESB
Subscribe, Execute,
Send, DatagramSender
Receives messages from Neuron ESB and
pushes them to a target system
Batch Same as Subscribe but with a configurable
limit of items to push to target system
Query, Solicit Response Sends a message requesting information
and publishes that information to Neuron
ESB
Request Reply Pushes messages to a target system and
receives a reply from that system (usually in
the form of a status of the action)
• Different Adapters support different
message semantics:
• ODBC Adapter
• Execute
• Query
• Batch
• Publish
• File Adapter
• Publish
• Subscribe
• Microsoft Exchange Adapter
• Publish
5. Using Adapters and Mediation to Integrate Systems
• Supports:
• Exchange 2007 – Present
• Supports in cloud or on premises
• Publish mode only
• Auto discovery as well as specific server address
• Polls specified folder for the provided exchange
email account and publishes received emails to
Neuron ESB
• Configurable batch size – allows users to limit
number of emails retrieved each time the
adapter polls
• Configurable delete setting for how to handle
removal of messages once they are received by
Neuron ESB
Microsoft Exchange Adapter
6. Using Adapters and Mediation to Integrate Systems
• Supports Publish and Subscribe modes
• Publish mode
• Can use folder events or polling to retrieve files
• Can archive files to a location after download
• Can be set to publish only file metadata
• Subscribe mode
• Can create specified folder if it does not already
exist
• Supports multiple file operations
• Create
• Append
• Overwrite
• Rename
File Adapter
7. Using Adapters and Mediation to Integrate Systems
• Supports:
• Publish and Subscribe mode
• Explicit SSL and Implicit SSL connections
• Certificates
• HTTP proxies to connect to the FTP server
• Publish mode
• Can delete, archive or both after retrieval
• Configurable file mask to filter specific file types if
necessary
• Subscribe mode
• Can generate unique filename or overwrite files
of the same name
• Can pre-allocate storage
FTP Adapter
8. Using Adapters and Mediation to Integrate Systems
• Supports:
• Execute (Subscribe), Query (Solicit Response),
Batch (Subscribe) and Publish modes
• Transactions, configurable transaction levels and
configurable transaction timeouts
• SQL injection checks
• XSD schema generation for returned xml
• Configurable command type (Stored Procedure
or Command Text)
• Can update or delete records after a Select
statement is executed
• Configurable amount of records to return
• Batch mode allows users to configure how many
inserts per table are sent to the server
ODBC Adapter
9. Using Adapters and Mediation to Integrate Systems
• Supports both Publish and Subscribe
modes
• Supports SSL connections to RabbitMQ
Server
• Publish mode
• Can pull messages from a Topic or a Queue
• Can auto acknowledge receipt of messages
• Subscribe mode
• Supports persistent delivery (message is
written to disk)
• Can route messages to Topic or a Queue
• Configurable settings to enforce routable
messages if necessary
RabbitMQ Adapter
10. Using Adapters and Mediation to Integrate Systems
• Supports both Publish and Subscribe modes
• Support OAuth connection to Salesforce as well
as username / password
• Supports Metadata generation
• Publish Mode
• Listens to URL hosted by Neuron, that has been
configured in Salesforce as the URL to send
outbound notifications to
• Supports message routing based on Salesforce
objects
• Subscribe Mode
• Configurable Timeout for sending data to
Salesforce
Salesforce Adapter
11. Adapter Deep Dive: Demo (Attendees Request)
Purpose:
Provide users with a deeper understanding of those adapters that they find themselves interested in learning about
due to business needs.
12. • Adapter metadata are predefined
message properties that:
• Are set by publish-mode adapter
endpoints
• i.e. file_in.Filename
• Can be set in a business process to
affect the behavior of a subscribe-
mode adapter endpoint:
• i.e. file_out.Filename
• Must be enabled on the adapter
endpoint!
Using Adapters and Mediation to Integrate Systems
Adapter Metadata
13. Connections Policies Adapter Policies
Controls Retries
MSMQ Transactional Topics
All other Topics
Failure Actions
Log to Database *
Log to File
Discard
Route to Topic
Availability
You can choose to start/stop based on day and
time
Send custom SOAP fault
Using Adapters and Mediation to Integrate Systems
Adapter Policies
14. Integrating Systems Using Adapters : Demo
Purpose:
To show users how to use adapters to integrate systems together and mediate the data being passed between the two
systems.
Objectives:
• Demonstrate how to integrate two systems using adapters
• Demonstrate how to mediate the data being passed between the two systems
15. Introduction to Adapters
Review
• Each Neuron adapter supports at least one semantic with many supporting more than one.
• Semantics define the direction of the message flow
• Adapter metadata can be turned off so that it is not attached to the message
• Adapter policies are used to define failure actions, retry parameters and availability of an adapter
Editor's Notes
The goals of this lesion are to provide users with a deeper understanding of some of the Neuron ESB adapters, as well as understanding of adapter metadata and messaging patterns.
This lesson has been broken into five sections in order to make the information being presented easier to understand. The sections that we will be covering are
Adapter Messaging Semantics
Adapter Deep Dive
Adapter Messaging Patterns
Adapter Metadata
Adapter Policies
All adapters in Neuron ESB use at least one message semantic in order to perform their functions. For example the ODBC adapter employs execute, query, batch and publish modes to perform its functions. While the File Adapter uses only the publish and subscribe modes. It is important to note that certain terms are synonymous with each other, which are indicated in the table shown as well as what those semantics do.
We took a brief look at the Microsoft exchange adapter in the Introduction to Adapters presentation. Let us now take a deeper look at it as well as a couple other adapters.
The Exchange adapter provides users a way to consume emails from a Microsoft Exchange Server mail box, and publish them as messages to the bus. The adapter does not support a subscribe mode, as this functionality can be achieved via the SMTP adapter. The Exchange adapter supports all versions of Microsoft Exchange from 2007 until present, and can be used for both on premises and in the cloud implementations of the Exchange server.
For Office Online 365 you need to
Set auto discovery to true
Use web credentials
Set to latest version
The Exchange adapter polls the specified mail box, based on a configurable interval, and allows you to configure the batch size (how many emails it retrieves each time it polls). It also allows you to configure the delete setting for how to handle the removal of messages once they have been sent to the bus for publishing (hard delete, soft delete, move to deleted items).
https://www.neuronesb.com/neuron/Help3/Development/Developing_Neuron_Applications/Connecting_to_External_Systems/Adapters/Neuron_Adapters/Exchange_Adapter.htm
https://www.neuronesb.com/neuron/Help3/Development/Samples_and_Walkthroughs/Adapters/Receiving_Email_with_the_Exchange_and_POP3_Adapters.htm
The File adapter allows you to get messages from, or send messages to, a specified file location on an accessible disk.
In publish mode:
You can specify the type, or types of files, that you wish to retrieve from the folder location, or simply tell the adapter to grab everything in the folder via a file mask (*.xml, *.txt, *.*)
Listen for folder events or poll based on a defined interval
Suppress *.failed files (by default if a file encounters an error .failed is appened to the name of the file to prevent the adapter from picking the file again. Changing this to true will prevent that)
Archive the file to a folder after download
Publish only the metadata for the file
In subscribe mode:
Can create the specified folder if it does not already exist on the disk
Encode the file with a specific encoding
Create, append, overwrite or rename the file if it already exists on the disk
The FTP adapter provides users the ability to receive messages from, or push messages to, an FTP server. It can implement security such as certificates or username / password when connecting as well as make use of an Http Proxy.
In publish mode
Polls the FTP server based on a defined interval
Can delete, archive or both after retrieval
Configurable file mask to filter specific file types if necessary
Can make use of the file ready schema (a method for ensuring that the FTP file or files to download are ‘ready’ for download)
Can publish empty messages if a file with 0 bytes exists on the server
In subscribe mode
Can generate unique filename or overwrite files of the same name
Can pre-allocate storage before writing files to the server
Can make use of the file ready schema (a method for ensuring that the FTP file or files to upload are ‘ready’ for access by others)
https://www.neudesic.com/neuron/Help3/Development/Developing_Neuron_Applications/Connecting_to_External_Systems/Adapters/Neuron_Adapters/FTP_Adapter.htm
https://www.neuronesb.com/neuron/Help3/Development/Samples_and_Walkthroughs/Adapters/Exchanging_Files_with_the_FTP_Adapter.htm
The ODBC adapter provides users a way to connect to ODBC data sources in order to send information to, or gather information from, those data sources. The ODBC adapter supports Execute, Query, Batch and Publish modes to perform a variety of functions.
The ODBC adapter supports transactional and non-transactional calls to the data source, as well as SQL injection checks.
In publish mode
Polls the data source based on a defined interval
Can use command text or a stored procedure to retrieve data
Supports parameter mapping
Can execute an update or delete command after polling
Generates an XML message of the retrieved data with configurable namespace, root and row names.
In Execute mode
Uses an XML formatted message from Neuron, the data from the XML message is used to execute a stored procedure
Examples can be found via the help file link provided
In Query mode
Query mode functions the same as execute mode, except that a result set from the stored procedure is published to Neuron. The adapter receives a message from Neuron and executes a stored procedure. The body of the Neuron ESBMessage must be the custom ODBC adapter XML format. The XML describes the stored procedure or SQL Statement called and parameters that are passed. The response XML message is published back to Neuron.
In Batch mode
When the adapter receives an Odbc adapter XML formatted message from Neuron, the data in the rows of the XML message are used to create a SQL INSERT commands and the commands are then executed. The ‘Batch Size’ property will allow one to limit the number of INSERT commands that are run in a single batch.
https://www.neuronesb.com/neuron/Help3/Development/Developing_Neuron_Applications/Connecting_to_External_Systems/Adapters/Neuron_Adapters/ODBC_Adapter.htm
The Neuron ESB Rabbit MQ Adapter allows Neuron ESB to interact with Rabbit MQ in a variety of ways, with configurable levels of Transaction support and Quality of Service. Organizations can use the adapter to monitor Rabbit MQ Topics or Queues for new messages, forwarding those (i.e. publishing) to a Neuron ESB Topic where other subscribing parties (e.g. Adapter, Service or Workflow Endpoints) can receive the information. Conversely, the adapter can also be used to forward information published to or generated by Neuron ESB to either a Rabbit MQ Queue or Topic, essentially making Rabbit MQ a Neuron ESB subscriber. Both types of Rabbit MQ Transactions are supported (e.g. Transaction and Publish Confirms) as are Virtual Hosts, SSL and all the latest features of Rabbit MQ.
In publish mode
Can pull messages from a Topic or a Queue
Can auto acknowledge receipt of messages
In subscriber mode
Supports persistent delivery (message is written to disk)
Can route messages to Topic or a Queue
Configurable settings to enforce routable messages if necessary
https://www.neuronesb.com/neuron/Help3/Development/Developing_Neuron_Applications/Connecting_to_External_Systems/Adapters/Neuron_Adapters/Neuron_Rabbit_MQ_Adapter.htm
The Salesforce adapter allows users to receive messages from, and push messages to, a salesforce instance. The salesforce adapter supports both OAuth and username password for connection to the Salesforce instance, as well as supporting metadata generation (which we discussed in the Introduction to Adapters presentation).
In publish mode
Listens to URL hosted by Neuron, that has been configured in Salesforce as the URL to send outbound notifications to
Supports message routing based on Salesforce objects
In subscribe mode
Provides a configurable Timeout for sending data to Salesforce
Adapter metadata are pre-defined message properties which are set by publish more adapter endpoint prior to the publishing of the message to the bus. These properties can also be set via business processes or workflow definitions to affect the behavior of a subscriber mode adapter endpoint.
For example:
When a file adapter sends a message to the bus it includes a property called file_in.Filename which contains the name of the file whose data is being published.
Prior to sending a message to a file adapter in subscribe mode you can set the file_out.Filename property to specify the name of the file to be written rather than letting Neuron generate a file name for you.
Keep in mind that it is possible to disable the metadata for an adapter so make sure that it is enabled if you are attempting to use it.
Adapter policies allow you to specify rules that govern how Neuron works with subscription side Adapter Endpoints, specifically in the case of failure. To create an Adapter Policy in the Neuron ESB Explorer, select Connections ->Policies->Adapter Policies from the navigation bar located on the left hand side of the Neuron ESB Explorer. This will open the Adapter Policy Management Window. When an Adapter Policy is selected, the Details Pane will be displayed on the lower bottom of the Management Window. Below this will be the navigation bar. Above the Management Window will be the Search bar. The Details Pane is where users enter information for a new Adapter Policy, or modify information for an existing Adapter Policy.
Adapter policies allow you to control the following aspects of an adapter:
The number of times to retry sending a message to an adapter before declaring a message undeliverable
How long to wait between retry attempts
The default expiration time of a transactional message
What actions to take if a message is undeliverable
Whether or not to audit the message to a database
Whether or not to save the message as a file
Whether or not to republish the message on an alternate topic
Whether or not to discard the message