throbber
‘*'I'_Ifi».E -exg:er.inarit:& fhaf
`Mark aanuad Kenn
`
`fiewlm
`with
`malfly s=hi:n.re5 thmugh in
`their wrEti;i1»g,:,
`thaew"i»r
`-an-ptma:=is;mfi-5, and fiheeir
`-en§nmp=|.es» This hfnmilés
`a great fm.I-n=-
`-fim-inn -u@m_-w§1:'nc'.h- tu-
`btaiilvd gmur unu.du5e~4r+
`stanfiing Q? humw $643?
`was-fits wfithim .N.ET.“‘
`
`_
`»--——-Sealzt swig,
`Mfiflw‘ z4:=.*c£3m‘t2£Eus'n'&F
`
`Samw. 3‘-—’e-wt?
`
`Kenn Scribner
`
`Mark C. Stivevr
`
`egrviices
`MLWebS
`
`
`
`2.
`
`Q-§
`
`Q I
`
`’
`
`Ing
`
`APP
`
`Imp
`
`001
`
`001
`
`SERVICENOW INC.'S EXHIBIT 1007
`
`

`
`
`
`Applied SIJAP: Implementing
`.NET XML WEI] Services
`
`
`
`Kenn Scribner and Mark C. Stiver
`
`sAMs
`
`201 West I03rd St., Indianapolis, Indiana, 46290
`
`002
`
`‘ SERVICENOW lNC.'S EXHIBIT 1007
`
`002
`
`SERVICENOW INC.'S EXHIBIT 1007
`
`

`
`Applied SOAP: Implementing
`.NET XML Web Services
`
`Copyright © 2002 by Sams Publishing
`All rights reserved. No part of this book shall be reproduced, stored in a
`retrieval system, or transmitted by any means, electronic, mechanical, photo-
`copying, recording, or otherwise, without written permission from the pub-
`lisher. No patent liability is assumed with respect to the use of the information
`contained herein. Although every precaution has been taken in the preparation
`of this book, the publisher and author assume no responsibility for errors or
`omissions. Nor is any liability assumed for damages resulting from the use of
`the information contained herein.
`
`International Standard Book Number: 0-672-32111-4
`
`Library of Congress Catalog Card Number: 00-110536
`Printed in the United States of America
`
`First Printing: October 2001
`
`04
`
`03
`
`02
`
`01
`
`4
`
`3
`
`2
`
`1
`
`Trademarks
`
`All terms mentioned in this book that are known to be trademarks or service
`marks have been appropriately capitalized. Sams Publishing cannot attest to
`the accuracy of this information. Use of a term in this book should not be
`regarded as affecting the validity of any trademark or service mark.
`
`Windows, Windows 2000, Windows XP, .NET, Visual Studio .NET, .NET
`Framework, Passport, and Hailstorm are registered trademarks of Microsoft
`Corporation.
`
`Java is a registered trademark of Sun Microsystems, Inc.
`
`Websphere is a registered trademark of IBM, Inc.
`
`Warning and Disclaimer
`Every effort has been made to make this book as complete and as accurate as
`possible, but no warranty or fitness is implied. The information provided is on
`an “as is” basis. The authors and the publisher shall have neither liability nor
`responsibility to any person or entity with respect to any loss or damages aris-
`ing from the information contained in this book or from the use of the pro-
`grams accompanying it.
`
`AssocIATE PUBLISHER
`
`Linda Engelman
`
`ACQUISITIONS EDITOR
`Linda Scharp
`
`DEVELOPMENT EDITOR
`Laurie McGuire
`
`MANAGING EDITOR
`
`Charlotte Clapp
`
`PROJECT EDITOR
`
`Leah Kirkpatrick
`
`COPY EDITOR
`
`Krista Hansing
`
`INDEXER
`
`Larry Sweazy
`
`PROOFREADER
`Wendy 0tt
`
`TECHNICAL EDITOR
`Scott Seely
`
`TEAM COORDINATOR
`Lynne Williams
`
`MEDIA DEVELOPER
`Dan Scherf
`
`INTERIOR DESIGNER
`Gary Adair
`
`COVER DESIGNER
`Gary Adair
`
`PAGE LAYOUT
`Gloria Schurick
`
`-__3:..5.
`:.»‘;;::°:.«;;..<,E-'_,
`
`
`
`W4....;;:L__-.,,_§*.-51».3;‘:;3eTf'._Q',;._._.;‘.t).
`~—-—%»+:—‘..
`
`
`...,,.,V'3-.__.__¢‘Lag’.._,
`
`K...
`,..';.:;
`
`
`
`003
`
`SERVICENOW |NC.'S EXHIBIT 1007
`
`IV
`
`003
`
`SERVICENOW INC.'S EXHIBIT 1007
`
`

`
`
`
`Overview
`
`Introduction
`
`1
`
`>
`
`4;
`
`PART I
`
`Foundations of Web Services
`
`Web Service Fundamentals
`
`9
`
`UI-I>UJl\)
`
`.NET Architecture and Web Services Components
`Web Services and XML 75
`
`49
`
`.NET Web Services and SOAP
`
`123
`
`Web Service Description and Discovery
`
`163
`
`PART II
`
`Implementing Web Services
`Web Services in ASP.NET 193
`
`Consuming .NET Web Services
`
`245
`
`More Advanced Web Services
`
`.NET Remoting
`
`287
`
`Extreme Web Services
`
`301
`
`.NET and Web Service Security
`
`329
`
`PART IV
`
`Appendixes
`
`COW
`
`Example .NET Web Service
`
`357
`
`Using ATL Server to Create Web Services
`
`373
`
`XML Protocol and SOAP 385
`
`.NET Web Service Resources
`
`395
`
`Index
`
`401
`
`004
`
`SERVICENOW |NC.'S EXHIBIT 1007
`
`004
`
`SERVICENOW INC.'S EXHIBIT 1007
`
`

`
`Contents
`
`Introduction
`
`1
`
`PART I
`
`Foundations of Web Services
`
`-3
`
`9
`Web Service Fundamentals
`What Are Web Services? .................................................................... ..1O
`The Poor Man’s Web Service ........................................................ ..10
`
`
`
` '!§.‘¥.".._,_--.§‘A,5;._'Z'’_'_..‘%
`
`
`
`
`
`
`_._..6’A},-:1',""'IQ:-i‘r.C2f's'__-.._._‘.*‘
`
`.Q-_fz
`
`,,_,“'.k’
`
`...,A
`
`_.;::Af’
`
`
`7‘V L.£-,-.._E4
`
`
`FE:
`
`XML Messages .............................................................................. .. 13
`Syntax Versus Semantics ................................................................ ..13
`Web Service Terminology .............................................................. ..14
`The Road to Web Services .................................................................. ..l5
`Waves of the Internet ...................................................................... ..15
`Internet Standards .......................................................................... .. 16
`Uses for Web Services ........................................................................ ..2l
`Business-to-Business ...................................................................... ..21
`
`Exposing Functionality to Customers ............................................ ..22
`Integrating Heterogeneous Systems .............................................. ..23
`Rapid Development Environment .................................................. ..23
`Web Service Properties ........................................................................ ..24
`Performance .................................................................................... ..24
`
`Simplicity ...................................................................................... ..26
`Security .......................................................................................... ..26
`Reliability and Availability ............................................................ ..27
`Consistency .................................................................................... ..27
`Creating a Web Service in Visual Studio .NET .................................. ..28
`Creating the Service ............................................ .L ........................ ..28
`Creating the Client.......................................................................... ..32
`Tracing Messages on the Network ......................................... ..38
`Interface Design Tips ............................................................... ..40
`Learning from the Past ....................................................... ..40
`What Is an Interface? ........................................................... ..41
`Using SOAP to Encode Information ................................... ..42
`Interface Versioning ...................................................... ..
`....42
`Interface Complexity ........................................................... ..
`....45
`Summary .............................................................................................. ..48
`
`
`
`49
`.NET Architecture and Web Services Components
`Motivation for Creating .NET ............................................................ ..5O
`The Benefits and Limits of COM .................................................. ..50
`Other Microsoft Technology Considerations ................................ ..51
`n
`A Better Model .............................................................................. ..52
`
`005
`
`
`SERVICENOW lNC.'S EXHIBIT 1007
`
`005
`
`SERVICENOW INC.'S EXHIBIT 1007
`
`

`
`
`
`The .NET Framework ..................................................................... ..53
`The Common Language Runtime ...................................... ..53
`Microsoft Intermediate Language ....................................... ..54
`Just-in-Time Compiling ................................................ ..57
`Common Type System ............................................................ ..58
`Assemblies and Managed Code . . . . . .
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . ..67
`Security ............................................................................... ..68
`The System Namespace ................................................ ..68
`Web Services ...................................................................... ..73
`Discovery ................................................................... ..73
`Description........................................................................... ..73
`Protocols .......................................................................... ..74
`Summary .............................................................................................. ..74
`
`
`
`
`
`3 Web Services and XML
`
`75
`
`XML as a Wire Representation .......................................................... ..76
`XML and Loose Coupling .............................................................. ..78
`XML and Interoperability .............................................................. ..78
`Querying XML Elements Using XPath .............................................. ..79
`Essential XML .................................................................................... ..80
`Documents, Elements, and Attributes ............................................ ..80
`Entity References and CDATA ...................................................... ..83
`URIs and XML Namespaces .............................................................. ..84
`URLs and URNs ............................................................................ ..84
`XML Namespaces .................................................................. ..
`....85
`XML Schemas ............................................ ..
`....87
`
`....87
`Understanding XML Schemas .............. ..
`.NET Web Services and XML Schemas ................................ ..92
`XPath Drilldown .......................................................... ..93
`XPath Operators ..... ..
`................ ..96
`XPath Intrinsic Functions ............................................ ..97
`
`
`
`Identifying XML Elements Using XLink................................. ..99
`XML Transformations ........................................................ ..l01
`XSLT Drilldown ............................................................... ..102
`
`XSL Templates .......................................................... .. 106
`.NET’s XML Architecture .............................................. ..107
`
`Reading XML Data ........................................................ ..107
`Writing XML Data ........................................................... ..108
`Navigating XML with .NET ........................................................ ..1 12
`Pulling XML Element Information with .NET ............................ ..1 13
`.NET and XPath .......................................................................... ..114
`.NET and XLink .......................................................................... ..1 17
`.NET and XSL .............................................................................. ..118
`
`Summary ............................................................................................ ..120
`
`006
`
`SERVICENOW lNC.'S EXHIBIT 1007
`
`006
`
`SERVICENOW INC.'S EXHIBIT 1007
`
`

`
`i
`
`vi
`
`APPLIEDEBXPI IMPLEMENTING .NMiEu:PY'|\/ii>|.:”\‘I_\M/‘EB SERVICES ‘
`
`4
`
`.NET Web Services and SOAP
`
`123
`
`Why Is SOAP Needed? ......................................................................124
`Why Do You Need to Understand SOAP?
`.................... ..l25
`The SOAP Advantage .............................................................. ..126
`The SOAP XML Object Model .................................................... ..l27
`The SOAP Envelope .......................................................................... ..127
`
`SOAP encodingstyle Attribute ........................................... ..128
`The SOAP Header ............................................................................ ..129
`SOAP Header Attributes .............................................................. ..13l
`
`
`
`The SOAP Body ................................................................................ ..133
`SOAP Body Serialization Terminology ...................................... ..l34
`SOAP Body Attributes .................................................................. .. 136
`SOAP Remote Method Serialization ............................................ ..137
`
`SOAP Serialization of Simple Datatypes .................................... ..140
`SOAP Serialization of Compound Data Types ............................ ..145
`SOAP struct Serialization ............................................................ ..145
`
`SOAP Array Serialization ............................................................ ..148
`SOAP Faults ................................................................................ ..153
`.NET SOAP Classes .......................................................................... ..155
`
`The .NET soapFormatter Class .................................................. ..155
`.NET SOAP Framing Classes ...................................................... ..159
`Summary ............................................................................................ .. 160
`
`,.w—,z_q__'«
`
`,_______§Ga. -\.
`D.,1"‘“°‘'''.9§.$L~r'_
`
`
`
`':’_‘fi.0_'f
`
`163
`5 Web Service Description and Discovery
`Web Service Description Language .................................................. ..l64
`The Abstract and the Concrete .... ..
`
`The Client’s Point of View ................................... ..
`
`Universal Description, Discovery, and Integration ............ ..
`What Is UDDI? ............................................................ ..
`How UDDI Works
`
`UDDI and Security .... ..
`tModels ...................... ..
`
`.
`
`.
`
`.
`
`
`
`. . . . . ..
`
`. . . . . . .
`Query Patterns . . . . . . . . . .
`Browsing ....................... ..
`Drilling Down .... ..
`Invoking ..................... ..
`. . . . . . .
`Publishing . . . . . . . . . . . . . . . . . . . . . . .
`. . . . . ..
`. . . . . . .
`Private Operations . . . . . . . . . . .
`Summary ............................................................................................ .. 190
`
`. . . . . ..
`
`007
`
`SERVICENOW lNC.'S EXHIBIT 1007
`
`
`
`007
`
`SERVICENOW INC.'S EXHIBIT 1007
`
`

`
`EKONIFENTS
`
`Implementing Web Services
`
`Web Services in ASP.NET
`
`193
`
`Web Service Processing in .NET ...................................................... ..194
`ASP.NET Web Service Architecture ............................................ ..195
`.NET Remoting Versus .NET Web Services ................................ ..195
`Web Services and Visual Studio .NET .............................................. ..l97
`
`The Visual Studio Web Service Project........................................ ..197
`Moving Away from “Hello World” .............................................. ..199
`The WebMethod Attribute .............................................................. ..203
`Controlling the SOAP Serialization Format ...................................... ..205
`SOAP Method Attributes .............................................................. ..205
`Data Shaping ................................................................................ ..209
`Further Web Service SOAP Packet Customizations .................... ..213
`
`Adding SOAP Headers ...................................................................... ..222
`Header Processing ........................................................................ ..222
`Specifying SOAP Header Direction ............................................ ..224
`Additional SOAP Headers ............................................................ ..225
`
`Adding a SOAP Extension ................................................................ ..225
`Extension Stream Processing ...................................................... ..225
`Modifying the XML .................................................................... ..231
`Errors and the SOAP Fault ............................................................ ..231
`
`Default .NET SOAP Fault Processing ........................................ ..232
`Customized SOAP Faults Using SoapException ........................ ..232
`Web Service State Management ................................................. ..232
`
`. . . . . ..236
`Debugging and Deployment . . . . . . . . . . .
`. .
`. .
`. . . . . . . . . . . . . .
`Debugging ............................................................... ..236
`.NET Web Service Deployment ................................... ..238
`Web Services and Best Practices . . . . . . . . . .
`. . . . . . . . . . . . . .
`. . . . . . . . ..242
`
`
`
`Summary ............................................................................................ ..243
`
`245
`Consuming .NET Web Services
`Visual Studio .NET Web Service Support ........................................ ..246
`Consuming Web Services .................................................................. ..248
`Creating the Web Reference ........................................................ .253
`Web Service Configuration Files .................................................. ..268
`SOAP Headers .................................................................................. ..27l
`
`Intercepting and Modifying SOAP Packets ...................................... ..273
`More Deployment and Debugging .................................................... ..283
`Summary ............................................................................................ ..283
`
`008
`
`SERVICENOW lNC.'S EXHIBIT 1007
`
`008
`
`SERVICENOW INC.'S EXHIBIT 1007
`
`

`
`
`
`.
`APPLIED SOAP: IMPLEMENTING .NET XML WEB SERVICES
`
`PART III More Advanced Web Services
`8
`.NET Remoting
`237
`.NET Remoting Architecture ..............................................................288
`Remoting Boundaries .................................................................. .289
`Remoting Object Model ................................................................290
`Remoting Channels ........................................................................291
`Remotable Objects ..............................................................................292
`Serializable Objects ........................................................................292
`Marshaling Objects by Reference ..................................................293
`Object Lifetimes .......................................................................... ..294
`Configuring .NET Remoting ..........................................................296
`.NET Remoting Example ....................................................................297
`Summary ............................................................................................ ..299
`Extreme Web Services
`301
`. . . . . . . . . . . . ..302
`. . . . . . .
`Embedded XML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`Entity References.................................................... ..302
`CDATA Sections .............................................................303
`base64 Encoding .......................................................................... ..304
`Rich XML Messaging .................................................................. ..308
`SOAP Messages with Attachments ................................................310
`SOAP and Attachments .................................................................... ..311
`Direct Internet Message Encapsulation (DIME) .......................... ..313
`Transactions ...................................................................................... ..3 13
`Transaction Authority Markup Language (XAML) .................... ..314
`Applying Transactions to Web Services ...................................... ..314
`Debugging and Web Services ..............................................................315
`Web Service Documentation ..............................................................318
`Overview ...................................................................................... ..3l9
`Design Approach ............................................................................319
`API Summary .............................................................................. ..322
`API Reference ................................................................................322
`Data Structures ............................................................................ .323
`Error Reference ..............................................................................324
`Test Environment .......................................................................... ..324
`Sample Document ........................................................................ ..324
`Summary ..............................................................................................327
`.NET and Web Service Security
`329
`Security Terms and Concepts ..............................................................33O
`Application-Level Security Versus System-Level Security .............. ..332
`Web Services and Security ................................................................ ..332
`Breadth of Web Service Security ...................................................... ..333
`Intranet Web Service Security Alternatives ....................... .... ....... ..333 ‘
`Internet Web Service Security Alternatives .................................. ..339
`
`9
`
`10
`
`
`
`
`009
`
`SERVICENOW lNC.'S EXHIBIT 1007
`
`
`
`" T
`Q‘
`{
`
`. I
`‘
`4',‘
`2 i
`i
`i
`wt
`
`i
`
`.
`
`j
`
`5
`
`i
`
`.,
`ii .
`}
`"at
`
`'
`
`E
`
`‘
`‘5
`r
`.1" ,
`
`«." I»:
`_
`:9
`‘
`i
`I
`
`95
`I
`1

`3
`
`I
`L.
`
`5
`
`3,
`
`j
`JO:
`2»
`I 4
`‘
`Q
`
`‘
`
`
`
`009
`
`SERVICENOW INC.'S EXHIBIT 1007
`
`

`
`
`
`.NET Security .................................................................................... ..353
`
`.NET Evidence-Based Security .................................................... ..354
`COM+ Security ............................................................................ ..356
`Summary ............................................................................................ ..356
`
`PART IV
`
`Appendixes
`
`Example .NET Web Service
`
`359
`
`Tip of the Day Web Service in Visual Basic .NET .......................... ..360
`finger Web Service in C# ................................................................ ..367
`
`375
`Using ATL Server to Create Web Services
`ATL Server Architecture .................................................................... ..376
`Attributed C++.............................................................. ..
`....377
`When to Select ATL Server ........................................... ..
`....380
`
`Example ATL Server Web Service ..................................... ..
`
`XML Protocol and SOAP
`
`387
`
`
`
`....381
`
`The Birth of XML Protocol .............................................................. ..388
`The XMLP Abstract Model . . . . .
`. . . . . . . . . ..388
`Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . .
`. . . . . . . . . ..388
`
`
`
`An XMLP Walkthrough .............................................................. ..390
`XMLP_UnitData ........................................................................ ..391
`SOAP v1.2 ........................................................................................ ..394
`
`No More Simple Object Access Protocol .................................... ..394
`Bindings ........................................................................................ ..394
`Namespace URIS .......................................................................... ..394
`encodingSty1e .............................................................................. ..395
`mustUnderstand Faults ................................................................ ..395
`
`XMLP, SOAP, and the Future ............................................................ ..396
`
`397
`.NET Web Service Resources
`XML General .................................................................................... .398
`General .NET Information ................................................................ ..398
`General Web Service Information .................................................... ..399
`SOAP/XML Protocol ........................................................................ ..399
`
`. . . . . . . . . . . . . . . . . . . . . . . ..399
`Remoting . . . . . . . . . . . . . . . . . . . . .
`. . . . . . . . . . . . . . . . . . . . . . . ..400
`UDDI. . . . . . . . . . . . .
`. - - - . .-400
`WSDL . . . . . . . . . . . . . . . . . .
`. . . . . ..400
`Transactions . . . . . . . . . . . . . . . . . . .
`Tools ........................................................................................... ..40O
`
`
`
`Security .............................................................................................. ..400
`ebXML .............................................................................................. ..401
`
`Sample Web Service .......................................................................... ..401
`
`Index
`
`403
`
`010
`
`SERVICENOW lNC.'S EXHIBIT 1007
`
`010
`
`SERVICENOW INC.'S EXHIBIT 1007
`
`

`
`Web Service Fundamentals
`
`IN THIS CHAPTER
`
`0 What Are Web Services?
`
`10
`
`0 The Road to Web Services
`
`15
`
`0 Uses for Web Services
`
`21
`
`0 Web Service Properties
`
`24
`
`v Creating a Web Service in
`
`Visual Studio .NET 28
`
`0 Interface Design Tips
`
`40
`
`011
`
`SERVICENOW |NC.'S EXHIBIT 1007
`
`011
`
`SERVICENOW INC.'S EXHIBIT 1007
`
`

`
`It’s pretty hard to pick up a trade magazine these days without seeing a headline about Web
`Services. With phrases such as “a new paradigm" being proliferated, are we really witnessing
`the genesis of a new technology?
`
`Unfortunately, the answer isn’t black and white—a lot depends on your perspective. Web
`Services can be used in a wide variety of ways, including these:
`
`- Participating in business—to-business (B2B) transactions
`
`0 Exposing software functionality to customers
`
`-
`
`Integrating heterogeneous platforms and programming languages
`
`- Providing a simplified platform for product development
`
`What Are Web Services?
`
`Web Services can be described as any functionality that is accessible over the Internet, gener-
`ally (but not necessarily) using one or more eXtensible Markup Language (XML) messages in
`the communications protocol- Web Services use the concept of an operation to represent the
`association of a request message to zero or more response messages. When these operations
`are combined to satisfy some particular purpose, they form an interface.
`
`The Poor Man's Web Service
`
`The Internet is already flooded with conventional types of Web Services, better known as Web
`pages. Users are expected to interact with the functionality behind the Web page through typi-
`cal user—interface widgets such as forms, buttons, and so on.
`
`We already know how to reuse Web functionality by embedding other Web pages into our own
`pages through frames and links. But this presentation—based approach severely limits the things
`that you can accomplish. If you embed another Web site within a frame of your own, you gen-
`erally have no control over the colors, graphics, or other aspects of the presentation. Another
`problem is that any information entered by a user in the embedded page never gets back to
`your controlling application. In other words, you’re out of the loop!
`
`One way around this is for your application to act as a proxy for the user. Many developers
`have already written simple applications that navigate to a particular URL, screen-scrape the
`Web site’s HTML for information, and use that information to build new Web content.
`
`Consider the following HTML that describes the current weather temperature:
`
`<HTML>
`
`<HEAD>
`
`<TITLE>Today's Wea1:her<{TITLE>
`<,'HEAD>
`<BODY>
`
`012
`
`SERVICENOW |NC.'S EXHIBIT 1007
`
`012
`
`SERVICENOW INC.'S EXHIBIT 1007
`
`

`
`
`
`S'IV.l.NEllA|VClNl'l;|
`
`EDIAHSSHEM
`
`Web Service Fundamentals
`
`U
`
`CHAPTER 1‘
`
`<P>City: <B>Los Angeles<!B><!P>
`<P>State: <B>Ca1ifornia<!B><fP>
`
`<P>Temperature: <B>83<fB><!P>
`<fBODY>
`
`<!HTML>
`
`In this case, it would be fairly simple to programmatically locate the temperature value within
`the markup. However, over an extended period of time using this service, you can be sure that
`the underlying Web page will change and ultimately break your application. It would be nearly
`impossible to develop software that could automatically adjust to fluctuations in the type of
`markup, as shown:
`
`<HTML>
`
`<HEAD>
`
`<TITLE>Today's Weather<iTITLE>
`<!HEAD>
`<BODY>
`
`<TABLE wIDTH="500” CELLPADDING=“1@" CELLSPACING=“15">
`<TR>
`
`<TD ALIGN="LEFT" VALIGN%“MIDDLE" WIDTH=“1@@"><B>city<lB><!TD>
`<TD ALIGN="LEFT" VALIGN="MIDDLE" WIDTH=“2@0“>Los Ange1es<!TD>
`<lTR>
`<TR>
`
`<TD ALIGN="LEFT” VALIGN="MIDDLE“ WIDTH=“1@@"><B>8tate<!B><lTD>
`
`<TD ALIGN="LEFT“ VALIGN="MIDDLE“ WIDTH="2@@“>Ca1ifornia<!TD>
`<{TR>
`<Tn>
`
`<TD ALIGN="LEFT" VALIGN=“MIDDLE" wIDTH="1@@">
`
`<B>Temperature<lB>
`<;Tn>
`
`<TD ALIGN="LEFT" VALIGN=“MIDDLE“ WIDTH=“20@“>83<!TD>
`<TD ALIGN="LEFT" VALIGN="TOP“>
`
`<IMG SRC=“sunny.gif“ WIDTH="25" HEIGHT=“33“>
`<!TD>
`
`<lTR>
`
`<lTABLE>
`
`</BODY>
`
`<rHTML>
`
`Now consider integrating multiple systems using this approach. Recall that in the Web Services
`paradigm, many systems likely could participate in some business process. Because HTML
`content changes at such a fast pace, you likely will not ever be able to construct a reliable inte-
`
`grated solution.
`
`For example, consider one application that monitors the temperature Web site and another Web
`
`site that posts the average speed of traffic on a nearby highway:
`
`013
`
`SERVICENOW |NC.'S EXHIBIT 1007
`
`013
`
`SERVICENOW INC.'S EXHIBIT 1007
`
`

`
`I
`
`Foundations of Web Services
`
`12
`
`<HTML>
`
`<HEAD>
`
`<TITLE>Interstate Traffic Report<!TITLE>
`
`<!HEAD>
`<BODY>
`
`<CENTER>Average Speed<!CENTER>
`<CENTER>67<iCENTER>
`
`<!BODY>
`
`<!HTML>
`
`By relating these two axes of data, the application might be capable of determining whether
`there is a correlation between sunny days and fast driving. Although it might be an interesting
`problem to solve, the likelihood of the application working with 24x? reliability is extremely
`low. The plain-and-simple fact is that relying on presentation-oriented data leads to a tightly
`coupled and brittle system.
`
`The question isn’t whether the concept of integrating Web content is valid; the problem lies
`within the information that can be obtained from a source. Without rich content markup, pro-
`grams don’t have much of a chance of locating pertinent information. Of course, this is where
`XML markup makes an important difference. Given standardized markup that describes infor~
`mation in a particular domain space, an application should always be capable of finding the
`
`right data.
`
`Taking the concept of standardized markup into account, Web Services can be better defined as
`functionality that is accessed over the Web and that provides infonnation in a reliable and pre-
`dictable manner. In many cases, this predictability will be realized through the use of XML
`
`markup for describing information.
`
`Although Web Services are not limited to the following technologies, you will find that a large
`percentage of Web Service implementations are built upon the Hypertext Transfer Protocol
`(HTTP), SOAP/XML as a messaging protocol, and Web Services Description Language
`
`(WSDL) as a way to describe service interfaces.
`
`The basic idea behind Web Services isn’t really new. in many ways, we are just reusing tech-
`nologies that most of us have used for years. Surprisingly, many developers have already built
`systems using Web Service techniques, but in a very ad hoc and proprietary way. The main
`difference is that the industry is now supporting Web Services with standards, tools, and
`
`implementations.
`
`First reactions about Web Services usually revolve around performance. Most people recognize
`that transmitting XML is not the most expeditious way for systems to communicate. So why
`use XML? We use XML because it provides us with a predictable way to package information
`that is structured, extensible, and yet still very easy to use—not something that can be said for
`
`other packaging protocols. Let’s take a closer look.
`
`014
`
`SERVICENOW |NC.'S EXHIBIT 1007
`
`014
`
`SERVICENOW INC.'S EXHIBIT 1007
`
`

`
`
`
`
`
`EDIAHEIS83]“
`
`& S
`
`1V.I.N3WVONIH
`
`Web Service Fundamentals
`CI.-lA|-’TER _
`
`XML Messages
`
`By nature, interface-based programming enables us to build loosely coupled systems, meaning
`that the client and Web Service are independent of one another. This has been true in object-
`oriented programming for many years, within the confines of a particular programming language.
`Web Services reinforce loosely coupled systems by removing dependence upon a common
`programming language or even a common platform. This is realized through the use of XML
`messages, which define the operatio

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