|
This tour overviews each chapter and outline the many
topics discussed in Web Services: A Technical Introduction. Some of the
terms mentioned here might be unfamiliar to you—they will be defined
throughout the book. Every chapter ends with an Internet and Web Resources
section, which lists Web sites that you can visit to learn more about the
topics discussed in that chapter. Please visit
www.deitel.com
and
www.prenhall.com/deitel,
for updated information and additional learning resources.
Chapter 1—Introduction to Web Services
This chapter introduced Web services. We began by
chronicling computing developments that make Web services possible, including
object-oriented technology, distributed computing and Internet protocols. We
described the emergence of Web services and explored their benefits, then
introduced challenges to Web services adoption. We also discussed software
vendors—including Microsoft, IBM, Sun and Hewlett Packard—that are cooperating
to create open Web services standards and to ensure Web service
interoperability. The chapter listed examples of existing Web services to
illustrate the range of possible Web services capabilities. We also
highlighted how certain industries—such as travel, financial services and
manufacturing—are using Web services to integrate applications and improve B2B
interactions. We concluded by touring the book.
Chapter 2—Web Services: A New Computing Paradigm
This chapter overviews technical and business topics
relevant to Web services. We begin by defining Web services and discussing
some of their distinguishing features, including modularity and platform
independence. We introduce the Extensible Markup Language (XML), the
underlying technology used in Web services, and explain how XML forms the
basis for Web services standards such as SOAP, WSDL and UDDI. The chapter
describes how organizations can use Web services and examines one Web service
in a detailed case study. We discuss standards organizations and vendor
consortia, such as the W3C and OASIS, and explore their roles in defining Web
services specifications. We then overview key limitations of Web services,
including performance, security and quality-of-service (QoS) concerns.
Chapter 3—Web Services Business Models
Web services offer opportunities for new businesses and
lines of business. In this chapter, we divide Web services business models
into two categories—businesses that offer services enabled by Web services
standards and businesses that support the Web services industry. The first
group is subdivided into service providers offering service-to-consumer (S2C),
service-to-business (S2B) and service-to-employee (S2E) services. The second
group—which facilitates Web services discovery and management—includes
organizations that operate Web services registries, brokerages and networks.
In discussing the stages of Web service development and deployment, we explain
how service providers, brokers and requesters interact to complete Web
services transactions. We also describe service-level agreements (SLAs) and
explore possible payment methods.
Chapter 4—Web Services and Enterprise Computing
Companies can improve productivity and enhance various
business processes through Web services. This chapter discusses how
application developers and IT staffs can increase efficiency by incorporating
Web services in enterprise systems. We explain the benefits of packaging
business applications as services over the Internet, then describe how Web
services can be used in specific enterprise software, such as portal,
inventory, supply-chain-management and customer-relationship-management (CRM)
applications. The chapter also contains case studies of how specific
companies—including Microsoft, British Telecom, Alliance Airlines and
Nordstrom—are using Web services to integrate systems and improve
communication among departments, supply chains and partners.
Chapter 5—XML and Derivative Technologies
Understanding XML is essential to understanding Web
services. This chapter begins by tracing the history of XML. We introduce the
concept of markup languages, explaining how their standardization has
increased interoperability among language platforms. We then overview a
technology stack that illustrates the standards supporting Web services. We
also discuss key XML-based technologies for describing and defining business
processes. We explain the core components of ebXML, a technology that attempts
to automate business processes. Other XML-derived technologies include
Business Transaction Protocol (BTP), Business Process Modeling Language (BPML),
Business Process Query Language (BPQL), Web Services Flow Language (WSFL) and
Universal Business Language (UBL). The chapter concludes by introducing the
basic structure of XML and defining key concepts such as tags, elements and
namespaces.
Chapter 6—Understanding SOAP and WSDL
Simple Object Access Protocol (SOAP) and Web Services
Description Language (WSDL) play crucial roles in Web services interactions.
This chapter begins by chronicling the evolution of the SOAP and WSDL
standards. We discuss the role of the SOAP messaging protocol in Web services
architectures; topics include SOAP envelopes, Remote Procedure Calls (RPCs)
and transport protocols. After providing an example of a SOAP message, we
discuss interactions between SOAP senders and receivers. We also describe
enhanced features of SOAP 1.2 and examine SOAP security issues. The chapter
then introduces the WSDL standard, an XML vocabulary used to provide specific
information about Web services, and provides an explanation of a sample WSDL
document. We conclude by examining SOAP implementations by Apache, Microsoft
and IBM.
Chapter 7—UDDI, Discovery and Web Services Registries
For Web services to achieve widespread adoption, a unified
system must enable developers and applications to locate specific Web
services. Several organizations have developed Web services registry systems,
but the leading registry is based on the Universal Description, Discovery and
Integration (UDDI) specification. This chapter details aspects of UDDI,
including dynamic discovery, the public UDDI Business Registry (UBR) and
private registries. We describe the UDDI information model, which is composed
of business information, business service information, bind information,
service specification information and publisher assertion information. We then
discuss the UDDI publishing and querying APIs. We also explain key limitations
of UDDI and introduce alternative discovery methods provided by ebXML and
WS-Inspection.
Chapter 8—Web Services Platforms, Vendors and Strategies
Many companies are creating tools and applications for the
Web services market. This chapter overviews various vendors and their Web
services offerings. We begin by describing major vendors’ products and
platforms that offer integrated support for Web services standards. These
include BEA Systems’ various Web services products, the Hewlett-Packard HP Web
Services Platform, the IBM WebSphere product line and Web Services
Toolkit, Microsoft’s .NET Platform, the Oracle 9i Technology
Suite and Sun Microsystems’s Sun ONE platform. We then
consider mid-sized vendors’ Web services platforms, such as the IONA Orbix
E2A™ Platform, SilverStream Software’s eXtend™ product line, The
Mind Electric’s GLUE platform and Cape Clear’s CapeConnect and
CapeStudio tools. We also highlight Web services products created by
smaller vendors and start-ups.
Chapter 9—.NET Web Services: A Conceptual Overview
Microsoft’s .NET strategy embraces the Internet and Web as
integral to the software-development and deployment processes. This chapter
describes the .NET platform and its features for creating, publishing and
consuming Web services. We highlight the benefits of implementing Web services
in .NET, including .NET’s support of multiple programming languages and its
tools for code reuse. We illustrate "drag-and-drop" programming using Visual
Studio .NET and explain how ASP .NET can improve Web service performance,
testing and security. The chapter then presents the basic structure of both
.NET Web services and .NET Web service clients. We introduce ASMX files,
code-behind files and proxy classes. We also overview the Global XML Web
Services Architecture (GXA), a set of specifications that extend Web services
standards. We explain how Web services are invoked from wireless devices, and
we conclude by investigating the use of Web services with Microsoft BizTalk
and Microsoft's .NET Enterprise Servers.
Chapter 10—Java Web Services: A Conceptual Overview
The Java 2 Platform provides rich support for Web services
technologies. Companies, organizations and individuals in the Java software
community have developed various Web services platforms that enable
programmers to build, deploy and publish Web services. Virtually every major
application-server vendor provides Web services support for Java 2 Enterprise
Edition (J2EE) applications. This chapter discusses the extensive set of
programming tools that Sun Microsystems provides to enable Java developers to
build, access and integrate Web services. We overview Java technologies for
Web services, including Java API for Remote Procedure Calls (JAX-RPC), Java
API for XML Messaging (JAXM), SOAP with Attachments API for Java (SAAJ), Java
API for XML Registries (JAXR) and various Java-based Web services deployment
platforms. After reading this chapter, the reader will be familiar with the
array of options for building Java-based Web services.
Chapter 11—Computer and Internet Security
Security breaches and network attacks can cause immense
damage, costing organizations billions of dollars and affecting their
productivity and even their credibility. To minimize these problems, it is
essential that companies protect their data and ensure secure transactions.
Effective security involves authenticating the identities of senders and
receivers, verifying data integrity, ensuring that sensitive information
remains private and proving that information was sent and properly received.
This chapter begins by defining basic security terminology and exploring the
history of cryptography. We examine and illustrate several cryptographic
techniques used to encode information, including secret-key cryptography and
public-key cryptography. We explore user authentication methods, such as
digital signatures, digital certificates, digital watermarks and Kerberos. We
also analyze the strengths and weaknesses of today's security
standards—including Secure Sockets Layer (SSL), Internet Protocol Security (IPSec)
and Virtual Private Networks (VPNs). Finally, we consider network security
options, such as firewalls and intrusion-detection systems.
Chapter 12—Web Services Security
Web services can move transactions beyond corporate
firewalls and enable outside entities to access corporate applications. This
offers many benefits to organizations, but also increases the potential for
security attacks and data corruption. This chapter addresses security—one of
the main obstacles to widespread Web services adoption. We begin by describing
why existing security technologies—such as HTTP and SSL—are insufficient to
protect Web services transmissions. We then present several evolving Web
services security specifications, including XML Signature and XML Encryption.
These techniques authenticate messages and protect data during transmission,
respectively. The XML Key Management Specification (XKMS), a specification for
registering and distributing encryption keys, can be used with these
techniques to authenticate each party in a transaction and to set up PKI
(Public Key Infrastructure) for Web services. We also examine authorization
and policy standards, such as the Security Assertion Markup Language (SAML)
and the Extensible Access Control Markup Language (XACML). The chapter
concludes by discussing Web services security with regard to firewalls and
networks.
Appendix A—Introduction to XML Markup
Many Web services standards, such as SOAP, WSDL and UDDI,
are XML-derived technologies. This appendix introduces the fundamentals of XML
markup, including elements, attributes and character data. We explain the
requirements for a well-formed document (i.e., a document that is
syntactically correct) and provide a brief overview of parsers—programs that
process XML documents and their data. We also introduce namespaces, which
differentiate XML elements to avoid naming collisions. The appendix presents
several complete XML documents, as well as an example of an XML Schema.
Appendix B—Implementing Web Services in Visual Basic .NET
This appendix introduces Web services programming with ASP
.NET and Visual Basic .NET, building on concepts introduced in Chapter 9, .NET
Web Services: A Conceptual Overview. The appendix shows complete working
Visual Basic .NET LIVE-CODE™
examples; understanding these examples requires some familiarity with Visual
Basic .NET and ASP .NET programming. The examples include Web services that
manipulate integers up to 100 digits, simulate the Blackjack card game and
implement a simple airline-reservation system. One particularly interesting
example is our temperature server, a Web service that aggregates weather
information for dozens of cities in the United States.
Appendix C—Implementing Web Services in Java
This appendix introduces how to build applications using
the Java technologies discussed in Chapter 10, Java Web Services: A Conceptual
Overview. We show complete working Java LIVE-CODE™
examples, so understanding these examples requires some familiarity with Java
programming. Specifically, we show how to use the Java API for XML Remote
Procedure Call (JAX-RPC) and the Java API for XML Messaging (JAXM)—technologies
that Sun Microsystems provides for building Web services and the clients that
invoke them. We show these technologies "at work," as we use these APIs and
the Java programming language to develop two example programs. The first
example is a JAX-RPC-based Web service that tallies votes for favorite
programming languages. The second example is a JAXM-based business-to-business
(B2B) architecture for purchasing and selling books. As we build these
systems, we compare and contrast JAX-RPC and JAXM. We also include a
Java-based client capable of invoking a Web service that provides stock
information.
Appendix D—Best Web Services Web Sites
This appendix tours key Web services Web sites. First, we
overview online resources provided by standards organizations and vendor
consortia—such as the W3C, OASIS and the UDDI project. We direct readers to
the most important information on these organizations’ sites, including
technical specifications and downloads. We then tour software vendors’ Web
sites that offer Web services articles and resources, including the IBM,
Microsoft and Sun Microsystems sites. We also describe Web sites exclusively
devoted to providing Web services articles and information, such as
www.webservices.org and
www.webservicesarchitect.com.
[ top ]
© 2002. Deitel & Associates, Inc. All Rights Reserved.
|