choosing the right integration technology for exposing and consuming services (“when to use...

34

Upload: britton-barton

Post on 24-Dec-2015

213 views

Category:

Documents


0 download

TRANSCRIPT

Choosing the Right Choosing the Right Integration Technology Integration Technology for Exposing and Consuming Servicesfor Exposing and Consuming Services(“When to Use What”)(“When to Use What”)

Ofer AshkenaziOfer AshkenaziSr. Technical Product Manager Sr. Technical Product Manager Connected Systems Division Connected Systems Division Microsoft CorporationMicrosoft Corporation

What to use when…?

Demystifying Microsoft Integration Technologies

How do I categorize these capabilities?How do I categorize these capabilities?

What are the core scenarios per What are the core scenarios per technology?technology?

What if my business scenario requires What if my business scenario requires more than one technology?!more than one technology?!

The Integration Challenge

Two or more pieces of software working Two or more pieces of software working together to solve a larger problemtogether to solve a larger problem

Complex and unique requirements by Complex and unique requirements by asset typeasset type

Support for existing legacy systemsSupport for existing legacy systems

Purchased solutions vs. home-grown solutionsPurchased solutions vs. home-grown solutions

Heterogeneous and distributed data storesHeterogeneous and distributed data stores

External trading partnersExternal trading partners

Unique requirements by scenarioUnique requirements by scenario

Support of SOA initiativesSupport of SOA initiatives

Many Technology Choices

WindowsCommunicatio

nFoundation

SQL ServiceBroker

MSMQ

BizTalkServer

ASMX

WSE

Enterprise

Services

SQLIntegrati

onServices

HostIntegrati

onServer

WindowsWorkflow

Foundation

SQL Replicati

on

Messaging IntegrationMessaging Integration Data IntegrationData Integration

Two Categories of Integration

Host Host IntegrationIntegration

Server Server

IBM Mainframe & IBM Mainframe & Midrange connectivityMidrange connectivity

WCFWCFUnified framework for Unified framework for

exposing and exposing and consuming servicesconsuming services

MSMQMSMQ Message queuingMessage queuing in Windowsin Windows

BizTalkBizTalkServerServer

Business process andBusiness process andintegration serverintegration server

SQLSQLIntegrationIntegrationServicesServices

Data integrationData integrationservice deeply service deeply integrated within SQLintegrated within SQL

SQLSQLReplicationReplication

Data synchronizationData synchronizationservice within SQLservice within SQL

SQL SQL ServiceServiceBrokerBroker

Reliable data tier Reliable data tier messaging within SQLmessaging within SQL

Two Categories of Integration

Transmission and Transmission and transformationtransformation

of messages to stimulate workof messages to stimulate work

Copying and transformationCopying and transformationof dataof data

Supports sending andSupports sending andprocessing messagesprocessing messages Supports movement of dataSupports movement of data

Conceptually “Work-Bite-Sized”Conceptually “Work-Bite-Sized” Conceptually “Chunky” dataConceptually “Chunky” dataOften embedded into Often embedded into

applicationsapplications Often application independentOften application independent

Often activeOften active Fundamentally passiveFundamentally passive

Heterogeneous systemsHeterogeneous systems

Heterogeneous schemaHeterogeneous schema

Messaging IntegrationMessaging Integration Data IntegrationData Integration

Microsoft Messaging Technologies

Messaging IntegrationMessaging Integration

WCFWCFUnified framework for Unified framework for

exposing and exposing and consuming servicesconsuming services

MSMQMSMQ Message queuingMessage queuing in Windowsin Windows

BizTalkBizTalkServerServer

Business process andBusiness process andintegration serverintegration server

SQL SQL ServiceServiceBrokerBroker

Reliable data tier Reliable data tier messaging within SQLmessaging within SQL

Host Host IntegrationIntegration

Server Server

IBM Mainframe & IBM Mainframe & Midrange connectivityMidrange connectivity

Message Styles

Queued

Windows

MSMQ

Windows

MSMQ

ApplicationApplication ApplicationApplication

Broker

Technologies Advantages Challenges

• RPC• SOAP v1• WCF• HIS

•Simple•Coding within the app• Temporal and address coupled

• N(N-1) interfaces• Interface coupling•Protocol and format issues

• MSMQ•WCF• SSB• HIS

• More loosely coupled• Temporally uncoupled• Address coupled

• More concepts • Protocol issues

• BizTalk Server • Loosely coupled•Temporally uncoupled•Address uncoupled•Protocol agnostics process

• Even more concepts

Queued Messaging on WindowsMicrosoft Message Queue

Core ScenariosCore ScenariosAsynchronous communication between Asynchronous communication between Windows applicationsWindows applications

Message-level logging is requiredMessage-level logging is required

Key featuresKey featuresBuilt into WindowsBuilt into Windows

.NET APIs and MMC Management.NET APIs and MMC Management

Supports in memory or durable storageSupports in memory or durable storage

WindowsWindows.NET Client.NET Client .NET Client.NET Client

Exposing & Consuming ServicesWindows Communication Foundation

Core ScenariosCore ScenariosDistributed .NET communicationDistributed .NET communication

MSMQ, .NET Remoting, Enterprise ServicesMSMQ, .NET Remoting, Enterprise Services

Next generation web services stackNext generation web services stackExposing .NET applications as servicesExposing .NET applications as services

Consuming services in .NET applicationsConsuming services in .NET applications

Key featuresKey featuresUnified programming modelUnified programming model

Broad standards supportBroad standards supportWS-Security, WS-Trust, WS-SecureConversation, WS-WS-Security, WS-Trust, WS-SecureConversation, WS-PolicyPolicy

WS-Coordination, WS-AtomicTransationWS-Coordination, WS-AtomicTransation

WS-ReliableMessagingWS-ReliableMessaging

Exposing & Consuming ServicesWindows Communication Foundation

Windows

.NET App.NET App

WCFWCF

.NET App.NET App

WCFWCF

Windows

.NET App.NET App

WCFWCF

MSMQMSMQSOAP/TCPSOAP/TCPWeb Services

Web Services

.NET Web Services.NET Web Services

Other Web ServiceOther Web ServicePlatformsPlatforms

Data Tier MessagingSQL Service Broker

Core ScenariosCore ScenariosAsynchronous triggersAsynchronous triggers

Reliable query processingReliable query processing

Reliable data collectionReliable data collection

Large-scale batch processingLarge-scale batch processing

Key featuresKey featuresT-SQL constructs for queues, services, and T-SQL constructs for queues, services, and messagesmessages

Conversational and reliable stylesConversational and reliable styles

SQL ServerSQL Server SQL ServerSQL ServerSQL ServerSQL Server

BizTalk ServerBusiness Process and Integration Server

Core ScenariosCore ScenariosBrokered messaging between applications, services, Brokered messaging between applications, services, and organizationsand organizations

Standards based B2B integrationStandards based B2B integrationEDI, RosettaNet, HL7, HIPAA, and SWIFTEDI, RosettaNet, HL7, HIPAA, and SWIFT

Composite servicesComposite services

Key featuresKey featuresContent/context based, multi-endpoint, message Content/context based, multi-endpoint, message routing and transformationrouting and transformation

Business process state management and distributed Business process state management and distributed activity monitoringactivity monitoring

Business Rules EngineBusiness Rules Engine

Rich management console and integration with MOMRich management console and integration with MOM

BizTalk ServerBusiness Process and Integration Server

BPABPA B2BB2BEAIEAI

ContosoContoso

Logistics

Customer

Customer

ERPERP

HR HR SystemSystem

eComeCommm

CRMCRM

Bank

Supplier

SWIFTSWIFT

XMLXML

EDIEDIEDIEDI

RosettaN

RosettaNetet

Supplier

ReceiveReceivePortPort

Receive Receive AdapterAdapter

ReceiveReceivePipelinePipeline

Send Send PortPort

SendSendAdapterAdapter

SendSendPipelinePipeline

MessageBoxMessageBoxPersistent StorePersistent Store

HostHost HostHost

HostHost

Business Rules Business Rules Inference EngineInference Engine

OrchestrationOrchestration

Event Driven Pub/Sub ModelWith BizTalk Server 2006

MessageMessage

MessageMessage

Highly ScalableHighly ScalableEvent DrivenEvent DrivenArchitectureArchitecture

MainframeMainframe

Line of Line of BusinessBusiness

ServiceService

HeterogeneousHeterogeneousConnectivityConnectivity

Effective ProcessEffective ProcessImplementationImplementation

Modifiable Modifiable Business RulesBusiness Rules

HumanHumanWorkflowWorkflow

Business Process ManagementWith BizTalk Server 2006

Business ActivityBusiness ActivityMonitoringMonitoring

BizTalk Server / Workflow Foundation

BizTalk ServerBizTalk Server

Business Process & Integration ServerBusiness Process & Integration Server Adapters for application integrationAdapters for application integration Standards support for B2B integrationStandards support for B2B integration Unified console for management and operationsUnified console for management and operations Business Activity MonitoringBusiness Activity Monitoring Trading Partner ManagementTrading Partner Management Future support for Workflow FoundationFuture support for Workflow Foundation

Developer FrameworkDeveloper Framework Common API and development environment for Common API and development environment for

building workflow logic into applicationsbuilding workflow logic into applications Common technology for workflow across Microsoft Common technology for workflow across Microsoft

and the Windows platform (ISV)and the Windows platform (ISV)

Host Asset IntegrationBizTalk Adapters for Host Systems

Core ScenariosCore ScenariosNetwork integration with IBM mainframe and Network integration with IBM mainframe and AS/400 infrastructureAS/400 infrastructure

Application and data integration with mainframe Application and data integration with mainframe and midrange assetsand midrange assets

To .NETTo .NET

As ServicesAs Services

Bridging between MSMQ and MQSeriesBridging between MSMQ and MQSeries

Key featuresKey featuresTransaction integration with CICS, IMS & DB2Transaction integration with CICS, IMS & DB2

BizTalk AdaptersBizTalk Adapters

Legacy Asset IntegrationHost Integration Server

Host IntegrationHost IntegrationServerServer

.NET Clients.NET Clients

z/OS, OS/400…z/OS, OS/400…

DB2DB2CICS & IMSCICS & IMS

MQMQ

Web ServiceWeb ServiceClientsClients

Legacy Integration ScenariosHIS & BTS 2006

Presentation (session) Logic

Central Location – Data Center

Business (Trx.) Logic3270 Terminal

IBM zSeries or IBM iSeriesMainframe Midrange

AS/400, i5

CICS or Call Program

Windows Server 2003

RACF Security Authentication

z/OS or AS/400

Host IntegrationServer 2006

DB2 or Host Files

DatabaseServer

Web Server

`

OfficeTools

`

Analysisand

Reporting

Windowsand

Web Forms

MicrosoftBizTalk Server 2006 + Host Int. Adapters

BizTalk 2006 + Host Adapters

MQ

Legend:Legend: Data ConnectionData Connection Application connection (Transaction Application connection (Transaction Integrator) Integrator) Session connection (Session Integrator)Session connection (Session Integrator) Message Queuing (WebSephere MQ) Message Queuing (WebSephere MQ)

Microsoft Data Technologies

Data IntegrationData Integration

SQLSQLIntegrationIntegrationServicesServices

Data integrationData integrationservice deeply service deeply integrated within SQLintegrated within SQL

SQLSQLReplicationReplication

Data synchronizationData synchronizationservice within SQLservice within SQL

Warehousing & Federated QueriesSQL Server Integration Services

Core ScenariosCore ScenariosCombining information into data warehousesCombining information into data warehouses

Transferring data between heterogeneous DBMSsTransferring data between heterogeneous DBMSs

Data harvesting from diverse data sourcesData harvesting from diverse data sources

Federated queries across disparate data sourcesFederated queries across disparate data sources

Key FeaturesKey FeaturesExtract, Transform, Load (ETL) designers and Extract, Transform, Load (ETL) designers and engineengine

Error Handling & Fuzzy Logic components for data Error Handling & Fuzzy Logic components for data cleansingcleansing

Data WarehousingSQL Server Integration Services

SQL ServerSQL ServerIntegration ServicesIntegration Services

Data WarehouseData Warehouse

Federated QueriesSQL Server Integration Services

SQL ServerSQL ServerIntegration ServicesIntegration Services

Client ApplicationClient Application

SQL Replication

Core ScenariosCore ScenariosReplicating data SQL Server tables (offline, client/server). Replicating data SQL Server tables (offline, client/server).

Replication from and to Oracle and IBM databasesReplication from and to Oracle and IBM databases

Key featuresKey featuresIncremental changesIncremental changes

User driven UIUser driven UI

Support Across SQL Server, CESupport Across SQL Server, CE

SQL ServerSQL ServerIntegration ServicesIntegration Services

Client ApplicationClient ApplicationOracle/DB2Oracle/DB2

Messaging IntegrationMessaging Integration Data IntegrationData Integration

Two Categories of Integration

WCFWCFUnified framework for Unified framework for

exposing and exposing and consuming servicesconsuming services

MSMQMSMQ Message queuingMessage queuing in Windowsin Windows

BizTalkBizTalkServerServer

Business process andBusiness process andintegration serverintegration server

SQLSQLIntegrationIntegrationServicesServices

Data integrationData integrationservice deeply service deeply integrated within SQLintegrated within SQL

SQLSQLReplicationReplication

Data synchronizationData synchronizationservice within SQLservice within SQL

SQL SQL ServiceServiceBrokerBroker

Reliable data tier Reliable data tier messaging within SQLmessaging within SQL

Host Host IntegrationIntegration

Server Server

IBM Mainframe & IBM Mainframe & Midrange connectivityMidrange connectivity

When to Use What QuizMSMQ:MSMQ:

Asynchronous, parties not concurrent ,message level loggingAsynchronous, parties not concurrent ,message level logging

WCF:WCF: Direct or queued WS communication with WS platforms or Windows appsDirect or queued WS communication with WS platforms or Windows apps

BizTalk: BizTalk: Brokered app-to-app message-based integration with data mapping, Brokered app-to-app message-based integration with data mapping, process integration, business rules,B2B Integration, BAMprocess integration, business rules,B2B Integration, BAM

HIS: HIS: Connect securely to legacy (IBM MF/MR) app, host files, DB and MQ Connect securely to legacy (IBM MF/MR) app, host files, DB and MQ

SQL Service Broker:SQL Service Broker: Connect logic built as stored procedures or as .Net Framework application Connect logic built as stored procedures or as .Net Framework application spanning one or more SQL Server 2005 instancesspanning one or more SQL Server 2005 instances

SSIS: SSIS: ETL to data warehouse ,transfer data to and from several DBMSs, load ETL to data warehouse ,transfer data to and from several DBMSs, load diverse data files into SQL Serverdiverse data files into SQL Server

SQL Replication: SQL Replication: Replicate data SQL Server tables, from and to Oracle and IBM databasesReplicate data SQL Server tables, from and to Oracle and IBM databases

Mix and Match Quiz

Often your scenario will require multiple Often your scenario will require multiple patterns:patterns:

Aggregate bulk data from multiple stores to Aggregate bulk data from multiple stores to SQL. Enough stock? Reorder a partSQL. Enough stock? Reorder a part

SSIS and BTSSSIS and BTS

Receive a message through a Web Service Receive a message through a Web Service and send to a mainframeand send to a mainframe

WCF and HISWCF and HIS

Shared technologies provide strong Shared technologies provide strong integration capabilitiesintegration capabilities

““Intellectuals solve problems; Intellectuals solve problems; geniuses prevent them.” geniuses prevent them.”

Albert EinsteinAlbert Einstein

ResourcesTechnical Chats and Webcastshttp://www.microsoft.com/communities/chats/default.mspx http://www.microsoft.com/usa/webcasts/default.asp

Microsoft Learning and Certificationhttp://www.microsoft.com/learning/default.mspx

MSDN & TechNet http://microsoft.com/msdnhttp://microsoft.com/technet

Virtual Labshttp://www.microsoft.com/technet/traincert/virtuallab/rms.mspx

Newsgroupshttp://communities2.microsoft.com/communities/newsgroups/en-us/default.aspx

Technical Community Siteshttp://www.microsoft.com/communities/default.mspx

User Groupshttp://www.microsoft.com/communities/usergroups/default.mspx

© 2006 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

BizTalk Server and .Net Framework 3.0

Future version of BizTalk will leverage WinFXFuture version of BizTalk will leverage WinFX

BizTalk can be used as a host for WF for scale and BizTalk can be used as a host for WF for scale and access to features like BAMaccess to features like BAM

SharePoint Portal ServerSharePoint Portal Server

BizTalk ServerBizTalk ServerWindowsWindows

CommunicationCommunicationFoundationFoundation

WindowsWindowsWorkflowWorkflow

FoundationFoundation

SQL ServerSQL Server