biztalk server extensibility

32
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

Upload: biztalk360

Post on 07-Jan-2017

493 views

Category:

Technology


4 download

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

Extensibility

• What does that mean?

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

Topics

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

Demo – Mapping Extensibility

Orchestrations

Orchestration level Tools Considerations

Helper classes Visual Studio Support process, configuration

Expression shape Visual Studio Limitiations

Demo – Orchestration Extensibility

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

BRE

Extension Considerations

Fact retriever Custom fact retrievers

Pipeline BRE Pipeline Framework

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

Demo – BizTalk360

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

Round up

• .NET adds value

• Building blocks

• Choose wisely

• Productivity

• Reinvent the wheel

Alleen tekst

Eldert Grootenboer

@egrootenboer

[email protected]

http://blog.eldert.net

Discussion