Chapter 1. Introduction

It is not surprising that one of the most quoted business writers today is Charles Darwin. In the field of business-to-business e-commerce and, most recently, mobile commerce, evolution is not simply a metaphor; it is a reality. Many businesses have failed to meet expectations or simply failed because they could not adapt their existing products and services to a new, more dynamic Internet environment. As IT departments are viewed more and more favorably as business differentiators, compared with cost-of-sales, it behooves business application developers to turn current IT assets into collections of Web services that take full advantage of the speed, flexibility, and instant global reach of the Internet.

A number of obstacles exist, however, in achieving a services-based business model. Currently, a typical business-to-business transaction involves:

  • Multiple standards: One of the reasons this transaction is so time-consuming is that there is no common standard for presenting and negotiating information. Each company uses a different method for pricing its products, establishing delivery times, and negotiating contracts. The lack of standards makes it difficult to automate such processes.

  • Entrenched processes and services: Business transactions that require a great deal of human intervention are difficult to maintain and evolve. Changes in prices, products, and deadlines can mean starting negotiations from square one. Simply trying to fine-tune human processes to meet changing needs is a short-term and costly solution.

  • Lack of an online directory: There are number of Web site search engines and listings; however, there is no global and well-populated depot to search for Web services that fit a company’s business needs. Universal Description Discovery and Integration (UDDI) technology has the promise to address this issue, as we will see in this book.

  • Static, point-to-point negotiating: The business processes around partner, vendor, and customer interactions today are ad hoc and need to be adjusted for each entity. For example, suppose that a printing company wants to buy a large quantity of paper. The procurement department uses personal contacts, industry directories, and so on, to develop a list of potential suppliers. They contact each supplier separately, describe their needs, and solicit proposals. Typically, after some negotiation, the printing company finds a supplier and buys its paper. Once developed, this process is not guaranteed to work subsequently for purchasing of same or different product.

In summary, if we look at these characteristics of a typical business transaction, none of them even remotely take advantage of the speed, flexibility, and openness of the Internet. The problem is even more acute in the mobile space in which the operating environment is not yet mature. In the mobile environment, even the basic communication technology is also not standardized across the world. The problem becomes finding a relatively quick and economical way to adapt current business processes to a new paradigm. In the world of services, the ability of different resources to interact with each other is at the core of the new world order. This interaction is based on standards and is driven by dynamism made possible by the network that connects these services together.

Welcome to the Evolution

Service-based interaction provides a different way of transacting business “over the Web.” In this case, the resources providing a service need not have prior knowledge of each other’s existence and can adapt to the ever-changing landscape of services. In many ways, the services behave like human beings or the companies they represent except that the services operate in a digital world. Some of the benefits that the service-based solutions bring are:

  • Open and standards-based solutions: This level of speed and automation is possible because the businesses can easily wrap their current services through standardized interactions. Businesses in this environment communicate with each other using a standard grammar.

  • Flexible, constantly evolving “services”: The end result is that businesses can locate and use services much more easily. These services become genuine Web services, as flexible and adaptable as the Internet itself. This can even be used to create complex services — a collection of simple individual services brought together just in time to meet a particular need. We look at the Web services paradigm more closely in Chapter 3.

  • Dynamic, automated partnering and negotiating: By eliminating or reducing human intervention, a business can locate partners and negotiate with them much more quickly.

As always, the problem does not end at the idea but at the implementation or solution. At the heart of service-based computing is a Web services directory that facilitates and mediates between service publishers and service consumers. This book introduces UDDI and provides insight on how to incorporate UDDI into your Web service solutions.

UDDI — A Powerful and Critical Element of Service-Based Ecosystems

The Universal Description, Discovery, and Integration (UDDI) project is an industrywide project and initiative that provides open and standard specifications for key Web service ecosystem activities:

  • Describing services

  • Discovering businesses and services

  • Incorporating services into Web service solutions

  • Creating and deploying an XML-based registry

At the heart of a Web services ecosystem, UDDI registries are platform agnostic and can interact with businesses and services deployed on a variety of platforms. UDDI is a critical part of the Web services technology stack and is based on tried and tested industry standards such as

  • World Wide Web Consortium (W3C)

  • Internet Engineering Task Force (IETF) standards such as Extensible Markup Language (XML), and HTTP and Domain Name System (DNS) protocols.

Additionally, platform- and language-agnostic qualities are enhanced by using the Simple Object Access Protocol (SOAP). Not only is UDDI platform- and language-agnostic, but its generic nature positions it well within any industry and corporate ecosystem, thus making it industry-agnostic as well.

UDDI acts as the meeting place of industry/ecosystem stewards, service consumers, and service publishers. The forum allows electronic business models of each party to exist within the registry architecture and act on their behalf — thus facilitating electronic decision-making. Through the implementation and interaction with UDDI, it is easy for businesses to collaborate with each other.

UDDI enables businesses to establish many-to-many business relationships, provides the flexibility to add new members quickly and easily, provides a single interface, and enables applications to be treated as services. It enables companies to extend their business-to-business (B2B) or business-to-consumer (B2C) offerings to create ecosystems of services quickly and easily. Organizations such as ecosystem creators, IT departments involved in supply chain initiatives, and software developers and system integrators creating solutions for businesses can use this software to fulfill their needs better, compared with conventional methods.

This book discusses both the services-based ecosystem vision and the UDDI software that helps in implementing that vision. The UDDI specifications are available via the http://www.uddi.org/ project web site.

Several companies, including heavy weights such as Microsoft, IBM, and Oracle, as well as smaller Web service pioneers such as Systinet provide UDDI-compatible software. As is common with emerging technologies, much of the work on these initiatives will eventually converge into a common standard that is adopted industry-wide. To that end, UDDI has been submitted recently to Organization for the Ad-vancement of Structured Information Standards (OASIS) for further work and enhancement.

Using this Book

This book is designed to get you using UDDI quickly and easily. By the end of this book, we hope to have provided a thoughtful understanding of the UDDI initiative, its place in Web service architecture, and the ability to develop your own UDDI-based solutions. In general, each chapter has two parts — one that provides a conceptual framework for some service feature and another that provides a code-level example of implementation within the UDDI paradigm. While the second part is aimed at the developers, the first part would be useful for developers as well as business and technical managers. The managers can use this discussion as a gauge to test the readiness of the existing systems, as well as new ones under development, for participating in service-based architectures and economies. Although the service-based environment is not prevalent yet, it will soon be a reality with industry giants such as Microsoft, IBM, and BEA rallying behind it. Thus, it is essential to assess the readiness of the current and future application landscape for an organization. An extensive background in the Web services paradigm is not necessary in using this book. However, for the code-level discussion, basic understanding of C#, Java, and distributed computing is recommended.

The discussion in the book is supported by code for working examples that explains and demonstrates the concept well. Each chapter builds on the one before, so that, by the end of the book, you have gone through the entire process of interacting with a registry, from modeling your business to participate in an UDDI-based registry to exporting UDDI entries to a private registry. We have chosen the employee portal solution as our primary example; however, you will find the concepts in the book easily applicable to your own projects. The FTP site includes all the source code in the book. This FTP site can be reached directly or from http://www.insidewebservices.com. The book also includes case studies that provide step-by-step design for the solutions. A chapter each is also devoted to competitive analysis and to discussion of the future direction of the registry technology.

The book has the following chapters.

Chapter 2, “Business Registries,” introduces and explains the concept of registries. The discussion includes the role of registries in improving business interactions.

Chapter 3, “Web Services Overview,” explains the foundational technologies of the Web services stack as well as introduces some advanced topics including Web services scalability and security. It teaches you basic programming techniques to develop Web services.

Chapter 4, “Registries and Web Services Lifecycle,” expands on the role of registries within the Web services ecosystem and Web services lifecycle. Includes a discussion on the registry as an intermediary in business-to-business interactions.

Chapter 5, “UDDI Overview,” provides a detailed description of the UDDI initiative including the UDDI Operators, Application Programming Interfaces (APIs), and the language-specific APIs for interacting with a UDDI registry. It also provides best practices developed as part of the initiative.

Chapter 6, “Modeling For Registries,” shows how service publisher and consumer entities should be modeled for participation in a registry-based paradigm. It introduces the UDDI concepts of service bindings and tModels for representing service interaction specifications and classification schemes.

Chapter 7, “Establishing Connection,” explains how to establish connection with the communication points of a UDDI registry. It introduces the UDDI Publish and Inquiry APIs and usage of both UDDI .NET SDK APIs as well as the UDDI4J APIs.

Chapter 8, “UDDI Publishing,” explains how to design applications to use both the UDDI .NET SDK APIs as well as the UDDI4J APIs for publishing to a UDDI registry. It includes a detailed discussion on the process of publishing for a service publisher.

Chapter 9, “UDDI Inquiry,” explains how to design applications to use both the UDDI .NET SDK APIs as well as the UDDI4J APIs for inquiring a UDDI registry. It includes detailed discussion on the process of inquiring for a service consumer.

Chapter 10, “Building UDDI Solutions,” discusses several advanced topics including security, private registries, versioning, internationalization, validation of business modeling, and others. It prepares the reader for including UDDI in an advanced solution.

Chapter 11, “Employee Portal Unfolded,” illustrates the role of a UDDI registry in an employee portal especially highlighting the role of the ecosystem governor and the modeling of business entities.

Chapter 12, “UDDI in B2B and B2C Scenarios,” explains the role of a UDDI registry in a Car Manufacturer’s Ecosystem and a Location-based Mobile Ecosystem especially highlighting the interactions among various entities within the ecosystems.

Chapter 13, “Competitive Landscape,” looks at the competitive landscape in the business registry space. It also includes discussion on ebXML Business Registries.

Chapter 14, “Version 3 and Beyond,” discusses the direction the UDDI Specification is taking with its release of Version 3.

In addition, we have also included several appendices that help in running the examples or expand on certain concepts. A glossary at the end also provides a quick reference for many of the terms used in the book. The index provides an easy reference to relevant terms.

Conventions

Throughout the book, we have used different types of fonts to indicate different types of information:

  • Code segments, classes, methods, and variables use this font. The code segments are also indented so that they stand out from rest of the text. Each code segment is also associated with a file name to indicate the file to which the code belongs. This should help in locating the relevant code snippet at the FTP site.

  • New terms or UDDI-specific words are in this form. This denotes a new term or an emphasis on some word.

  • File names are in this font. Different types of files used in this book include class files, data files, and configuration files. The file names are used throughout the text and in particular in a code segment.

Examples are included and discussed in many of the chapters. The FTP site includes the code associated with these examples. The working directory on the FTP site for each example is located on the chapter title page for each chapter under the section headings. Each of the examples provides a complete business situation and design and solution for that situation.

We have also used “Note” sections in the book to emphasize a related point in a discussion. These notes provide information that is useful to the discussion in which they appear but are not directly related to it. The notes include information such as industry anecdotes, history, a specific UDDI feature, or “gotchas.” An example of a note is below:

Note

This is an example of a note. Notes highlight a point that is related to the text around them.

For More Information

After reading this book, you may want to get some more information about the book in particular or about the UDDI technology and its evolution. We would also like your comments and suggestions. Your feedback will be valuable for us to improve future editions of this book, as well as other works. Suggestions specific to the UDDI platform are also welcome. We will communicate those to the UDDI team in the OASIS standards committee. Visit http://www.insidewebservices.com to get more information about the book or to reach the authors. This Web site can also be used to connect to the FTP site where code for the examples used in the book is located. In addition, we have set up a community at Yahoo! Groups called uddibook. Feel free to join this group to participate in an open discussion about UDDI and this book.

You can visit the UDDI information pages at the following web sites to download software, the specifications, or get more information:

Note

The examples demonstrated in this book may not be visible or accessible in the test Microsoft universal business registry at the time of publication.

We enjoyed working on this book and hope that you find it useful in a journey toward a service-based business environment of the future. To know more about it, let’s enter the world of UDDI-powered Web services.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset