21
Microsoft BizTalk Server Tutorial CIS764 - Enterprise Database Design Oubai Bounie

Oubai_ BizTalk

Embed Size (px)

DESCRIPTION

BozTlak

Citation preview

Page 1: Oubai_ BizTalk

Microsoft BizTalk Server Tutorial

CIS764 - Enterprise Database DesignOubai Bounie

Page 2: Oubai_ BizTalk

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.

Page 3: Oubai_ BizTalk

Concept Overview

Page 4: Oubai_ BizTalk

Prerequisites• Microsoft Windows server 2003: you can

download trial version from http://www.microsoft.com/windowsserver2003/evaluation/trial/default.mspx.

• 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/biztalk/evaluation/trial/default.mspx.

• Microsoft Visual Studio 2003 or newer: you can download trial version from http://msdn.microsoft.com/vstudio/products/trial/.

Page 5: Oubai_ BizTalk

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.

Page 6: Oubai_ BizTalk

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.

Page 7: Oubai_ BizTalk

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

Page 8: Oubai_ BizTalk
Page 9: Oubai_ BizTalk
Page 10: Oubai_ BizTalk

3. Create the PO Schema

Page 11: Oubai_ BizTalk

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

Page 12: Oubai_ BizTalk
Page 13: Oubai_ BizTalk
Page 14: Oubai_ BizTalk
Page 15: Oubai_ BizTalk

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

Page 16: Oubai_ BizTalk
Page 17: Oubai_ BizTalk
Page 18: Oubai_ BizTalk
Page 19: Oubai_ BizTalk

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

Page 20: Oubai_ BizTalk

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>