SlideShare a Scribd company logo
1 of 14
Extending Business Processes
Extending Business Processes
• Know how to create and use, custom business process steps in Neuron ESB.
• Provide an understanding of the Neuron ESB Business API
Goals
Extending Business Processes
• Custom Business Process steps
• What is a custom process step?
• When to use a custom process step
• Custom process step API
• Registering a custom process step
• Introduction to the Business Process API
• What is the business process API?
• Executing a business process
• Creating a business process from configuration
Lesson Plan
Extending Business Processes
Custom Business Process Step
• An extension of the Neuron ESB
Business Process Designer
• Encapsulates reusable business
logic written in C#
• Compiled into a .NET assembly
• Added to the Process Step library
in the Neuron ESB Explorer
Business Process designer
• Supports property grid and drag /
drop functionality in the Business
Process Designer
Extending Business Processes
When to use Custom Business Process Steps
• When you want to encapsulate and abstract proprietary business logic for reuse in business
processes
• When properties or message content can be used to drive the behavior of business logic
• When developers should not have access to, or be able to makes changes to, business logic
Note:
• When using the Client API remotely, you must redistribute the custom process step DLL and
any dependencies along with it
Using Custom Business Process Steps
Extending Business Processes
Custom Process Step Project
• An extension of the Neuron ESB
Business Process Designer
• Encapsulates reusable business
logic written in C#
• Compiled into a .NET assembly
• Added to the Process Step library
in the Neuron ESB Explorer
Business Process designer
• Supports property grid and drag /
drop functionality in the Business
Process Designer
Extending Business Processes
Simple Custom Business Process
Only needs to inherit from CustomPipelineStep
• Must include references
• System.ComponentModel.Composition.dll
• Neuron.dll
• Neuron.Esb.dll
• System.Runtime.Serialization.dll
• Must be decorated with
• System.Runtime.Serialization.DataContractAttribute
• Neuron.Pipelines.ProcessStepAttribute
• Can optionally include a resource file (RESX)
• Access Modifier must be set to public
• Can have either 1 or 2 icons (16 x 16)
• RESX is needed to support icons
• Provides greater property grid control over “Simple”
• Has the same requirements as “Simple” with a few additions
• Additional class which inherits from StepUIElement
• Control UI experience by decorating with
[Neuron.Pipelines.StepUIElement(typeof(<class inheriting
StepUIElement>))]
• Allows dynamic adjustment of property visibility based on user input
• Supports ordering of properties
Custom Business Process Step Projects
Complex Custom Business Process
Extending Business Processes
• Registration Steps
• Custom Process Step must be registered with Neuron ESB Explorer
• Manual
• Edit neuronpipelines.config in Pipelines directory (deprecated)
• Automatic
• Use ProcessStepAttribute to define properties on class
• Copy .NET assembly to Pipelines folder
• Copy Icon to Pipelines folder
• Should be PNG, 16x16
• Name should be <class>.png
Registering Custom Business Process Steps
Custom Business Process Steps : Demo
Purpose:
Familiarize users with building and deploying a custom process step.
Objectives:
Acquaint users with the following aspects of a custom process step.
• Creating a simple business process step
• Registering the custom process step with the Neuron ESB Explorer
• Using a custom process step in a business process
Extending Business Processes
• Used to create / execute instances of processes and process steps, allowing business process to be added to unit testing
• Business process = A pipeline
• References
• Neuron.dll
• Neuron.Esb.dll
• Neuron.Pipelines.dll
• System.Configuration.dll
• Neuron.Pipelines.PipelineRuntime
• Creates an instance of PipelineInstance<ESBMessage> from a pipeline object
• Neuron.Pipelines.Pipeline<ESBMessage>
• Represents a business process
• Neuron.Pipelines.PipelineInstance<ESBMessage>
• Executes an instance of the pipeline (Business Process)
Business Process API
Extending Business Processes
• Create the Pipeline Runtime
PipelineRuntime runtime = new PipelineRuntime { DesignMode = true };
• Create an instance of the Neuron.ESB.Administrator
using (Administrator admin = AdminOffLine())
• Use the Administrator to access the Neuron ESB configuration
admin.OpenConfiguration();
• Initialize the DesignModeEsbConfigSelector for process steps
InitializeProcessStepDesignTimeConfig(admin.Configuration);
• Return Neuron.ESB.Administrator.ESBMessagePipelineStorage
processStorage = admin.GetPipelineListItemByName(processName);
• Create an instance of the ClientPipelineItem from ESBMessagePipelineStorage
ClientPipelineItem clientProcess = CreateProcessItemFromStorage(processStorage)
Executing a Business Process
Extending Business Processes
• Create an instance of the Pipeline
ClientPipelineItem clientProcess = CreateProcessItemFromStorage(processStorage);
var instance = runtime.CreateInstance(clientProcess.ThePipeline);
• Create an ESB Message
ESBMessage msg = new ESBMessage();
• Execute the process, which will return an ESBMessage;
Neuron.Esb.ESBMessage outMsg = instance.Execute(msg);
Sample can be found in the Neuron ESB Explorer Samples
Testing Processes from Visual Studio
Executing a Business Process
Extending Business Processes : Lab
Goal
In this lab, you will learn how to extend business processes, by creating a custom business process step.
Objectives
• Create a custom business process
• Register a custom business process step with the Neuron ESB Explorer
Extending Business Processes
Review
• Custom process steps can be used to encapsulate proprietary business logic
• Business logic can be parameterized via Property Grid
• Custom Process Steps work identically to built in Process Steps
• Business Processes can be executed and tested within Microsoft Visual Studio
• Business Processes are stored as XML blobs within the Neuron ESB Configuration
• The Pipeline Runtime is used to create an Instance of a Business Process
• The PipelineInstance is used to execute the Business Process
• The execution of a Business Process always returns an ESB Message

More Related Content

What's hot

Bb world2014 powerpoint_security-automation-at-blackboard_saltzman_matthew_bb
Bb world2014 powerpoint_security-automation-at-blackboard_saltzman_matthew_bbBb world2014 powerpoint_security-automation-at-blackboard_saltzman_matthew_bb
Bb world2014 powerpoint_security-automation-at-blackboard_saltzman_matthew_bb
Matthew Saltzman
 
Maturing Locately Dev Processes
Maturing Locately Dev ProcessesMaturing Locately Dev Processes
Maturing Locately Dev Processes
mpklein
 
SharePoint 2010 upgrades!
SharePoint 2010 upgrades!SharePoint 2010 upgrades!
SharePoint 2010 upgrades!
Eric VanRoy
 
WEPA - Webdriver Enhanced Platform for Automation - WEPATest
WEPA - Webdriver Enhanced Platform for Automation - WEPATestWEPA - Webdriver Enhanced Platform for Automation - WEPATest
WEPA - Webdriver Enhanced Platform for Automation - WEPATest
Freddy Vega
 

What's hot (20)

Bb world2014 powerpoint_security-automation-at-blackboard_saltzman_matthew_bb
Bb world2014 powerpoint_security-automation-at-blackboard_saltzman_matthew_bbBb world2014 powerpoint_security-automation-at-blackboard_saltzman_matthew_bb
Bb world2014 powerpoint_security-automation-at-blackboard_saltzman_matthew_bb
 
be the captain of your connections deployment
be the captain of your connections deploymentbe the captain of your connections deployment
be the captain of your connections deployment
 
Overview of chef ( Infrastructure as a Code )
Overview of chef ( Infrastructure as a Code )Overview of chef ( Infrastructure as a Code )
Overview of chef ( Infrastructure as a Code )
 
ColdFusion Fw1 (FrameWork1) introduction
ColdFusion Fw1 (FrameWork1) introductionColdFusion Fw1 (FrameWork1) introduction
ColdFusion Fw1 (FrameWork1) introduction
 
Upgrading or migrating to a higher AEM version - Planning and process
Upgrading or migrating to a higher AEM version - Planning and processUpgrading or migrating to a higher AEM version - Planning and process
Upgrading or migrating to a higher AEM version - Planning and process
 
Automate BPM applications testing in the Cloud with Jenkins, Ansible and Dock...
Automate BPM applications testing in the Cloud with Jenkins, Ansible and Dock...Automate BPM applications testing in the Cloud with Jenkins, Ansible and Dock...
Automate BPM applications testing in the Cloud with Jenkins, Ansible and Dock...
 
(ATS6-PLAT09) Deploying Applications on load balanced AEP servers for high av...
(ATS6-PLAT09) Deploying Applications on load balanced AEP servers for high av...(ATS6-PLAT09) Deploying Applications on load balanced AEP servers for high av...
(ATS6-PLAT09) Deploying Applications on load balanced AEP servers for high av...
 
Infrastructure modeling with chef
Infrastructure modeling with chefInfrastructure modeling with chef
Infrastructure modeling with chef
 
AMIS Oracle OpenWorld 2013 Review Part 3 - Fusion Middleware
AMIS Oracle OpenWorld 2013 Review Part 3 - Fusion MiddlewareAMIS Oracle OpenWorld 2013 Review Part 3 - Fusion Middleware
AMIS Oracle OpenWorld 2013 Review Part 3 - Fusion Middleware
 
Aligning to AEMs Release Cycle
Aligning to AEMs Release CycleAligning to AEMs Release Cycle
Aligning to AEMs Release Cycle
 
HCL Nomad for Admins - ENG
HCL Nomad for Admins - ENGHCL Nomad for Admins - ENG
HCL Nomad for Admins - ENG
 
Maturing Locately Dev Processes
Maturing Locately Dev ProcessesMaturing Locately Dev Processes
Maturing Locately Dev Processes
 
SharePoint 2010 upgrades!
SharePoint 2010 upgrades!SharePoint 2010 upgrades!
SharePoint 2010 upgrades!
 
Scaling SharePoint 2016 Farms with MinRole & Other Tools
Scaling SharePoint 2016 Farms with MinRole & Other ToolsScaling SharePoint 2016 Farms with MinRole & Other Tools
Scaling SharePoint 2016 Farms with MinRole & Other Tools
 
WEPA - Webdriver Enhanced Platform for Automation - WEPATest
WEPA - Webdriver Enhanced Platform for Automation - WEPATestWEPA - Webdriver Enhanced Platform for Automation - WEPATest
WEPA - Webdriver Enhanced Platform for Automation - WEPATest
 
美团点评技术沙龙08 - 分布式监控系统实践
美团点评技术沙龙08 - 分布式监控系统实践美团点评技术沙龙08 - 分布式监控系统实践
美团点评技术沙龙08 - 分布式监控系统实践
 
Hidden gems in cf2016
Hidden gems in cf2016Hidden gems in cf2016
Hidden gems in cf2016
 
Windows 2012 R2 Multi Server Management
Windows 2012 R2 Multi Server ManagementWindows 2012 R2 Multi Server Management
Windows 2012 R2 Multi Server Management
 
Aem offline content
Aem offline contentAem offline content
Aem offline content
 
AMIS UX Event 2014: Mobile ADF; From Design To Device; The Tools that make it...
AMIS UX Event 2014: Mobile ADF; From Design To Device; The Tools that make it...AMIS UX Event 2014: Mobile ADF; From Design To Device; The Tools that make it...
AMIS UX Event 2014: Mobile ADF; From Design To Device; The Tools that make it...
 

Similar to Extending Business Processes 3.7

PowerShellForDBDevelopers
PowerShellForDBDevelopersPowerShellForDBDevelopers
PowerShellForDBDevelopers
Bryan Cafferky
 
QuerySurge for DevOps
QuerySurge for DevOpsQuerySurge for DevOps
QuerySurge for DevOps
RTTS
 
ZZ BC#7 asp.net mvc practice and guideline by NineMvp
ZZ BC#7 asp.net mvc practice and guideline by NineMvpZZ BC#7 asp.net mvc practice and guideline by NineMvp
ZZ BC#7 asp.net mvc practice and guideline by NineMvp
Chalermpon Areepong
 

Similar to Extending Business Processes 3.7 (20)

Introduction to Neuron ESB 3.7
Introduction to Neuron ESB 3.7Introduction to Neuron ESB 3.7
Introduction to Neuron ESB 3.7
 
02 introduction to neuron esb
02   introduction to neuron esb02   introduction to neuron esb
02 introduction to neuron esb
 
Introduction to Business Processes 3.7
Introduction to Business Processes 3.7Introduction to Business Processes 3.7
Introduction to Business Processes 3.7
 
Ow
OwOw
Ow
 
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
 
jBPM&Drools go Enterprise - JUDCon2012
jBPM&Drools go Enterprise - JUDCon2012jBPM&Drools go Enterprise - JUDCon2012
jBPM&Drools go Enterprise - JUDCon2012
 
PowerShellForDBDevelopers
PowerShellForDBDevelopersPowerShellForDBDevelopers
PowerShellForDBDevelopers
 
Building Complex Business Processes 3.7
Building Complex Business Processes 3.7Building Complex Business Processes 3.7
Building Complex Business Processes 3.7
 
Operational Security 3.7
Operational Security 3.7Operational Security 3.7
Operational Security 3.7
 
Service Oriented Architecture [3/5] : Business Process Management using BPEL
Service Oriented Architecture [3/5] : Business Process Management using BPELService Oriented Architecture [3/5] : Business Process Management using BPEL
Service Oriented Architecture [3/5] : Business Process Management using BPEL
 
Introduction to Office Development Topics
Introduction to Office Development TopicsIntroduction to Office Development Topics
Introduction to Office Development Topics
 
QuerySurge for DevOps
QuerySurge for DevOpsQuerySurge for DevOps
QuerySurge for DevOps
 
Configuration Management in the Cloud - AWS Online Tech Talks
Configuration Management in the Cloud - AWS Online Tech TalksConfiguration Management in the Cloud - AWS Online Tech Talks
Configuration Management in the Cloud - AWS Online Tech Talks
 
Introduction to neuron ESB
Introduction to neuron ESBIntroduction to neuron ESB
Introduction to neuron ESB
 
Plantilla oracle
Plantilla oraclePlantilla oracle
Plantilla oracle
 
ZZ BC#7 asp.net mvc practice and guideline by NineMvp
ZZ BC#7 asp.net mvc practice and guideline by NineMvpZZ BC#7 asp.net mvc practice and guideline by NineMvp
ZZ BC#7 asp.net mvc practice and guideline by NineMvp
 
JBoss BPM Suite 6 Tech labs
JBoss BPM Suite 6 Tech labsJBoss BPM Suite 6 Tech labs
JBoss BPM Suite 6 Tech labs
 
Way to cloud
Way to cloudWay to cloud
Way to cloud
 
Tokyo Azure Meetup #7 - Introduction to Serverless Architectures with Azure F...
Tokyo Azure Meetup #7 - Introduction to Serverless Architectures with Azure F...Tokyo Azure Meetup #7 - Introduction to Serverless Architectures with Azure F...
Tokyo Azure Meetup #7 - Introduction to Serverless Architectures with Azure F...
 
Oracle database connection with the .net developers
Oracle database connection with the .net developersOracle database connection with the .net developers
Oracle database connection with the .net developers
 

More from StephenKardian

More from StephenKardian (19)

Deployment and Configuration 3.7
Deployment and Configuration 3.7Deployment and Configuration 3.7
Deployment and Configuration 3.7
 
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
 
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
 
Building Custom Adapters 3.7
Building Custom Adapters 3.7Building Custom Adapters 3.7
Building Custom Adapters 3.7
 
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
 
Introduction to Adapters 3.7
Introduction to Adapters 3.7Introduction to Adapters 3.7
Introduction to Adapters 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
 
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
 
01 esb fundamentals
01   esb fundamentals01   esb fundamentals
01 esb fundamentals
 
12 web security
12  web security12  web security
12 web security
 

Recently uploaded

Gardella_Mateo_IntellectualProperty.pdf.
Gardella_Mateo_IntellectualProperty.pdf.Gardella_Mateo_IntellectualProperty.pdf.
Gardella_Mateo_IntellectualProperty.pdf.
MateoGardella
 
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
 
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
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global Impact
PECB
 

Recently uploaded (20)

SECOND SEMESTER TOPIC COVERAGE SY 2023-2024 Trends, Networks, and Critical Th...
SECOND SEMESTER TOPIC COVERAGE SY 2023-2024 Trends, Networks, and Critical Th...SECOND SEMESTER TOPIC COVERAGE SY 2023-2024 Trends, Networks, and Critical Th...
SECOND SEMESTER TOPIC COVERAGE SY 2023-2024 Trends, Networks, and Critical Th...
 
Gardella_Mateo_IntellectualProperty.pdf.
Gardella_Mateo_IntellectualProperty.pdf.Gardella_Mateo_IntellectualProperty.pdf.
Gardella_Mateo_IntellectualProperty.pdf.
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across Sectors
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17
 
Making and Justifying Mathematical Decisions.pdf
Making and Justifying Mathematical Decisions.pdfMaking and Justifying Mathematical Decisions.pdf
Making and Justifying Mathematical Decisions.pdf
 
Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024
 
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
 
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global Impact
 
Advance Mobile Application Development class 07
Advance Mobile Application Development class 07Advance Mobile Application Development class 07
Advance Mobile Application Development class 07
 
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
 
Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptx
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activity
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
 
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.
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impact
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.ppt
 

Extending Business Processes 3.7

  • 2. Extending Business Processes • Know how to create and use, custom business process steps in Neuron ESB. • Provide an understanding of the Neuron ESB Business API Goals
  • 3. Extending Business Processes • Custom Business Process steps • What is a custom process step? • When to use a custom process step • Custom process step API • Registering a custom process step • Introduction to the Business Process API • What is the business process API? • Executing a business process • Creating a business process from configuration Lesson Plan
  • 4. Extending Business Processes Custom Business Process Step • An extension of the Neuron ESB Business Process Designer • Encapsulates reusable business logic written in C# • Compiled into a .NET assembly • Added to the Process Step library in the Neuron ESB Explorer Business Process designer • Supports property grid and drag / drop functionality in the Business Process Designer
  • 5. Extending Business Processes When to use Custom Business Process Steps • When you want to encapsulate and abstract proprietary business logic for reuse in business processes • When properties or message content can be used to drive the behavior of business logic • When developers should not have access to, or be able to makes changes to, business logic Note: • When using the Client API remotely, you must redistribute the custom process step DLL and any dependencies along with it Using Custom Business Process Steps
  • 6. Extending Business Processes Custom Process Step Project • An extension of the Neuron ESB Business Process Designer • Encapsulates reusable business logic written in C# • Compiled into a .NET assembly • Added to the Process Step library in the Neuron ESB Explorer Business Process designer • Supports property grid and drag / drop functionality in the Business Process Designer
  • 7. Extending Business Processes Simple Custom Business Process Only needs to inherit from CustomPipelineStep • Must include references • System.ComponentModel.Composition.dll • Neuron.dll • Neuron.Esb.dll • System.Runtime.Serialization.dll • Must be decorated with • System.Runtime.Serialization.DataContractAttribute • Neuron.Pipelines.ProcessStepAttribute • Can optionally include a resource file (RESX) • Access Modifier must be set to public • Can have either 1 or 2 icons (16 x 16) • RESX is needed to support icons • Provides greater property grid control over “Simple” • Has the same requirements as “Simple” with a few additions • Additional class which inherits from StepUIElement • Control UI experience by decorating with [Neuron.Pipelines.StepUIElement(typeof(<class inheriting StepUIElement>))] • Allows dynamic adjustment of property visibility based on user input • Supports ordering of properties Custom Business Process Step Projects Complex Custom Business Process
  • 8. Extending Business Processes • Registration Steps • Custom Process Step must be registered with Neuron ESB Explorer • Manual • Edit neuronpipelines.config in Pipelines directory (deprecated) • Automatic • Use ProcessStepAttribute to define properties on class • Copy .NET assembly to Pipelines folder • Copy Icon to Pipelines folder • Should be PNG, 16x16 • Name should be <class>.png Registering Custom Business Process Steps
  • 9. Custom Business Process Steps : Demo Purpose: Familiarize users with building and deploying a custom process step. Objectives: Acquaint users with the following aspects of a custom process step. • Creating a simple business process step • Registering the custom process step with the Neuron ESB Explorer • Using a custom process step in a business process
  • 10. Extending Business Processes • Used to create / execute instances of processes and process steps, allowing business process to be added to unit testing • Business process = A pipeline • References • Neuron.dll • Neuron.Esb.dll • Neuron.Pipelines.dll • System.Configuration.dll • Neuron.Pipelines.PipelineRuntime • Creates an instance of PipelineInstance<ESBMessage> from a pipeline object • Neuron.Pipelines.Pipeline<ESBMessage> • Represents a business process • Neuron.Pipelines.PipelineInstance<ESBMessage> • Executes an instance of the pipeline (Business Process) Business Process API
  • 11. Extending Business Processes • Create the Pipeline Runtime PipelineRuntime runtime = new PipelineRuntime { DesignMode = true }; • Create an instance of the Neuron.ESB.Administrator using (Administrator admin = AdminOffLine()) • Use the Administrator to access the Neuron ESB configuration admin.OpenConfiguration(); • Initialize the DesignModeEsbConfigSelector for process steps InitializeProcessStepDesignTimeConfig(admin.Configuration); • Return Neuron.ESB.Administrator.ESBMessagePipelineStorage processStorage = admin.GetPipelineListItemByName(processName); • Create an instance of the ClientPipelineItem from ESBMessagePipelineStorage ClientPipelineItem clientProcess = CreateProcessItemFromStorage(processStorage) Executing a Business Process
  • 12. Extending Business Processes • Create an instance of the Pipeline ClientPipelineItem clientProcess = CreateProcessItemFromStorage(processStorage); var instance = runtime.CreateInstance(clientProcess.ThePipeline); • Create an ESB Message ESBMessage msg = new ESBMessage(); • Execute the process, which will return an ESBMessage; Neuron.Esb.ESBMessage outMsg = instance.Execute(msg); Sample can be found in the Neuron ESB Explorer Samples Testing Processes from Visual Studio Executing a Business Process
  • 13. Extending Business Processes : Lab Goal In this lab, you will learn how to extend business processes, by creating a custom business process step. Objectives • Create a custom business process • Register a custom business process step with the Neuron ESB Explorer
  • 14. Extending Business Processes Review • Custom process steps can be used to encapsulate proprietary business logic • Business logic can be parameterized via Property Grid • Custom Process Steps work identically to built in Process Steps • Business Processes can be executed and tested within Microsoft Visual Studio • Business Processes are stored as XML blobs within the Neuron ESB Configuration • The Pipeline Runtime is used to create an Instance of a Business Process • The PipelineInstance is used to execute the Business Process • The execution of a Business Process always returns an ESB Message