Microsoft BizTalk Server Tutorial

advertisement
Microsoft BizTalk Server
Tutorial
CIS764 - Enterprise Database Design
Oubai Bounie
Introduction
• Microsoft BizTalk Server is an integration server product that
enables you to develop, deploy, and manage integrated business
processes and XML-based Web services.
• Microsoft BizTalk Server enables you to connect diverse
applications, and then to graphically create and modify business
processes that use the services that those applications provide.
• BizTalk Server engine provides a mechanism for specifying
business rules, better ways to manage and monitor the applications
built on it.
• BizTalk supports many built-in data adapters. (SOAP, Message
Queuing, FTP, HTTP, SMTP, SQL, EDI, File)
• BizTalk supports many data format (Database, Formatted Text, HL7,
XML)
• BizTalk engine uses XML for all internal processing.
Concept Overview
Prerequisites
• Microsoft Windows server 2003: you can
download trial version from
.
• Microsoft SQL Server 2000: you can download
trial version from http://www.microsoft.com/sql/evaluation/trial/.
• Microsoft BizTalk Server 2004: you can
download trial version from
http://www.microsoft.com/windowsserver2003/evaluation/trial/default.mspx
http://www.microsoft.com/biztalk/evaluation/trial/default.mspx.
• Microsoft Visual Studio 2003 or newer: you can
download trial version from
http://msdn.microsoft.com/vstudio/products/trial/.
BizTalk Tutorial
• This BizTalk tutorial demonstrates how you can use BizTalk Server
orchestrations to convert an XML message (a purchase order) into a
related, but distinct type of message (an invoice).
• This tutorial uses two folders: "In" folder is the pick up folder where
input file will be dropped to be picked up by BizTalk. And "Out" is the
output folder where BizTalk will drop the results.
• When you place a file, such as the sample file SamplePOInput.xml,
into this folder, BizTalk Server processes the message using the
following steps:
1. BizTalk Server retrieves the XML purchase order message from the
receive location folder In.
2. The orchestration uses the map file to create an XML invoice from the
XML purchase order.
3. BizTalk Server places the resulting XML invoice message into the send
adapter folder Out.
• We will use Microsoft Visual Studio to build a BizTalk application to
achieve the above solution.
1. Create BizTalk Project
• Run Visual Studio
• From the menu, select
File -> New -> Project
• Select "BizTalk Projects"
from the project types
listbox
• Select "Empty BizTalk
Server Project" from the
templates listbox.
• Enter the project name
and location and click OK
to proceed.
2. Create the Invoice schema
• Right click on the
project icon in the
Solution Explorer
window and select
Add -> Add New
Item.
• Select Schema from
the templates list
box.
• Name the schema
as
InvoiceSchema.xsd
3. Create the PO Schema
4. Create the Map
• Right click on the
project icon in the
Solution Explorer
window and
select Add -> Add
New Item.
• Select Map from
the templates list
box.
• Name the Map as
POToInvoice.btm
5. Create the Orchestration
• Right click on the
project icon in the
Solution Explorer
window and select
Add -> Add New
Item.
• Select BizTalk
Orchestration from
the templates list
box.
• Name the Map as
HelloOrchestration.
btm
6. Create Setup.bat to deploy the project
and bind the ports to BizTalk.
@SETLOCAL
@CALL "%VS71COMNTOOLS%vsvars32.bat" @SET SolutionName= HelloWorld.sln
@SET AssemblyKeyFile= HelloWorld.snk
@SET BindingFileName= HelloWorldBinding.xml
@SET SendPortName= HelloWorldSendPort
@SET ReceivePortName=HelloWorldReceivePort
@SET ReceiveLocationName= HelloWorldReceiveLocation
@SET FileReceiveDirectory=In
@SET FileReceiveLocation= \%FileReceiveDirectory%\*.xml
@SET FileSendDirectory=Out
@SET FileSendAddress= \%FileSendDirectory%\%%MessageID%%.xml
@SET OrchestrationName=HelloWorld.HelloSchedule
@SET AssemblyName=HelloWorld
@IF NOT EXIST %AssemblyKeyFile% sn -k %AssemblyKeyFile%
@DevEnv %SolutionName% /Deploy Development /Out Build.log
@BTSDeploy Import Binding=%BindingFileName% Log=Binding
@CScript /NoLogo "..\..\Admin\WMI\Start Send Port\VBScript\StartSendPort.vbs" %SendPortName% %FileSendAddress%
@CScript /NoLogo "..\..\Admin\WMI\Enable Receive Location\VBScript\EnableRecLoc.vbs" %ReceivePortName%
%ReceiveLocationName% %FileReceiveLocation%
@CScript /NoLogo "..\..\Admin\WMI\Enlist Orchestration\VBScript\EnlistOrch.vbs" %OrchestrationName% %AssemblyName% Start
@ENDLOCAL
7. Test the application
•
•
Create a sample XML file to use it as input. Name it SamplePOInput.xml
Copy and paste this XML code into the new created file
<?xml version="1.0"?>
<ns0: PO xmlns:ns0="http://HelloWorld.POSchema">
<PO_Number>1234</PO_Number>
<Total>$19.99</Total>
</ns0: PO>
</xml>
•
•
Copy the new file into the In folder.
Check the Out folder for results. You should get a new xml file that should look like this:
<?xml version="1.0" encoding="utf-8"?>
<ns0:Invoice xmlns:ns0="http://HelloWorld.InvoiceSchema">
<Number>1234</Number>
<TotalPrice>$19.99</TotalPrice>
</ns0:Invoice>
</xml>
References
• MSDN Library. Microsoft BizTalk Server
2004 Introduction.
http://www.msdn.microsoft.com/library/default.asp?url=/library/enus/def/htm/ebiz_def_portal_page.asp
• David Chappell. (2004) Understanding
BizTalk Server.
http://go.microsoft.com/fwlink/?LinkId=21281
Download