BizTalk Server 2004 in a Service-Oriented World · BizTalk Server 2004 in a Service-Oriented World...

31
BizTalk Server 2004 in a Service-Oriented World David Chappell Chappell & Associates www.davidchappell.com

Transcript of BizTalk Server 2004 in a Service-Oriented World · BizTalk Server 2004 in a Service-Oriented World...

BizTalk Server 2004 in a Service-Oriented World

David ChappellChappell & Associates

www.davidchappell.com

The Evolution of Application Architecture

DBMS TMainframe Business Logic

DBMS GUIBusiness Logic

Business Logic

Client/Server

DBMS BrowserBusiness

LogicMulti-Tier

Service-Oriented DBMS

Business Logic Business

Logic

Clients

PCs

Web

Web Services

Enterprises Today

Packaged Application

Y

ERP Application

Unix Application

J2EE Application

.NET Application

Packaged Application

X

CICS Application

AS/400 Application

Service-Oriented Enterprises: An Idealized Picture

Packaged Application

Y

ERP Application

Unix Application

J2EE Application

.NET Application

Packaged Application

X

CICS Application

AS/400 Application

SOAP

Service-Oriented Enterprises: The Reality

Packaged Application

Y

ERP Application

Unix Application

J2EE Application

.NET Application

Packaged Application

X

CICS Application

AS/400 Application

Business Process

A Foundation for Business Processes:Describing the Platform

Communication with other applications

Scalability support

Human interaction with business processes

Cross-application authentication

Business process implementation

Process monitoring

Modifiable business rules

Tools for working with trading partners

BizTalk Server 2004BTS 2004 Engine: Adapters, pipelines, message mapping, and moreBTS 2004 Engine: Orchestrations with correlation, compensation, and more

BTS 2004 Engine: Hosts and host instances

Human Workflow Services

Technical: Health and Activity Tracking Business: Business Activity Monitoring

Enterprise Single Sign-On

Business Rules Engine

Business Activity Services

Illustrating BizTalk Server 2004

BizTalk Server 2004 Engine

Enterprise Single

Sign-On

Human Workflow Services

Business Activity Services

Health and Activity Tracking

Business Activity

Monitoring

Business RulesEngine

Illustrating the BTS 2004 Engine

MessageBox

Orchestrations

Message Path

<XML Message>

<XML Message>

<XML Message>

<XML Message>Incoming Message

Outgoing MessageSubscriptions

SendAdapter

SendPipeline

ReceiveAdapter

Receive Pipeline

Communication: BTS 2004 Adapters

Standard adapters from Microsoft include:– Web Services adapter – MQSeries adapter– SAP adapter– More

Many third-party adapters are available, including:– EDI adapter– PeopleSoft adapter– Lots more

Communication: Tools

For building adapters:– Microsoft.BizTalk.Adapter.Framework

namespaceWithin Visual Studio.NET:– Pipeline Designer

• Used to create custom pipelines– BizTalk Editor

• Used to create XSD message schemas– BizTalk Mapper

• Used to define mappings and XSLT transformations between message schemas

Communication: An Example Map

Process Implementation: Orchestrations

Define the operations in a business process using shapes– Compile into standard .NET assemblies

Example shapes:– Decide: an if-then-else statement– Loop: performs an action repeatedly– Send: sends a message– Receive: receives a message– Expression: executes an arbitrary expression– Parallel Actions: performs multiple operations

in parallel

Process Implementation: Tools

Within Visual Studio.NET:– Orchestration Designer

• Used to organize shapes that define a business process

Within Visio:– Orchestration Designer for Business

Analysts• Orchestrations can be imported and exported

between this and the Orchestration Designer

Process Implementation: Orchestration Designer

Process Implementation: Orchestration Designer for Business Analysts

Process Implementation: State

Construct Message: allows declaring message variables, then setting their values with either:– Transform: set via a BizTalk Mapper map– Message Assignment: set via the Expression

EditorAn orchestration’s state is automatically stored and reloaded as needed

MessageBox

State

Scope Y: Long-running

ERP Application

Process Implementation: Scopes

Scope: allows grouping actions into transactions– Atomic: recovery via rollback– Long-running: recovery via compensation

BizTalk Server 2004 Engine x

2) Attempt update, fail

Scope X: Atomic

CICS Application

.NET Application

1) Update and commit

3) Compensate

Process Implementation: Correlation

Routes messages to the correct orchestration instance based on their contents– Doesn’t require the orchestration to block

waiting for a response message

BizTalk Server 2004 Engine

1

2

. . .PO# 5978

Purchase Order

. . .PO# 6013

Purchase Order

. . .PO# 5978

Invoice

. . .PO# 6013

Invoice

ERP Application

BizTalk Server 2004 Other Integration Platform

BPEL Definition

Generated

Process Implementation: The Business Process Execution Language (BPEL)

Web Services

BizTalk Server 2004 Engine

Process Implementation: Aggregating Services

Packaged Application

Unix Application

J2EE Application

CICS Application

AS/400 Application

Web Services Clients

Scalability Support: Host Instances

Multiple host instances containing the same orchestrations can run on different machines– Storing state in multiple MessageBoxes

Requests are automatically load balanced

MessageBox

Machine B

Machine A

Orchestrations

Host Instance

PQ

Orchestrations

RS

Host Instance

Machine C

Orchestrations

Host Instance

PQ

Machine D

Orchestrations

Host Instance

PQ

MessageBox

Machine E

MessageBox

Orchestration

State

Process

For business processes with stable rules:

For business processes with rapidly-changing rules:

Modifiable Business Rules: The Business Rules Engine

MessageBox

Orchestration

State

Process and Rules

Business RulesEngine

Rules

Modifiable Business Rules: Tools

The Business Rule Composer allows a process’s rules to be expressed in a more natural wayExample:– Business process terms :

• Quantity Requested (from an order message)• Maximum Allowed Order Quantity (set to 100)

– Business process rule:• if Quantity Requested is greater than

Maximum Allowed Order Quantity, then send Order Rejected message

Process Monitoring (Technical): Health and Activity Tracking

Health and Activity Tracking (HAT) provides graphical access to information about orchestrations and messages, such as:– When an orchestration starts and ends– When each shape within it is executed– When each of its messages is sent and

received– What’s in each message– Much more

Tool: Health and Activity Tracking tool

Process Monitoring (Technical): A HAT Tool Example

BizTalk Server 2004 Engine

Process Monitoring (Business): Business Activity Monitoring

Allows information workers to monitor business processes– And to define what should be monitored

Tracking

Monitored Events and Messages

Microsoft Excel

Other Clients

Business Activity Monitoring (BAM)

Process Monitoring (Business): Tools

For information workers:– BAM Excel Add-in

• Allows creating views of activities with specific milestones and business data

For developers:– Tracking Profile Editor (TPE)

• Allows specifying what events and messages should be monitored

Process Monitoring (Business): An Example BAM View

The Result: Business Process Management (BPM)

BizTalk Server 2004 Engine

Business RulesEngine

Business Activity Monitoring (BAM)

Service

Service

Service

Modifiable business

rules

Business process

implementation

Process monitoring

Communication with other

applicationsScalability

support

Conclusions

A service-oriented world is inevitable, but it implies:– Connections to non-SOAP services– Services for building business processes

BizTalk Server 2004 is a foundation for building, managing, and monitoring business processes– In the world today– In the service-oriented world to come

About the Speaker

David Chappell is Principal of David Chappell is Principal of Chappell & Associates Chappell & Associates in San in San Francisco, California. David has been the keynote speaker for Francisco, California. David has been the keynote speaker for conferences in the U.S., Europe, Latin America, and the Middle conferences in the U.S., Europe, Latin America, and the Middle East, and heEast, and he’’s also delivered keynotes at many ins also delivered keynotes at many in--house events. house events. His seminars have been attended by tens of thousands of His seminars have been attended by tens of thousands of developers and decision makers in thirtydevelopers and decision makers in thirty--five countries. five countries. DavidDavid’’s books on enterprise software technologies have been s books on enterprise software technologies have been published in ten languages, and more than 100 of his articles hapublished in ten languages, and more than 100 of his articles have ve appeared in various publications. He is Series Editor for Addisoappeared in various publications. He is Series Editor for Addisonn--WesleyWesley’’s s Independent Technology GuidesIndependent Technology Guides, and his most recent , and his most recent book, book, Understanding .NETUnderstanding .NET, was published in this series in 2002. , was published in this series in 2002. DavidDavid’’s consulting clients have included HP, IBM, Microsoft, s consulting clients have included HP, IBM, Microsoft, Stanford University, and others. He has also met with and adviseStanford University, and others. He has also met with and advised d a broad range of organizations including Deutsche Bank, a broad range of organizations including Deutsche Bank, Singapore Airlines, and the Industrial and Commercial Bank of Singapore Airlines, and the Industrial and Commercial Bank of China. China. David holds a B.S. in Economics and an M.S. in Computer David holds a B.S. in Economics and an M.S. in Computer Science, both from the University of WisconsinScience, both from the University of Wisconsin--Madison. He has Madison. He has also participated in Executive Education at the Wharton School oalso participated in Executive Education at the Wharton School of f Business.Business.