throbber
I MICROSOR® PROGRAMMING SERIES
`
`Microsoft
`

`
`CD-ROM
`
`XMtnd SOAP
`Programming
`BizTalk™
`Servers
`
`for
`
`Build business-to­
`
`
`
`business e-commerce
`
`
`
`solutions using XML,
`
`SOAP, and the BizTalk
`Framework
`
`
`
`Brian E. Travis
`
`Zynga Ex. 1018, p. 1
`Zynga v. IGT
`IPR2022-00368
`
`

`

`XMtndSOAP
`Programming
`11111111111
`111111111111111111111111111111111
`11111111
`for BizTalk™ servers
`
`b89075403253a
`
`89075403253
`
`and SOAP to speak the
`Use XML, BizTalk,
`on the Internet!
`language of business
`
`and tools you need to meet the
`information
`Get the work-ready
`time. Well-known
`XML
`in Internet
`of doing business
`challenges
`shares his from­
`Brian Travis
`developer
`and solutions
`instructor
`on how to create busines s -to-business
`(B2B)
`the-field experience
`(XML).
`Markup Language
`using extensible
`applications
`e-commerce
`case for XML in the B2B context,
`the business
`He begins by building
`Framework.
`and the BizTalk
`schemas,
`industry
`standards,
`discussing
`stepping
`integration,
`you
`the how-to's of application
`He then tackles
`examples-including
`the
`code and business
`line by line through
`application.
`server
`BizTalk
`of a working
`construction
`
`fo� Visual
`Microsoft SOAP. ifoolk1t
`
`. I. . I I •
`
`Started.
`Volume 1: Getting
`
`....
`. .
`. .
`
`..
`
`• Express
`with simple XML syntax-for
`complex data relationships
`About the Author:
`data exchange
`easy cross-platform
`author,
`regarded
`highly
`Travis-a
`Brian E.
`on XML and related
`and consultant
`instructor,
`standards-specializes
`in real-world
`XML.!
`officer
`and
`As chief technical
`implementations.
`Corporation.
`he
`International
`of Architag
`founder
`gement systems
`creates intelligent
`content-mana
`• Use the Simple Object Access Protocol
`(SOAP) to pass information
`around the world.
`for clients
`firewalls
`and through
`across platforms
`to partners
`
`• Learn how to use XML schemas and the BizTalk
`Framework
`to
`fore-commerce-and
`IQwer
`data and applications
`adapt existing
`your transaction
`costs
`
`• See the play-by-play
`of what happens when you use Extensible
`XRay XML Editor
`on
`the Architag
`(XSL)-and
`Language
`Stylesheet
`from cine schema
`to
`XML documents
`transform
`CD-ROM-to
`another
`
`• Use the BizTalk
`Server 2000 to
`Mapper tool in Microsoft• BizTalk
`transformation-processing
`style sheets
`create your own
`
`• Understand
`and technical requirements
`for BizTalk
`the business
`of a complete
`the development
`walk through
`software-and
`server
`B2B solution
`
`• Get turned on to XML and BizTalk-related
`on line­
`resources
`best
`free XML tools,
`schemas,
`of validated
`libraries
`including
`and discussion
`groups
`case studies,
`practices,
`
`ISBN 0-7356-1126-2
`
`U.S.A.
`$49.99
`£32.99 (V.A.T included]
`U.K.
`$72.99
`canada
`[Recommended)
`
`90000
`
`Programmlng/E-Commerce
`
`Microsoft®
`
`Zynga Ex. 1018, p. 2
`Zynga v. IGT
`IPR2022-00368
`
`

`

`Microsoft®
`
`Programming
`
`XM�
`dSOAP.
`forB iz T a lk
`
`Servers
`
`Bus·inc,,.s
`Uiw�-ry
`·&-• .... �.,.,.r
`.... ·1�1/ of V1
`11·�,..-.,,,,;,1·•
`�v1ad:!s,,..w,
`-...,.
`!-,!Jlr.tvic.::, 11 . " .;, .... ,L1r ..
`1 - r .v,,1
`2200 Gr, ,ng;x rM.11
`9"ir5 U-i, ,,,r.si�y
`Avlf:.nue
`M;-� .i'..:-:.•.i.
`.,,·;1 53706 13.23
`
`Brian E.
`Travis
`
`Zynga Ex. 1018, p. 3
`Zynga v. IGT
`IPR2022-00368
`
`

`

`PUBLISHED BY
`
`
`Microsoft Press
`
`
`A Division of Microsoft Corporation
`
`One Microsoft Way
`
`
`Redmond, Washington 98052-6399
`
`
`
`Copyright © 2000 by Brian E. Travis
`
`
`
`
`
`All rights reserved. No part of the contents of this book may be reproduced or transmitted in
`
`
`
`any form or by any means without the written permission of the publisher.
`
`'°BU.S\
`Ql
`,t
`H
`
`'
`2
`
`Library of Congress Cataloging-in-Publication Data
`
`
`
`
`
`XML and SOAP Programming for BizTalk Servers / Brian E. Travis.
`
`
`
`
`
`Travis, Brian E., 1958-
`
`p.cm.
`ISBN 0-7356-1126-2
`
`1.XML (Document markup language)I.Title.
`
`QA76.76.H94 T75 2000
`
`005. 7'2--dc21
`
`00-041582
`
`
`
`Printed and bound in the United States of America.
`
`
`
`3 4 5 6 7 8 9
`MLML 5 4 3 2 1 0
`
`
`
`Distributed in Canada by Penguin Books Canada Limited.
`
`
`
`
`A CIP catalogue record
`
`
`
`
`Library.for this book is av�ilable from the British
`
`Microsoft Press books are available through booksellers and distributors worldwide. For
`
`
`
`
`
`
`
`
`
`
`
`
`further information about international editions, contact your local Microsoft Corporation
`
`
`
`
`
`
`office or contact Microsoft Press International directly at fax (425) 936-7329. Visit our Web
`
`
`site at mspress.microsoft.com. Send comments to mspinput@microsoft.com.
`
`Simple Object Access Protocol (SOAP) 1.1 copyright © 2000 DevelopMentor, International Busi­
`
`
`
`
`
`
`
`ness Machines Corporation, Lotus Development Corporation, Microsoft, UserLand Software.
`
`
`
`
`
`BizTalk Framework 2.0 Draft: Document and Message Specification © 1999-2000, Microsoft
`
`
`
`
`
`
`
`
`Corporation. All rights reserved.
`
`Appendix A is adapted from an article written by OrnniMark. Copyright © OmniMark
`
`
`
`
`
`
`
`
`
`
`Technologies Corporation 1988--2000.
`
`Active Directory, ActiveX, BizTalk, CarPoint, IntelliSense, ]Script, Microsoft, Microsoft Press, MSN,
`
`
`
`
`
`
`
`
`
`
`
`Visual Basic, Visual C++, Visual Studio, and Windows are either registered trademarks or trade­
`
`
`
`
`marks of Microsoft Corporation in the United States and/or other countries. Other product and
`
`
`
`
`company names mentioned herein may be the trademarks of their respective owners.
`
`Unless otherwise noted, the example companies, organizations, products, people, and events
`
`
`
`
`
`
`
`
`
`
`
`
`depicted herein are fictitious. No association with any real company, organization, product,
`
`
`person, or event is intended or should be inferred.
`
`David Clark
`
`Acquisitions Editor:
`
`Victoria Thulman
`Project Editor:
`Brian Johnson
`
`Technical Editor:
`
`Rebecca McKay
`Manuscript Editor:
`
`Zynga Ex. 1018, p. 4
`Zynga v. IGT
`IPR2022-00368
`
`

`

`Table of Contents
`
`Acknowledgments
`Introduction
`
`About the Companion CD
`
`xi
`xiii
`xvii
`
`Part I XML for E-commerce
`
`
`chapter
`
`1 The XML Business Perspective
`
`
`
`BUSINESS-TO-BUSINESS E-COMMERCE
`
`
`
`SEPARATION OF DATA FROM PROCESS
`
`XML AND THREE-TIER WEB ARCHITECTURES
`
`
`Data Tier
`Client Tier
`Middle Tier
`XML for Content Providers
`Standards
`
`Building the Page
`
`XML FOR CONTENT MANAGEMENT
`
`XML FOR CONTENT AGGREGATION
`
`THE BACKGROUND OF
`
`ELECTRONIC DOCUMENT INTERCHANGE
`
`XML FOR ELECTRONIC DOCUMENT INTERCHANGE
`
`XML and E-commerce
`Lingua Franca
`
`
`XML and Processing Languages
`
`2 XML Background
`chapter
`
`HTML: THE GOOD STUFF
`
`HTML: THE BAD STUFF
`
`SGML: THE GOOD STUFF
`
`SGML: THE BAD STUFF
`
`WE NEED XML
`XML Myths
`
`3
`
`5
`
`5
`
`6
`7
`
`8
`8
`
`18
`
`22
`25
`
`26
`
`27
`
`30
`
`31
`
`32
`
`32
`
`34
`
`35
`35
`
`36
`
`38
`
`39
`
`40
`41
`
`Zynga Ex. 1018, p. 5
`Zynga v. IGT
`IPR2022-00368
`
`

`

`Table of Contents
`
`Chapter 3 XML Standards
`
`ISO
`
`OASIS
`
`W3C
`W3C Standards
`
`IETF
`
`
`
`STANDARDS BY CONVENTION
`
`
`
`
`
`DEVELOPING INDUSTRY SCHEMAS
`
`
`
`Chapter 4 XML Syntax
`
`THE WELL-FORMED XML DOCUMENT
`
`The XML Declaration
`Start Tags and End Tags
`Root Elements
`Case Sensitivity
`Proper Nesting
`
`Special Characters
`Attributes �
`Empty Elements
`Comments
`
`
`
`Examples of Well-Formed Documents
`
`
`
`THE VALID XML DOCUMENT
`
`The Document Type Definition
`
`NAMES PACES
`
`SCHEMAS
`
`XML Data Reduced
`
`
`Chapter
`
`5 The XML Application
`
`THE DOCUMENT OBJECT MODEL
`
`The DOM in Action
`
`Creating a DOM Object
`
`Accessing the documentE/ement
`
`Getting Items in the Document
`
`
`
`EXERCISE: USING THE DOM IN VISUAL BASIC
`
`
`
`WRITING TO THE DOM
`
`
`
`EVENT-DRIVEN MODELS
`
`43
`
`43
`
`44
`
`44
`45
`
`50
`
`51
`
`51
`
`55
`
`55 11 Par1
`56
`56
`57
`57
`57
`
`58
`59
`60
`61
`61
`
`62
`63
`
`66
`
`71
`72
`
`77
`77
`78
`82
`
`84
`85
`
`88
`
`94
`
`101
`
`Zynga Ex. 1018, p. 6
`Zynga v. IGT
`IPR2022-00368
`
`

`

`
`
`EXERCISE: BUSINESS DOCUMENT TRANSFORMATION
`
`
`
`
`
`103
`
`103
`
`104
`
`106
`
`106
`
`106
`
`110
`
`114
`
`123
`
`133
`
`136
`
`137
`
`141
`
`142
`
`142
`
`144
`
`146
`
`146
`
`147
`
`148
`
`148
`
`154
`
`155
`
`162
`
`169
`
`171
`
`Table of Contents
`
`6 XSL
`Chapter
`
`XSL: THE BACKGROUND
`
`How DOES XSL WORK?
`Microsoft's Implementation of XSL
`
`
`XSL T and XPath Breakout
`
`XSL T OPERATION
`
`Recursive Processing
`XSL T by Example
`
`Part II XML Messaging
`Chapter 7 Web Services
`
`
`
`THE IMPORTANCE OF AGGREGATION
`
`LOOSEL V COUPLED SERVICES
`
`
`Chapter8
`
`
`
`Building a Web Service with SOAP
`
`HTTP
`The GET Method
`The POST Method
`
`PORTS
`
`FIREWALLS
`
`SOAP MESSAGE STRUCTURE
`
`THE XML NEWSFEED EXAMPLE
`
`
`The SOAP Client Application
`
`Implementing a SOAP Server i_n OmniMark
`
`SOAPServer.xom
`getXMLNews.xom
`
`Testing the Service
`
`
`Chapter
`
`9 The BizTalk Framework
`
`
`
`
`THE BIZTALK DOCUMENT AND MESSAGE SPECIFICATION 173
`
`THE BIZT ALK FRAMEWORK IN B2B TRANSACTIONS
`
`
`Preparing the Purchase Order
`
`
`Processing the Purchase Order
`
`Interchange Evolution
`
`174
`
`174
`
`176
`
`177
`
`43
`
`43
`
`44
`
`44
`
`45
`
`50
`
`51
`
`51
`
`55
`
`55
`
`56
`
`56
`
`57
`
`57
`
`57
`
`58
`
`59
`
`60
`
`61
`
`61
`
`62
`
`63
`
`66
`
`71
`
`72
`
`77
`
`77
`
`78
`
`82
`
`84
`
`85
`
`88
`
`94
`
`101
`
`Zynga Ex. 1018, p. 7
`Zynga v. IGT
`IPR2022-00368
`
`

`

`Table of Contents
`
`Ordering by Using the BizTalk Framework
`
`Delivery Receipt
`The Order Confirmation
`
`
`Potential for Automating Procurement
`
`178
`
`182
`
`183
`
`185
`
`
`
`Part Ill The BizTalk Server
`
`
`chapter
`
`1 o BizTalk System Requirements
`
`189
`
`RELIABLE DELIVERY OVER ANY TRANSPORT
`
`SECURITY
`
`ROUTING
`
`WORKFLOW
`
`
`
`SYNCHRONOUS AND ASYNCHRONOUS COMMUNICATION
`
`QUEUING
`
`BATCH SUPPORT
`
`DOCUMENT TRACKING AND ACTIVITY
`
`TRADING PARTNER MANAGEMENT
`
`SCALABILITY
`
`DOCUMENT TRANSFORMATION
`
`
`
`THIRD-PARTY AND ISV EXTENSIBILITY
`
`EDI INTEROPERABILITY
`
`MUL Tl FACETED API
`
`
`
`FUTURE-PROOF FLEXIBILITY
`
`
`
`A Focus ON USER-DRIVEN BUSINESS
`
`
`Chapter
`
`
`
`11 Building a BizTalk Server
`
`PROGRAM AND DATA FLOW
`
`ARCHITECTURE
`
`DATABASES
`
`SYSTEM SETUP
`
`ENTERING A PURCHASE REQUISITION
`prEnter.asp
`prProcess.asp
`ROPE and SDL
`
`190
`
`190
`
`191
`
`192
`
`192
`
`193
`
`193
`
`193
`
`194 II Par
`
`194
`
`195
`
`195
`
`196
`
`196
`
`196
`
`197
`
`199
`
`200
`
`203
`
`206
`
`207
`
`208
`
`208
`
`213
`
`216
`
`Zynga Ex. 1018, p. 8
`Zynga v. IGT
`IPR2022-00368
`
`

`

`Table of Contents
`
`PROCESSING A PURCHASE ORDER
`
`
`
`
`
`Automating Purchase Order Processing
`
`PROCESSING THE PURCHASE ORDER CONFIRMATION
`
`
`chapter
`
`
`
`
`
`12 Microsoft BizTalk Server 2000
`
`THE BIZTALK EDITOR
`
`
`
`Exercise: Creating a Purchase Order Schema
`
`
`
`
`
`THE BIZT ALK MAPPER
`
`Exercise: Mapping Two
`
`
`
`Different Purchase Order Schemas
`
`OTHER BIZT ALK TOOLS
`
`BIZTALK SERVER
`DATA PROCESSING
`2000
`
`Placing an Order
`
`
`Checking Inventory and
`
`Ordering from the Manufacturer
`
`Sending an Acknowledgment to the Requestor
`
`Part 1v References
`
`
`
`Appendix A OmniMark for the Impatient
`
`B BizTalk Framework 2.0
`
`
`Appendix
`
`
`Draft: Document and Message Specification
`327
`
`
`Appendix
`
`C XML and BizTalk Web Sites
`
`226
`
`227
`
`238
`
`243
`
`244
`
`244
`
`247
`
`248
`
`255
`
`255
`
`256
`
`257
`
`259
`
`263
`
`365
`
`371
`
`413
`
`
`Appendix
`
`
`
`
`
`D Simple Object Access Protocol (SOAP) 1.1
`
`
`
`Index
`
`178
`
`182
`
`183
`
`185
`
`189
`
`190
`
`190
`
`191
`
`192
`
`192
`
`193
`
`193
`
`193
`
`194
`
`194
`
`195
`
`195
`
`196
`
`196
`
`196
`197
`
`199
`
`200
`
`203
`
`206
`
`207
`
`208
`
`208
`
`213
`
`216
`
`Zynga Ex. 1018, p. 9
`Zynga v. IGT
`IPR2022-00368
`
`

`

`Acknowledgments
`
`This book was originally my idea, but I feel like I am just a conductor of a very well­
`
`
`
`
`
`
`
`oiled publishing machine. The people at Microsoft Press really turned my idea into
`
`
`what I think is a book that holds together quite well and is fairly consistent from
`
`chapter to chapter.
`I'd like to thank Vicky Thulman, who acted as the Hollywood producer, bal­
`
`
`
`
`
`
`ancing the need for "the talent" (that would be me) to have creative control against
`
`
`
`
`
`the real-world pressures of the publishing business. Vicky kept me informed through­
`
`
`
`
`
`out production of the book, managing the editorial process and keeping me in line.
`
`
`
`
`Brian Johnson, the technical editor, was fabulous at checking all of my facts
`
`
`
`
`and not letting me get away with glossing over a technical issue. Brian also con­
`
`
`vinced me to register the domain names mentioned in the book. Now if you go to
`
`
`know who to blame. myduckjokes.com or duckbarjokes.com,�you'll
`
`
`Becka McKay saw the manuscripts first. I wrote this book in about a dozen hotel
`
`
`
`
`rooms and at least as many airplane trips over several months. Consistency suffered
`
`
`
`
`as a result. It was Becka's job to tell you, the reader, what I actually meant. I tend to
`
`
`
`
`use the words "this" and "that" a lot. Becka added a lot of comments like "author is
`
`
`
`saying 'this' again. What do�s he mean this time?"
`
`
`The team at Microsoft Press were the best an author can have. I look forward
`
`to working with them again!
`The good people at OrnniMark Technologies were very supportive of this book,
`
`
`
`
`
`
`
`
`since it showcases their great product. Chief Technical Officer John McFadden pulled
`
`
`
`out all the stops in his organization to get me a working copy of OrnniMark that had
`
`
`
`
`
`
`world-class handling of XML documents and schemas. As always, OrnniMark Tech­
`
`
`
`
`
`nologies makes the difficult look easy. The impossible took them a little longer. Mark
`
`
`
`
`Baker at OmniMark worked with my last-minute deadlines on the material for Ap­
`
`
`
`
`
`pendix A, "OmniMark for the Impatient." I left it mostly intact, only modifying it for
`
`
`
`the duck-bar theme and adding some information appropriate to the rest of the book.
`
`
`There are several people at Microsoft who helped keep me in the loop about
`
`
`
`
`
`technologies in the book. Kevin McCall, the BizTalk Evangelist, never sleeps. He jets
`
`
`around the world telling people about BizTalk and how they can solve their B2B
`
`
`
`
`problems. It was Kevin who pointed out that the BizTalk Framework spec changed
`
`
`
`
`
`radically after I had shipped chapters to the publisher. Fortunately, Vicky gave me
`
`xi
`
`Zynga Ex. 1018, p. 10
`Zynga v. IGT
`IPR2022-00368
`
`

`

`Acknowledgments
`
`an extension to update the book to the new draft spec. John Montgomery plays a
`
`
`
`
`
`
`similar role for SOAP. Jo� filled me in on the relationship between SOAP and BizTalk.
`
`
`
`
`Robert Coleridge is an Architect at Microsoft working on the ROPE implementation.
`
`
`
`Robert kept me in the loop as new builds came along. There are many others at
`
`
`
`Microsoft who have been a great help, and I'd like to thank them all.
`Mehtap Ozkan helped with a nasty bug in ASP that caused data in a POST
`
`
`method to get lost. She worked intensely to come up with the right combination of
`
`
`
`
`character conversion functions to find the lost data. Mehtap also provided spiritual
`
`
`
`support during the difficult last part of the writing process.
`John Iobst from the Newspaper Association of America was helpful in sorting
`
`
`
`
`
`
`
`
`through the history and politics of what his organization is doing with XML and stan­
`
`
`dard schemas for sharing news content.
`
`
`
`I have taught thousands of students over the past couple of years about XML
`
`
`
`and e-commerce applications. These lectures and seminars allow me to test new
`
`
`
`material and see what works and what doesn't. My students' feedback is what made
`
`
`
`the information in this book possible, and it gave me plenty of duck-bar jokes.
`
`And I thank you for buying this book. I hope you enjoy reading it as much as
`
`
`I enjoyed writing it.
`
`Bl
`
`xii
`
`Zynga Ex. 1018, p. 11
`Zynga v. IGT
`IPR2022-00368
`
`

`

`y plays a
`i BizTalk.
`1entation.
`others at
`
`1 a POST
`nation of
`I spiritual
`
`n sorting
`and stan-
`
`,out XML
`test new
`1at made
`okes.
`much as
`
`Introduction
`
`The extensible Markup Language, or XML, is a simple technology that has taken the
`
`
`
`
`
`
`computer world by storm. Even before XML was formally adopted, Microsoft Chair­
`
`
`
`
`man Bill Gates called XML a "breakthrough technology" because he saw the value
`
`
`
`of defining data transactions in an open, platform-independent way. Since then, many
`
`
`standards of data interchange have been built on top of XML, each with a particular
`
`purpose and all using XML's simple syntax.
`BizTalk and the Simple Object Access P rotocol (SOAP) are XML-based, open
`
`
`
`
`
`
`
`
`
`initiatives designed to facilitate electronic commerce between systems on the Web.
`
`
`
`
`XML enables syntax, because Both BizTalk and SOAP use XML as their data exchange
`
`
`you to specify data in a very precise way.
`I've wanted to write an XML book for some time. My book, Tbe SGML Implemen­
`
`
`
`Guide (Springer Verlag, 1995), was a.,real-world hands-on guide to implementers
`tation
`
`
`
`of SGML in the mid-1990s. When XML came along, I wanted to update my first book
`
`
`
`
`to make it XML-compatible. This was difficult, however. Because of its simplicity,
`
`
`flexibility, and much smaller size, XML can do so much more than SGML. Any book
`that I wrote would have to be XML-specific.
`I have a job that keeps me pretty busy, so I never got around to writing that
`
`
`
`XML book. Over the next year or so, there were plenty of XML books published that
`
`
`
`
`
`covered various topics, and the XML bookshelf at the local book superstore was
`
`
`
`
`getting pretty crowded. I didn't want my XML book to get lost on that shelf.
`
`Then came a couple of great XML applications-BizTalk and SOAP-and I
`
`
`figured it was time to write my first XML book.
`
`
`
`There are similarities between BizTalk and SOAP, but there are also differences.
`
`
`
`
`In this book, I will attempt to explain these differences and give examples of each.
`
`BIZTALK
`The BizTalk initiative was started by Microsoft to address the issue of moving busi­
`
`
`
`
`
`
`
`
`
`
`
`ness documents between trading partners in the e-commerce supply chain. BizTalk
`
`
`
`
`
`
`provides an elegant envelope for moving electronic documents around the Internet in
`
`
`
`
`
`
`
`the same way the postal service moves physical envelopes between trading partners.
`
`xiii
`
`Zynga Ex. 1018, p. 12
`Zynga v. IGT
`IPR2022-00368
`
`

`

`Introduction
`
`BizTalk is really four different facets of a single initiative. First there is the BizTalk
`
`
`
`
`
`
`Framework is a set
`
`
`Framework Independent Document
`
`Specification. The BizTalk
`
`
`
`of tags that provides an addressing definition so that you can get your documents
`
`
`from one place to another and cause some kind of processing to happen at each place.
`
`
`
`
`
`
`The BizTalk Framework works like a virtual envelope for sending business documents
`
`to our trading partners.
`Second, BizTalk.org is a Web site that provides a place to learn about e-commerce
`
`
`
`
`
`
`
`
`technologies-XML in general and BizTalk in particular. BizTalk.org hosts discussion
`
`
`
`groups where you can find peer support for developing your own document vocabu­
`
`
`
`
`
`laries, named schemas, and help in integrating your schemas into the BizTalk Frame­
`
`
`
`
`work. BizTalk.org is also a repository for schemas (definitions for XML documents)
`
`
`
`
`and allows you to post your schemas for others to access. This service is free.
`
`
`
`
`
`Third, to process your BizTalk documents, you will need a BizTalk Framework
`
`
`
`
`
`Compliant (BFC) server. A BFC server is the software that reads BizTalk documents
`
`
`
`and then does something intelligent with them. The intelligent thing it does will
`
`depend on what systems you have in place and what needs to be done to process
`the document.
`And fourth, there is Microsoft BizTalk Server 2000, which runs on Microsoft
`
`
`
`
`
`
`
`Windows 2000 Server. Because of the open nature of the BizTalk Framework speci­
`
`
`
`
`
`
`fication, you can create BizTalk messages on a Linux system running a BizTalk ser­
`
`
`
`ver written in Java and read the messages on a Microsoft Windows 2000 Advanced
`
`
`Server using BizTalk Server 2000.
`BizTalk is viewed by some as a Microsoft-specific protocol that requires Microsoft
`
`
`
`
`
`
`
`
`
`platforms. This is not the case. The first three facets of BizTalk that I've outlined here
`
`
`
`are not proprietary to Microsoft in any way. Two Java applications can pass data back
`
`
`
`and forth using BizTalk messages. Businesses that run on UNIX can use schemas
`published
`
`
`
`
`to BizTalk.org. A BizTalk server can be written in P erl or any other Inter­
`
`
`net-aware programming language.
`In this book, we will write a BizTalk server using OmniMark, an internet-savvy
`
`
`
`
`
`
`
`programming language with built-in support for XML documents.
`
`SOAP
`SOAP started life as a way of invoking DCOM (Distributed COM) methods in a more
`
`
`
`
`
`
`
`
`
`loosely coupled way than regular COM method invocations. It evolved into a speci­
`
`
`
`
`
`fication that allowed for methods to be invoked on dissimilar systems across Inter­
`
`
`
`net protocols (HTTP, FTP, and so on). SOAP and BizTalk are similar in their approach
`
`
`
`
`
`to interchanging information but each is optimized for different transaction types.
`
`
`
`
`SOAP is at the core of a Microsoft initiative called Web Services. Web Services
`
`
`
`offers a new way of looking at the Web. By using an HTML browser to look at infor­
`
`
`
`
`
`
`mation, information consumers force content providers (pretty much anyone on the
`
`xiv
`
`Zynga Ex. 1018, p. 13
`Zynga v. IGT
`IPR2022-00368
`
`

`

`the BizTalk
`)rk is a set
`iocuments
`=ach place.
`iocuments
`
`-commerce
`discussion
`nt vocabu-
`1lk Frame­
`xuments)
`free.
`ramework
`locuments
`does will
`oprocess
`
`Microsoft
`Jrk speci­
`zTalk ser­
`\dvanced
`
`Microsoft
`ined here
`iata back
`schemas
`rier Inter-
`
`1et-savvy
`
`ri a more
`a speci­
`>ss Inter­
`pproach
`1 types.
`Services
`at infor­
`e on the
`
`Introduction
`
`Web) to "dumb down" their data so that human eyes can consume it. By removing
`
`
`
`the formatting requirements for the data, the data can be delivered in a raw format,
`allowing
`
`
`
`
`
`services to aggregate and process that data, ultimately offering it to users
`
`
`
`
`
`with added value. An example of such data is real-time weather. A travel site could
`
`
`
`
`
`combine its content with weather reports to provide next week's travelers with a
`
`
`
`tentative weather forecast. A Web site that provides weather as HTML pages can
`
`
`
`generate extra income by providing the raw weather data as an XML stream in re­
`
`
`
`
`
`
`sponse to a real-time request for weather in a particular location to parties who will
`
`pay to repackage that content.
`Like the platform-independent BizTalk, you can send a SOAP method invoca­
`
`
`
`
`
`
`
`tion to a Perl script running on Solaris, which in turn invokes a Java class to extract
`
`
`
`data from an Oracle database. The response is sent as an XML document object, which
`
`then can be used in your application. You don't need to know what platform your
`
`
`service is running on.
`To understand BizTalk and SOAP, you need to understand the underlying syn­
`
`
`
`
`
`
`tax that makes it all possible-XML. In fact, BizTalk is an extension of SOAP, using
`
`
`
`
`SOAP to deliver a business document over HTTP. When you are using BizTalk, you
`are using SOAP and XML as well.
`Part I of this book is an introduction to XML from a business and technical point
`
`
`
`
`
`
`
`
`of view. The purpose of this introduction is to provide a perspective for building and
`
`
`
`interchanging. business information using XML structures.
`
`
`
`This first part is really the XML book I wanted to write. Even if you don't care
`
`
`about BizTalk or SOAP, I hope you will find some value in the description of XML
`in Part I, which is aimed at the developer.
`Part II of the book discusses the BizTalk Framework and shows how you can
`
`
`
`
`
`
`
`use XML and BizTalk today to create e-commerce applications. In Part III we actu­
`
`
`ally build some BFC servers using various Microsoft and non-Microsoft tools.
`
`
`
`
`I enjoyed writing this book because it gave me a chance to discover some great
`
`
`
`stuff happening in the B2B (business-to-business) marketplace. I think SOAP and Web
`
`Services will truly change the way people think about their jobs and even their lives.
`
`
`
`
`
`
`BizTalk will provide companies with a standard, cost-effective way to replace paper
`when doing transactions.
`If we should Now I need to concentrate on my next work, 1,001 Duck-Bar Jokes.
`
`
`
`
`
`meet, let me know your favorite Duck-bar joke and I'll buy you a beer.
`
`xv
`
`Zynga Ex. 1018, p. 14
`Zynga v. IGT
`IPR2022-00368
`
`

`

`About the
`
`Companion CD
`
`The companion CD for this book contains several applications that I want readers
`
`
`
`
`
`
`CD also includes to try out. All of these are mentioned in the book. The companion
`
`
`
`a user interface used to browse the CD and install the sample programs, a fully search­
`
`
`
`
`able electronic version of the book, and a PDF version of my book, OmniMark At
`
`Work, Volume 1: Getting Started.
`
`SYSTEM REQUIREMENTS
`you must have the �following software
`
`installed:
`To load the samples,
`
`
`
`■Microsoft Windows 98, Windows NT 4.0, or Windows 2000
`
`To use the Microsoft Visual Basic project (poGen.vbp), you must have the
`
`
`
`
`
`following software installed:
`
`■Microsoft Visual Basic version 6; or Microsoft Visual Studio version 6,
`
`
`
`
`
`
`
`
`Professional or Enterprise Edition.
`
`
`
`
`
`To use the OmniMark programs, you must have the following software loaded:
`
`
`
`
`
`
`
`
`
`■OmniMark C/VM version 6
`
`
`
`
`
`■OmniMark Integrated Development Environment version 2 (Optional)
`
`
`
`
`
`To load the samples, just insert the CD into your CD drive to launch the Autorun
`
`
`
`application, StartCD.exe.
`
`
`The searchable online version of this book is in the \eBook\ folder.
`
`
`
`
`
`The electronic version of OmniMark At Work is in the \References\ folder. The
`file name is Oawvl.pdf.
`
`•
`
`xvii
`
`Zynga Ex. 1018, p. 15
`Zynga v. IGT
`IPR2022-00368
`
`

`

`
`
`About the Companion CD
`
`CODE SAMPLES
`The sample files for all code are installed to C:\TravisBook\ChXX\ (where XX is the
`
`
`
`
`
`
`
`chapter number) on your local drive by default. Some of the OmniMark programs on
`
`
`
`
`
`the companion CD run as CGI programs under Internet Information Services, so the
`
`
`
`OmniMark executable file needs to be mapped before these scripts can be used. See
`
`
`
`
`
`"Configuring Web Servers for OmniMark CGI" in Appendix A for specific instructions.
`
`so,
`
`SOFTWARE INCLUDED ON THE CD
`
`
`
`
`
`
`The following sections describe the software included on the companion CD.
`
`
`
`Microsoft BizTalk Server 2000 Technology Preview
`
`Mic
`
`Microsoft BizTalk Server 2000 is due to be released in late 2000. Microsoft has pro­
`
`
`
`
`
`
`
`vided an early release version of the product in the form of a Technology Preview.
`
`
`
`
`
`
`The product can be installed in client or server mode. The client contains some pro­
`
`
`
`ductivity tools for users and developers, but it does not process BizTalk transactions.
`
`
`
`
`
`
`The server version creates BizTalk messages and sends them to other BizTalk serv­
`
`
`
`ers using a number of different transport protocols and methods.
`
`
`
`
`
`
`components:
`
`The client version requjres one of the following operating systems and
`
`Arc
`
`
`
`■Microsoft Windows 98
`
`
`
`
`
`■Microsoft Windows NT Workstation 4.0
`
`
`
`
`
`■ Microsoft Windows NT Server 4.0
`
`■Microsoft Windows 2000 Professional with the NTFS file system and
`
`
`
`
`
`
`Microsoft Data Access Components (MDAC) 2.5
`
`Windows 2000 Advanced■ Microsoft Windows 2000 Server or Microsoft
`
`
`
`
`
`Server with the NTFS file system, MDAC 2.5, and Distributed Component
`Object Model (DCOM 1.3)
`
`
`
`The server version requires the following software:
`
`
`
`
`
`
`
`■Microsoft Windows 2000 Server or Microsoft Windows 2000 Advanced
`
`
`
`Server with the NTFS file system
`
`
`
`(MDAC) 2.5■ Microsoft Data Access Components
`
`
`■Distributed Component Object Model (DCOM) 1.3
`
`
`
`The install program for the BizTalk Tech Preview is in the folder \Software\
`
`
`
`
`
`
`
`BizTServ\.
`
`xviii
`
`Zynga Ex. 1018, p. 16
`Zynga v. IGT
`IPR2022-00368
`
`

`

`= XX is the
`ograms on
`ces, so the
`: used. See
`1structions.
`
`1 CD.
`
`ft has pro­
`y Preview.
`some pro­
`msactions.
`:Talk serv-
`
`;terns and
`
`and
`
`11ced
`nent
`
`1ced
`
`Software\
`
`SOAP Toolkit for Visual Studio 6.0
`
`
`
`About the Companion CD
`
`The SOAP Toolkit for Visual Studio 6.0 is a developer tool published by Microsoft. It
`
`
`
`
`
`
`
`
`
`
`has tools to help you create Service Description Language (SDL) files so that you can
`
`
`expose Web services using SOAP. It also contains the Remote Object Proxy Engine
`
`
`
`
`
`(ROPE), that provides client-side or server-side capabilities that enable you to send
`
`and receive SOAP documents.
`A Microsoft manager told me, "If you can create a COM object, you can cre­
`
`
`
`
`
`
`
`ate a Web Service" using the SOAP Toolkit. He is right. This is a very powerful
`
`
`
`program. If you are a Visual Studio developer, you should get to know SOAP and
`the SOAP Toolkit.
`
`
`
`
`
`
`
`
`The install program for the SOAP Toolkit is in the folder \Software \SOAPTK\.
`
`
`
`
`
`Microsoft Internet Explorer 5.5
`
`Internet Explorer 5.5 includes an XML parser that you can access programmatically
`
`
`
`
`
`
`
`
`
`
`from Microsoft Visual Basic or from scripting languages such as Microsoft Visual Basic,
`
`
`
`
`
`
`
`Scripting Edition (VBScript). Internet Explorer 5.5 installs on Microsoft Windows 95
`
`
`
`
`or later, Microsoft Windows NT 4.0, and Microsoft Windows 2000. The installer for
`
`
`
`
`
`this program is located in the \Software\IE55\ folder on the companion CD.
`
`
`
`Architag XRay XML Editor
`
`The Architag XR.ay XML Editor, or simply XR.ay, is a real-time validating XML editor.
`
`
`
`
`
`
`
`By real-time, I mean that XR.ay checks an XML document as you type, giving you an
`
`
`
`
`
`indication of any errors in the file. XR.ay was developed as a learning aid for students
`
`
`taking Architag University
`
`
`courses. It's optimized for
`(http://architag.com/university)
`
`
`
`
`
`instruction, allowing you to learn XML syntax quickly with immediate feedback. The
`
`
`
`
`product supports well-formed XML and valid XML according to DTD schema syntax
`
`
`or XML Data Reduced (XDR) schema syntax, which is used by the BizTalk Initiative.
`
`
`
`
`XR.ay can also help in debugging XML-based programs. Some applications use
`
`
`
`XML under the covers. To debug an XML-based system, you might need to take a
`
`
`
`
`
`look at the XML documents that are created. The product is called XR.ay because it
`
`allows you to look inside your XML documents.
`XR.ay also has two features that we use in Architag University classes: an XSL
`
`
`
`
`
`
`Transformation (XSLT) window and an HTML previewer. The XSLT window allows
`
`
`
`you to transform an XML document that is in a currently open window by associat­
`
`
`ing it with an XSLT style sheet. If you are transforming to HTML, the output of the
`
`
`
`transformation can be viewed instantly with the HTML preview widow.
`
`
`
`The install program for XR.ay is in the \Software\Xray\ folder.
`
`xix
`
`Zynga Ex. 1018, p. 17
`Zynga v. IGT
`IPR2022-00368
`
`

`

`
`
`About the Companion CD
`
`OmniMark CNM
`
`REI
`
`The OmniMark programming language is featured in this book because I really like the lan­
`
`
`
`
`
`
`
`
`
`
`
`
`guage for creating fast, platform-independent, scalable, network-enabled applications. The good
`
`
`
`
`
`
`folks at OmniMark Technologies Corporation have provided me with the latest version of their
`
`
`
`free product, OmniMark C/VM (compiler/virtual machine). OmniMark is documented
`
`
`throughout the book and in Appendix A.
`OmniMark runs under most any popular operating system. The version on the compan­
`
`
`
`
`
`
`
`
`
`ion CD is for Microsoft Win32 environments. You can download versions for other platforms
`
`
`
`
`OmniMark also offers a subscription from the OmniMark site at http://w111w.omnimark.com.
`
`
`
`
`
`
`service named the OmniMark Developer's Network (OMDN) that provides telephone and e­
`
`
`
`
`
`mail support, plus early access to new versions of software and peer support. If you are an
`
`
`
`OmniMark programmer, you should subscribe to this service.
`The install program for OmniMark C/VM 6.0 is in the \Software\OmniMark\ folder.
`
`
`
`
`
`
`
`
`
`For OmniMark support and for the latest version of the software, go tohttp://111w1JJ.onmima1k.com
`on the World Wide Web.
`
`
`
`OmniMark Integrated Development Environment
`
`
`
`Ml�
`
`The install program for OmniMark IDE 2.0 is in the \Software\OmniMark\ folder.
`
`The OmniMark Integrated Development Environment (IDE) is a tool that you can use to
`
`
`
`
`
`
`
`
`
`
`develop and debug your OmniMark programs. The OmniMark virtual machine (VM) is tightly
`
`
`
`
`integrated with the IDE, which provides you with a set of great features including breakpoints,
`
`
`
`variable watches, and throttled execution.
`The product on the CD is written for Win32 environments. It is a 10-day evaluation
`
`
`
`
`
`
`
`
`
`product. You must link to the OmniMark site to get an �nlocking code for the 10-day trial. This
`
`
`
`
`
`is a great product and definitely worth installing if you are interested in developing OmniMark
`programs.
`
`
`
`
`
`
`
`Adobe Acrobat Reader
`The Adobe Acrobat Reader is included on the companion CD to allow you to read the electronic
`
`
`
`
`
`
`
`
`version of my OmniMark book and some of the specifications available on the CD. You can install
`
`
`the Acrobat Reader from the \Software\Acrobat\ folder.
`
`xx
`
`Zynga Ex. 1018, p. 18
`Zynga v. IGT
`IPR2022-00368
`
`

`

`like the lan-
`1s. The good
`,ion of their
`locumented
`
`he compan­
`�r platforms
`.ubscription
`hone and e­
`-you are an
`
`[ark\ fol

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket