Orchestrating Business Processes with BizTalk Server 2004 K.Meena Director, SymIndia Training & Consultancy Pvt Ltd
Agenda Business Process Integration BizTalk 2004 Messaging Architecture Creating Orchestrations Using Adapters Designing Transactions Consuming Web Services Orchestration as a Web Service
Need for Integration Carry over from Legacy Systems Mergers, Acquisitions Competitiveness Compulsions to go electronic Trading Partners, Clients Conformity to Standards Regulatory Bodies
Integration Challenge
Integration Servers BizTalk
B2B Scenario PO Shipping Notice Ship Order Destination RevisionInvoiceShip QuoteConfirmation Ford DUNLOP United Shipping BPM EAI
Integration Issues Business Process Management Business Rules Management Business Activity Monitoring Message format Transformation Supporting Multiple Transport protocols Reliable messaging Or all of the above ?
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
SOA Evolution DBMST Mainframe Business Logic DBMSGUI Business Logic Client/Server DBMSBrowser Business Logic Multi-Tier Service- Oriented DBMS Business Logic Clients PCs Web Web Services
Illustrating BTS 2004 BizTalk Server 2004 Engine Enterprise Single Sign-On Human Workflow Services Business Activity Services Health and Activity Tracking Business Activity Monitoring Business Rules Engine
BizTalk Server 2004 Architecture Message Pipelines (Interrogate/Translate) DecodeEncodeDecryptEncryptParseSerializeExtractPropertiesAuthenticateSign Orchestration (Business Process) Activation and Instance Management Correlation and Content-Based routing Message Box (Store) Adapters (Transport) HTTP SOAP/Web Services BizTalkMSMQ/TSAPMQSeries File BusinessIntelligenceReportingMonitoringAdministrationDeploymentProcessManagement Trading Partner Management OtherApplications Custom Components Custom Adapters SQL FTP
Why BizTalk Orchestration? Orchestrating Web Services and Existing Systems Rich set of Tools to help with every stage – dev, debug, stage, go-live, monitor, manage Scalable platform to execute the business processes reliably and efficiently A rich set of constructs to help capture business processes – write less code
BizTalk Orchestration Model and execute business processes.NET Integration. NET based engine Orchestration Designer Hosted in Visual Studio Rich semantics Long-Running Transactions and Compensation Flexible processes through business rules Custom and advanced correlation Compose Orchestrations Rich document normalization Flexible binding options (Early, Late, Dynamic)
Designing Orchestrations Orchestrations are designed using XLANG/s programming language BizTalk Orchestration Designer Generates the XLANG/s code XLANG/s is a superset of BPEL4WS XLANG/s can be exported to BEPL4WS Cannot use certain shapes Call Orchestration Suspend
Basic Features Conditional Flows Sequential and Parallel Flows Calling other orchestrations Sync/Async Invoking.NET components
Process Implementation Correlation Routes messages to an orchestration instance based on their contents Does not require the orchestration to block waiting for a response message BizTalk Server 2004 Engine PO# 5978 Purchase Order... PO# 6013 Purchase Order... PO# 5978 Invoice... PO# 6013 Invoice ERP Application
Orchestration
BizTalk Adapters CRM System ERP Database SCM Mainframe Financial System Adapters Choosing an Adapter Standard BizTalk adapter Third-party adapter Custom adapter Choosing an Adapter Standard BizTalk adapter Third-party adapter Custom adapter BizTalk Adapter Framework Common way to create and implement adapters Provides standard tools for managing standard and custom adapters BizTalk Adapter Framework Common way to create and implement adapters Provides standard tools for managing standard and custom adapters
Native Adapters Base EDI BizTalk Message Queuing FILEFTPHTTPSMTPSOAPSQL
Adapter Features EDI Support for X-12 and EDIFACT Standards MSMQT Native to BizTalk Server 2004 Support for Large messages (> 4MB) Guaranteed, Exactly Once Delivery File Locking of File while reading
Adapter Features HTTP Http Post or Get Receive adapter is an ISAPI Extension SMTP Only Send Can request delivery notification and read receipts
Adapter Features SQL Receive adapter is a polling service SELECT statement or Stored procedure to return a single result set Send dynamically created updategrams
Adapters
What Is A Transaction? A transaction is a sequence of operations that act as a single logical unit of work Two Options AtomicLong-Running
Scope Groups related actions together Transaction Property NoneAtomic Long Running Synchronized Property Synchronizes access to shared data Any number of exception blocks For Atomic transactions One Optional compensation block
Atomic Transactions ACID Properties Modifications to variables, messages,.NET components etc. only visible after a commit.NET Components in Atomic Transaction Will use DTC Transactions Must be ServicedComponents No Exception Handling Block Send and Receive Actions will be done AFTER the transaction commits
Long-Running Transactions Business processes typically last longer than just a few seconds Example: Send request for assessment, expect response a week later Locking used in short-running transactions are too resource intensive to scale New in 2004: Flexible “delay” Exception Handling Compensation
Long Running Transactions Do not provide atomicity and isolation Are not rolled back in case of a failure Must be “compensated” Default Compensation Invokes the compensations of any nested transactions in backward order Custom Compensation Using a Compensate Shape Must write your own compensation logic
Compensation If a transaction aborts and this affects the result of a previously completed transaction You can’t automatically undo to first transaction Use a compensation process for actions that can’t be undone Only committed message are available to the compensation process Callable compensation
Exception Handling Multiple Points of Failure Throw Exception Shape Time-out of long running transaction Other transaction failures User code exceptions Fault in Orchestration Exceptions thrown when an error occurs
Exception Handling When exceptions occur Execution of the Scope is stopped Runtime tries to find an exception handler If found, execution is resumed in exception handler If none found, Compensations are executed if they exist Exception is thrown again
Throw And Catch Exception Throw Shape Throws an Exception Specify the Exception Type Stops the execution of the Scope Looks for a matching Catch block Catch Shape Represents an exception handler Each Catch Shape handles a specify type of Exception(s) First matching Catch shape is executed
Transacted Orchestrations Orchestration can be transactional Orchestration is like a scope Can specify a compensation in case of failures Only executed when Orchestration is called from another Orchestration
Transactions in Orchestration
Publishing a Schema To provide access to XML schema Select request and response schemas Not tied to an orchestration Publishing a Schema To provide access to XML schema Select request and response schemas Not tied to an orchestration Web Integration Scenarios Consuming a Web Service To call Web service from an orchestration Can be request only or request-response Consuming a Web Service To call Web service from an orchestration Can be request only or request-response Web Service Orchestration Publishing an Orchestration To provide access to a business process Expose receive ports as a Web methods Can be called by any Web client Publishing an Orchestration To provide access to a business process Expose receive ports as a Web methods Can be called by any Web client Web Service Orchestration Web Service Schema
XML Web Service Interaction Simple, automated generation of E-Business Web Services Access to any web service from within Orchestration Tightly integrated design experience with the Orchestration Designer and Visual Studio.NET
XML Web Service Support Similar to other BizTalk transports Document Tracking Auditing Scaling across servers Fault Tolerance Standards support ASP.NET Microsoft SOAP Toolkit WSDL v1.1 UDDI
XML Web Services
Web Services In BizTalk Simple, automated generation of an E-Business Web service Access to any Web Service from a BizTalk Orchestration Reuse and Aggregate existing Web Services in Orchestrations InfoPath Integration
Calling A Web Service Check ERP Inventory Check Supplier Inventory
Publishing A Web Service ERP Checks Inventory Buyers Checks Inventory
Web Services Publishing Wizard Generates Web Services - Based on rich Orchestrations For publish and subscribe messaging Supports One-Way and Request- Response patterns Creates ASP.NET Web Service project Can be consumed by any SOAP Client Customizable for GXA support
Adding WS-Security Generated Web Service SOAP Transport Pipelines Endpoint Manager Message Box SOAP Request SOAP Response Custom pipeline component Modify generated Web service code
Web Services and Orchestration
Summary EAI and B2B Integration are facilitated by BizTalk Server 2004 Business Process Integration facilitated by Orchestration Support for Atomic and Long Running Transactions Rich Adapter support Creating and Consuming web services is easy
Your Feedback is Important! Please Fill Out the feedback form
© 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.