Business Process Integration BizTalk Server 2004 Lex Oskam Developer and Platform Evangelism
Connection Imperative Implications & Challenges The ability to react on information Always up to date information Adapt rapidly to changing business Mandate to connect “islands” of information Integrate the virtual company Multi-system, multi-company, multi-audience
Company A The Integration Challenge Remote Office/Consumers MobileEmployees Company B Customers Partners Suppliers Remote Office/Consumers MobileEmployees Business demand = everything connected
IT Challenges Integration “hurt” reached breaking point Lack of integration Systems not designed to work together Interoperability an afterthought Expensive, hard, time consuming, brittle Current model can’t keep up with business
Islands of Software and Data ? ? ? ?
Internet Banking Wireless Aggregation Branch Banking CRM Core Banking Wealth Management Treasury / Forex Trading / Back office Payment Systems and Card Mgmt 3D Secure Business Intelligence EAI Straight through Processing ATM / POS No Application is an island
Enterprises Today Tightly coupled applications Packaged Application Y ERP Application Unix Application J2EE Application.NET Application Packaged Application X CICS Application AS/400 Application
Business Process Integration Challenges Different OS platforms Different application communication protocols IIOP, RMI, DCOM,.NET Remoting… Different network protocols TCP/IP, SNA… Different document formats EDIFACT, CSV, XML… Different document definitions SAP.Order ≠ JDEdwards.Order Different business processes AKZO.ProcessOrder() ≠ DOW.ProcessOrder() Maintenance expensive ~ $7 per business application $ spent
Business Process Integration An Idealized Picture Packaged Application Y ERP Application Unix Application J2EE Application.NET Application Packaged Application X CICS Application AS/400 Application SOAP
Business Process Integration Web services only part of solution… They provide a solution for: Network protocol independancy HTTP anywhere Platform independancy On any OS platform Application platform independancy SOAP anywhere Document format independancy XML anywhere But in reality… Not all apps use web services… No standard XML.Order… (only branche specific) No standard business process…
Business Process Integration Decoupling of applications Packaged Application Y ERP Application Unix Application J2EE Application.NET Application Packaged Application X CICS Application AS/400 Application Business Process
Decoupling of applications What is needed… Sending/Receiving messages Adapters: File, FTP, SAP, Webservice, … Processing messaging Decoding, (Dis)Assemble, Party Resolution,… Mapping message to Business Process Subscriptions Defining Business Processes
Business Process Integration Role of BizTalk Server Packaged Application Y ERP Application Unix Application J2EE Application.NET Application Packaged Application X CICS Application AS/400 Application Business Process Messaging Orchestration BizTalk Server
Company B Company A BizTalk Server 2004 EAI, B2B & BPM Internet Application BizTalk Server Reliable Messaging Process Orchestration Business Rules Engine Enterprise Single Sign-On Health and Activity Tracking Business Activity Monitoring Human Workflow Services Off the Shelf Adapters & Development Framework Web Services
Adapter Receive Port Adapter Host BizTalk Server 2004 Basic Architecture Orchestration #1 Orchestration #2 Send Port TrackingDB Config DB DB BusinessRules Send Pipeline Publish and Subscribe Message Box (SQL) Message Format 1 Message Format 2 Receive Pipeline
Connecting LOB applications BTS 2004 Adapters Standard adapters from Microsoft include: Web Services adapter WSE 2.0 beta MQSeries adapter SAP adapter File, HTTP, … For building adapters: Microsoft.BizTalk.Adapter.Framework namespace Many third-party adapters: EDI adapter PeopleSoft adapter Lots more
Messages Tools Within 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
BizTalk Mapper An Example Map
Business Process Designing 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 Parallel Actions: performs multiple operations in parallel
Business Process Designing Design 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
Business Process Designing Orchestration Designer
Business Process Designing OD for Business Analysts
BizTalk Server 2004Other Integration Platform BPEL Definition Generated Process Definition Exchange The Business Process Execution Language for Webservices (BPEL4WS) Web Services Import/Export BPEL
MessageBox Orchestration State Process For processes with stable rules: inline For processes with volatile rules: external Modifiable Business Rules The Business Rules Engine MessageBox Orchestration State Process and Rules Business Rules Engine Rules
Process Implementation State Construct Message: allows declaring message variables, then setting their values An orchestration’s state is automatically stored and reloaded as needed MessageBox State
Scope Y: Long-running ERP Application Process Implementation Scopes Scope: supports 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 an orchestration instance based on their contents Doesn’t 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
BizTalk Server 2004 Engine Process Implementation Aggregating Services into SOA Packaged Application Unix Application J2EE Application CICS Application AS/400 Application Web Services Clients
Process Monitoring Health and Activity Tracking (HAT) Graphical access to information about: When an orchestration starts and ends When each step it is executed When message is sent/received What’s in each message … Tool: Health and Activity Tracking tool
Process Monitoring A HAT Tool Example
BizTalk Server 2004 Engine Process Monitoring Business Activity Monitoring Allows information workers to monitor business processes Tracking Monitored Events and Messages Microsoft Excel Other Clients Business Activity Monitoring (BAM)
Process Monitoring An Example BAM View
Scalability Support Host Instances Requests are automatically load balanced across orchestrations and MessageBoxes MessageBox Machine B Machine A Orchestrations Host Instance P Q Orchestrations R S Host Instance Machine C Orchestrations Host Instance P Q Machine D Orchestrations Host Instance P Q MessageBox Machine E
© 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY. Content created by 3 Leaf Solutions