Documente Academic
Documente Profesional
Documente Cultură
InfoImage
BizTalk Integration Reference Guide
UNISYS
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.
Section 3.
Base64 Encoding
Base64 Encoding.............................................................................................31
Code Snippet for Encoding .......................................................................... 33
Code Snippet for Decoding.......................................................................... 34
8206 3595-000
iii
Contents
iv
..................................................................................................... 1
8206 3595-000
Section 1
Getting Started
This section provides the following information:
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:
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
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.
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
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
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
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.
InputWISend.xsd
OutputWISend.xsd
InputWIRetrieve.xsd
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
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
InfoImage
Domain
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.
The workitem is successfully created, saved and sent to the default workstep in
the InfoImage workflow domain.
26
8206 3595-000
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
InfoImage
Domain
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.
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
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: IP Version
DWORD: dwReserved
After building the header structure described above, the header and file data are
concatenated and base64 encoded.
32
8206 3595-000
Base64 Encoding
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);
34
8206 3595-000
Appendix A
Using the Samples
This section provides the information about the following:
Adapters
InfoPath Integration
Start Orchestration
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.
8206 3595-000
A1
2.
2.
From the Project menu, click Properties. Under Configuration Properties, select
Deployment and then select the server where the orchestration needs to be
deployed.
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.
In the BizTalk Explorer, expand the server node where the solution was deployed.
2.
A2
8206 3595-000
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.
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.
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.
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.
8206 3595-000
A3
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.
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.
2.
A4
8206 3595-000
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.
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
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
A6
8206 3595-000
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.
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
Create a custom Send / Receive Pipeline and place the custom pipeline
components, Send Workitem or Retrieve Workitem.
2.
SOAP Request /
SOAP Response
Web Service
BizTalk
Server 2004
InfoImage
Workflow
Domain
A8
8206 3595-000
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
Pages View
A10
8206 3595-000
8206 3595-000
A11
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.
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.
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