35
Using Microsoft BizTalk ESB Toolkit and Integration Patterns to Improve Business Agility Jon Flanders, [email protected] Ofer Ashkenazi, [email protected] SESSION CODE: ASI309

Jon Flanders, [email protected] Ofer Ashkenazi, [email protected] SESSION CODE: ASI309

Embed Size (px)

Citation preview

Page 1: Jon Flanders, jonf@mcwtech.com Ofer Ashkenazi, ofera@microsoft.com SESSION CODE: ASI309

Using Microsoft BizTalk ESB Toolkit and Integration Patterns to Improve Business AgilityJon Flanders, [email protected] Ashkenazi, [email protected]

SESSION CODE: ASI309

Page 2: Jon Flanders, jonf@mcwtech.com Ofer Ashkenazi, ofera@microsoft.com SESSION CODE: ASI309

Objectives & Takeaways

Objectives: learn about the BizTalk ESB Toolkit Realize the challenges it addresses and its benefits Understand the ESB Toolkit concepts & architectureLearn through examples demos & scenariosFind what new in BizTalk Server 2010 ESB Toolkit and how to get started

Takeaways: BizTalk ESB toolkitProvide a flexible and re-usable integration infrastructure that promotes business agility

Page 3: Jon Flanders, jonf@mcwtech.com Ofer Ashkenazi, ofera@microsoft.com SESSION CODE: ASI309

Agenda

Application Integration Challenges (5 min.)

ESB Toolkit Architecture (10 min.)

Demos - learn by examples (45 min.)Summary: BizTalk ESB Toolkit Benefits & additional resources (5 min)

Q&A (10 min)

Page 4: Jon Flanders, jonf@mcwtech.com Ofer Ashkenazi, ofera@microsoft.com SESSION CODE: ASI309

Connecting Applications is Not Enough!Point-to-Point Integration Inhibits Agility

Point-to-PointComplex InterfaceRedundant LogicDoesn’t ScaleLacks Visibility

Business ImpactDelays Response to changing business needs

JD EdwardsService

SAPService

Java Appl.Service

.Net Appl.Service

CICS Service AS/400Service

MS CRMService

OracleService

“Accompanying the hype of service-oriented architectures (SOAs) are several misconceptions, one of the most prevalent - and the one with the biggest impact on IT organizations - is that SOA makes integration problems go away.

Understanding the Three Patterns of Application IntegrationGartner Research July 2008

Nothing could be further from the truth.”

Page 5: Jon Flanders, jonf@mcwtech.com Ofer Ashkenazi, ofera@microsoft.com SESSION CODE: ASI309

Drilling into the mediation challenges

A

X

-----------------

-----------------

--------------------

----------------------------------

--------------------

---------------------------------------------------

---

B

------------------------------------------------------

------------------------------------------------------

C -----

----- -----

D

--------

--------

-

--------

--------

-

--------

--------

-

---

--------

--------

-

--------

--------

-

--------

--------

-

---

Z---------------------------------------------------

---

--------

--------

-

--------

--------

-

--------

--------

-

---

Y---------------------------------------------------

---

----------

-------

----------

-------

----------

-------

---

----------

-------

----------

-------

----------

-------

---

-----------

-----------

X

----------

----------

------

----------

----------

------

----------

----------

------

----------

----------

------

------

-- ------

-- ------

--

X 1.1

---------------------------------------------------

---

--------

-

--

--------

---

Service ProviderService Consumers

Transform request message

Transform request message and response message

Disassemble batchmessage and transform request messages

Transform and route to severalservices

Add new Service interaction

Location and address change

New Service Version

Page 6: Jon Flanders, jonf@mcwtech.com Ofer Ashkenazi, ofera@microsoft.com SESSION CODE: ASI309

Agility through Service Mediation Layer

Service Consumer Service ConsumerService Consumer

Service Provider Service ProviderService Provider

LightweightService Composition

Transport ProtocolConversion

Dynamic Data/Format Transformation

Location & VersionTransparency

Service InteractionsSupport

Ente

rpris

e Se

rvic

e Bu

s

Error Handling & Repair

Page 7: Jon Flanders, jonf@mcwtech.com Ofer Ashkenazi, ofera@microsoft.com SESSION CODE: ASI309

The BizTalk ESB Toolkit:New Abstraction Layer on Top of BizTalk

Protocol ConversionEnd Point Resolution & Routing

Message Transformation

Lightweight ServiceComposition Service InteractionsError Handling &

Repair Service Consumers Service Providers

Service Composition:1.Transform my message2.Determine which endpoint I need3.Route my message4.Route the response to a second service5.Return the final result to me

On Ramp Off Ramp

Message Transformation:Transform my message to fit with provider’s request

Service Location Transparency:Resolve a service end point address for me

BizTalk ESB Toolkit

Page 8: Jon Flanders, jonf@mcwtech.com Ofer Ashkenazi, ofera@microsoft.com SESSION CODE: ASI309

ESB Toolkit Core

BizTalk ESB Toolkit Components

Adapters Dynamic Ports

Pub Sub Engine

TransformationEngine

Business Rules Engine

HostEnvironment

ItineraryServices

Resolvers

BizTalk Components

On/Off-Ramps ManagementPortal

OrchestrationEngine

Adapter Providers

Core WebServices

UDDI3.0

ExceptionManagement

BAM

ESBToolkit

Adapter PropertiesContext Finder

Message Processor

ItineraryService

ItineraryMediation Policy

Resolver Adapter Provider

Page 9: Jon Flanders, jonf@mcwtech.com Ofer Ashkenazi, ofera@microsoft.com SESSION CODE: ASI309

ESB Toolkit Core

Core Web Services

Resolver Web Service

Transformation Web Service

UDDI Web Service

Exception Web Service

Operations Web Service

BizTalk Send Ports

Off-Ramps

BizTalk Receive Ports

On-Ramps

BizTalk ESB Toolkit Architecture

Exception Management Store

ESB Management Portal

Provisioning Framework

Reports

AlertsItinerary Services

Exception Management Framework

Exception Logger Exception HandlerFault Processor

Resolver, Adapter Provider Frameworks

Resolvers (…) Adapter Providers (…)

UDDI 3.0 BAM

CustomSend

Custom Pipeline Generic JMS

SendPipeline

Generic WCFSend

PipelineGeneric SOAP

SendPipeline

ItineraryStore

CustomReceive

Custom PipelineGeneric JMS

Receive PipelineGeneric WCFReceive

PipelineGeneric SOAPReceive

Pipeline

Route Service Custom ServiceTransform Service

Transformation Engine

Business Rules Engine

Orchestration Engine

BizTalk Pub/Sub Engine

Page 10: Jon Flanders, jonf@mcwtech.com Ofer Ashkenazi, ofera@microsoft.com SESSION CODE: ASI309

ESB Exception Management Portal

Page 11: Jon Flanders, jonf@mcwtech.com Ofer Ashkenazi, ofera@microsoft.com SESSION CODE: ASI309

Hello World: Dynamic messages routing Using an itinerary

Demo

Page 12: Jon Flanders, jonf@mcwtech.com Ofer Ashkenazi, ofera@microsoft.com SESSION CODE: ASI309

Dynamic Itinerary Selection and Message Routing

Demo

Page 13: Jon Flanders, jonf@mcwtech.com Ofer Ashkenazi, ofera@microsoft.com SESSION CODE: ASI309

Embedding in a Solution and exception managementsBlueYonder Airlines

Demo

Page 14: Jon Flanders, jonf@mcwtech.com Ofer Ashkenazi, ofera@microsoft.com SESSION CODE: ASI309

BizTalk ESB Toolkit provides

Service Composition Challenges:Location & Version Changes Sequencing ChangesData Semantics MismatchTransport Protocol MismatchInteraction Model MismatchQuality of protectionError RecoveryMonitoring & VisibilityQuality of service

BizTalk ESB Solutions: Dynamic Endpoint Resolution Itinerary-based Routing Dynamic Transformation Protocol Mediation (Adapters) Itineraries-based Processing BizTalk Security Model & SSO Exception Framework & Portal BAM Integration Exception Management Portal

Page 15: Jon Flanders, jonf@mcwtech.com Ofer Ashkenazi, ofera@microsoft.com SESSION CODE: ASI309

BizTalk ESB Toolkit Benefits

Lower operational costs

Higher levels of service re-use

Faster response to business changes

Visibility to business and exception metrics

Provides the right benefits to cope with complex and rapidly changing integration challenges

High extensibility for future or special needs

Page 16: Jon Flanders, jonf@mcwtech.com Ofer Ashkenazi, ofera@microsoft.com SESSION CODE: ASI309

BizTalk Server 2010 ESB Toolkit (2.1)Supports Windows Server 2008 /2008 R2, SQL server 2008/2008 R2, Visual Studio 2010, BizTalk Server 2010 BetaAdds support for Visual Studio 2010 Visualization and Modeling SDK for the Itinerary designer.Supports both .NET Framework version 4 and Framework 3.5.Supports itineraries developed in BizTalk ESB Toolkit 2.0.Minor enhancements:

The Itinerary designer copying and pasting itinerary shapes A new itinerary project template, BizTalk ESB Itinerary designer (no need for c# projects for itineraries. Itinerary designer sets the export mode to Strict by default. New Itinerary designer property to enable/disable encryption certificate for itinerary validation

Planned to be ship at the same time as BTS 2010

Page 17: Jon Flanders, jonf@mcwtech.com Ofer Ashkenazi, ofera@microsoft.com SESSION CODE: ASI309

BizTalk ESB Customer Stories

Health Plan Company Gains Confidence in Technology Choice with Advice from Experts British Energy Trading & Sales Supports Integration with Business Intelligence Tools Leading Internet Retailer Builds an Enterprise Service Bus Using In-House Technology Business Process Solution Helps Medical Center Speed Transactions, Boost Reliability Council Transforms Revenues and Benefits Service Delivery with Enterprise Service BusUNILIN integrates business unit processes from around the world

Note: These customers were successful with ESB implementations using the BizTalk 2006 R2 ESB Guidance v1

Page 18: Jon Flanders, jonf@mcwtech.com Ofer Ashkenazi, ofera@microsoft.com SESSION CODE: ASI309

How Do I get Started? ESB Toolkit Resources:

Get more information:ESB Page on BizTalk Website BizTalk ESB Toolkit Developer Center on MSDNESB Toolkit Documentation (2009 , 2010)BizTalk Server 2010 & ESB Toolkit (2.1) Beta versionsWatch the MSDN Webcast: Improving Business Agility with ESBNew Resources:

BizTalk ESB Toolkit Poster BizTalk ESB Toolkit WhitepaperFMSB Whitepaper

Get Help:Use MSC offering: Plan, Build and Deploy for Microsoft BizTalk ESB ToolkitUse a partner: find a System Integrator that is best for you from our ESB partners list.

Get trained on ESB Toolkit:on your own using our ESB Toolkit Training in a Boxusing the BizTalk ESB Hands-on-Labwith an instructors through one of our Training Partners

Page 19: Jon Flanders, jonf@mcwtech.com Ofer Ashkenazi, ofera@microsoft.com SESSION CODE: ASI309

Related BizTalk Sessions & HOLsBreakout Sessions:

ASI311 - What’s New in Microsoft BizTalk Server 2010 and a Sneak Peek into the Future of BizTalkASI307 - Build Composite Applications That Include Line-of-Business Systems in 15 MinutesASI306 - Management Tasks Made Simpler in Microsoft BizTalk Server 2010ASI304 - Building Large B2B Integration Solutions on Microsoft BizTalk Server 2010ASI309 - Using Microsoft BizTalk ESB Toolkit and Integration Patterns to Improve Business AgilityASI305 - Integrating LoB Systems (SAP, Mainframe) with the Cloud Using Microsoft BizTalk Server and the Windows Azure AppFabric

Interactive Sessions:ASI06-INT - Building Operational MDM solution with SQL Server Master Data Services and BizTalk ServerASI07-INT - Real Time Event Integration with SQL Server StreamInsight and BizTalkASI08-INT - Connecting BizTalk to IBM mainframe transaction processing and data storage systems

Hands-on-Labs:ASI09-HOL Using the New Mapper in Microsoft BizTalk Server 2010 to Create MapsASI10-HOL Microsoft BizTalk ESB Toolkit: Using an Itinerary to Dynamically Resolve Message Transformation and RoutingASI11-HOL Microsoft BizTalk ESB Toolkit: Using the Exception Management Portal

Demo Station:BizTalk ServerHost Integration Server

Page 20: Jon Flanders, jonf@mcwtech.com Ofer Ashkenazi, ofera@microsoft.com SESSION CODE: ASI309

Call to action:Test drive BizTalk Server 2010 Beta

Download the Beta from the download pageSubmit your feedback on the BizTalk Connect site

Learn more by visiting the:BizTalk Server Developer Center on MSDNVirtual Launch Event SiteBizTalk Server Website

Page 21: Jon Flanders, jonf@mcwtech.com Ofer Ashkenazi, ofera@microsoft.com SESSION CODE: ASI309

ASI Track Resources1. Website – www.Microsoft.com/WindowsAzure/AppFabric 2. MSDN Developer Center – http://msdn.microsoft.com/en-us/azure/netservices.aspx 3. Blog – http://blogs.msdn.com/b/netservices/ 4. Twitter – http://twitter.com/azure_appfabric 5. Website – http://www.microsoft.com/biztalk/6. Website – http://msdn.microsoft.com/biztalk/7. Blog – http://blogs.msdn.com/biztalk_server_team_blog8. Blog – http://www.biztalkblogs.com/9. Application Infrastructure Virtual Launch Event – www.appinfrastructure.com10. AppFabric on Microsoft.com – http://www.microsoft.com/appfabric11. Developer Center – http://msdn.microsoft.com/appfabric

Page 22: Jon Flanders, jonf@mcwtech.com Ofer Ashkenazi, ofera@microsoft.com SESSION CODE: ASI309

Resources

www.microsoft.com/teched

Sessions On-Demand & Community Microsoft Certification & Training Resources

Resources for IT Professionals Resources for Developers

www.microsoft.com/learning

http://microsoft.com/technet http://microsoft.com/msdn

Learning

Page 23: Jon Flanders, jonf@mcwtech.com Ofer Ashkenazi, ofera@microsoft.com SESSION CODE: ASI309

Complete an evaluation on CommNet and enter to win!

Page 24: Jon Flanders, jonf@mcwtech.com Ofer Ashkenazi, ofera@microsoft.com SESSION CODE: ASI309

Sign up for Tech·Ed 2011 and save $500 starting June 8 – June 31st

http://northamerica.msteched.com/registration

You can also register at the

North America 2011 kiosk located at registrationJoin us in Atlanta next year

Page 25: Jon Flanders, jonf@mcwtech.com Ofer Ashkenazi, ofera@microsoft.com SESSION CODE: ASI309

Q&A

Q&A

Page 26: Jon Flanders, jonf@mcwtech.com Ofer Ashkenazi, ofera@microsoft.com SESSION CODE: ASI309

THANKS!

Page 27: Jon Flanders, jonf@mcwtech.com Ofer Ashkenazi, ofera@microsoft.com SESSION CODE: ASI309

© 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to

be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Page 28: Jon Flanders, jonf@mcwtech.com Ofer Ashkenazi, ofera@microsoft.com SESSION CODE: ASI309

APPENDIX

Page 29: Jon Flanders, jonf@mcwtech.com Ofer Ashkenazi, ofera@microsoft.com SESSION CODE: ASI309

BizTalk ESB Toolkit Extensibility

Extensibility Point Description

Messaging Service Implement service and designer extender

Orchestration Service Implement orchestration, update configuration

Adapter Provider Create new Adapter Provider component, manifest file

Resolver Implement resolver component

Composite Resolver Define Unity container, fact providers, fact translators

Cache Manager Support Enterprise Library 4.1 API

Itinerary Exporter Implement custom exporter component

Page 30: Jon Flanders, jonf@mcwtech.com Ofer Ashkenazi, ofera@microsoft.com SESSION CODE: ASI309

Call to action & BizTalk Server 2010 ResourcesTest drive BizTalk Server 2010 Beta

Download the Beta from the: Download pageSubmit your feedback on https://connect.microsoft.com/BizTalk/Feedback

Learn more:Visit the BizTalk Server Developer Center on MSDNVisit the Virtual Launch Event SiteVisit the BizTalk Server Website

Page 31: Jon Flanders, jonf@mcwtech.com Ofer Ashkenazi, ofera@microsoft.com SESSION CODE: ASI309

BizTalk Dynamic Send Port

Itinerary Based Routing & Processing

Light-weight service composition (sequencing)Invokes itinerary (internal) services and external servicesDynamic service context resolution at runtime

Maps internal service invocation to BizTalk service containers

pipelines in ports and orchestrations.

Pub/Sub Engine

BizTalk Receive Port

Routing Service

On Ramp Receive

Pipeline

Resolver

Adapter Provider

Off Ramp Send

Pipeline

The “heart” of the ESB Toolkit

Page 32: Jon Flanders, jonf@mcwtech.com Ofer Ashkenazi, ofera@microsoft.com SESSION CODE: ASI309

When to use an ESB? When Crossing Boundaries (apps, domains, orgs, hosting platforms)

ESB

App A

App B

App C

App DApp E

CRM

HR

CustomApp

Service Discovery

Business Partner

Cloud Services

ESB

ESB

Page 33: Jon Flanders, jonf@mcwtech.com Ofer Ashkenazi, ofera@microsoft.com SESSION CODE: ASI309

BizTalk Server 2010 Themes

Enhanced Enterprise Interoperability

(Business)

Platform Alignment

Simplify Solution Manageability

(IT Pro)

Integrate Enterprise Applications Easily (Developer )

Scales B2B relationshipsAccelerates partners on-boarding and management Complex data mappingFaster and more secure file transferUp-to-date interoperability

Easy to use from .NET (AppFabric) appsSeamless access from SharePoint applicationsDeclarative programing lowers learning curveIntuitive tools to accelerate time-to-value

Provides better visibility and controlSimplifies utilization and optimizationAutomates tasksEnhances security

Leverages technological innovationsProvides better end-to-end experience

Page 34: Jon Flanders, jonf@mcwtech.com Ofer Ashkenazi, ofera@microsoft.com SESSION CODE: ASI309

© 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to

be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Page 35: Jon Flanders, jonf@mcwtech.com Ofer Ashkenazi, ofera@microsoft.com SESSION CODE: ASI309

JUNE 7-10, 2010 | NEW ORLEANS, LA