Adapters in Neuron ESB bridge external protocols, databases, applications and transports. They support various message exchange patterns and transactions. Neuron ESB ships with many built-in adapters like FTP, SQL, and RabbitMQ. Adapters are configured through endpoints in the Neuron ESB Explorer where their properties and connection details are set. Metadata harvesting allows browsing target systems to generate schemas and sample messages.
2. Introduction to Adapters
• Provide an understanding of adapters and their role in Neuron ESB.
• Provide an understanding of how to register, create and configure adapters
Goals
3. Introduction to Adapters
• Adapter Library
• Adapter Endpoints
• Event Based Adapters
• Metadata Harvesting
• Run As
Lesson Plan
4. Introduction to Adapters
• Bridge to external Protocols, Databases, Applications and Transports
• Support different Message Exchange Patterns (MEP)
• Receive, Send, Solicit-Response, Request-Response
• Represented by a .NET assembly located in the Adapters folder
• Built in .NET - Neuron ESB ships with an Adapter Framework
• Can support transactions
• Support metadata
• Support “Run As” when using Windows security for connecting
• Utilizes Policies to control Failure options
Neuron ESB Adapters
5. Introduction to Adapters
Adapter Library
• File
• SMTP
• POP3
• Microsoft Exchange
• FTP
• SFTP
• FTPS
• Apple Push Notification Service
• TCP
• Twillio
• Amazon SQS
• ODBC
• Microsoft SQL Server
• Oracle DB
• IBM DB2
• Any ODBC datasource….
• Redis (Cache)
• CertainSafe
• Dropbox
• MSMQ
• IBM MQ
• RabbitMQ
• Apache ActiveMQ
• Microsoft Azure Service Bus
• Microsoft SQL Service Broker
• Microsoft Active Directory
• Microsoft Dynamics CRM 4.0 – 2016
• Microsoft Dynamics CRM XRM
• Microsoft Dynamics CRM Web API
• Microsoft Dynamics Great Plains
• Microsoft Dynamics AX
• Microsoft SharePoint
• SalesForce
• NetSuite
• SAP
• Marketo
• Zuora
• Service Now
6. Introduction to Adapters
FTP Adapter
• Use security for connection to FTP server
• ExplicitSSL or ImplicitSSL
• Certificate
• Publish mode
• Pulls from an FTP source location and publishes the file
as a message to
Neuron ESB
• Polls based on defined interval
• Can delete or archive after download
• Subscribe Mode
• Pushes a message to an FTP location
as a file
• Can generate unique filename for each message
• Can overwrite existing files of the same name
• Supports transactional interactions with data source
• Configurable timeouts
• Supports SQL injection validation
• Supports Execute, Query, Batch and Publish modes
• Publish Mode
• Supports stored procedures, command text and table direct
queries
• Supports parameters
• Can update or delete after executing polling command
• Execute and Query modes both use Statement
commands in the message to control there execution.
Adapter Library
ODBC Adapter
7. Introduction to Adapters
Microsoft Exchange Adapter
• Configurable version of Exchange
• Can connect to Exchange server or Exchange online
• Supports publish mode only
• Publish Mode
• Configurable polling interval
• Configurable batch size of emails to retrieve each
request
• Supports on premises, IFD or Online CRM setup
• Supports OAuth for IFD and Online setups
• Configurable endpoint URL
• Supports Subscribe mode and Solicit Response
https://www.neuronesb.com/article/neuron-esb-dynamics-crm-
web-api-connector/
Adapter Library
Dynamics CRM Web API Adapter
8. Introduction to Adapters
Salesforce Adapter
• Supports OAuth and Username/Password
authentication
• Supports Publish and Subscribe modes
• Publish Mode
• Connects to Salesforce URL for outbound notifications
• Supports routing of different outbound message types
to different topics
• Subscribe Mode
• Configurable timeout
https://www.neuronesb.com/webinar/accelerate-salesforce-
adoption-neuron-esb/
• Supports multiple RabbitMQ protocols
• Supports SSL connections
• Supports both Publish and
Subscribe mode
• Publish Mode
• Configurable auto acknowledge
• Configurable message prefetch
• Queue or Topic subscription types
• Subscribe Mode
• Configurable delivery mode
• Routing mode of queue or topic
• Configurable transaction types
https://www.neuronesb.com/article/neuron-esb-rabbit-mq-
connector/
Adapter Library
RabbitMQ Adapter
9. Introduction to Adapters
• How do you configure/use?
• Neuron ESB Explorer
• How do you manage them?
• Endpoint Health, WMI, REST
• What’s the Runtime Environment?
• Endpoint Hosts
• Client API – if using Adapter Endpoint Step in a Process
• Metadata Harvesting
• Salesforce, Dynamics AX, Dynamics CRM Web API, Dynamics CRM XRM, NetSuite, SAP
,
Marketo, Zuora, Twilio, CertainSafe, ODBC, ServiceNow
Using Adapters
10. • Makes adapters available to be used as
endpoints
• Adapters auto register with the Neuron
ESB Explorer. There is not longer a need
to manually register the adapter unless
they are WCF Line of Business adapters
• All Adapter assemblies
located:
• “<Install_Directory> Neuron ESB
v3<instance name>Adapters”
Introduction to Adapters
Adapter Registration
11. • Connections -> Adapter Endpoints
• General Tab:
• Defaults to “Default” Adapter Policy
• Must select a “Party ID” i.e.
Publisher/Subscriber
• Select Adapter
• Select Adapter Mode
• Properties Tab:
• Only available once “Adapter” has been
selected
• Controls all design time properties of
adapter
• Specific to the type of adapter
Introduction to Adapters
Adapter Endpoints
12. • Can be configured as part of messaging
or to be used only in a business process
• Being used only in a business process
means that the adapter will never
receive messages from the bus but
rather directly from a business process
• Use when you wish to use the adapter
as part of business process functionality
but do not require it to receive
messages from the bus.
Introduction to Adapters
Adapter Endpoints : Subscribe Mode Adapters
13. Creating and Registering Adapters : Demo
Purpose:
To familiarize users with adapter registration and creation in the Neuron ESB Explorer.
Objectives:
• Acquaint users with the following aspects of adapters
• Type
• Mode
• Hosting
• Properties
• Create a new instance of a registered adapter
14. • Hosted in the application for which they are
the publisher
• Installed using the appropriate setup
program located in the /Plugins folder of the
Neuron instance directory
• Types of event-based adapters
• CRM Online Neuron Publication
• Dynamics CRM Neuron Publication
• SharePoint Neuron Publication
• Salesforce
• Can be configured to receive outbound events
from Salesforce
Introduction to Adapters
Event Based Adapters
15. • Used when there is a need to send messages into other systems in
response to events occurring inside Dynamics CRM
• Integrates into the Dynamics CRM Workflow (CRM WF) as a
workflow step
• Two top-level options:
1. Topics: A Neuron Party is used to publish the Entity to Neuron using a
Multicast Semantic. This means you will have full access to Neuron
Processes, Connectors, and Adapters etc., when choosing this option
2. Services: Uses a WCF proxy to communicate directly to the target
service
• Both options can leverage the built-in ability of CRM WF to resume
or be restarted in the case of error so that if for some reason either
the target web service or Neuron ESB itself is offline the update will
not be lost.
Introduction to Adapters
Dynamics CRM Publishing Adapter
16. • Allows the user to publish events to Neuron
ESB in real-time from Microsoft SharePoint
Server Lists or Libraries.
• Publication-only adapter which sends
messages one-way from SharePoint to
Neuron ESB
• Has the following features
• Publish from Lists
• Publish from Libraries
• Publish on Multiple Types of Events
• Include Attachments
Introduction to Adapters
SharePoint Publishing Adapter
17. • Browse entities/objects exposed by target
system
• Generate XSD schemas and/or sample XML
or JSON messages
• Used to make some adapters easier to use
for developers
• Metadata provides information about the
data contained in the message and can be
used for routing and filtering of messages by
Neuron ESB
Introduction to Adapters
Metadata Harvesting
18. • Adapters that connect using Windows
credentials by default will use whatever
credentials are assigned to the runtime
(esbservice or endpoint host)
• You can configure a “Run As” account for the
adapter endpoint to use to connect
• Use when you want the adapter to run under
different credentials than what Neuron ESB is
currently running under
• Uses pre-defined credentials created in the
Security store of the Neuron ESB Explorer
• The esbservice / endpoint host account
requires impersonation/delegation rights in
Active Directory
Introduction to Adapters
“Run As”
19. Introduction to Adapters
Review
• Neuron ESB Adapters bridge external protocols and data formats to facilitate integration of
applications
• WCF adapters are registered in the Neuron ESB Explorer before an adapter endpoint of that
adapter type can be created
• Neuron ESB ships with a Dynamics CRM and a SharePoint event based adapter
• Metadata Harvesting provides the ability to browse entities and create schemas and messages
based on them
• Adapters support “Run As” allowing adapters to run under different credentials than the Neuron
ESB runtime.
Editor's Notes
The goals of this lesson are to provide users with an understanding of adapters in Neuron ESB; what are they and what role do they play in a Neuron ESB solution, as well as how to create, configure and register them.
To facilitate our goals this lesson has been broken down into five sections to make the information presented easier to understand. The sections we will be covering are
Adapter Library
Adapter Endpoints
Event Based Adapters
Metadata Harvesting
Run As
An adapter is a driver program that enables Neuron ESB to interact with a new kind of endpoint, such as a legacy system, proprietary system, or line of business application. Adapters are used to bridge external protocols, databases, applications and transports. They support metadata and in some cases transactions. Adapters are built in .NET and compiled into .NET assemblies and placed in the adapters folder of the Neuron ESB solution. They can run under the credentials of the Neuron ESB runtime or under their own unique credentials using the Run As property.
Neuron ESB ships with a number of built-in adapters which help users integrate a variety of different platforms and systems. This slide provides you a quick overview of all the adapters that are shipped with Neuron ESB out of the box. We will be taking a look at some of these adapters in this presentation, and conduct a more thorough investigation of others in the Using adapters and mediation to integrate Systems presentation.
Let us take a look at some of the most commonly used adapters, from a very high level, in order to get a better understanding of how an adapter can be used inside a Neuron ESB solution.
The FTP Adapter enables users to integrate FTP servers into Neuron ESB quickly and easily. The FTP adapter supports both publish and subscribe modes, so it is capable of retrieving files from an FTP server as well as placing files on to the FTP server. It supports both Explicit SSL as well as Implicit SSL and allows for certificates to be used for security as well.
The ODBC adapter enables users to connect to ODBC data sources. The ODBC adapter supports Execute and Query, which both use statement commands inside of a message to control execution, Batch, which allows for a configurable record amount, and publish modes, which allow you to execute stored procedure, command text and table direct queries against the data source. The ODBC adapter supports SQL injection for those times that it is used against a SQL database.
The Microsoft exchange adapter enables users to connect to either and Exchange server or Exchange online in order to retrieve emails from an mail box and publish it as messages to the bus. It does not support subscribe mode, so you cannot use it to push messages to an Exchange mailbox.
The Dynamics CRM Web API adapter enables users to connect to on premises, IFD or Online CRM setups in order to push messages from the bus to the CRM instance. This adapter does not support publish mode so you cannot retrieve data from CRM and push it to the bus, however Neuron does provide a CRM plugin that allows for this functionality, which we discuss later in this presentation. The CRM Web API adapter offers support for OAuth when using IFD or online setups.
The Salesforce adapter enables users to connect to an instance of Salesforce in order to retrieve data from, or push data to Salesforce. It supports both OAuth and username / password authentication, and even provides support for routing of different outbound message types to different topics.
The RabbitMQ adapter enables users to connect to a RabbitMQ server in order to retrieve messages from or push messages to RabbitMQ. It provides support for SSL connections as well as various configurable properties in both publish and subscribe mode, such as auto acknowledge in publish mode and delivery mode in subscribe.
Adapters are configured and implements via the Neuron ESB Explorer (two topics that we will discuss a bit later in this presentation). They are managed via Endpoint Health, WMI and REST (which is covered in detail in the Monitoring Neuron ESB presentation. Depending on how they are implemented their runtime environment is either going to be a Neuron ESB endpoint host or an application using the Neuron ESB Client API. Some of the adapters that come shipped with Neuron support metadata harvesting (which we will discuss a bit later in this presentation) to allow for application specific information to be passed along with the message.
In previous versions of Neuron ESB it was required to manually register an adapter with the Neuron ESB Explorer in order to use it inside of a solution. With 3.6 this is no longer necessary. Adapters now auto-register themselves with the Neuron ESB Explorer, unless they are WCF line of business adapters which still need to be manually registered. All adapters are located in the <install directory>\Neuron ESB v_3\<instance name>\Adapters (https://www.neuronesb.com/neuron/Help3/Development/Developing_Neuron_Applications/Connecting_to_External_Systems/Adapters/Registering_an_Adapter.htm)
To create a new adapter you need to first navigate to Connections -> Adapter Endpoints and then click the New button. This will bring up the adapter endpoint pane in which you will see two tabs, general and properties.
The general tab contains various options that describe the adapter such as the name of the adapter, the type of adapter that you are creating, the mode in which the adapter should operate, whether or not to use a specific set of credentials for the adapter to run under, and the endpoint host that will be hosting the adapter. You will also find an option for Messaging, which we will discuss in the next slide.
The properties tab will remain blank until an adapter type has been selected on the general tab. However, once that is done the properties tab will populate with all the properties specific to that adapter, which you can then fill in appropriately.
Adapters that are set to subscribe mode can either be used in the messaging system (publish/subscribe) or only as part of a business process. Being used only in a business process means that the adapter will never receive messages from the bus but rather directly from a business process. This should be used when you wish to use the adapter as part of business process functionality but do not require it to receive messages from the bus.
This is where who the host of the adapter is comes into play. If the adapter is part of the messaging system, then the selected endpoint host will be the host of the adapter. However if the adapter is not part of the messaging system then it comes down to who is hosting the business process from which the adapter is being called, as that will be who hosts the adapter. For example an application running the Neuron Client API hosts the Orders party which in turn host a business process that calls a subscribe mode adapter. The host for that adapter would be the .NET application. This is important to understand as you will need to take this into consideration should there be any security concerns that need to be addressed in regards to permissions for the .NET application’s credentials.
Along with the normal adapters that we have discussed, Neuron ESB ships with a couple of Event based adapters which are hosted in the application for which they are a publisher. These adapters are installed to their respective applications using the appropriate setup program located in the Plugins folder of the Neuron ESB instance directory.
The event-based adapters are
CRM Online Neuron Publication
Dynamics CRM Neuron Publication
SharePoint Neuron Publication
Salesforce
The Dynamics CRM Publishing adapter is used when there is a need to send messages into other systems in response to events occurring inside Dynamics CRM. Installing the plugin integrates it into the Dynamics CRM Workflow (CRM WF) as a workflow step and provides you with two top-level options:
Topics: A Neuron Party is used to publish the Entity to Neuron using a Multicast Semantic. This means you will have full access to Neuron Processes, Connectors, and Adapters etc., when choosing this option
Services: Uses a WCF proxy to communicate directly to the target service
Both options can leverage the built-in ability of CRM WF to resume or be restarted in the case of error so that if for some reason either the target web service or Neuron ESB itself is offline the update will not be lost.
The SharePoint publishing adapter allows users to publish events from Microsoft SharePoint libraries to Neuron ESB in real time. This plugin allows you to publish from Lists and Libraries on many different event types, such as insert, delete or update, as well as include any attachments associated with the file in SharePoint.
Metadata harvesting allows you to browse the entities and object exposed via the adapter by the target system. This requires that you already have an adapter of the type you are trying to harvest created. The metadata gather from the target system provides information about the data contained in the message, which can be used for routing and filtering of messages by Neuron ESB, as well as allows you to generate XSD schemas and/or sample XML or JSON messages around the operation.
As we mentioned earlier the credentials under which an adapter will run is defined by who is hosting that adapter endpoint. However, should you wish the adapter to run under a specific set of credentials you can achieve this using the Run AS property on the general tab of the adapter endpoint. Run As uses pre-defined credentials, created in the Security Repository of the Neuron ESB Explorer (which is covered in detail in the Operational Security presentation). Remember the example we discussed in which an adapter was being hosted by an application using the Neuron ESB Client API? Well if you did not want that adapter to use the applications credentials, as they did not have the proper permissions, and did not want to give the application’s credentials the needed permissions, you could use run as to assign the adapter credentials with the necessary permission to perform its operations.