SlideShare ist ein Scribd-Unternehmen logo
1 von 21
Downloaden Sie, um offline zu lesen
Tooling Best Practices for Integration Experts
Heshitha Hettihewa & Prabushi Samarakoon
WSO2 Integration Team
Agenda
• How to develop an integration scenario following best
practices
• Supported project & artifact types and their usages
• Naming conventions
• Useful shortcuts
• Native logging practices
• Message transformation conventions
• IDE Concepts
Developer Scenario
• A developer needs to implement a ‘User Registration’
System
• He wants to test the configurations in his QA environment
before deploying them in the production environment
• Some of the configurations in these two environments can
differ due to their infrastructure
User Registration Process
Register an
user request
Send an email
Process
registration
Registration
status response
Registration success
response
Registration
processing backend
system
Store registration
details in database
Let’s Develop
Next slides will be presented along with the video
Project Types
• Maven Multi Module Project
• ESB Solution Project
• Composite Application Project
• Registry Resources Project
• Connector Exporter Project
• Data Service Project
• Data Source Project
• BPEL Project
• Human Task Project
• BPMN Project
• Mediator Project
Artifact Types
• Proxy Service
• REST API
• Sequence
• Endpoint
• Inbound Endpoint
• Message Processor
• Message Store
• Scheduled Task
• Template
• Local Entry
• Data Service
ENTERPRISE
INTEGRATOR
Naming Conventions
Type Format Sample
Folders
<Project><FolderName>
Folder structure for registry resources;
<Project>/<ResourceType>/<subResourceType>
StudentInformationSystemLibraries
StudentInformationSystem/wsdl
StudentInformationSystem/xsd
StudentInformationSystem/schema/validate
StudentInformationSystem/schema/wsdl
Project
Name
<ProjectName> StudentInformationSystem
Source
Files
<ProjectName>_<FileName>_<Type>.<Extension>
Student_Student_Sequence.xml,
Stocks_StockQuote_FileInbound.xml
Sub
Modules
<Project><ModuleName> StudentInformationSystemDataService
ENTERPRISE
INTEGRATOR
Useful Shortcuts
Function Linux / Windows Mac
Copy Ctrl + c Command + c
Paste Ctrl + v Command + v
Cut Ctrl + x Command + x
Save Ctrl + s Command + s
Add block comment Ctrl + Shift + / Command + /
Remove block comment Ctrl + Shift +  Command + 
Remove line Ctrl + d Command + d
Un select Ctrl + click esc
Search in workspace Ctrl + Shift + r Command + Shift + r
Zoom in design view Ctrl + + Control + +
Log mediator
• Use in the message flow as checkpoints
• Not recommended to use in a production setup (Except in Fault
sequences)
• Important to use within the fault flow to isolate the issue
• Inbuilt properties can be used to retrieve the error details
– ERROR_MESSAGE
– ERROR_CODE
– ERROR_DETAIL
– ERROR_EXCEPTION
ENTERPRISE
INTEGRATOR
Message Transformation Conventions
Mediator Use Cases
Payload Factory Message format is fixed and there are less number of external inputs
ForEach Original message has repetitive elements that should be processed (use together
with the Payload Factory mediator)
Enrich Add/remove part of the/whole message
XSLT Transformation logic is complex and performance critical
Data Mapper
Change the structure of data in a message or convert and transform one data
format to another
Smooks Large file transformations
ForEach mediator
• Loops over the sub-messages and merges them back to the same parent
element of the message
• Does not allow using Call, Send and Callout mediators in the sequence
(Use an Iterate mediator instead)
• Does not split the message flow, unlike Iterate mediator
• Guarantees to execute in the same thread until all iterations are complete
Clone mediator
• Clones a message into several identical messages
• Use a Call mediator in the target sequence to bring the responses back
into the In-Sequence
• Similar to Iterate mediator, but it splits the message into different parts
ENTERPRISE
INTEGRATOR
Send | Call | Callout mediator
Mediator Use Cases
Send
● Sends a message, and the response comes to the OutSequence (or to the specified
receiving sequence)
● Uses non blocking transport
Call
● Sends a message, and the mediation flow will continue with the next mediator after
the send operation is done
● Recommended for service chaining scenarios
● Uses non blocking transport
Callout
● Behaviour is similar to Call mediator
● Uses blocking transport
● Performance is not good as Call or Send mediator because of the blocking nature
IDE Concepts - Perspectives
• Used to customize the IDE experience
• Consisted of view positionings, toolbar customizations etc. which will be
helpful when developing artifacts
• Effective use of the perspectives is very useful for development
• Several perspectives are used in Integration Studio;
– WSO2 ESB Graphical
– WSO2 Welcome
– WSO2 Data Mapper Graphical
– WSO2 Registry
– Debug
– BPEL
– Activiti
IDE Concepts - Views
• Views are the different window segments that IDE consists of
• Basically any sub window apart from the editors are known as a view in
Integration Studio
• Several views are used in Integration Studio;
– Project Explorer
– Console
– Properties
– Outline
– Template Guide
– Realtime Datamapper Preview
– Palette
– WSO2 Registry Browser
– Wire Log View
Connectors
• Use secure vault to secure user credentials
• To seamlessly refresh tokens, use a registry location that is visible to all
esb cluster members
• Use $ctx instead of the get-property() function to improve performance
Database mediators
• Use DB Report/ DB Lookup to process simple queries (Select, Insert)
• Use Data Services with complex scenarios such as retrieving multiple
rows, nested queries, etc.
Class | Custom mediator
• Should be used when the intended functionality cannot be achieved using
inbuilt mediators
• Consider the performance impact and possible memory leaks
• Follow Java naming conventions and best practices
THANK YOU
wso2.com

Weitere ähnliche Inhalte

Mehr von WSO2

CIO Summit Berlin 2022.pptx.pdf
CIO Summit Berlin 2022.pptx.pdfCIO Summit Berlin 2022.pptx.pdf
CIO Summit Berlin 2022.pptx.pdfWSO2
 
Delivering New Digital Experiences Fast - Introducing Choreo
Delivering New Digital Experiences Fast - Introducing ChoreoDelivering New Digital Experiences Fast - Introducing Choreo
Delivering New Digital Experiences Fast - Introducing ChoreoWSO2
 
Fueling the Digital Experience Economy with Connected Products
Fueling the Digital Experience Economy with Connected ProductsFueling the Digital Experience Economy with Connected Products
Fueling the Digital Experience Economy with Connected ProductsWSO2
 
A Reference Methodology for Agile Digital Businesses
 A Reference Methodology for Agile Digital Businesses A Reference Methodology for Agile Digital Businesses
A Reference Methodology for Agile Digital BusinessesWSO2
 
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)WSO2
 
Lessons from the pandemic - From a single use case to true transformation
 Lessons from the pandemic - From a single use case to true transformation Lessons from the pandemic - From a single use case to true transformation
Lessons from the pandemic - From a single use case to true transformationWSO2
 
Adding Liveliness to Banking Experiences
Adding Liveliness to Banking ExperiencesAdding Liveliness to Banking Experiences
Adding Liveliness to Banking ExperiencesWSO2
 
Building a Future-ready Bank
Building a Future-ready BankBuilding a Future-ready Bank
Building a Future-ready BankWSO2
 
WSO2 API Manager Community Call - November 2021
WSO2 API Manager Community Call - November 2021WSO2 API Manager Community Call - November 2021
WSO2 API Manager Community Call - November 2021WSO2
 
[API World ] - Managing Asynchronous APIs
[API World ] - Managing Asynchronous APIs[API World ] - Managing Asynchronous APIs
[API World ] - Managing Asynchronous APIsWSO2
 
[API World 2021 ] - Understanding Cloud Native Deployment
[API World 2021 ] - Understanding Cloud Native Deployment[API World 2021 ] - Understanding Cloud Native Deployment
[API World 2021 ] - Understanding Cloud Native DeploymentWSO2
 
[API Word 2021] - Quantum Duality of “API as a Business and a Technology”
[API Word 2021] - Quantum Duality of “API as a Business and a Technology”[API Word 2021] - Quantum Duality of “API as a Business and a Technology”
[API Word 2021] - Quantum Duality of “API as a Business and a Technology”WSO2
 
API Revisions - WSO2 API Manager Community Call (10/27/2021)
API Revisions - WSO2 API Manager Community Call (10/27/2021)API Revisions - WSO2 API Manager Community Call (10/27/2021)
API Revisions - WSO2 API Manager Community Call (10/27/2021)WSO2
 
[2021 Somos Summit] - Rethinking Identity Access Management and The Rise of t...
[2021 Somos Summit] - Rethinking Identity Access Management and The Rise of t...[2021 Somos Summit] - Rethinking Identity Access Management and The Rise of t...
[2021 Somos Summit] - Rethinking Identity Access Management and The Rise of t...WSO2
 
[ICT Spring 2021] - Managed Crowd: The Future of Business as We Know It!
[ICT Spring 2021] - Managed Crowd: The Future of Business as We Know It![ICT Spring 2021] - Managed Crowd: The Future of Business as We Know It!
[ICT Spring 2021] - Managed Crowd: The Future of Business as We Know It!WSO2
 
[EIC 2021] Securing the Digital Double - The Path to a Trusted Digital Ecosystem
[EIC 2021] Securing the Digital Double - The Path to a Trusted Digital Ecosystem[EIC 2021] Securing the Digital Double - The Path to a Trusted Digital Ecosystem
[EIC 2021] Securing the Digital Double - The Path to a Trusted Digital EcosystemWSO2
 
[EIC 2021] The Rise of the Developer in IAM
[EIC 2021] The Rise of the Developer in IAM[EIC 2021] The Rise of the Developer in IAM
[EIC 2021] The Rise of the Developer in IAMWSO2
 
CSV and JSON Transformation in WSO2 Micro Integrator 4.0 - WSO2 APIM Communit...
CSV and JSON Transformation in WSO2 Micro Integrator 4.0 - WSO2 APIM Communit...CSV and JSON Transformation in WSO2 Micro Integrator 4.0 - WSO2 APIM Communit...
CSV and JSON Transformation in WSO2 Micro Integrator 4.0 - WSO2 APIM Communit...WSO2
 
[apidays Live Australia] How does leveraging de-centralised architecture impr...
[apidays Live Australia] How does leveraging de-centralised architecture impr...[apidays Live Australia] How does leveraging de-centralised architecture impr...
[apidays Live Australia] How does leveraging de-centralised architecture impr...WSO2
 
[apidays Live Australia] How do you enhance customer experience through event...
[apidays Live Australia] How do you enhance customer experience through event...[apidays Live Australia] How do you enhance customer experience through event...
[apidays Live Australia] How do you enhance customer experience through event...WSO2
 

Mehr von WSO2 (20)

CIO Summit Berlin 2022.pptx.pdf
CIO Summit Berlin 2022.pptx.pdfCIO Summit Berlin 2022.pptx.pdf
CIO Summit Berlin 2022.pptx.pdf
 
Delivering New Digital Experiences Fast - Introducing Choreo
Delivering New Digital Experiences Fast - Introducing ChoreoDelivering New Digital Experiences Fast - Introducing Choreo
Delivering New Digital Experiences Fast - Introducing Choreo
 
Fueling the Digital Experience Economy with Connected Products
Fueling the Digital Experience Economy with Connected ProductsFueling the Digital Experience Economy with Connected Products
Fueling the Digital Experience Economy with Connected Products
 
A Reference Methodology for Agile Digital Businesses
 A Reference Methodology for Agile Digital Businesses A Reference Methodology for Agile Digital Businesses
A Reference Methodology for Agile Digital Businesses
 
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)
 
Lessons from the pandemic - From a single use case to true transformation
 Lessons from the pandemic - From a single use case to true transformation Lessons from the pandemic - From a single use case to true transformation
Lessons from the pandemic - From a single use case to true transformation
 
Adding Liveliness to Banking Experiences
Adding Liveliness to Banking ExperiencesAdding Liveliness to Banking Experiences
Adding Liveliness to Banking Experiences
 
Building a Future-ready Bank
Building a Future-ready BankBuilding a Future-ready Bank
Building a Future-ready Bank
 
WSO2 API Manager Community Call - November 2021
WSO2 API Manager Community Call - November 2021WSO2 API Manager Community Call - November 2021
WSO2 API Manager Community Call - November 2021
 
[API World ] - Managing Asynchronous APIs
[API World ] - Managing Asynchronous APIs[API World ] - Managing Asynchronous APIs
[API World ] - Managing Asynchronous APIs
 
[API World 2021 ] - Understanding Cloud Native Deployment
[API World 2021 ] - Understanding Cloud Native Deployment[API World 2021 ] - Understanding Cloud Native Deployment
[API World 2021 ] - Understanding Cloud Native Deployment
 
[API Word 2021] - Quantum Duality of “API as a Business and a Technology”
[API Word 2021] - Quantum Duality of “API as a Business and a Technology”[API Word 2021] - Quantum Duality of “API as a Business and a Technology”
[API Word 2021] - Quantum Duality of “API as a Business and a Technology”
 
API Revisions - WSO2 API Manager Community Call (10/27/2021)
API Revisions - WSO2 API Manager Community Call (10/27/2021)API Revisions - WSO2 API Manager Community Call (10/27/2021)
API Revisions - WSO2 API Manager Community Call (10/27/2021)
 
[2021 Somos Summit] - Rethinking Identity Access Management and The Rise of t...
[2021 Somos Summit] - Rethinking Identity Access Management and The Rise of t...[2021 Somos Summit] - Rethinking Identity Access Management and The Rise of t...
[2021 Somos Summit] - Rethinking Identity Access Management and The Rise of t...
 
[ICT Spring 2021] - Managed Crowd: The Future of Business as We Know It!
[ICT Spring 2021] - Managed Crowd: The Future of Business as We Know It![ICT Spring 2021] - Managed Crowd: The Future of Business as We Know It!
[ICT Spring 2021] - Managed Crowd: The Future of Business as We Know It!
 
[EIC 2021] Securing the Digital Double - The Path to a Trusted Digital Ecosystem
[EIC 2021] Securing the Digital Double - The Path to a Trusted Digital Ecosystem[EIC 2021] Securing the Digital Double - The Path to a Trusted Digital Ecosystem
[EIC 2021] Securing the Digital Double - The Path to a Trusted Digital Ecosystem
 
[EIC 2021] The Rise of the Developer in IAM
[EIC 2021] The Rise of the Developer in IAM[EIC 2021] The Rise of the Developer in IAM
[EIC 2021] The Rise of the Developer in IAM
 
CSV and JSON Transformation in WSO2 Micro Integrator 4.0 - WSO2 APIM Communit...
CSV and JSON Transformation in WSO2 Micro Integrator 4.0 - WSO2 APIM Communit...CSV and JSON Transformation in WSO2 Micro Integrator 4.0 - WSO2 APIM Communit...
CSV and JSON Transformation in WSO2 Micro Integrator 4.0 - WSO2 APIM Communit...
 
[apidays Live Australia] How does leveraging de-centralised architecture impr...
[apidays Live Australia] How does leveraging de-centralised architecture impr...[apidays Live Australia] How does leveraging de-centralised architecture impr...
[apidays Live Australia] How does leveraging de-centralised architecture impr...
 
[apidays Live Australia] How do you enhance customer experience through event...
[apidays Live Australia] How do you enhance customer experience through event...[apidays Live Australia] How do you enhance customer experience through event...
[apidays Live Australia] How do you enhance customer experience through event...
 

Kürzlich hochgeladen

"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 

Kürzlich hochgeladen (20)

"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 

Tooling Best Practices for Integration Experts

  • 1. Tooling Best Practices for Integration Experts Heshitha Hettihewa & Prabushi Samarakoon WSO2 Integration Team
  • 2. Agenda • How to develop an integration scenario following best practices • Supported project & artifact types and their usages • Naming conventions • Useful shortcuts • Native logging practices • Message transformation conventions • IDE Concepts
  • 3. Developer Scenario • A developer needs to implement a ‘User Registration’ System • He wants to test the configurations in his QA environment before deploying them in the production environment • Some of the configurations in these two environments can differ due to their infrastructure
  • 4. User Registration Process Register an user request Send an email Process registration Registration status response Registration success response Registration processing backend system Store registration details in database
  • 6. Next slides will be presented along with the video
  • 7. Project Types • Maven Multi Module Project • ESB Solution Project • Composite Application Project • Registry Resources Project • Connector Exporter Project • Data Service Project • Data Source Project • BPEL Project • Human Task Project • BPMN Project • Mediator Project
  • 8. Artifact Types • Proxy Service • REST API • Sequence • Endpoint • Inbound Endpoint • Message Processor • Message Store • Scheduled Task • Template • Local Entry • Data Service
  • 9. ENTERPRISE INTEGRATOR Naming Conventions Type Format Sample Folders <Project><FolderName> Folder structure for registry resources; <Project>/<ResourceType>/<subResourceType> StudentInformationSystemLibraries StudentInformationSystem/wsdl StudentInformationSystem/xsd StudentInformationSystem/schema/validate StudentInformationSystem/schema/wsdl Project Name <ProjectName> StudentInformationSystem Source Files <ProjectName>_<FileName>_<Type>.<Extension> Student_Student_Sequence.xml, Stocks_StockQuote_FileInbound.xml Sub Modules <Project><ModuleName> StudentInformationSystemDataService
  • 10. ENTERPRISE INTEGRATOR Useful Shortcuts Function Linux / Windows Mac Copy Ctrl + c Command + c Paste Ctrl + v Command + v Cut Ctrl + x Command + x Save Ctrl + s Command + s Add block comment Ctrl + Shift + / Command + / Remove block comment Ctrl + Shift + Command + Remove line Ctrl + d Command + d Un select Ctrl + click esc Search in workspace Ctrl + Shift + r Command + Shift + r Zoom in design view Ctrl + + Control + +
  • 11. Log mediator • Use in the message flow as checkpoints • Not recommended to use in a production setup (Except in Fault sequences) • Important to use within the fault flow to isolate the issue • Inbuilt properties can be used to retrieve the error details – ERROR_MESSAGE – ERROR_CODE – ERROR_DETAIL – ERROR_EXCEPTION
  • 12. ENTERPRISE INTEGRATOR Message Transformation Conventions Mediator Use Cases Payload Factory Message format is fixed and there are less number of external inputs ForEach Original message has repetitive elements that should be processed (use together with the Payload Factory mediator) Enrich Add/remove part of the/whole message XSLT Transformation logic is complex and performance critical Data Mapper Change the structure of data in a message or convert and transform one data format to another Smooks Large file transformations
  • 13. ForEach mediator • Loops over the sub-messages and merges them back to the same parent element of the message • Does not allow using Call, Send and Callout mediators in the sequence (Use an Iterate mediator instead) • Does not split the message flow, unlike Iterate mediator • Guarantees to execute in the same thread until all iterations are complete
  • 14. Clone mediator • Clones a message into several identical messages • Use a Call mediator in the target sequence to bring the responses back into the In-Sequence • Similar to Iterate mediator, but it splits the message into different parts
  • 15. ENTERPRISE INTEGRATOR Send | Call | Callout mediator Mediator Use Cases Send ● Sends a message, and the response comes to the OutSequence (or to the specified receiving sequence) ● Uses non blocking transport Call ● Sends a message, and the mediation flow will continue with the next mediator after the send operation is done ● Recommended for service chaining scenarios ● Uses non blocking transport Callout ● Behaviour is similar to Call mediator ● Uses blocking transport ● Performance is not good as Call or Send mediator because of the blocking nature
  • 16. IDE Concepts - Perspectives • Used to customize the IDE experience • Consisted of view positionings, toolbar customizations etc. which will be helpful when developing artifacts • Effective use of the perspectives is very useful for development • Several perspectives are used in Integration Studio; – WSO2 ESB Graphical – WSO2 Welcome – WSO2 Data Mapper Graphical – WSO2 Registry – Debug – BPEL – Activiti
  • 17. IDE Concepts - Views • Views are the different window segments that IDE consists of • Basically any sub window apart from the editors are known as a view in Integration Studio • Several views are used in Integration Studio; – Project Explorer – Console – Properties – Outline – Template Guide – Realtime Datamapper Preview – Palette – WSO2 Registry Browser – Wire Log View
  • 18. Connectors • Use secure vault to secure user credentials • To seamlessly refresh tokens, use a registry location that is visible to all esb cluster members • Use $ctx instead of the get-property() function to improve performance
  • 19. Database mediators • Use DB Report/ DB Lookup to process simple queries (Select, Insert) • Use Data Services with complex scenarios such as retrieving multiple rows, nested queries, etc.
  • 20. Class | Custom mediator • Should be used when the intended functionality cannot be achieved using inbuilt mediators • Consider the performance impact and possible memory leaks • Follow Java naming conventions and best practices