Welcome!

XML Authors: Carmen Gonzalez, David Dossot, Yeshim Deniz, Elizabeth White, Sanjeev Sharma

Related Topics: XML

XML: Article

Introducing Microsoft InfoPath 2003 Part 2

Introducing Microsoft InfoPath 2003 Part 2

In Part 1 of this article (XML-J, Vol. 4, issue 6) we looked at creating a solution that used a new product in the Microsoft Office System 2003 called InfoPath. In this installment, I'll show you how to extend the solution created in Part 1 using BizTalk Server 2004.

In Part 1, we created a form that collected new patient information for a health care customer. Once we completed the initial InfoPath solution, the CIO was very impressed with the fact that InfoPath leveraged existing back-end Web services and allowed the company to continue developing using the service-oriented architecture (SOA) that they had invested very heavily in. The CIO's next challenge for my project team was to build an InfoPath solution that extended the patient form and included workflow components. What he wanted was an easy integration into their back-end mainframe system. I can remember his exact words, "Integrate and they will come!" Now we'll do exactly that. I will show you how we extended the solution using BizTalk Server 2004 and how the enhancements in this version make it possible.

What Is BizTalk Server 2004?
BizTalk Server 2004 is the third release of this server product. When we started this project BizTalk Server 2004 was publicly available in Beta 1 (www.microsoft.com/biztalk/beta). This new version is designed to solve three basic common integration scenarios - Enterprise Application Integration (EAI), Business Process Automation (BPA), and Information Worker Integration. The redesigned architecture is built on two main services that enable these: orchestrations that provide the execution framework for business processes, and BizTalk Messaging that enables transformation and routing between business processes.

Orchestrations allow the design, execution, and management of a business process. Workflows are created and saved into executable XML files called an XLANG orchestration. XLANG is a proprietary execution environment of BizTalk Server, but the new version enables the exporting of orchestrations to the Business Process Execution Language for Web Services 1.1 (BPEL4WS) specification. BPEL4WS defines a language for the formal specification of business process and business interaction models. XLANG has been a core component of BizTalk since the first product release but has been substantially enhanced within the new version. XLANG is now an extension of the managed runtime environment of the .NET Framework and this inclusion provides enhanced support for communication, transactions, long-running processes, and state management. These new managed orchestrations appear as a palette in Visual Studio .NET 2003 that allows developers to visually create, edit, and modify workflow processes directly within the development environment. For example, the managed environment enhancements and the new BizTalk Architecture allowed us to develop our initial NewPatientOrchestration without any custom coding. An additional extension to XLANG is a tracking engine. The Business Activity Monitor (BAM) allows business decision makers to monitor business processes and track potential process bottlenecks. Using the dashboard interface of Windows Sharepoint Services the business user is able to monitor, interact with, and even change existing BizTalk processes. The main feature of BAM is the provision of a platform for continual process improvement that is easily configured and managed.

Within BizTalk Server 2004 both messaging and orchestration have been combined into a single subsystem. This combination enables a shared common data store for process, state management, and messaging. During the execution of a process the messaging components handle the transport and mapping while the orchestration executes the defined processes.

The BizTalk Implementation
The CIO tasked the project team with two goals for the NewPatientOrchestration. The first was to publish a Web service that accepted the incoming completed and validated InfoPath forms. The second was to implement a basic transformation that could easily match an existing mainframe upload XML Schema (see 'Defining the Architecture').

The direct integration of BizTalk into the Visual Studio .NET 2003 IDE adds a new set of project types. For the NewPatientOrchestration and Web service we started with an empty BizTalk project. This project type created a blank project with references to the managed assemblies needed to create an orchestration. The inclusion of BizTalk into the managed environment means that all default references exist as a managed assembly. These default references include:

  • Microsoft.BizTalk.DefaultPipelines
  • Microsoft.BizTalk.GlobalPropertySchemas
  • System
  • System.Xml
One of these references is to a new feature called pipelines. These define a .NET or COM component that defines and links to the various processing stages of either sending or receiving a message. Each portion of these components specifies a messaging stage. For example, these stages include encoding/decoding, assembly/disassembly, and encryption/decryption. The pipeline designer allows the developer to modify, change, or augment the specific order of these stages.

The Microsoft.BizTalk.DefaultPipelines namespace defines the default pipelines: XMLReceive, PassThruReceive, XMLTransmit, and PassThruTransmit. This default reference processes documents using the PassThruReceive and PassThruTransmit function (see sidebar 'Pipelines').

Defining Messages
Pipelines are used to process messages that are defined as an XML Schema (XSD). These schema definitions define and maintain the specific message formats and structures used during the orchestration. We created two XSDs that matched the specific schema items and formats that were needed for our orchestration. These were generated using the new XSD schema item within the Visual Studio 2003 IDE (see Figure 1). The first schema (see Figure 2) represented the InfoPath-submitted inbound XML document. The second schema represented the transformation and matched the existing XML message format used for the mainframe system (see Figure 3).

Once we completed both the inbound and transformed schemas it was important to check the specific XSD formats. In many ways, reviewing and comparing a specific message instance is a lot easier than reviewing the schema tree and data types. Creating an XSD can be a very complex process that includes describing all the possible formats and variations within a specific document type. Within the Solutions Explorer, right-clicking the schema and selecting "generate instance" creates a reference document for schema definitions. It is important to remember that this is not a foolproof check, but it really helped to quickly review and validate the XML document.

Orchestration Design
Messages are the basic unit of communication within an orchestration. Messages consist of one or more parts with context data that describes their properties and content. BizTalk orchestration uses messages to provide the context for interchange between business process participants. Typically, orchestration is broader in scope than a traditional workflow. Each participant is autonomous, and the responsibility of routing a work item is determined by each cooperating participant. BizTalk Orchestration extends the definition of the traditional interaction diagram to include definition and control for decisions, concurrent actions, transactions, and supporting actions. The result of a completed orchestration is an XLANG executable file that represents the description of the business processes.

Within the Visual Studio 2003 IDE, new orchestrations are added in the same way as all other BizTalk items - through the Solutions Explorer and the New Item menu. This adds a file with an ODX extension that contains the XLANG structures. Within the IDE the orchestration page provides a visual interface that presents the underlying XLANG structure. This interface is broken into three sections that define an orchestration. First is the actual design surface or palette. This area is the visual surface where toolbox items are dropped and configured to define the process flow. Using this surface I dropped the send and receive ports that define the inbound and outbound message handler. The second area of the orchestration designer is the Orchestration Types window, which defines the specific port types, correlation types, and role links available within the orchestration. Using this window I was able to define the specific inbound and outbound operations defined for the orchestration. Finally, there is the Orchestration Variable window, which shows the orchestration properties, parameters, ports, messages, variables, correlation sets, and role links available for this orchestration. Using this window I was able to correlate the specific message to either the inbound or outbound port (see Figure 4).

Mapping schema definitions
Within the orchestration designer, the transform shape enables the flow of data from one message to another. This can be done through a direct assignment or a mapping process. The NewPatientOrchestration required a specific map because of required transformation and data translation to the outbound message type. The transform shape provides access to the BizTalk Mapper, which allows the assignment of specific source and destination attributes and provides both transformation and translation of specific schema elements and attributes.

Maps are initialized and defined by placing the transform shape onto the design palette (see Figure 5) and then defining the schema for the source and destination documents. This configuration is then loaded into the BizTalk Mapper, where the actual element and attribute flow from one message to another is defined. Within a map, functoids are used to manipulate the data flow. Functoids are an important part of any map. They provide the ability to map elements and attribute data into different elements and attributes across different structures. Within BizTalk Server 2004 they have become part of the Visual Studio toolbox palette and appear as part of the map. When working on a map you can drag them directly onto the design palette. For example, within the NewPatient Orchestration we dragged the string concatenation onto the map and dragged the source and destination elements between the two (see Figure 6). Within a map, input links correspond to input parameters and lead to the functoid from the left; an output link corresponds to the output parameters and leaves the functoid from the right.

Deploying the Solution
Once the map and orchestration are completed, the solution is ready for deployment. All projects within BizTalk Server 2004 are deployed into a managed assembly as a DLL. This is done by building the solution and then deploying it using the E-Business Web Services Wizard. This wizard provides the option of deploying either an orchestration or an enterprise schema as a Web service. When deploying an orchestration, the wizard starts with the compiled DLL and generates the necessary namespace, Web service name, communication patterns, and request/response objects to build and deploy an ASP.NET Web service project. The wizard identifies the defined ports, location, and schema within the compiled assembly to generate the necessary WSDL file that provides the Web service definition.

Any orchestration that uses only a single Web port is published as a single ASMX file that defaults to the orchestration name. The orchestration that we created used more than one Web port, and the default naming context is the name of the orchestration with an underscore followed by the Web port name. For example, once the NewPatientOrchestration was deployed, the Web port names NewPatientOrchestration_Outbound.asmx and NewPatientOrchestration_Inbound.asmx were assigned. It is important to keep these in mind within InfoPath as these are the service names that that InfoPath will bind to. Once bound to the specific Web service InfoPath has the ability to directly submit and receive data from these defined BizTalk Services.

Summary
In this article we developed a fully functional BizTalk process that was deployed as a Web service. We have covered many of the features of BizTalk Orchestration and deployment within the managed environment of the .NET Framework. The real benefit of this architecture was the creation of a Web service that offered workflow and integration capabilities that were easily accessible within the InfoPath environment. Throughout these two articles we have only covered the basics of InfoPath and BizTalk Server. There are still many more features that my health care customer found compelling. I challenge you to take the time to explore these and see the power of InfoPath to help reduce the mountains of paper that we have and BizTalk Server 2004 as a way of providing workflow and structure around existing business process.

Side bar

Pipelines
A pipeline is a new feature of BizTalk Server 2004 and defines a .NET or COM component that implements a set of predefined interfaces that interact with the BizTalk engine. The default order of the pipeline process for each of the components defines the default set of interfaces and processing order.

Default component order in the XMLReceive pipeline:

  • Decrypter
  • Decoder
  • Disassembler
  • Validator
  • Party Resolution

    Default component order in the XMLTransmit pipeline:

  • Assembler
  • Encoder
  • Encrypter
  • More Stories By Thom Robbins

    Thom Robbins is a senior technology specialist with Microsoft. He is a frequent contributor to various magazines, including .NET Developer's Journal and SOA Web Services Journal. Thom is also a frequent speaker at a variety of events that include VS Live and others. When he's not writing code and helping customers, he spends his time with his wife at their home in New Hampshire.

    Comments (0)

    Share your thoughts on this story.

    Add your comment
    You must be signed in to add a comment. Sign-in | Register

    In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


    @ThingsExpo Stories
    "There is a natural synchronization between the business models, the IoT is there to support ,” explained Brendan O'Brien, Co-founder and Chief Architect of Aria Systems, in this SYS-CON.tv interview at the 15th International Cloud Expo®, held Nov 4–6, 2014, at the Santa Clara Convention Center in Santa Clara, CA.
    The major cloud platforms defy a simple, side-by-side analysis. Each of the major IaaS public-cloud platforms offers their own unique strengths and functionality. Options for on-site private cloud are diverse as well, and must be designed and deployed while taking existing legacy architecture and infrastructure into account. Then the reality is that most enterprises are embarking on a hybrid cloud strategy and programs. In this Power Panel at 15th Cloud Expo (http://www.CloudComputingExpo.com), moderated by Ashar Baig, Research Director, Cloud, at Gigaom Research, Nate Gordon, Director of T...
    The definition of IoT is not new, in fact it’s been around for over a decade. What has changed is the public's awareness that the technology we use on a daily basis has caught up on the vision of an always on, always connected world. If you look into the details of what comprises the IoT, you’ll see that it includes everything from cloud computing, Big Data analytics, “Things,” Web communication, applications, network, storage, etc. It is essentially including everything connected online from hardware to software, or as we like to say, it’s an Internet of many different things. The difference ...
    Cloud Expo 2014 TV commercials will feature @ThingsExpo, which was launched in June, 2014 at New York City's Javits Center as the largest 'Internet of Things' event in the world.
    An entirely new security model is needed for the Internet of Things, or is it? Can we save some old and tested controls for this new and different environment? In his session at @ThingsExpo, New York's at the Javits Center, Davi Ottenheimer, EMC Senior Director of Trust, reviewed hands-on lessons with IoT devices and reveal a new risk balance you might not expect. Davi Ottenheimer, EMC Senior Director of Trust, has more than nineteen years' experience managing global security operations and assessments, including a decade of leading incident response and digital forensics. He is co-author of t...

    ARMONK, N.Y., Nov. 20, 2014 /PRNewswire/ --  IBM (NYSE: IBM) today announced that it is bringing a greater level of control, security and flexibility to cloud-based application development and delivery with a single-tenant version of Bluemix, IBM's platform-as-a-service. The new platform enables developers to build ap...

    Explosive growth in connected devices. Enormous amounts of data for collection and analysis. Critical use of data for split-second decision making and actionable information. All three are factors in making the Internet of Things a reality. Yet, any one factor would have an IT organization pondering its infrastructure strategy. How should your organization enhance its IT framework to enable an Internet of Things implementation? In his session at Internet of @ThingsExpo, James Kirkland, Chief Architect for the Internet of Things and Intelligent Systems at Red Hat, described how to revolutioniz...
    Technology is enabling a new approach to collecting and using data. This approach, commonly referred to as the "Internet of Things" (IoT), enables businesses to use real-time data from all sorts of things including machines, devices and sensors to make better decisions, improve customer service, and lower the risk in the creation of new revenue opportunities. In his General Session at Internet of @ThingsExpo, Dave Wagstaff, Vice President and Chief Architect at BSQUARE Corporation, discuss the real benefits to focus on, how to understand the requirements of a successful solution, the flow of ...
    The security devil is always in the details of the attack: the ones you've endured, the ones you prepare yourself to fend off, and the ones that, you fear, will catch you completely unaware and defenseless. The Internet of Things (IoT) is nothing if not an endless proliferation of details. It's the vision of a world in which continuous Internet connectivity and addressability is embedded into a growing range of human artifacts, into the natural world, and even into our smartphones, appliances, and physical persons. In the IoT vision, every new "thing" - sensor, actuator, data source, data con...
    "BSQUARE is in the business of selling software solutions for smart connected devices. It's obvious that IoT has moved from being a technology to being a fundamental part of business, and in the last 18 months people have said let's figure out how to do it and let's put some focus on it, " explained Dave Wagstaff, VP & Chief Architect, at BSQUARE Corporation, in this SYS-CON.tv interview at @ThingsExpo, held Nov 4-6, 2014, at the Santa Clara Convention Center in Santa Clara, CA.
    Focused on this fast-growing market’s needs, Vitesse Semiconductor Corporation (Nasdaq: VTSS), a leading provider of IC solutions to advance "Ethernet Everywhere" in Carrier, Enterprise and Internet of Things (IoT) networks, introduced its IStaX™ software (VSC6815SDK), a robust protocol stack to simplify deployment and management of Industrial-IoT network applications such as Industrial Ethernet switching, surveillance, video distribution, LCD signage, intelligent sensors, and metering equipment. Leveraging technologies proven in the Carrier and Enterprise markets, IStaX is designed to work ac...
    C-Labs LLC, a leading provider of remote and mobile access for the Internet of Things (IoT), announced the appointment of John Traynor to the position of chief operating officer. Previously a strategic advisor to the firm, Mr. Traynor will now oversee sales, marketing, finance, and operations. Mr. Traynor is based out of the C-Labs office in Redmond, Washington. He reports to Chris Muench, Chief Executive Officer. Mr. Traynor brings valuable business leadership and technology industry expertise to C-Labs. With over 30 years' experience in the high-tech sector, John Traynor has held numerous...
    Bit6 today issued a challenge to the technology community implementing Web Real Time Communication (WebRTC). To leap beyond WebRTC’s significant limitations and fully leverage its underlying value to accelerate innovation, application developers need to consider the entire communications ecosystem.
    The 3rd International @ThingsExpo, co-located with the 16th International Cloud Expo - to be held June 9-11, 2015, at the Javits Center in New York City, NY - announces that it is now accepting Keynote Proposals. The Internet of Things (IoT) is the most profound change in personal and enterprise IT since the creation of the Worldwide Web more than 20 years ago. All major researchers estimate there will be tens of billions devices - computers, smartphones, tablets, and sensors - connected to the Internet by 2020. This number will continue to grow at a rapid pace for the next several decades.
    The Internet of Things is not new. Historically, smart businesses have used its basic concept of leveraging data to drive better decision making and have capitalized on those insights to realize additional revenue opportunities. So, what has changed to make the Internet of Things one of the hottest topics in tech? In his session at @ThingsExpo, Chris Gray, Director, Embedded and Internet of Things, discussed the underlying factors that are driving the economics of intelligent systems. Discover how hardware commoditization, the ubiquitous nature of connectivity, and the emergence of Big Data a...
    Almost everyone sees the potential of Internet of Things but how can businesses truly unlock that potential. The key will be in the ability to discover business insight in the midst of an ocean of Big Data generated from billions of embedded devices via Systems of Discover. Businesses will also need to ensure that they can sustain that insight by leveraging the cloud for global reach, scale and elasticity.
    SYS-CON Events announced today that Windstream, a leading provider of advanced network and cloud communications, has been named “Silver Sponsor” of SYS-CON's 16th International Cloud Expo®, which will take place on June 9–11, 2015, at the Javits Center in New York, NY. Windstream (Nasdaq: WIN), a FORTUNE 500 and S&P 500 company, is a leading provider of advanced network communications, including cloud computing and managed services, to businesses nationwide. The company also offers broadband, phone and digital TV services to consumers primarily in rural areas.
    SYS-CON Events announced today that IDenticard will exhibit at SYS-CON's 16th International Cloud Expo®, which will take place on June 9-11, 2015, at the Javits Center in New York City, NY. IDenticard™ is the security division of Brady Corp (NYSE: BRC), a $1.5 billion manufacturer of identification products. We have small-company values with the strength and stability of a major corporation. IDenticard offers local sales, support and service to our customers across the United States and Canada. Our partner network encompasses some 300 of the world's leading systems integrators and security s...
    IoT is still a vague buzzword for many people. In his session at @ThingsExpo, Mike Kavis, Vice President & Principal Cloud Architect at Cloud Technology Partners, discussed the business value of IoT that goes far beyond the general public's perception that IoT is all about wearables and home consumer services. He also discussed how IoT is perceived by investors and how venture capitalist access this space. Other topics discussed were barriers to success, what is new, what is old, and what the future may hold. Mike Kavis is Vice President & Principal Cloud Architect at Cloud Technology Pa...
    Cloud Expo 2014 TV commercials will feature @ThingsExpo, which was launched in June, 2014 at New York City's Javits Center as the largest 'Internet of Things' event in the world. The next @ThingsExpo will take place November 4-6, 2014, at the Santa Clara Convention Center, in Santa Clara, California. Since its launch in 2008, Cloud Expo TV commercials have been aired and CNBC, Fox News Network, and Bloomberg TV. Please enjoy our 2014 commercial.