biztalk server extensibility
TRANSCRIPT
Sponsored & Brought to you by
BizTalk Server Extensibility
Eldert Grootenboer
Steef-Jan Wiggers
https://twitter.com/egrootenboer
https://twitter.com/steefjan
https://nl.linkedin.com/in/eldert-grootenboer-6592b925
https://www.linkedin.com/in/steefjan
Steef-Jan Wiggers
Microsoft Integration Consultant
• Microsoft Integration MVP
• Published Author
• (Inter)national Speaker
• TechNet Wiki Author
• Blogger
• Forums
• Runner
• 12th Man
DutchWorkz B.V.
www.dutchworkz.nl
Alleen tekst
Eldert Grootenboer
Microsoft Integrations Consultant
• Blogger
• Published Author
• Speaker
• Technet / MSDN
• Boat enthusiast
Agenda
• BizTalk Extensibility• Outside in
• Inside out
• Demo’s• Mapping
• Orchestration
• BAM
• Deployment
• Monitoring
• Discussion
http://www.biztalk360.com/biztalk-server-extensibility/
The eBook BizTalk Server Extensibility
Authors
Reviewers
Take aways
• Awarness of divers extensibility capabilities
• Power of .NET
• BizTalk can handle a great deal of complexity
• Considerations
BizTalk Extensibility
Decode Disassemble ValidateResolve
Party
Port Level
MessageBox
Adapter
Pipeline
Map
1
2
3
Orchestration Level
4
SSO
5
Deployment\Testing
6
BAM/BRE
8 9
7
CommunityTools 10
Port
Port level Tools Considerations
Adapters Adapter Pack SDK Buy vs Build
Behaviours .NET (WCF) Design
Pipeline
Port level Tools Considerations
Custom Pipeline Visual Studio Extend pipeline capabilities
Custom Pipeline components
Pipeline Component Wizard
Built from scratch or retrieve online
Mappings
Port- or orchestration level
Tools Considerations
XSLT Altova Mapper vs XSLT
Custom Functoids Visual Studio Consolidate functionality
Script functoid Visual Studio Enhance mapping capabilities
Orchestrations
Orchestration level Tools Considerations
Helper classes Visual Studio Support process, configuration
Expression shape Visual Studio Limitiations
Debugging
BizTalk solution level Tools Considerations
Port Visual Studio Run-time
Pipeline Visual Studio, Pipeline.exe
Runtime
Map Visual Studio Design vs Runtime
Orchestration Orchestration debugger, DebugView
Debug statements
BAM
Extension Considerations
BizTalk Out of the box Tracking Profile Editor
API Write to eventstream from pipeline, orchestration or .NET
WCF/WF Custom interceptor
Demo - BAM
Ship Ordering System
Invoice Approval
Order Service
Order Processor
Orchestration
External Order Service
BAM
Deployment
Extension Considerations
Script Leveraging MSBuild, time consuming
PowerShell More control, flexibility, automation
BTDF A complete, customizable framework
Demo - BTDF
<!-- BRE -->
<ItemGroup>
<RulePolicies Include="*">
<LocationPath>..\Rules</LocationPath>
</RulePolicies>
</ItemGroup>
<!-- Application Pool -->
<ItemGroup>
<IISAppPool Include="BizTalkExtensibility">
<DotNetFrameworkVersion>v4.0</DotNetFrameworkVersion>
<PipelineMode>Integrated</PipelineMode>
<DeployAction>CreateOrUpdate</DeployAction>
<IdentityType>SpecificUser</IdentityType>
<UserName>Administrator</UserName>
<Password>Pass@word1</Password>
</IISAppPool>
</ItemGroup>
<!-- Webservices -->
<ItemGroup>
<IISApp Include="PurchaseOrderService">
<AppPoolName>BizTalkExtensibility</AppPoolName>
<PhysicalPath>C:\inetpub\wwwroot\PurchaseOrderService</PhysicalPath>
<VirtualPath>/PurchaseOrderService</VirtualPath>
</IISApp>
<IISApp Include="ExternalOrderService">
<AppPoolName>BizTalkExtensibility</AppPoolName>
<PhysicalPath>C:\inetpub\wwwroot\ExternalOrderService</PhysicalPath>
<VirtualPath>/ExternalOrderService</VirtualPath>
</IISApp>
</ItemGroup>
Logging
Extension Considerations
Log4NET Classic way of logging, easy to use.
Enterprise Library Leverage Microsoft building block
ETW Better performance
Operations
Extension Considerations
BizTalk Assemblies Roll your own solution(s)
Third Party Buy vs build
BizTalk360
Extension Considerations
Notification Targets Hook into other systems
Widgets Extend with your own data
Overall considerations
• Buy vs Build
• From scratch or online
• Instrumentation
• Use commmunity and (free) tools/products
Another extensibility: Community
• NoS addin: Productivity
• Pipeline Component Wizard: Productivity
• Benchmark Wizard: Performance/Tuning
• BizTalk Documenter: Documentation
• BizTalk Software Factory: Solution
Resources
• TN Wiki
• Blogs
• Books
• MSDN Code Gallery
• BizTalk Sample SDK
• Training Kit
• White paper Gallery
• Pluralsight
Contact
Steef-Jan Wiggers
http://soa-thoughts.blogspot.com/
TN Wiki: UserPage
Alleen tekst
Eldert Grootenboer
@egrootenboer
http://blog.eldert.net