SlideShare a Scribd company logo
1 of 18
Building Custom Adapters
• Understand how to build custom adapters using the Adapter Framework
• Understand how to use custom adapters inside a Neuron ESB solution
Goals
Building Custom Adapters
• Adapter Framework
• Creating custom metadata
• Building a custom adapter
• Integrating custom adapters into the Neuron Explorer
• Debugging adapters at both design-time and run-time
Lesson Plan
Building Custom Adapters
The Neuron ESB adapter framework is a Visual Studio project, that provides a template for building adapters to be
leveraged inside of the Neuron ESB Explorer
Solution:
• ESB-Name-Adapter
• Classes
• Adapter.cs
• Inherits from ESBAdapterBase
• Contains base method overrides
• Framework helper code
• CertificateConverter.cs
• Used by a sample property to show how to perform type conversion
• Sample demonstrates how to access design time Neuron ESB Configuration
• NameAdapter.cs
• The class you edit when creating a new adapter; contains methods and properties to support the UI property grid and adapter functionality.
Adapter Framework Architecture
Two existing constants:
• MetadataPrefix
• Used within the Neuron ESB Explorer to
identify properties specific to the
adapter
• Properties registered with this prefix in
the adapters constructor will appear in
the Set Property process step
• AdapterName
• Defines the “user friendly” name that
will appear in the Adapter Registration
screen
Building Custom Adapters
Adapter Framework Architecture : Constants and Types
• Defined properties are visible on the property
grid at design-time
• Properties can be set to either be hidden or
visible based on the values of other
properties
• Type convertors can be used for defined
properties
• Defined properties are displayed in the
Bindings Dialog, but can be declared as not
bindable, if desired
Building Custom Adapters
Adapter Framework Architecture : Properties
• Define modes your adapter will support
• Subscriber
• Publisher
• RequestReply
• SolicitResponse
• Define the ESBAdapterCapabilities
• AdapterName
• MetadataPrefix
• MetadataFieldInfo
• Any properties registered in the
constructor will appear in the Set
Property process step
Building Custom Adapters
Adapter Framework Architecture : Constructor
These methods are called from within base
adapter class methods:
ConnectAdapter
Validation logic and initialization of resources used by
custom adapter
DisconnectResources
Clean up all resources used by custom adapter
SendToDataSource
Called when adapter is in any subscriber based mode
(Subscribe, Solicit Response etc..)
ReceiveFromDataSource
Called when adapter is in any publisher based mode
(Publish, RequestReply etc..)
InitializeRequestReplyListener
Setup of the reply listener as well as handling the retrieval
of data, as well as creating the ESB reply message
Building Custom Adapters
Adapter Framework Architecture : Base Methods
These methods are used in the various subscribe
based modes (Subscriber, Query, SolicitResponse
etc)
SendToDataSource
One way send to a back end system, protocol,
transport etc (Subscribe)
QueryDataSource
Used in a Query or SolicitResponse mode to
query information from the a back end system
and publish the resulting data retrieval to the Bus
Building Custom Adapters
Adapter Framework Architecture : Send Methods
• These methods are used in the various
publisher based modes (Publish,
RequestReply etc)
• PublishMessageFromSource
• Implement logic to reach out to data
source and then publish the resulting
data to the Bus
Building Custom Adapters
Adapter Framework Architecture : Publish Methods
• Custom Metadata can be added to an
ESBMessage using the IncludeMetadata
property, which is configured on the
General tab of an adapter endpoint in
the Neuron ESB Explorer
• Custom Metadata are provided with
every message sent or received from
Neuron ESB
• Metadata is added to a message using
the following syntax
• MessageProperties.Add(new
NameValuePair(“PropertyName",
PropertyValue));
Building Custom Adapters
Adapter Framework Architecture : Custom Metadata
• Compile into .NET assembly
• Copy to Adapters folder:
<install directory>Neuron ESB
v3<instance name>Adapters
• Ensure dependencies are installed in
Adapters folder or Neuron install folder
Building Custom Adapters
Register with the Neuron ESB Explorer
Building Custom Adapters : Demo
Purpose
Familiarize users with the Neuron ESB Adapter Framework
Objectives
Acquaint users with following aspects custom adapters
• How to build a custom adapter
• How to integrate and deploy custom adapters
Building Custom Adapters
Design Time
• Attach debugger to neuronexplorer.exe from visual
studio
• Supports debugging of the adapter as well as the
property grid
Debugging Custom Adapters
Image will be added when demo video is created as
I will have access to exact pictures used in the demo
Building Custom Adapters
Run time
• Attach the debugger to the <endpoint host>.exe of
the endpoint host that is hosting the adapter or hosting
the business process that the adapter is being called
from
• Attach the debugger to <endpoint host>.exe that is
hosting the workflow endpoint in order to debug the
adapter workflow activity
Debugging Custom Adapters
Image will be added when demo video is created as
I will have access to exact pictures used in the demo
Debugging Custom Adapters : Demo
Purpose
Familiarize users with how to debug custom adapters
Objectives
• Debug custom adapters using Visual Studio
Building Custom Adapters : Lab
Purpose
To acquaint users with building a custom adapter and registering it with Neuron ESB
Objectives
• Use the Adapter Framework to build a custom adapter
• Copy the custom adapter DLL to Neuron’s Directories
Building Custom Adapters
Review
• Custom adapters are used to integrate third party systems for which Neuron ESB does not come
with a pre-built adapter.
• Custom adapters are created using the Adapter Framework
• The modes the adapter is capable of running in is configurable
• SendToDataSource is the base method used by a Subscribe mode adapter
• ReceiveFromDataSource is the base method used by a Publish mode adapter
• Custom adapters are registered with the Neuron ESB Explorer by copying the compiled DLL into
the adapters directory

More Related Content

What's hot

Explicit Dedication of Resources in CloudStack
Explicit Dedication of Resources in CloudStackExplicit Dedication of Resources in CloudStack
Explicit Dedication of Resources in CloudStack
Saksham Srivastava
 
More Best Practices With Share Point Solutions
More Best Practices With Share Point SolutionsMore Best Practices With Share Point Solutions
More Best Practices With Share Point Solutions
Alexander Meijers
 

What's hot (20)

Introduction to android - SpringPeople
Introduction to android - SpringPeopleIntroduction to android - SpringPeople
Introduction to android - SpringPeople
 
Aem offline content
Aem offline contentAem offline content
Aem offline content
 
Using Adapters and Mediation to Integrate Systems 3.7
Using Adapters and Mediation to Integrate Systems 3.7Using Adapters and Mediation to Integrate Systems 3.7
Using Adapters and Mediation to Integrate Systems 3.7
 
Mule dataweave
Mule dataweaveMule dataweave
Mule dataweave
 
Introduction to Puppet - SpringPeople
Introduction to Puppet - SpringPeopleIntroduction to Puppet - SpringPeople
Introduction to Puppet - SpringPeople
 
Winter '19 release development.ppt
Winter '19 release development.pptWinter '19 release development.ppt
Winter '19 release development.ppt
 
Explicit Dedication of Resources in CloudStack
Explicit Dedication of Resources in CloudStackExplicit Dedication of Resources in CloudStack
Explicit Dedication of Resources in CloudStack
 
Apache Curator: Past, Present and Future
Apache Curator: Past, Present and FutureApache Curator: Past, Present and Future
Apache Curator: Past, Present and Future
 
Cloud hub and mule
Cloud hub and muleCloud hub and mule
Cloud hub and mule
 
More Best Practices With Share Point Solutions
More Best Practices With Share Point SolutionsMore Best Practices With Share Point Solutions
More Best Practices With Share Point Solutions
 
DevOps with Elastic Beanstalk - TCCC-2014
DevOps with Elastic Beanstalk - TCCC-2014DevOps with Elastic Beanstalk - TCCC-2014
DevOps with Elastic Beanstalk - TCCC-2014
 
ASP.NET Core Demos
ASP.NET Core DemosASP.NET Core Demos
ASP.NET Core Demos
 
Mule integration-application
Mule integration-applicationMule integration-application
Mule integration-application
 
Share point 2013 and sql server 2012 what to choose
Share point 2013 and sql server 2012   what to chooseShare point 2013 and sql server 2012   what to choose
Share point 2013 and sql server 2012 what to choose
 
ASP.NET Core Demos Part 2
ASP.NET Core Demos Part 2ASP.NET Core Demos Part 2
ASP.NET Core Demos Part 2
 
A quick introduction to Strapi CMS
A quick introduction to Strapi CMSA quick introduction to Strapi CMS
A quick introduction to Strapi CMS
 
Operational Security 3.7
Operational Security 3.7Operational Security 3.7
Operational Security 3.7
 
Personalization in webcenter portal
Personalization in webcenter portalPersonalization in webcenter portal
Personalization in webcenter portal
 
08 express introduction
08 express introduction08 express introduction
08 express introduction
 
Enterprise java unit-2_chapter-1
Enterprise  java unit-2_chapter-1Enterprise  java unit-2_chapter-1
Enterprise java unit-2_chapter-1
 

Similar to Building Custom Adapters 3.7

Module 14 Building Custom Adapters Connectors
Module 14 Building Custom Adapters ConnectorsModule 14 Building Custom Adapters Connectors
Module 14 Building Custom Adapters Connectors
Courtney Doeing
 
Module 22 Deployment Configuration
Module 22 Deployment ConfigurationModule 22 Deployment Configuration
Module 22 Deployment Configuration
Courtney Doeing
 
Managing Docker & ECS Based Applications with AWS Elastic Beanstalk - DevDay ...
Managing Docker & ECS Based Applications with AWS Elastic Beanstalk - DevDay ...Managing Docker & ECS Based Applications with AWS Elastic Beanstalk - DevDay ...
Managing Docker & ECS Based Applications with AWS Elastic Beanstalk - DevDay ...
Amazon Web Services
 

Similar to Building Custom Adapters 3.7 (20)

Module 14 Building Custom Adapters Connectors
Module 14 Building Custom Adapters ConnectorsModule 14 Building Custom Adapters Connectors
Module 14 Building Custom Adapters Connectors
 
Deployment and Configuration 3.7
Deployment and Configuration 3.7Deployment and Configuration 3.7
Deployment and Configuration 3.7
 
Introduction to Neuron ESB 3.7
Introduction to Neuron ESB 3.7Introduction to Neuron ESB 3.7
Introduction to Neuron ESB 3.7
 
SpringOne Tour: An Introduction to Azure Spring Apps Enterprise
SpringOne Tour: An Introduction to Azure Spring Apps EnterpriseSpringOne Tour: An Introduction to Azure Spring Apps Enterprise
SpringOne Tour: An Introduction to Azure Spring Apps Enterprise
 
Innovations in Sencha Tooling and Framework
Innovations in Sencha Tooling and FrameworkInnovations in Sencha Tooling and Framework
Innovations in Sencha Tooling and Framework
 
Ember - introduction
Ember - introductionEmber - introduction
Ember - introduction
 
Module 22 Deployment Configuration
Module 22 Deployment ConfigurationModule 22 Deployment Configuration
Module 22 Deployment Configuration
 
Go…Running Kentico CMS on Windows Azure
Go…Running Kentico CMS on Windows AzureGo…Running Kentico CMS on Windows Azure
Go…Running Kentico CMS on Windows Azure
 
Asp.Net Core MVC , Razor page , Entity Framework Core
Asp.Net Core MVC , Razor page , Entity Framework CoreAsp.Net Core MVC , Razor page , Entity Framework Core
Asp.Net Core MVC , Razor page , Entity Framework Core
 
Ember.js: Jump Start
Ember.js: Jump Start Ember.js: Jump Start
Ember.js: Jump Start
 
NServiceBus
NServiceBusNServiceBus
NServiceBus
 
(ATS4-DEV07) How to Build a Custom Search Panel for Symyx Notebook
(ATS4-DEV07) How to Build a Custom Search Panel for Symyx Notebook(ATS4-DEV07) How to Build a Custom Search Panel for Symyx Notebook
(ATS4-DEV07) How to Build a Custom Search Panel for Symyx Notebook
 
.NET Core, ASP.NET Core Course, Session 8
.NET Core, ASP.NET Core Course, Session 8.NET Core, ASP.NET Core Course, Session 8
.NET Core, ASP.NET Core Course, Session 8
 
Web Sphere Administration guide – Packaging and Deploying Jee Applications
Web Sphere Administration guide – Packaging and Deploying Jee ApplicationsWeb Sphere Administration guide – Packaging and Deploying Jee Applications
Web Sphere Administration guide – Packaging and Deploying Jee Applications
 
Unit4wt
Unit4wtUnit4wt
Unit4wt
 
04_Azure Kubernetes Service: Basic Practices for Developers_GAB2019
04_Azure Kubernetes Service: Basic Practices for Developers_GAB201904_Azure Kubernetes Service: Basic Practices for Developers_GAB2019
04_Azure Kubernetes Service: Basic Practices for Developers_GAB2019
 
OroCRM Partner Technical Training: September 2015
OroCRM Partner Technical Training: September 2015OroCRM Partner Technical Training: September 2015
OroCRM Partner Technical Training: September 2015
 
Managing Docker & ECS Based Applications with AWS Elastic Beanstalk - DevDay ...
Managing Docker & ECS Based Applications with AWS Elastic Beanstalk - DevDay ...Managing Docker & ECS Based Applications with AWS Elastic Beanstalk - DevDay ...
Managing Docker & ECS Based Applications with AWS Elastic Beanstalk - DevDay ...
 
Software design with Domain-driven design
Software design with Domain-driven design Software design with Domain-driven design
Software design with Domain-driven design
 
Unit4wt
Unit4wtUnit4wt
Unit4wt
 

More from StephenKardian

More from StephenKardian (20)

Tracing, Logging and Troubleshooting 3.7
Tracing, Logging and Troubleshooting 3.7Tracing, Logging and Troubleshooting 3.7
Tracing, Logging and Troubleshooting 3.7
 
Workflow Hosting and Tracking 3.7
Workflow Hosting and Tracking 3.7Workflow Hosting and Tracking 3.7
Workflow Hosting and Tracking 3.7
 
Workflow Patterns and Correlation 3.7
Workflow Patterns and Correlation 3.7Workflow Patterns and Correlation 3.7
Workflow Patterns and Correlation 3.7
 
Build, Test and Extend Integrated Workflows 3.7
Build, Test and Extend Integrated Workflows 3.7Build, Test and Extend Integrated Workflows 3.7
Build, Test and Extend Integrated Workflows 3.7
 
Introduction to Long Running Workflows 3.7
Introduction to Long Running Workflows 3.7Introduction to Long Running Workflows 3.7
Introduction to Long Running Workflows 3.7
 
Monitoring Neuron ESB 3.7
Monitoring Neuron ESB 3.7Monitoring Neuron ESB 3.7
Monitoring Neuron ESB 3.7
 
Web Security 3.7
Web Security 3.7Web Security 3.7
Web Security 3.7
 
Developing and Hosting SOAP Based Services
Developing and Hosting SOAP Based ServicesDeveloping and Hosting SOAP Based Services
Developing and Hosting SOAP Based Services
 
Developing and Hosting REST APIs 3.7
Developing and Hosting REST APIs 3.7Developing and Hosting REST APIs 3.7
Developing and Hosting REST APIs 3.7
 
Introduction to API and Service Hosting 3.7
Introduction to API and Service Hosting 3.7Introduction to API and Service Hosting 3.7
Introduction to API and Service Hosting 3.7
 
Extending Business Processes 3.7
Extending Business Processes 3.7Extending Business Processes 3.7
Extending Business Processes 3.7
 
Building Complex Business Processes 3.7
Building Complex Business Processes 3.7Building Complex Business Processes 3.7
Building Complex Business Processes 3.7
 
Introduction to Business Processes 3.7
Introduction to Business Processes 3.7Introduction to Business Processes 3.7
Introduction to Business Processes 3.7
 
Repository 3.7
Repository 3.7Repository 3.7
Repository 3.7
 
`Neuron ESB Client API 3.7
`Neuron ESB Client API 3.7`Neuron ESB Client API 3.7
`Neuron ESB Client API 3.7
 
Introduction to Messaging 3.7
Introduction to Messaging 3.7Introduction to Messaging 3.7
Introduction to Messaging 3.7
 
ESB Fundamentals 3.7
ESB Fundamentals 3.7ESB Fundamentals 3.7
ESB Fundamentals 3.7
 
02 introduction to neuron esb
02   introduction to neuron esb02   introduction to neuron esb
02 introduction to neuron esb
 
01 esb fundamentals
01   esb fundamentals01   esb fundamentals
01 esb fundamentals
 
12 web security
12  web security12  web security
12 web security
 

Recently uploaded

Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
kauryashika82
 
Making and Justifying Mathematical Decisions.pdf
Making and Justifying Mathematical Decisions.pdfMaking and Justifying Mathematical Decisions.pdf
Making and Justifying Mathematical Decisions.pdf
Chris Hunter
 

Recently uploaded (20)

Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docx
 
Class 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfClass 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdf
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.
 
Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibit
 
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17  How to Extend Models Using Mixin ClassesMixin Classes in Odoo 17  How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and Mode
 
Unit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxUnit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptx
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan Fellows
 
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptxINDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.ppt
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy Consulting
 
General Principles of Intellectual Property: Concepts of Intellectual Proper...
General Principles of Intellectual Property: Concepts of Intellectual  Proper...General Principles of Intellectual Property: Concepts of Intellectual  Proper...
General Principles of Intellectual Property: Concepts of Intellectual Proper...
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdf
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
Making and Justifying Mathematical Decisions.pdf
Making and Justifying Mathematical Decisions.pdfMaking and Justifying Mathematical Decisions.pdf
Making and Justifying Mathematical Decisions.pdf
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
Unit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptxUnit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptx
 

Building Custom Adapters 3.7

  • 1.
  • 2. Building Custom Adapters • Understand how to build custom adapters using the Adapter Framework • Understand how to use custom adapters inside a Neuron ESB solution Goals
  • 3. Building Custom Adapters • Adapter Framework • Creating custom metadata • Building a custom adapter • Integrating custom adapters into the Neuron Explorer • Debugging adapters at both design-time and run-time Lesson Plan
  • 4. Building Custom Adapters The Neuron ESB adapter framework is a Visual Studio project, that provides a template for building adapters to be leveraged inside of the Neuron ESB Explorer Solution: • ESB-Name-Adapter • Classes • Adapter.cs • Inherits from ESBAdapterBase • Contains base method overrides • Framework helper code • CertificateConverter.cs • Used by a sample property to show how to perform type conversion • Sample demonstrates how to access design time Neuron ESB Configuration • NameAdapter.cs • The class you edit when creating a new adapter; contains methods and properties to support the UI property grid and adapter functionality. Adapter Framework Architecture
  • 5. Two existing constants: • MetadataPrefix • Used within the Neuron ESB Explorer to identify properties specific to the adapter • Properties registered with this prefix in the adapters constructor will appear in the Set Property process step • AdapterName • Defines the “user friendly” name that will appear in the Adapter Registration screen Building Custom Adapters Adapter Framework Architecture : Constants and Types
  • 6. • Defined properties are visible on the property grid at design-time • Properties can be set to either be hidden or visible based on the values of other properties • Type convertors can be used for defined properties • Defined properties are displayed in the Bindings Dialog, but can be declared as not bindable, if desired Building Custom Adapters Adapter Framework Architecture : Properties
  • 7. • Define modes your adapter will support • Subscriber • Publisher • RequestReply • SolicitResponse • Define the ESBAdapterCapabilities • AdapterName • MetadataPrefix • MetadataFieldInfo • Any properties registered in the constructor will appear in the Set Property process step Building Custom Adapters Adapter Framework Architecture : Constructor
  • 8. These methods are called from within base adapter class methods: ConnectAdapter Validation logic and initialization of resources used by custom adapter DisconnectResources Clean up all resources used by custom adapter SendToDataSource Called when adapter is in any subscriber based mode (Subscribe, Solicit Response etc..) ReceiveFromDataSource Called when adapter is in any publisher based mode (Publish, RequestReply etc..) InitializeRequestReplyListener Setup of the reply listener as well as handling the retrieval of data, as well as creating the ESB reply message Building Custom Adapters Adapter Framework Architecture : Base Methods
  • 9. These methods are used in the various subscribe based modes (Subscriber, Query, SolicitResponse etc) SendToDataSource One way send to a back end system, protocol, transport etc (Subscribe) QueryDataSource Used in a Query or SolicitResponse mode to query information from the a back end system and publish the resulting data retrieval to the Bus Building Custom Adapters Adapter Framework Architecture : Send Methods
  • 10. • These methods are used in the various publisher based modes (Publish, RequestReply etc) • PublishMessageFromSource • Implement logic to reach out to data source and then publish the resulting data to the Bus Building Custom Adapters Adapter Framework Architecture : Publish Methods
  • 11. • Custom Metadata can be added to an ESBMessage using the IncludeMetadata property, which is configured on the General tab of an adapter endpoint in the Neuron ESB Explorer • Custom Metadata are provided with every message sent or received from Neuron ESB • Metadata is added to a message using the following syntax • MessageProperties.Add(new NameValuePair(“PropertyName", PropertyValue)); Building Custom Adapters Adapter Framework Architecture : Custom Metadata
  • 12. • Compile into .NET assembly • Copy to Adapters folder: <install directory>Neuron ESB v3<instance name>Adapters • Ensure dependencies are installed in Adapters folder or Neuron install folder Building Custom Adapters Register with the Neuron ESB Explorer
  • 13. Building Custom Adapters : Demo Purpose Familiarize users with the Neuron ESB Adapter Framework Objectives Acquaint users with following aspects custom adapters • How to build a custom adapter • How to integrate and deploy custom adapters
  • 14. Building Custom Adapters Design Time • Attach debugger to neuronexplorer.exe from visual studio • Supports debugging of the adapter as well as the property grid Debugging Custom Adapters Image will be added when demo video is created as I will have access to exact pictures used in the demo
  • 15. Building Custom Adapters Run time • Attach the debugger to the <endpoint host>.exe of the endpoint host that is hosting the adapter or hosting the business process that the adapter is being called from • Attach the debugger to <endpoint host>.exe that is hosting the workflow endpoint in order to debug the adapter workflow activity Debugging Custom Adapters Image will be added when demo video is created as I will have access to exact pictures used in the demo
  • 16. Debugging Custom Adapters : Demo Purpose Familiarize users with how to debug custom adapters Objectives • Debug custom adapters using Visual Studio
  • 17. Building Custom Adapters : Lab Purpose To acquaint users with building a custom adapter and registering it with Neuron ESB Objectives • Use the Adapter Framework to build a custom adapter • Copy the custom adapter DLL to Neuron’s Directories
  • 18. Building Custom Adapters Review • Custom adapters are used to integrate third party systems for which Neuron ESB does not come with a pre-built adapter. • Custom adapters are created using the Adapter Framework • The modes the adapter is capable of running in is configurable • SendToDataSource is the base method used by a Subscribe mode adapter • ReceiveFromDataSource is the base method used by a Publish mode adapter • Custom adapters are registered with the Neuron ESB Explorer by copying the compiled DLL into the adapters directory

Editor's Notes

  1. The goals of this lesson are to familiarize users with how to build custom adapters using the Neuron ESB adapter framework, and how to use those custom adapters inside of a Neuron ESB solution.
  2. This lesson has been broken into five sections to make the information presented easier to understand. The sections we will be covering are Adapter Framework Creating custom metadata Building a custom adapter Integrating custom adapters into the Neuron Explorer Debugging adapters at both design-time and run-time
  3. The Neuron ESB adapter framework is a Visual Studio project, that provides a template for building adapters to be leveraged inside of the Neuron ESB Explorer. The solution for the Adapter Framework Project is divided into two parts ESB-Name-Adapter Classes Adapter.cs Inherits from ESBAdapterBase Contains base method overrides Framework helper code CertificateConverter.cs Used by a sample property to show how to perform type conversion Sample demonstrates how to access design time Neuron ESB Configuration NameAdapter.cs The class you edit when creating a new adapter; contains methods and properties to support the UI property grid and adapter functionality.
  4. There are two existing constants in the NameAdapter class MetadataPrefix Used within the Neuron ESB Explorer to identify properties specific to the adapter. Properties registered with this prefix in the adapters constructor will appear in the Set Property process step AdapterName Defines the “user friendly” name that will appear in the Adapter Registration screen
  5. Public properties defined in the NameAdapter class are visible on the property grid at design-time Properties can be set to either be hidden or visible based on the values of other properties Type convertors can be used for defined properties Defined properties are displayed in the Bindings Dialog, but can be declared as not bindable, if desired
  6. In the constructor of the NameAdapter class you will find the AdapterModes. If you are not going use some of the modes, it is recommended to comment them out, so that they can be reinstated at a different time should you wish to extend the abilities of your adapter. You will also find the ESBAdapterCapabilities to which the adapter name, metadata prefix and metadata field info is added. Any properties registered with the capabilities in the constructor will appear in the Set Property process step
  7. The NameAdapter class also contains the methods for interacting with Neuron ESB. ConnectAdapter Validation logic and initialization of resources used by custom adapter DisconnectResources Clean up all resources used by custom adapter SendToDataSource Called when adapter is in any subscriber based mode (Subscribe, Solicit Response etc..) ReceiveFromDataSource Called when adapter is in any publisher based mode (Publish, RequestReply etc..) InitializeRequestReplyListener Setup of the reply listener as well as handling the retrieval of data, as well as creating the ESB reply message
  8. The send methods are those methods that are used in the various subscribe modes (Subscribe, Query, SolicitResponse) SendToDataSource One way send to a back end system, protocol, transport etc (Subscribe) QueryDataSource Used in a Query or SolicitResponse mode to query information from the a back end system and publish the resulting data retrieval to the Bus
  9. The publish methods are those used by the various publish modes (Publish, RequestReply) PublishMessageFromSource Implement logic to reach out to data source and then publish the resulting data to the Bus
  10. Custom Metadata can be added to an ESBMessage using the IncludeMetadata property, which is configured on the General tab of an adapter endpoint in the Neuron ESB Explorer Custom Metadata are provided with every message sent or received from Neuron ESB. Metadata is added to a message using the following syntax MessageProperties.Add(new NameValuePair(“PropertyName", PropertyValue));
  11. Once you have finished your development of your custom adapter you will need to compile it into a .NET assembly and copy that assembly to the adapters folder <install directory>\Neuron ESB v3\<instance name>\Adapters. Make sure that all dependencies for your adapter are installed in the same folder or the Neuron install directory.
  12. To debug custom adapters you need to attach the visual studio debugger to the neuronesplorer.exe. This supports the debugging of the property grid as well.
  13. To debug a custom adapter at runtime attach the debugger to the <endpoint host>.exe of the endpoint host that is hosting the adapter or hosting the business process that the adapter is being called from. If the custom adapter is being called from a workflow definition attach the debugger to <endpoint host>.exe that is hosting the workflow endpoint in order to debug the adapter workflow activity