Sunteți pe pagina 1din 34

Workflow Solutions

InfoImage
BizTalk Integration Reference Guide

UNISYS

2008 Unisys Corporation.


All rights reserved.

December 2008

Printed in USA
8206 3595-000

NO WARRANTIES OF ANY NATURE ARE EXTENDED BY THIS DOCUMENT. Any product or related information
described herein is only furnished pursuant and subject to the terms and conditions of a duly executed agreement to
purchase or lease equipment or to license software. The only warranties made by Unisys, if any, with respect to the
products described in this document are set forth in such agreement. Unisys cannot accept any financial or other
responsibility that may be the result of your use of the information in this document or software material, including
direct, special, or consequential damages.
You should be very careful to ensure that the use of this information and/or software material complies with the
laws, rules, and regulations of the jurisdictions with respect to which it is used.
The information contained herein is subject to change without notice. Revisions may be issued to advise of such
changes and/or additions.
Notice to Government End Users: This is commercial computer software or hardware documentation developed at
private expense. Use, reproduction, or disclosure by the Government is subject to the terms of Unisys standard
commercial license for the products, and where applicable, the restricted/limited rights provisions of the contract
data rights clauses.
Correspondence regarding this publication can be submitted through the normal support process for the product in
question as a UCF. For documentation problem, use the "USER-DOC" component in the UCF.
Visit http://www.support.unisys.com/EPA/TXT/IIF-WELCOME?PLA=IIF&FORM=HTML-UNISYS

Unisys and InfoImage are registered trademarks of Unisys Corporation in the United States and other countries.
All other brands and products referenced in this document are acknowledged to be the trademarks or registered
trademarks of their respective holders.

Contents
Section 1.

Getting Started
Purpose ......................................................................................................... 11
Audience ......................................................................................................... 11
Prerequisites .................................................................................................... 11
Scope
......................................................................................................... 11
Introduction to BizTalk Server ......................................................................12
BizTalk Integration...........................................................................................12

Section 2.

Custom Pipeline Components


Process Overview...........................................................................................21
Introduction to Custom Pipeline Components ........................................ 22
BizTalk Integration Custom Pipeline Components ................................. 22
Adding Custom Pipeline Component......................................................... 23
XML Schema .............................................................................................. 24
Send Workitem Schema............................................................................... 24
Retrieve Workitem Schema......................................................................... 24
Input Specifications ..................................................................................... 24
Using Schemas in Orchestration ................................................................ 25
Credential Encryption .................................................................................... 25
Introducing Workitem to InfoImage Workflow Domain........................ 26
Retrieving Workitem from InfoImage Workflow Domain .................... 28

Section 3.

Base64 Encoding
Base64 Encoding.............................................................................................31
Code Snippet for Encoding .......................................................................... 33
Code Snippet for Decoding.......................................................................... 34

Appendix A. Using the Samples


Before You Begin ........................................................................................... A1
Creating Strong Name Key .......................................................................... A1
Referencing the SNK File Name and Path ................................................A2
Deploying the Solution..................................................................................A2
Configuring Receive Port..............................................................................A2
Configuring Send Port ...................................................................................A3
Starting Orchestration...................................................................................A3
Adding User Groups to ASPNET................................................................ A4
Setting up the Internet Information Service (IIS) Manager .................. A4

8206 3595-000

iii

Contents

Modifying the Public Key Token.................................................................A4


Adapters ........................................................................................................A6
Using the File Adapter ..................................................................................A6
InfoPath Integration ....................................................................................... A7
Designing a Form ........................................................................................... A7
Using the Simple Object Access Protocol (SOAP) Adapter .................A8
Glossary

iv

..................................................................................................... 1

8206 3595-000

Section 1
Getting Started
This section provides the following information:

A brief description of this documents purpose, audience, prerequisites and scope.

An introduction to Microsoft BizTalk Server and BizTalk Integration.

Purpose
The purpose of this guide is to provide instructions and supporting information for
using the Custom Pipeline Components in Microsoft BizTalk Server to communicate
with the InfoImage workflow domain via Client Automation Layer (CAL).

Audience
This guide is intended for InfoImage system administrators, BizTalk designers, and
others who manage Enterprise Application Integration.

Prerequisites
The BizTalk designers should be familiar with the concepts and operation of the
InfoImage workflow domain. Refer to the Technical Overview Guide for a high-level
overview of InfoImage workflow domain subsystem processes and InfoImage
components.
The prerequisites for installing the InfoImage BizTalk Integration Component are:

Microsoft BizTalk Server 2006

Microsoft Office InfoPath 2003/2007, SP1 (optional)

Scope
The scope of this guide does not include providing instructions for using the Microsoft
BizTalk Server 2006. For information on this product, see the appropriate user guides
or online help.

8206 3595-000

11

Getting Started

Introduction to BizTalk Server


BizTalk is a Microsoft product for business-process automation and applicationintegration both within and between businesses. Microsoft BizTalk Server facilitates
Enterprise Application Integration (EAI) within your company and automates businessto-business processes among your business partners.
BizTalk Server 2006 is built completely around the .NET Framework and Microsoft
Visual Studio .NET. It is a powerful process-centric integration platform as it offers
Web services support, business rules, workflow, and Business Activity Monitoring
(BAM).

BizTalk Integration
Unisys offers an integrated solution for business process management: seamless
integration between Microsoft BizTalk Server 2006 and InfoImage. BizTalk can be used
to extend InfoImage workflow functionality by combining the extensive EAI
capabilities of BizTalk Server 2006 with the enterprise content management (workflow
and imaging) capabilities of InfoImage 8.2. BizTalk Integration allows the existing
BizTalk enterprise to communicate and pass data between systems.
Integration is accomplished using custom pipeline components hosted on the BizTalk
pipeline. The delivered samples use the CAL API to interact with InfoImage workflow
domains Clients can create, send and retrieve workitems to and from workflow using
these pipelines.
Following are the two custom pipeline components:

Unisys Send Workitem creates and sends workitems to the default workstep of
an InfoImage workflow domain.

Unisys Retrieve Workitem retrieves workitems from an InfoImage workflow


domain.

For more information on BizTalk Integration installation, refer to the Installation and
Configuration Guide.

12

8206 3595-000

Section 2
Custom Pipeline Components
This section contains sections describing the process overview, custom pipeline
components, XML schema, credential encryption and how the BizTalk Integration
custom pipeline components work within an orchestration.

Process Overview
When a message is received in BizTalk Server 2006 it is processed through a receive
pipeline by a receive adapter. The receive pipeline contains components that perform
various actions such as message format conversion and validation. The message is
delivered into the MessageBox database.
The message is then dispatched to its target orchestration, which performs the action
defined by that orchestrations business process. Typically the result of this
processing is that another message is produced by the orchestration and saved in the
Message Box database.
This message, in turn, is processed by a send pipeline, which may convert it from the
internal XML format to any format required by its destination. The message is sent out
through a send adapter using an appropriate mechanism to communicate with the
application for which this message is destined.
The following illustration depicts the BizTalk Server Engine and the Message flow:
XML or
Flat File

XML or
Flat File

Orchestration

Receive Port
Receive
Adapter

Receive Location

Decrypt

Parse

Send Port

Resolve
Party

Receive Pipeline

Serialize

XML

Send
Adapter

Sign
Encrypt

Send Pipeline

MessageBox
Database

8206 3595-000

21

Custom Pipeline Components

Introduction to Custom Pipeline Components


Pipelines are used to prepare messages for processing. A receive pipeline prepares
messages for processing after they are received; the send pipeline prepares
messages for sending after being processed.
BizTalk 2006 Pipelines allow you to customize the processing of XML documents
received or sent via the various BizTalk 2006 adapters. Custom Pipeline components
extend the behavior of Pipelines to include processing data of any format.

BizTalk Integration Custom Pipeline Components


BizTalk Integration includes two custom pipeline components:

Unisys Send Workitem

Unisys Retrieve Workitem

Both of the custom pipeline components are General Components and can be placed
in the following stages of the pipeline:
Pipeline

Receive Pipeline

Send Pipeline

Stages

Decode

Validate

Resolve Party

Pre-assemble

Encode stages

Note: The custom pipeline components cannot be placed in the Disassemble stage
(Receive Pipeline) or the Assemble stage (Send Pipeline).
Using these pipeline components in BizTalk, you can integrate external applications
with your InfoImage workflow domains.
Sample BizTalk project files are provided so that you may customize them to meet
your requirements.
For information about error messages, refer to the BizTalk Integration section in the
Troubleshooting Guide.

22

8206 3595-000

Custom Pipeline Components

Adding Custom Pipeline Component


In a Visual Studio.NET BizTalk project, add the custom Pipeline components to the
Pipeline component toolbar by doing the following:
1.

Click Add/Remove Toolbox Items from the Tools menu or right-click the top of
the Pipeline Component toolbar and select Add/Remove Items.

2.

Select the Unisys Send Workitem or the Unisys Retrieve Workitem Pipeline
component on the Pipeline Components tab.
Drag and drop the custom Pipeline components onto the Pipeline.

The Unisys Send Workitem and Unisys Retrieve Workitem custom Pipeline
component are deployed in the \Program Files\Microsoft BizTalk Server
2006\Pipeline Components directory.
To enable encryption, set the EncryptionLevel to "1" in the Pipeline Component
Properties under Properties for the Unisys Send Workitem and/or Unisys Retrieve
Workitem custom Pipeline component. By default, encryption is disabled and the
EncryptionLevel is set to "0".
Refer to 'Credential Encryption' for more information on how to encrypt/decrypt
string.

8206 3595-000

23

Custom Pipeline Components

XML Schema
BizTalk Server relies heavily on Extensible Markup Language (XML) Schema files.
Schemas describe the format of the document and the data being processed between
the two systems. Both incoming and outgoing messages are defined using XML
Schema Definitions (XSDs).
All the schema files (XSD) are installed under the
\UeWI\Samples\IIFBizTalkSamples\IIFBizTalk\IIFBizTalk\ directory. There are
specific incoming and outgoing XSD files for each custom pipeline components.

Note: The schemas are available only when Samples is selected during custom
installation.

Send Workitem Schema


Schema Type

Schema File Name

Incoming Message Schema

InputWISend.xsd

Outgoing Message Schema

OutputWISend.xsd

Retrieve Workitem Schema


Schema Type

Schema File Name

Incoming Message Schema

InputWIRetrieve.xsd

Outgoing Message Schema

OutputWIRetrieve.xsd

Input Specifications
Page Markups
The following table lists the value to be provided in the input XML file for patterntype
in page markups.
PatternType

Value

Diagonal Cross

diagcross

Backward Diagonal

bdiagonal

Forward Diagonal

fdiagonal

Empty Nodes
While creating/retrieving workitem, the input xml file should not include empty nodes
(node without data). For example: <classname><classname/>.
Repeating Form Field
While creating a workitem, if the same form fields are repeated then the latest form
field input is considered.

24

8206 3595-000

Custom Pipeline Components

Using Schemas in Orchestration


Before referencing the schema assembly in the Orchestration Designer, you must add
a reference.
Adding a Reference
You must define the messages that are being sent and received. All the messages
must adhere to the pre-defined input or output schema. In Visual Studio .Net
2005/2008, in the Orchestration, add a reference to the provided BizTalk Integration
schemas.
While creating variables for the message instances, add the message instance variable
in the Orchestration View.
Adding Message Instance Variable
You must create message variables for each message instance, and associate each
variable with a schema.

Credential Encryption
During installation, the obfuscate.dll is delivered at \UeWI\Common\ directory. Third
party integration can use the two exposed functions, Obfuscate and Elucidate for
encrypting and decrypting passwords (i.e. credentials) respectively.
Following is the code snippet for encrypting and decrypting password.
Encryption
Function Declaration

Function Call

Decryption
Function Declaration

Function Call

8206 3595-000

25

Custom Pipeline Components

Introducing Workitem to InfoImage Workflow


Domain
External applications can use the Unisys Send Workitem pipeline component - placed
in either the Send or Receive Pipelines - to create and send workitems to default
workstep in an InfoImage workflow domain.

InfoImage
Domain

BizTalk Server Engine


To create and send workitems to an InfoImage workflow domain, the following
happens:

The external application must send the create workitem message to BizTalk.
The incoming message to BizTalk, in XML format, should adhere to the
InputWISend.xsd.

Note: For Import, Page and Notes, specify Import, Page, or Notes number along
with the actual data. If the number provided is in shuffled order, random
number, or repetitive number, then the numbers will be sorted and considered.
For example, if the number is provided as i) 1,3,2 or ii) 1,3,5, or iii) 1,2,2, the
numbering is sorted and considered as 1,2,3.

BizTalk communicates with Client Automation Layer (CAL) to create a workitem.

The workitem is successfully created, saved and sent to the default workstep in
the InfoImage workflow domain.

Note: If Fields/Imports/Notes/Pages fails to get created due to errors in the


workitem inputs, then the created workitem will be available in ClientList but
not sent to workflow.

26

8206 3595-000

Custom Pipeline Components

The outgoing message to BizTalk should adhere to the OutputWISend.xsd.

Note: All the schema files (XSD) are installed under the
\UeWI\Samples\IIFBizTalkSamples\IIFBizTalk\IIFBizTalk\ directory. The
schemas are available only when Samples is selected during custom
installation.

8206 3595-000

27

Custom Pipeline Components

Retrieving Workitem from InfoImage Workflow


Domain
External applications can use the Unisys Retrieve Workitem pipeline component
placed in either Send or Receive Pipeline to retrieve the workitem from the InfoImage
workflow domain.

InfoImage
Domain

BizTalk Server Engine


To retrieve workitems from the InfoImage workflow domain, the following happens:
1.

The external application must send the retrieve workitem message to BizTalk.
The incoming message to BizTalk, in XML format, should adhere to the
InputWIRetrieve.xsd. The incoming message contains the WorkItem ID and details
of the workitem (such as pages, notes, imports and fields) that need to be
retrieved.

2.

BizTalk communicates to CAL to retrieve a workitem from the InfoImage


workflow domain.
The outgoing message from BizTalk should adhere to the OutputWIRetrieve.xsd.
This information is populated in the custom "Receive Pipeline." The output XML is
passed to the Orchestration for further processing by the customers, as per their
business needs.

3. The workitem is successfully retrieved and sent to the external application.

Note: All the schema files (XSD) files are installed under the \Program
Files\UeWI directory. The schemas are available only when Samples is
selected during custom installation.

28

8206 3595-000

Section 3
Base64 Encoding
This section provides information on Base64 encoding.

Base64 Encoding
Base64 encoding is the scheme used to transmit binary data. It is a method of
encoding arbitrary binary data as ASCII text. Base64 processes data as 24-bit groups
and maps data to four encoded characters. Each 6 bits of the 24-bit group is used as
an index into a mapping table (base64 alphabet) to obtain a character for the encoded
data.
If the workitem is an image document that includes pages or imports, then all the
pages and imports embedded into the custom application should follow base64encoding algorithm. The XML schema has standardized base64 as an XML datatype.
Pages and imports should follow the base64 encoding for integration with external
applications, except InfoPath 2003/2007 that does Base64 encoding/decoding. Pages
and imports should be embedded as base64 encoded data. The custom applications
need to decode the encoded data.

Note:

In Microsoft Office InfoPath 2003/2007, the File Attachment control enables you
to insert files that are base64 encoded. This base64 data is then stored with the
XML data in the InfoPath form.

While using the File adapter, you must ensure that the pages and imports that are
adhering to the base64 encoding are embedded into the custom application.

When the external application generates the messages, it should encode pages and
imports as per the Base64 format.
The Base64 standard to be followed is briefly described below.
In the base64-encoded data, prior to the file content, there is a header that includes
information about the file being attached.

8206 3595-000

31

Base64 Encoding

The header structure consists of the following:

BYTE[4]: Signature:
(decimal)

199

73

70

65

(hexadecimal)

C7

49

46

41

(ASCII C notation)

\307

The first byte is chosen as a non-ASCII value to reduce the probability that a text
file may be misrecognized as a file attachment. The rest identifies the file as a File
Attachment.

DWORD: Size of the header

DWORD: IP Version

DWORD: dwReserved

DWORD: File size

DWORD: Size of file name buffer

File name buffer: variable size

After building the header structure described above, the header and file data are
concatenated and base64 encoded.

32

8206 3595-000

Base64 Encoding

Code Snippet for Encoding


Following is the code snippet to be used for encoding.
byte[] fileBuffer = null ;
String encodedData = String.Empty;
using(FileStream fs = new FileStream(filePath +
fileName,FileMode.Open))
{
fileBuffer = new byte[fs.Length];
fs.Read(fileBuffer,0,(int)fs.Length);
fs.Flush() ;
fs.Close() ;
}
byte[] nameBuffer = new byte[fileName.Length*2];
byte[] fileContent = new
byte[fileBuffer.Length+nameBuffer.Length+24];
byte[] filesize = BitConverter.GetBytes((uint)fileBuffer.Length);
byte[] fileNameLength =
BitConverter.GetBytes((uint)nameBuffer.Length/2);
//The first 24 bytes should contain the details of the file name
//and file size, out of which the first 16 should be constants
//as given below. At position 20 there should be DWORD
//containing the length of the filename buffer. Filename is
//stored as Unicode, the length is multiplied by 2. The file
//name starts from position 24.
fileContent[0] = 199 ;
fileContent[1] = 73 ;
fileContent[2] = 70 ;
fileContent[3] = 65 ;
fileContent[4] = 20 ;
fileContent[5] = 0 ;
fileContent[6] = 0 ;
fileContent[7] = 0 ;
fileContent[8] = 1 ;
fileContent[9] = 0 ;
fileContent[10] = 0 ;
fileContent[11] = 0 ;
fileContent[12] = 0 ;
fileContent[13] = 0 ;
fileContent[14] = 0 ;
fileContent[15] = 0 ;
fileContent[16] = filesize[0] ;
fileContent[17] = filesize[1] ;
fileContent[18] = filesize[2] ;
fileContent[19] = filesize[3] ;
fileContent[20] = fileNameLength[0] ;
fileContent[21] = fileNameLength[1] ;
fileContent[22] = fileNameLength[2] ;

8206 3595-000

33

Base64 Encoding

fileContent[23] = fileNameLength[3] ;
UnicodeEncoding.Unicode.GetBytes(name+"\0",0,fileName.Length+1,
fileContent,24);
for(int i = 0; i < fileBuffer.Length; i++ )
{
fileContent[24+nameBuffer.Length+i] = fileBuffer[i];
}
//Convert a subset of an array of 8-bits unsigned integers in to
//equivalent String representation consisting of base 64 digits.
encodedData = Convert.ToBase64String(fileContent);

Code Snippet for Decoding


Following is the code snippet to be used for decoding.
//Prior to the filecontent, there is a header in the Base64//string, including the original filename, length of the file,
//etc. At position 20 there is a DWORD containing the length of
//the filename buffer. Since the filename is stored as Unicode,
//the length is multiplied by 2. At position 24 in the header the
//filename starts.
//The Encoded data is decoded into a byte array.
byte[] decodeByte = Convert.FromBase64String(encodedData);
int namebufferlen = decodeByte[20]*2;
byte[] filenameBuffer = new byte[namebufferlen];
//The byte from where only the decoded data is present is
//retrieved in the filenameBuffer.
for (int index = 0; index< filenameBuffer.Length ;index++)
{
filenameBuffer[index] = decodeByte[24+index];
}
byte[] filecontent = new byte[decodeByte.Length(24+namebufferlen)];
for (int index = 0; index < filecontent.Length; index++)
{
filecontent[index] = decodeByte[24+namebufferlen + index];
}
//The actual file content is saved into a file using filestream.
using(FileStream fs = new FileStream(fileName,FileMode.Create))
{
fs.Write(filecontent,0,filecontent.Length);
fs.Flush();
fs.Close();
}

34

8206 3595-000

Appendix A
Using the Samples
This section provides the information about the following:

Before You Begin

Adapters

Using the File Adapter

InfoPath Integration

Using the Simple Object Access Protocol (SOAP) Adapter

Before You Begin


Before you start using the samples, do the following:

Create Strong Name Key (SNK)

Reference the SNK

Deploy the solution

Configure Receive Port

Configure Send Port

Start Orchestration

Add User Groups to ASPNET

Set up the Internet Information Service (IIS) Manager

Modify the Public Key Token

Creating Strong Name Key


To create the strong name key (SNK) file, do the following:
1.

From the Start menu Programs, select Microsoft Visual Studio .Net, then select
Visual Studio .Net Tools and then select Visual Studio .Net Command Prompt.

2.

Type the command and press Enter. For


example, sn k "D:\Samples\IIF.snk"
The key pair is written to the provided path.

8206 3595-000

A1

Using the Samples

Referencing the SNK File Name and Path


To reference the SNK file name and path
1.

In Visual Studio .Net, open the IIFBizTalk.sln from the


\UeWI\Samples\IIFBizTalkSamples\iifbiztalk directory.

2.

From the Project menu, click IIFBizTalk Properties.

3. In the dialog box, click Assembly under Common Properties.


4. Provide the created SNK file name and path against the Assembly Key File field
and click OK.
5. From the Build menu, click Build Solution.

Deploying the Solution


To deploy the solution, do the following:
1.

In Visual Studio .Net, open the IIFBizTalk.sln from the


\UeWI\Samples\IIFBizTalkSamples\IIFBizTalk directory.

2.

From the Project menu, click Properties. Under Configuration Properties, select
Deployment and then select the server where the orchestration needs to be
deployed.

3. From the Build menu, click Deploy Solution.

Configuring Receive Port


To configure the receive port, do the following:
Using File Adapter
1.

From the View menu, click BizTalk Explorer

2.

In the BizTalk Explorer, expand the server node where the solution was deployed.

3. To retrieve workitem, expand the Receive Port node and then expand the
RetrieveWorkitemFile.
4. Expand the Receive Locations node. Right-click the Location and click Edit.
5. In the Receive Location Properties dialog box, select FILE as the 'Transport Type'
and for 'Address URI', click and type the path for the 'Receive folder'. Verify if
the File Mash has *.xml as value. Click Apply and then OK.
6. Right-click the Location and click Enable.
7.

To send workitem, expand the Receive Port node and then expand the
SendWorkitemFile. Repeat the above step 4 to 6.

Using SOAP Adapter


1.

In the BizTalk Explorer, expand the server node where the solution was deployed.

2.

Right-click the RetrieveWorkitemSoap and click Enable to enable the location.

3. Right-click the SendWorkitemSoap and click Enable to enable the location.

A2

8206 3595-000

Using the Samples

Configuring Send Port


To configure the send port, do the following
1.

In the BizTalk Explorer, expand the server node where the solution was deployed.

2.

Expand Send Ports node, right-click the RetrieveWorkitemFile and click Edit.

3. In the Configurations dialog box,


a.

Expand the Transport node and click Primary. Make sure the Transport
Type is FILE. For Address URI, click and type the path and File name with
file type in the Destination folder. For example, %MessageID%.xml. By default,
Create New is selected for Copy Mode. But if you are changing the file name,
then select Overwrite for Copy Mode.

b. Expand the Send node and click General. Select the


Microsoft.BizTalk.Default.Pipeline.PassThroughTrasmit. from the drop-down
menu for the Send Pipeline.
c.

Expand the Filters & Maps node and click Filter. Select
BTS.ReceivePortName from the drop-down menu for the Property. Select
== for Operator and paste the Receive Port name for Value. To copy the
Receive Port Name, right-click the Receive Port and click Edit.

4. Click Apply and then click OK.


5. Right-click the Send Port and click Enlist and then click Start.
6. Expand Send Port node, right-click the SendWorkitemFile and click Edit.
Repeat the above steps 3 through 5.

Note: There is no need to configure send ports when using SOAP adapter.

Starting Orchestration
To start the orchestration, do the following:
1.

In the BizTalk Explorer, expand the server node where the solution was deployed.

2.

Expand the Orchestration node.

3. Select individual orchestration, right-click and click Enlist.


4. Right-click again and click Start.
Repeat this step for all orchestrations.

8206 3595-000

A3

Using the Samples

Adding User Groups to ASPNET


To add the user groups to ASPNET do the following:
1.

Right-click My Computer icon on the desktop and select Manage.

2.

In Computer Management, expand the System Tools node, and then expand the
Local Users and Groups node.

3. Click the Users node, then right-click the ASPNET and select Properties to
provide details for the ASP .Net Machine account.
4. In the ASPNET Properties dialog box, select the Member Of tab, and click Add to
add a new user group.
5. Type "BizTalk Application Users" as the object name and click OK.
6. Again click Add to add another user group.
7.

Type "BizTalk Isolated Host Users" as the object name and click OK.

8. Click OK.

Setting up the Internet Information Service (IIS) Manager


If you use the IIFBizTalk samples, a virtual directory needs to be created.
To set up the IIS Manager, do the following:

Using the IIS Manager, create a Virtual Directory under the Default Web Site with
the name as 'IIFBizTalk_Proxy' and point it to
\UeWI\Samples\IIFBizTalkSamples\webservice\IIFBizTalk_Proxy directory. It
requires only the 'read' and 'Run Script' option.

Modifying the Public Key Token


To modify the Public Key Token in the sample IIFBizTalk_Proxy solution file, do the
following:
1.

In Visual Studio .Net, open the IIFBizTalk_Proxy.sln from the


\UeWI\Samples\IIFBizTalkSamples\webservice\IIFBizTalk_Proxy directory.

2.

In Solution Explorer, click the


IIFBizTalk_RetrieveWorkitem_RetrieveWorkitemPort.asmx.cs under
IIFBizTalk_RetrieveWorkitem_RetrieveWorkitemPort.asmx.

3. Click the link click here to switch to code view.


4. In Windows Explorer, browse either to WINDOWS\assembly or WINNT\assembly.
Select the IIFBizTalk assembly, then right-click and then select Properties to
view the version and public key token. Copy these details.

A4

8206 3595-000

Using the Samples

5. In the code view in Visual Studio .Net, do the following:


a.

Find "" and replace the existing value with the Public Key
Token value from the created SNK file.

b. Find and replace the existing value with the Version number from
the created SNK file.
6. In Solution Explorer, click the
IIFBizTalk_SendWorkitem_SendWorkitemPort.asmx.cs under
IIFBizTalk_SendWorkitem_SendWorkitemPort.asmx.
Repeat the steps 3 through 5.
7.

From the Build menu, click Build Solution.

8. In IIS Manager, expand the Application Pools node, click DefaultAppPool and
then right-click Properties.
9. In the Identity tab, provide the security account details, Username and
Password, and then click OK.
10. In IIS Manager, expand the Websites node, under the IIFBizTalk_Proxy, then rightclick the .asmx files (for Retrieve and Send Workitem) and click Browse.
Verify if the link is functional. It should open a browser window with "InfoPath
BizTalk Integration Web Service" in title.

8206 3595-000

A5

Using the Samples

Adapters
BizTalk Server messages are received and sent via Adapters. BizTalk Server 2004/2006
includes various transport adapters such as File, HTTP, SMTP, SOAP, BizTalk Message
Queuing, FTP, SQL, and EDI adapters, as well as the Adapter Framework.
The adapters for BizTalk implements a series of messaging patterns such as RequestReply, Publish-Subscribe, Correlation Identifier, etc.
The Sample BizTalk Project files provide connectivity through two adapters:

File Adapter

SOAP adapter

Using the File Adapter


Use of the File adapter allows the messages to be read and written to the files in the
Windows file system. You must ensure that all the attachments (such as pages,
imports, etc) with a workitem are Base64 encoded.
To use File adapter for BizTalk to access the InfoImage workflow domain

When a message arrives at the Input port, RetrieveWorkiteminput or


SendWorkiteminput, the File Adapter picks the message and transfers to
Receive Pipeline.

The Retrieve or Send Workitem custom pipeline component,

A6

Validates the incoming message with respect to a predefined schema


(InputWIRetrieve.xsd or InputWISend.xsd)

Uses CAL to connect to domain and retrieve or send the details

Constructs an XML with output details

The output is sent to the defined output port.

8206 3595-000

Using the Samples

InfoPath Integration
The use of InfoPath as an intermediary between the InfoImage workflow domain and
BizTalk Server makes it possible to streamline and automate business processes.
BizTalk uses XML as a universal data encoding standard and it is based on publish and
subscribe pattern, where an incoming document source can provide data to any
number of parties.
Data can be sent from InfoPath through XML Web Services to BizTalk. Using the
schema-based Web Services, you can connect the InfoPath forms to the InfoImage
workflow domain.
You can design forms that receive data from a Web service, submit data to a Web
service, or both. If you are designing a form that does both, you can specify different
Web services for receiving and submitting data.

Designing a Form
You can use the provided sample InfoPath forms or design a new form in Microsoft
InfoPath.
For example to retrieve data from a Web service, use the data source wizard and
create a new form based on an existing Web service.
To connect the form to the Web service, do the following:
1.

From the File menu, click Design a Form.

2.

In the Design a Form task pane, click New from Data Connection.

3. In the Data Connection Wizard, click Web service, and then click Next.
4. On the next page of the wizard, click Receive data, and then click Next.
5. On the next page of the wizard, type the location of the Web service, and then
click Next.

Note: Do not deploy forms that use a localhost address for the Web service.
6. On the next page of the wizard, specify the Web service operation that you want
to submit your form data to.
7.

Click Next.

8. On the next page of the wizard, type a name for the data connection, and then
click Finish.

8206 3595-000

A7

Using the Samples

Using the Simple Object Access Protocol (SOAP) Adapter


The Simple Object Access Protocol (SOAP) adapter enables sending and receiving
messages by using SOAP over HTTP.
To use SOAP adapter for InfoPath to send/receive data from InfoImage through
BizTalk, do the following:
1.

Create a custom Send / Receive Pipeline and place the custom pipeline
components, Send Workitem or Retrieve Workitem.

2.

Create and configure port types to use the custom pipeline.

3. Build and deploy the Pipeline.


4. Publish the BizTalk Orchestration as Web service.
5. Design the InfoPath form as per the Published SOAP Request and Response
Schema or use the provided sample form.
6. Fill the InfoPath form and submit the details.
The custom Pipeline component deployed in Receive Pipeline retrieves the result.
SOAP response sent to InfoPath from Web service and query results are displayed
in InfoPath.
The following illustration depicts the process.

SOAP Request /
SOAP Response

Web Service

BizTalk
Server 2004

InfoImage
Workflow
Domain

A8

8206 3595-000

Using the Samples

The following illustration is an example to create and send workitem, using InfoPath
form, into the InfoImage workflow domain.
SendWorkitem details View

8206 3595-000

A9

Using the Samples

Pages View

A10

8206 3595-000

Using the Samples

The following illustration is an example to retrieve information of the workitem using


InfoPath form from the InfoImage workflow domain.
Query details View

8206 3595-000

A11

Using the Samples

Pages View

A12

8206 3595-000

Glossary
A
API
Application Programming Interface
A documented method by which one program can request services from another.

Any language and format used by one program to help it communicate with
another program.

The APIs enable programmers to repackage, recombine, or integrate parts of an


imaging system application with other applications, and to customize the user
interface.

BizTalk
A Microsoft product for business-process automation and application-integration both
within and between businesses. BizTalk is an industry initiative to promote Extensible
Markup Language (XML) as the common data exchange language for e-commerce and
application integration on the Internet.
BizTalk Server interacts with the back-end and legacy systems to automate
transactions between the business partners, and to automate the day-to-day
business workflow.

BizTalk Server 2004/2006 is a powerful process-centric integration platform, as it


offers Web services support, business rules, workflow, business activity
monitoring and is built on .Net Framework.

BizTalk Server Schema


An XML Schema Definition (XSD) language -based description of the structure of one
or more BizTalk Server instance messages.
BizTalk Server Schema File (.xsd)
A file containing the persisted form of a BizTalk schema.

C
CAL
The Client API OLE Automation Layer (CAL) provides an object-oriented programming
interface to the underlying system. The CAL interface is built on the Client Engine, but
it exposes the Client Engine API at a higher level as a set of interrelated OLE
Automation objects.

8206 3595-000

Glossary1

Glossary

F
File adapter
An adapter that can read messages from the file system and submit them to the
server, as well as write messages from the server to a file on the file system.

G
Global Assembly Cache (GAC)
It stores assemblies that are shared across all applications on a computer.

O
Orchestration
An executable business process in BizTalk. Orchestration is the process of outlining
and implementing a workflow.
Orchestration Designer
A Microsoft Visio-based BizTalk Orchestration Designer is a graphical user-interface
tool used to design and implement business processes.
Orchestration File (*.odx)
All orchestrations created in BizTalk Orchestration Designer have an .odx file
extension.
Orchestration Instance
A running instance of a specific executable business process in BizTalk.

P
Pipeline
A software infrastructure in BizTalk that defines and links one or more processing
stages, running them in prescribed order to complete a specific task. Pipelines divide
processing into stages, abstractions that describe a category of work. They also
determine the sequence in which each category of work is performed. The BizTalk
Pipeline enables to customize the processing of XML documents received or sent via
the various BizTalk adapters.
Pipeline File (*.btp)
All pipelines created with BizTalk Pipeline Designer has a .btp extension.

Glossary2

8206 3595-000

Glossary

R
Pipeline Component
A component created to integrate applications with BizTalk Server. A COM or .NETbased component that can be placed into a pipeline to perform some processing
action on the messages going through that pipeline. Custom Pipeline components
extend the behavior of Pipelines to include processing data of virtually any format.
Receive Pipeline
A pipeline in BizTalk that is executed on messages after they have been received by
an adapter and before they are published into the Message Box database.
Receive Port
A logical grouping of similar receive locations in BizTalk.

S
Send Pipeline
A pipeline that is executed on messages before they are sent out of the BizTalk
server.
Send Port
The location to which messages are sent or from which messages are received, and
the technology that is used to implement the communication action in BizTalk. The
location is uniquely identified by the name of the port.
SOAP
Simple Object Access Protocol (SOAP) is one of the adapters supplied by BizTalk
Server 2004. SOAP adapter that implements the SOAP protocol to interact with lineof-business applications, publishes orchestrations as Web services, and consumes
external Web services.

W
Web Services
A unit of application logic providing data and services to other applications.
Applications access XML Web services using standard Web protocols and data
formats such as HTTP, XML, and SOAP, independent of how each XML Web service is
implemented.
Workflow
A collection of all the ways in which workitems can move through an organization, the
processing and routing of work from workstep to workstep under program control.
Workflow Domain
A logical group of InfoImage components that generally form a departmental
processing unit within an enterprise, runs a route specific to the processing unit, and
communicates with a single Workflow Domain Controller. Formerly called an
InfoImage Domain.
8206 3595-000

Glossary3

Glossary

Workitem
A container that holds objects or other workitems. You can index, store, and retrieve a
workitem. Workitems include folders and documents. Every workitem is associated
with a data form that holds index data, has a name and a unique internal ID recognized.

X
XML
Extensible Markup Language, a pared-down version of SGML, designed especially for
Web documents, and used by designers to create customized tags that enable the
definition, transmission, validation, and interpretation of data between applications and
between organizations.
XML Schema (.XSD)
(1) An XML schema is a specification that defines the structure of an XML document,
including element names and data types, the form definition and means of data
validation in a form.
(2) A BizTalk Server schema file.
XSL
(1) A World Wide Web Consortium (W3C) standard defining stylesheets for (and in)
XML.
(2) Extensible Stylesheet Language (XSL) is an XML vocabulary that defines the format
of the data in the resulting document. It is used to transform XML data by means of a
style sheet that defines presentation rules.

Glossary4

8206 3595-000

S-ar putea să vă placă și