Chapter 11 -- Building a BizTalk Server

[Previous] [Next]

Chapter 11

My dad once told me that doing something difficult builds character. He said that if I worked to earn money, I would appreciate it more than if he just gave it to me. Of course, I realized that what he was saying was true, but I also think he just didn't want to give me the twenty bucks I asked for.

In this chapter, we will build character by building BizTalk servers the hard but rewarding way—by hand. To illustrate the process of building a BizTalk server, I find it helpful to work at the data level, developing programs that create BizTalk documents. These programs send the documents to a BizTalk server, where they are processed.

In our example, we will duplicate Jean and David's purchase order transaction from Chapter 9. This is a relatively simple example, but it illustrates all the concepts you need to know to start building your own BizTalk solution or to choose a vendor product. Plus, you will see how the BizTalk Framework can provide a data-level layer to facilitate communication through transactions.

Since the BizTalk Framework is an extension of SOAP, we will use SOAP to send data between the two companies as well as a great new tool named ROPE, the Remote Object Proxy Engine. ROPE, part of the Microsoft SOAP Toolkit for Visual Studio 6.0, provides a way of discovering Web services and accessing them using a simple COM interface.

The two companies we encountered in Chapter 9 are involved in this transaction: Toi Carz, Inc., (www.toicarz.com) and Toy Car Partsb Corporation (www.toycarparts.com). As you'll recall, Toi Carz is a manufacturer, and Toy Car Parts is one of its suppliers. Toi Carz runs in a Microsoft Windows environment, making use of Active Server Pages (ASP) and Microsoft Visual Basic. Toy Car Parts has UNIX-based servers (Linux) and uses Apache as its Web server. It uses OmniMark to build three-tier Web applications.

In this example, I want to show how to send SOAP and BizTalk messages between two computers that are running different operating systems and programming languages. These examples will work in the environments I just listed, but for the purpose of demonstration and for ease of comprehension, I am running the Toy Car Parts system in a Microsoft Windows environment.

All examples in this chapter can be run on a single machine. I created them in this way for a couple of reasons. First, it greatly simplifies your work because you don't need to find two machines that are unoccupied. Second, I wrote most of this book on various planes flying high above and far away from any kind of network, so I designed the systems to be easily moved to two Windows systems. (God bless my IBM ThinkPad.) All you need to do is move these programs to different machines and change the URLs of each system. Changing the OmniMark programs so that they run on a UNIX system isn't simple, but it shouldn't be very difficult either. The biggest modification you'll make to the UNIX-side program will be in the form of database access. For the purposes of this example, I'm using the ODBC (Open Database Connectivity) layer in Windows. ODBC is supported in OmniMark, but OmniMark also supports OCI (Oracle Command Interface) for use on UNIX machines. The OCI interface is similar to ODBC, requiring only minor modifications to the code.

All code for the chapter is included on the companion CD in the \Samples\Ch11 folder. You can build a system that does what is described in this chapter by following the installation instructions in the Setup section later in the chapter. I'm assuming you are familiar with Visual Basic programming, so I don't spend much time covering the VB code.

I do, however, spend time talking about how the OmniMark programs work since OmniMark is new to many readers. If you want to get up to speed with OmniMark quickly, Appendix A is a good place to start, but you can probably get by with only the explanations of OmniMark I offer in this chapter. (I've also included an electronic copy of my book, OmniMark at Work, Volume 1: Getting Started, on the companion CD. This will save you 65 bucks, so next time we meet, you can buy me a beer.) OmniMark is a really great development language, and you won't be sorry if you spend a little time learning how it can help your network programming environment.



XML and SOAP Programming for BizTalk Servers
XML and SOAP Programming for BizTalk(TM) Servers (DV-MPS Programming)
ISBN: 0735611262
EAN: 2147483647
Year: 2000
Pages: 150

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net