http://www.microsoft.com/technet
TNTx-xx
BizTalk Server 2004 Technical Overview
Darmadi Komo Microsoft Corporation
What we will cover:
What is BizTalk Enterprise Application Integration (EAI) and BizTalk Integrating BizTalk with Web Services Integrating desktop applications with BizTalk Solutions (Workflow) Integrating Trading partners (B2B) Deploying BizTalk Solutions Securing BizTalk solutions
1
http://www.microsoft.com/technet
TNTx-xx
Agenda
BizTalk Basics BizTalk Application Integration Implementing Business Processes Market Momentum and Summary
BizTalk Basics EAI Technologies Application 2 Format
XML
Web Services BizTalk Server Application 1 Format
Application 1
IIS Server Application 3 XML Data
Application 2
Application 3
Application 4
2
http://www.microsoft.com/technet
TNTx-xx
Basic Enterprise Environment Typical Enterprise Inventory/ logistics
Business Partners
Custom business applications Security firewall
Supplier
EDI
XML
Financial Systems
Supplier hub
xCBL
Customer Relationship Management
Enterprise Resource Planning
EAI
Marketplace
B2B
BizTalk Basics What’s new in Microsoft BizTalk 2004
Standards Support ¾
Integrated Tools Environment ¾
WSDL, messages, ports, and services
Power Tools for Information Workers ¾
Orchestration, schemas, maps, and pipelines
Web Services Integration and Durability ¾
Unified in Visual Studio .NET 2003
BizTalk Project System ¾
BPEL4WS, WSDL, XSD, XSLT
Business Activity Services, Human Workflow Services, Tracking
Faster Partner Configuration ¾
BizTalk Explorer
3
http://www.microsoft.com/technet
TNTx-xx
BizTalk Basics Standards Support XML foundation
¾ ¾
Schema based on W3C XML standard XSD Schema mapping based on W3C XSLT
Business Process Execution Language for Web Services (BPEL4WS)
¾
Describes Web service behaviors and processes
Web Services Description Language (WSDL)
¾
XML Web Service support is core BizTalk Server 2004 functionality
BizTalk Basics BizTalk XML Schemas XML Schema ---
BizTalk uses the XML Schema Definition An schema An XML XML schema defines: defines: Language z z Elements Elements (XSD)
z z z z z z z z z z
Attributes Attributes Data Data types types Order Order of of tags tags Mandatory Mandatory fields fields Multiple Multiple occurrences occurrences
<xs:element name="Item"> <xs:complexType> <xs:sequence> <xs:element name="Description“ type="xs:string" /> <xs:element name="Quantity" type="xs:int" /> <xs:element name="UnitPrice" type="xs:string" /> <xs:element name="TotalPrice" type="xs:decimal" /> <xs:element name="ItemID" type="xs:long" /> Instance XML --
- Description_0 10 UnitPrice_0 10.4 10
4
http://www.microsoft.com/technet
TNTx-xx
BizTalk Basics Supported Schema Types Schema Type
Details
XML
y Supports native XML message types y Defined in XML Schema definition language (XSD)
Flat File
y Supports delimited or positional file formats y Attribute tags are used to represent values y Tag information is stored using the annotation capabilities of XSD
Node Node
Structure Structure
Description Delmited Description Delmited UnitPrice Delmited UnitPrice Delmited Quantity Delmited Quantity Delmited TotalPrice TotalPrice ItemID ItemID Status Status
Delmited Delmited Delmited Delmited Delmited Delmited
Start Start
Length Length
00 50 50
50 50 10 10
60 60 70 70 80 80 99 99
10 10 10 10 10 10 11
y Special purpose schema type y Defines promoted property fields y Property fields can then be accessed by various BizTalk Server components
Property
BizTalk Basics BizTalk Project System Orchestration Orchestration
Schemas Schemas
Model Model the the Business Business Process Process
Define Define Business Business Documents Documents
Customer Name Title Item Record PO Field1 Status Field2 ItemID Field3
Header PO Status Item Field1 Field2
Qty
Field3
UnitPrice Date
Pipelines Pipelines
Maps Maps
Process Process Messages Messages
Header PO Status Item
Transform Transform Data Data
Field1 Field2
Order PO Date Detail FieldA FieldB
Field3
5
http://www.microsoft.com/technet
TNTx-xx
BizTalk Basics BizTalk Server Projects
BizTalk Basics BizTalk Solution Stages Analyst Architect
Developer ReceivePOPort Operation_1 > Request
ReceivePO POMessage
Develop and Test
IT Pro ReceivePOPort Operation_1 > Request
ReceivePO POMessage
Physical Environment
ContructInvoice POInvoiceTransform
ContructInvoice SendInvoice
POInvoiceTransform
InvoiceMessg
SendInvoice
SendInvoicePort Operation_1 < Request
SendInvoicePort Operation_1 < Request
InvoiceMessg
The Business The Developer uses Analyst creates a BizTalk graphical graphic development environment representation of to create an application the business that models the business process process
The IT Professional deploys the solution to the physical hosting environment
6
http://www.microsoft.com/technet
TNTx-xx
Agenda
BizTalk Basics BizTalk Application Integration Implementing Business Processes Market Momentum and Summary
BizTalk Application Integration Maps
Maps define the correspondence between records and fields in two different schemas Data Data Transformation Transformation z z
Source Schema Record PO
Destination Schema Order PO Number
Status
Date
ItemID
Item No
Qty UnitPrice
Quantity Order Status
z z
Perform Perform computational computational and and other other data data operations operations Automatically Automatically inserts inserts the the data data from from one one message message into into another another during during runtime runtime
Data Data Translation Translation z z
z z
Change Change the the format format of of data data between between messages messages Example: Example: translate translate to to and and from from aa flat flat file file and and an an XML XML file file
Date
7
http://www.microsoft.com/technet
TNTx-xx
BizTalk Application Integration Types of Maps Mapping Operation Basic Record PO
Order PO Number
Status
Date
ItemID
Item No
Qty UnitPrice
Quantity Order Status
Date
Complex Header PO Status Item
Order PO Date Detail
Field1
FieldA
Field2
FieldB
Usage y Most common type of mapping y Values simply copied from input message to output message y Supports most types of transformations and translations y Records can occur multiple times for a single message (looping) y Used for variable count record mapping
Field3
BizTalk Application Integration The BizTalk Mapper BizTalk BizTalk Mapper Mapper z z
z z
z z
Integrated Integrated within within Visual Visual Studio Studio .NET .NET Becomes Becomes active active when when aa map map is is opened opened or or added added to to aa project project Schemas Schemas must must be be part part of of the the project project or or referenced referenced in in another another assembly assembly
Source Source Schema Schema
Map Map Zone Zone
Destination Destination Schema Schema
8
http://www.microsoft.com/technet
TNTx-xx
BizTalk Application Integration Functoids
Mechanism for performing operations on mapped data
70+ 70+ Predefined Predefined functoids functoids z z z z z z z z
Add Add and and modify modify data data Change Change date date and and time time Concatenate Concatenate fields fields Perform Perform complex complex transformations transformations
Custom Custom functoids functoids z z z z z z
Custom Custom functionality functionality Use Use scripting scripting functoid functoid Create Create in in Visual Visual Basic Basic or or C# C#
Source Schema
Destination Schema
Record PO
Order PO Number
Status
Date
ItemID
Item No
Qty UnitPrice
Quantity Order Status
Date
Total Price
BizTalk Application Integration BizTalk Server and InfoPath (Workflow)
InfoPath is an end-user friendly interface for XML ¾ ¾
Streamlines the process of gathering information Produces and consumes XML
Create Templates and fill out forms ¾ ¾ ¾
Easy to deploy, maintain, and distribute Securely send it to partners, suppliers, or customers regardless of platform Orchestrate and manage complex business processes
9
http://www.microsoft.com/technet
TNTx-xx
BizTalk Application Integration BizTalk and InfoPath (Workflow)
InfoPath is a smart client for XML Web Services ¾ ¾ ¾
Use InfoPath forms as a Web service frontend Connect to secure Web services Orchestration can be exposed through a Web service
Collect data for business processes ¾ ¾
Data validation and conditional formatting Work with forms online or offline
BizTalk Application Integration Example – BizTalk & InfoPath Workflow Company Employee Database
Send Send summary summary mail mail
Product Pricing Database
Summary Email Attachment
Submit Submit action action to to be be taken taken to to BizTalk BizTalk
Get Get sales sales rep rep info info via via ADO ADO
Get Get daily daily minimum minimum prices prices via via XML XML Web Web Service Service
BizTalk Server
Update Update call call reports reports database database
Call Reports Database
Submit Submit sales sales call call report report
InfoPath
Update Update daily daily sales sales database database
Query Query Company Company history history
Daily Sales Database
Company History Query
10
http://www.microsoft.com/technet
TNTx-xx
BizTalk Application Integration Example – BizTalk & InfoPath Workflow
Originator: submit expenses Approver: approve, decline, or assign expenses
Agenda
BizTalk Basics BizTalk Application Integration Implementing Business Processes Market Momentum and Summary
11
http://www.microsoft.com/technet
TNTx-xx
Implementing Business Processes Messaging Flat File
XML
XML
Business Process
Flat File
Orchestration
Receive Location
Send Port
Receive Receive Adapter Adapter
Send Send Adapter Adapter Mapping
Receive Receive Pipeline Pipeline
Send Send Pipeline Pipeline
XML XML
XML
MessageBox Database
Implementing Business Processes Orchestration Purchase Purchase Order Order Handle Handle Approval Approval Query Query
Receive Receive Approval Approval Status Status Update Update
Submit Submit Request Request Approve Approve Validate Validate
Email Email User User
Message Message to to User User Send Send Email Email
Status Status to to Unsubmitted Unsubmitted
Call Call Validate Validate Schedule Schedule
Change Change Status Status
Email Email User User
Hold Hold for for Approval Approval
12
http://www.microsoft.com/technet
TNTx-xx
Implementing Business Processes The Orchestration Designer Port Surface
Port Surface ReceivePO
ReceivePOPort
POMessage
Operation_1 > Request
ContructInvoice POInvoiceTransform SendInvoicePort
SendInvoice InvoiceMessag
Operation_1 < Request
Toolbox Toolbox Port Port Surface Surface
Design Design Surface Surface
Port Port Surface Surface
Implementing Business Processes Web Service Integration Consuming Consuming aa Web Web Service Service z z z z
To To call call Web Web service service from from an an orchestration orchestration Can Can be be request request only only or or request-response request-response
Orchestration
Web Service
Publishing Publishing an an Orchestration Orchestration z z z z z z
To To provide provide access access to to aa business business process process Expose Expose receive receive ports ports as as aa Web Web methods methods Can Can be be called called by by any any Web Web client client
Publishing Publishing aa Schema Schema z z z z z z
To To provide provide access access to to XML XML schema schema Select Select request request and and response response schemas schemas Not Not tied tied to to an an orchestration orchestration
Orchestration
Web Service
Schema
Web Service
13
http://www.microsoft.com/technet
TNTx-xx
Implementing Business Processes Message Subscription Model Message Message received, received, processed, processed, and and stored stored in in the the message message database database
XML, Flat
Business Business Process Process
Receive Location
Message Message properties properties are are used used to to determine determine which which business business processes processes have have subscribed subscribed to to aa message message Business Business Process Process
Receive Receive Adapter Adapter Bound Receive Receive Pipeline Pipeline
Subscribed
MessageBox Database
Send Send Port Port
Filter Filter expressions expressions are are configured configured for for orchestration orchestration receive receive shapes shapes
Implementing Business Processes Content Based Routing Receive Location
XML, Flat
Receive Receive Adapter Adapter Receive Receive Pipeline Pipeline
Content Content Based Based Routing Routing z z z z z z
Route Route directly directly to to aa port port Based on a filter Based on a filter expression expression Configured Configured on on the the send send port port
Send Send Port Port AA Send Send Port Port BB
MessageBox Database
Send Send Port Port CC Filter If Qty > 500 If Price > 10000 If Status == 0
Port A B C
14
http://www.microsoft.com/technet
TNTx-xx
Implementing Business Processes Pipelines Pipeline Processing Receive Receive Pipeline Pipeline
Orchestration Orchestration
Send Send Pipeline Pipeline
XML
Stages Stages z z Encode Encode z z Assemble Assemble z z Encrypt Encrypt
Stages Stages z z z z z z z z z z z z z z
Decode Decode Disassemble Disassemble Convert Convert Decrypt Decrypt Validate Validate Normalize Normalize Transform Transform
XML
Pipeline Components
Implementing Business Processes Pipeline Designer
Pipeline Pipeline Files Files
Toolbox Toolbox
Properties Properties Design Design Surface Surface
15
http://www.microsoft.com/technet
TNTx-xx
Implementing Business Processes Business Rules Concepts Term
Description y Condition that governs the conduct of a business process Business y Expression of knowledge or preference Rule y Guidance system for steering a transaction in a desired direction y Collection of definitions for rule conditions and actions Vocabulary y Assigns a friendly name to the definition y Version stamped and immutable to preserve integrity y Logical grouping of rules Policy y Published and deployed to a production environment y Applies rules to facts and evaluates the result Rules y Determines what action to take based on the evaluation Engine y Executes the action y Invokes a policy and associated rules RuleRule-based y Submits and facts to the rule engine Application y Applies the results of the evaluation to the calling process
Implementing Business Processes BizTalk Business Rules
Rules allow Information workers to: ¾ ¾ ¾
Define and own business policies Change policies in real time No coding or rebuilding required
Use business rules to: ¾ ¾ ¾ ¾ ¾
Business Event Customer Purchase Order Request
Business Decisions y Is customer known? y Is product known? y Is product available? y Is product low on inventory?
Classify requests Trigger notifications Automate approvals Escalate issues Reroute documents Rules
y If customer id exists, then customer is known y If customer is preferred and quantity exists on shelf, then product is available y If customer is not preferred and quantity+10 exists on shelf, then product is available y If quantity on hand < reorder quantity, then product is low on inventory y If product is low on inventory, then reorder product
16
http://www.microsoft.com/technet
TNTx-xx
Implementing Business Processes BizTalk Rule Composer z z z z z z z z
Create Create versions versions of of vocabularies vocabularies Create Create vocabulary vocabulary definitions definitions Compose Compose policies policies Publish Publish vocabularies vocabularies and and policies policies
Policies Policies
Vocabularies Vocabularies Definitions Definitions Rule Rule Composer Composer
Implementing Business Processes Trading Partner Integration
Business Activity Services ¾ ¾
Configure business processes and trading partners Office and Windows SharePoint Services are the front end
Role Links SEED Packages ¾ ¾
Hub packages Spoke Packages
17
http://www.microsoft.com/technet
TNTx-xx
Summary and Market Momentum
How to create a BizTalk project BizTalk can be Integrated with Web Services InfoPath and Excel can be Integrated with BizTalk Workflow Solutions How to Create and Deploy a Business Solution Improved Integration to link Trading Partners
BizTalk 2004 – The Application Integration Platform Solution on .NET
Business Activity Monitoring
Management Monitoring
Business Process Orchestration
System, People, Process
Business Process Definition
Process Definition
Connectivity EAI, B2B, Host
18
http://www.microsoft.com/technet
TNTx-xx
Enterprise Application Integration METAspectrum: 2003
Magic Quadrant for WS Major Vendor Influence, 3Q03
Source: Gartner research September 2003
19
http://www.microsoft.com/technet
TNTx-xx
MO1
BizTalk Server Adoption
Customers: over 3600 as of March 2004 Over 100 3rd Party BTS 04 adapters 50% of the Fortune 100 40% of the Global 100 30% of the Fortune 500
3,600+ 3500 3000 2500 2000 1500 1000 500 0
01
02
03
04
A Scale-Up & Out Environment -- Achieving 20 Million Messages / Day Scaling up
SQL Server (single MessageBox database) ¾ The
receiving and processing throughput when the CPU processors on SQL Server are scaled up from 1, 2, 4, and 8 CPU processors.
Scaling
out SQL Server (multiple MessageBox databases) ¾ The
performance impact of various deployments involving different numbers of BizTalk Servers and SQL Servers
Scaling out
BizTalk Server in an orchestration scenario ¾ Multiple
BizTalk Servers (receive and send) are added until the orchestration server becomes the bottleneck
Scaling out
BizTalk Server in a messaging scenario ¾ Adding
multiple BizTalk Servers to a deployment until the MessageBox database in SQL Server becomes the bottleneck due to lock contentions
20
Slide 39 MO1
*This needs to be made into a Growth curve
Miaenn Oleander, 6/18/2004
http://www.microsoft.com/technet
TNTx-xx
This document is provided for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS DOCUMENT. © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY. Microsoft, Microsoft Press, Visual Studio, Visual SourceSafe, Windows and Windows NT are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries. The names of actual companies and products mentioned herein may be the trademarks of their respective owners.
Next Step
Contact your account manager or Darmadi Komo at [email protected] for details http://www.microsoft.com/biztalk
21
http://www.microsoft.com/technet
TNTx-xx
Appendix
BizTalk Adapters Choosing an Adapter z z z z z z
Standard Standard BizTalk BizTalk adapter adapter Third-party Third-party adapter adapter Custom Custom adapter adapter
Adapters Financial Financial System System SCM SCM Mainframe Mainframe Database Database ERP ERP CRM CRM System System
22
http://www.microsoft.com/technet
TNTx-xx
Standard BizTalk Adapters Included Included Adapters Adapters z EDI z EDI z z File File z z FTP FTP z z HTTP HTTP z SMTP z SMTP z z SOAP SOAP z z SQL SQL Server Server
Third Party BizTalk Adapters
23
http://www.microsoft.com/technet
TNTx-xx
Custom Adapters
Use Biztalk Adapter SDK to implement custom adapters Useful to connect to in-house proprietary application
BizTalk Adapter Framework z z z z
Common Common way way to to create create and and implement implement adapters adapters Provides Provides standard standard tools tools for for managing managing standard standard and and custom custom adapters adapters
24