470 likes | 1.08k Views
Introduction to Microsoft BizTalk Server. Stephen Mohr, Omicron Consulting. Topics to be Covered. Role of BizTalk Server BizTalk Server Architecture Tools Services BizTalk Development Resources Questions. Role of BizTalk Server (BTS).
E N D
Introduction to Microsoft BizTalk Server Stephen Mohr, Omicron Consulting
Topics to be Covered • Role of BizTalk Server • BizTalk Server Architecture • Tools • Services • BizTalk Development • Resources • Questions
Role of BizTalk Server (BTS) • Facilitates application integration through messaging • Configuration in preference to programming • Abstracts integration functions to a server • Automates business processes (workflow) by sequencing application exchanges • Scenarios • B2B trading partners and portals • Legacy application integration
Application Integration • Getting one application to communicate directly with another • Interprocess communications protocols • Data interoperability • "Glue code" • Challenges • Legacy data and applications • Dissimilar platforms • Security and trust
Applications • Running code or components • Any process that performs a unit of processing useful from a business standpoint • Order processing • ERP • Manual functions (though this is a stretch) • Basically, any single application-to-application link
Systems • Ordered sequences of application–to–application interchanges • Dynamic • Sequences • Concurrent • Long transactions • This is your business! • A new area for programmers
BizTalk Architecture • Workflow Orchestration Engine • Manages transactions and state within systems • Messaging • Data interoperability • Routing and protocol selection • Data stores • Ports • Channels • Tracking • Specifications • Maps
Messaging • Asynchronous delivery of structured data intended to trigger activity • Scalable • Resistant to connectivity outages • Facilitates integration by supporting major Internet and Windows protocols • Web: HTTP, SMTP, FTP • Web: SOAP (future) • Native: File, MSMQ, COM/COM+
Messaging (cont'd) • Scalability – BTS server groups • Share a single DTA and queue database • Multiple BTS servers with identical configuration • Reliability • Log documents submitted to the queue (transaction and recovery) • Mix in SQL Server replication, MSCS clusters, RAID
Data Interoperability • Formats for everyone, by everyone • File formats • XML (favored) • Delimited • Positional • Hybrid • Runtime conversion of data in transit based on agreements
XML Data Translation Message Map Initial XML document XSL transformation Final XML document
Flat File Data Translation Sending message specification Message map Initial flat file document Flat file parser XML document XSL transformation Intermediate XML document Final flat file document Serializer Receiving message specification
Orchestration • Draw a flowchart in a Visio-based tool • Sequences • Concurrency • Decisions • Application integration • Tool emits XLANG document • Runtime orchestration engine • Uses document to load workflow • Manages system state • Coordinates application message interchanges
Data Stores • Document specifications • Message maps • Agreements • Workflows • Message tracking
Ports and Channels • Ports • Abstraction of an application, protocol, data format, and location • Denotes a directed connection between BTS and some external entity • Channels • Conjunction of two ports to make a connection between two applications • App 1 + BTS + App 2 = channel • Connectors between workflow and BizTalk messaging
Workflow Engine • Who manages the state of a process when there is no user/client? • Long transactions • What to do next • Coordinates the messaging engine as needed • Consumes XLANG documents • Based on pi calculus for a rigorous mathematical basis
BizTalk Builds On… • XML and related standards • Schemas • XSLT • Web, proprietary protocols • COM+ component software • It's all components (so you can extend it) • Management functions • Functoids • PKI and Digital Signatures
BizTalk Supports… • BizTalk Framework • Message envelopes • Placeholders for process state and routing • SOAP • Just another transport protocol • Often confused as a competing product/technology
Tools • If integration is a matter of configuration, you'll need tools • Biztalk Editor – message formats • BizTalk Mapper – format to format translation • Biztalk Management Desk – specify ports and channels • Orchestration Editor – draw workflow schematics • MMC Snap-In – server administration
BizTalk Editor • Record and field model • Property sheet based • Emits an annotated XML-DR schema • An example
BizTalk Mapper • Draw links, translations between two message specifications • One way: source to target • XSL-based • Functoids for intermediate processing • Maps source field(s) through processing to target field • Functions and scripts • Programmer extensible through COM • An example
BizTalk Management Desk • Everything so far has been concerned with data interoperability – what about the business function? • Location and configuration • Organizations/applications • Location • Protocol • Format used • An example
BizTalk Orchestration • Now that we've mastered applications, what about systems? • Visio based flowchart tool • Generates XLANG • An example
BizTalk Server MMC Snap-in • Some poor drone has to keep these servers running – you'd like a tool, wouldn't you? • Queues • Server Groups • Events • Demonstration
Services • Transport protocols • Web protocols and platform proprietary ones • Listeners on services • Multiple listeners possible, e.g. multiple use of the same protocol • Message tracking • Auditing of message activity to a database • Business analyst can specify which fields to track
Transport Protocols • HTTP • SMTP • FTP • Files • MSMQ • COM (via AICs, IBTSAppIntegration) • SOAP (future)
Tracking • Think Fedex – there is as much value in knowing where it is/went as in receiving it • Batches or individual interchanges • Document Tracking and Activity (DTA) database (SQL Server) • Management desk offers views of activity
Data Formats • XML • Flat files • Delimited • Positional • Mixed hybrid • Some examples • CSV – how many apps support this? • Positional – the rest of the legacy world!
Data Transformation • XSL – an elegant, data driven transformation from one XML vocabulary to another • What about flat files? • Intermediate form – a BTS "vocabulary" • An example • Add COM pre- and post-processor components and you can use XSL with flat files!
Application Integration Components • When you want to weld an application to BTS • A COM interface that allows the component to be called in a predictable way • Leverages Commerce Server's experience in pipeline components • Hmm, this is a good way to offer two views to e-commerce customers • Manual – pipelines • Automated bulk processing – BTS AICs
BizTalk Development • Your (programming) jobs are safe • New applications can use the COM interfaces directly to submit messages to the BTS queue • Programmatic administration and management • Extend the tools • Mapper functoids • Parsers?
Generic Integration • Configure ports and channels in the Management Desk • Write applications • Very little programming required by BTS per se
Direct Integration • Synchronous and asynchronous submission • IInterchange • Getting messages into BTS • Submit and SubmitSync • You can check the queues, but you cannot pop a message off the queue • The focus is on consuming messages in applications via standard protocol delivery • An example
AIC Development • IPipeline Component • ASP pages for properties • Execute • Configure with your message properties • BTS calls Execute method
Adminstrative Programming • ICISReadData Interface • Access to document tracking • Makes liberal use of native objects like ADO • Track interchanges • Get document details • Track what documents were generated by an interchange
Summary • Something new – you may have to sell management • BTS moves developers up on the enterprise food chain • System orchestration is your business • B2B • Data driven application integration • Configuration, not programming, is the goal • Enables integration within the organization (intranet app integration) or across the Internet (extranet integration) • No prerequisites on the other end
Further Resources • XML and XSL http://msdn.microsoft.com/xml http://www.w3.org/TR • BizTalk Framework http://msdn.microsoft.com/xml/articles/biztalk/biztalkfwv2draft.asp • Professional BizTalk • Wrox Press, ISBN 1-861003-29-3
Questions? Stephen Mohr, Omicron Consulting smohr@omicron.com