Professional Documents
Culture Documents
Module 4
Module 4
Module 4
3
History of UDDI
●
UDDI 1.0 was originally announced by Microsoft, IBM, and Ariba in
September 2000.
●
Since the initial announcement, the UDDI initiative has grown to include
more than 300 companies including Dell, Fujitsu, HP, Hitachi, IBM,
Intel, Microsoft, Oracle, SAP, and Sun.
●
In May 2001, Microsoft and IBM launched the first UDDI operator sites
and turned the UDDI registry live.
●
In June 2001, UDDI announced Version 2.0.
●
As the time of writing this tutorial, Microsoft and IBM sites had
implemented the 1.0 specification and were planning 2.0 support in the
near future.
●
Currently UDDI is sponsored by OASIS.
4
Introduction to UDDI
5
What is UDDI ?
Universal description, discovery and integration is a
certification that is designed to manage business and
services related information. Organisations and
enterprises based on the specifications will be able to
store modify, update, share and exploit key business and
services information among the partners, collaborators
and other related business organisations.
UDDI ElEMENTS
A business or a company can register three types of information into a UDDI registry.
This information is contained in three elements of UDDI.
These three elements are −
●
White Pages,
●
Yellow Pages, and
●
Green Pages.
White Pages
White pages contain −
Basic information about the company and its business.
Basic contact information including business name, address, contact phone
number, etc.
A Unique identifiers for the company tax IDs. This information allows others to
discover your web service based upon your business identification.
UDDI ElEMENTS
Yellow Pages
Yellow pages contain more details about the company. They include descriptions of the kind
of electronic capabilities the company can offer to anyone who wants to do business with it.
Yellow pages uses commonly accepted industrial categorization schemes, industry codes,
product codes, business identification codes and the like to make it easier for companies to
search through the listings and find exactly what they want.
Green Pages
Green pages contains technical information about a web service. A green page allows
someone to bind to a Web service after it's been found.
It includes −
●
The various interfaces
●
The URL locations
●
Discovery information and similar data required to find and run the Web service.
NOTE − UDDI is not restricted to describing web services based on SOAP. Rather,
UDDI can be used to describe any service, from a single webpage or email address all
the way up to SOAP, CORBA, and Java RMI services.
SPECIFICATIONS AND SERVICES
●
The UDDI services are designed based on the UDDI specifications. UDDI
services helps companies to store, share and exploit business and services
information. UDDI specifications helps companies to create applications
that aid in storing, modify, sharing and exploring business information,
thereby helping companies progress towards business automation.
●
UDDI Browser Registries(UBR) are global, public, online directories.
These UBRs offer services to business for publishing the company data as
well as the services related data for public and global use.
●
The specification is the result of an Industry driven initiative. Many major
industry leaders such as Arriba, IBM, Merrill lynch And Microsoft are
involved in establishing the UDDI specifications
PUBLIC AND PRIVATE REGISTRIES
●
Many leading organizations have already set up and are offering registry
services. The public registries that are in conformance to UDDI
Specifications are set up by the organisations such as IBM, Microsoft etc.
●
A few of them have also set up a registry that enable professionals to gain
valuable experience in working with such registry.Private business registry
are also available.However the specifications of the private registration
may not be in full conformance with the UDDI specifications.
●
UDDI specifications also outlines a set of XML schema definition that
describes the data type to be used for representing business data. This
allows the business to Query for services related information.
UDDI Nomenclature
The UDDI Specifications, uses some specific terminology which that need
to be understood before exploring the details.
They are :
● Node API Sets
● UDDI Nodes
● UDDI Registry
● Information Model
● Data Structure
Node API Sets
These are the APIs that are used for inter-UDDI communications and
the implementation.
The purpose is to manipulate the data stored in different UDDI
implementations.
The Node API sets are available for Implementing of variety of tasks
such as
● UDDI enquiry
● UDD and publication
● UDDI subscription
● UDDI security.
UDDI Nodes
A system that host an application to support at least one of the
node APIs set is called a UDDI Node.
UDDI Node must ensure the following:
1. Interaction with the UDDI Data through API set
2. Membership with exactly one registry
3. Ability to access and manipulate the UDDI data.
UDDI Registries
One or more UDDI nodes May be combined to form of UDDI registry. These
UDDI nodes are designed to collectively manage the business data in the registry.
The UDDI registry architecture Is shown in the figure.
DATA STRUCTURE
This forms one of the most important part of UDDI specifications. The UDDI data
structure is the XML representation of the assistant business data within the UDDI
nodes.
The UDDI Specifications re-presents data in six different type of data structures
these data structures are referred to as entities.
They are:
● Business Entity
● Business Services
● Binding Templates
● tModel
● Publisher Assertion
● Subscription
These data structures represent the core of the UDDI information model.
Information Model
The information model of UDDI is composed of instances of “persistent”
data structures called “entities” . The UDDI specification defines an
abstraction and representation of entities, their properties and attributes
and their inter-relationships. In essence, the information Model represents
data and behavior of API set that query and Manage the data transport.
CORE UDDI
Six different data structures mark up the information in a definite way.
They are :
● Business Entity
● Business Services
● Binding Template
● Tmodel
● Publisher Assertion
● Subscription.
At the very basic level we present the XML elements that are associated
with UDDI related name space
Business Entity
●
Binding templates are the technical
descriptions of the web services
represented by the business service
structure. A single business service may
have multiple binding templates. The
binding template represents the actual
implementation of the web service.
●
As a business service may have
multiple binding templates, the service
may specify different implementations
of the same service, each bound to a
different set of protocols or a different
network address.
Binding Template
Here is an example of a binding template for Hello World.
<bindingTemplate serviceKey = "uuid:D6F1B765-BDB3-4837-828D-8284301E5A2A"
bindingKey = "uuid:C0E6D5A8-C446-4f01-99DA-70E212685A40">
<description>Hello World SOAP Binding</description>
<accessPoint URLType = "http">http://localhost:8080</accessPoint>
<tModelInstanceDetails>
<tModelInstanceInfo tModelKey = "uuid:EB1B645F-CF2F-491f-811A-4868705F5904">
<instanceDetails>
<overviewDoc>
<description>
references the description of the WSDL service definition
</description>
<overviewURL>
http://localhost/helloworld.wsdl
</overviewURL>
</overviewDoc>
</instanceDetails>
</tModelInstanceInfo>
</tModelInstanceDetails>
</bindingTemplate>
tModel
●
tModel is the last core data type, but
potentially the most difficult to grasp.
tModel stands for technical model.
●
tModel is a way of describing the various
business, service, and template structures
stored within the UDDI registry. Any
abstract concept can be registered within
the UDDI as a tModel. For instance, if you
define a new WSDL port type, you can
define a tModel that represents that port
type within the UDDI. Then, you can
specify that a given business service
implements that port type by associating
the tModel with one of that business
service's binding templates.
tModel
Here is an example of a tModel representing the Hello World Interface port type.
<tModel tModelKey = "uuid:xyz987..." operator =
"http://www.ibm.com" authorizedName = "John Doe">
<name>HelloWorldInterface Port Type</name>
<description>
An interface for a friendly Web service
</description>
<overviewDoc>
<overviewURL>
http://localhost/helloworld.wsdl
</overviewURL>
</overviewDoc>
</tModel>
Remote Procedure Call and Messaging
Introduction
●
The constituent of webservice namely, SOAP, WSDL and UDDI
provide a basic Framework that can help in establishing
communication among the interconnected applications.
●
Interchange of information in the form of SOAP message ammong
the communicating applications is considered an important part of
web services.
●
The information interchange through SOAP between two or more
communicating applications can be realized either synchronously
or asynchronously.
●
This part will present the details of the two approaches and
compare the two with regard to Webservice.
What is RPC?
●
Remote Procedure Call (RPC) is a powerful
technique for constructing distributed, client-
server based applications.
●
It is based on extending the conventional local
procedure calling so that the called procedure
need not exist in the same address space as the
calling procedure.
●
The two processes may be on the same system, or
they may be on different systems with a network
connecting them.
●
NOTE: RPC is especially well suited for client-
server (e.g. query-response) interaction in which
the flow of control alternates between the caller
and callee. Conceptually, the client and server do
not both execute at the same time. Instead, the
thread of execution jumps from the caller to the
callee and then back again.
Working of RPC
The following steps take place during a
RPC:
1. A client invokes a client stub procedure,
passing parameters in the usual way. The
client stub resides within the client’s own
address space.
2. The client stub marshalls(pack) the
parameters into a message. Marshalling
includes converting the representation of
the parameters into a standard format, and
copying each parameter into the message.
3. The client stub passes the message to the
transport layer, which sends it to the remote
server machine.
Working of RPC
4. On the server, the transport layer passes the
message to a server stub,
which demarshalls(unpack) the parameters and calls
the desired server routine using the regular
procedure call mechanism.
5. When the server procedure completes, it returns to
the server stub (e.g., via a normal procedure call
return), which marshalls the return values into a
message. The server stub then hands the message to
the transport layer.
6. The transport layer sends the result message back
to the client transport layer, which hands the
message back to the client stub.
7. The client stub demarshalls the return parameters
and execution returns to the caller.
Synchronous Web Service
●
Synchronous communication means a real-time two-way
communication without any time delay which both parties
involved In the communication being present and acting upon
those messages exchanged immediately.
●
A consequence of this is that a sender of a message is blocked
until a responses received from the other end.
●
Depending on whether the client or the server component
initiate the message,synchronous communication can be of two
types. They are:
●
Request-Response
●
Solicit-response
Synchronous Web Service
Request-Response: In this style, the client application initiates
a “request “ to an application on the server, and wait for a
Response.
The client is blocked on the responses received from the
service. Client/Server, distributed applications and RPC As a
best example of this category.
Asynchronous.
●
For synchronous messaging to be possible, both the communicating partners
must be online, and the calls between them are blocked until the exchange of
message is completed. This type of messaging can be compared with that of
synchronous RPC.
●
In asynchronous communication, the sender and receiver need not be online
simultaneously. The sender can send messages at will and the message gets
delivered to the recipient whenever it gets connected to the system at a later point
of time.
Messaging Model
●
Two messaging models (sometimes referred to as messaging domains) are
prevalent in enterprise application scenarios. They are Point-to-Point, PTP and
Publish/Subscribe (Pub/Sub).
●
Either of the models is capable of providing synchronous or asynchronous
communication.
These models are discussed in the following paragraphs:
●
Point-to-Point: This is a one-on-one message delivery model. In order to
implement this model, a Message Queue is used for enabling the delivery
mechanism.
●
The delivery is to only one intended recipient and PTP ensures the delivery of
the message. However, this model becomes unviable, in case the same message
needs to be delivered to a large number of recipients. Furthermore. the viability
would be reduced drastically if the recipients were not in a fixed number.
Messaging Model
Messaging Model
●
Publish/Subscribe: Model provides an
excellent message delivery model that
is perfectly suited for need wherein
multiple senders are sending messages
to a growing/shrinking set of receivers.
●
Channels are used for publication of
messages and publishers connect to it
whenever required, and publish the
message. In a similar manner,
subscribers subscribe to one or more
channels and receive the published
messages.
XML/SOAP Messaging
●
Web services that are implemented using the
messaging model work in a similar way as the
classic messaging model, the predominant
difference being that the messages are SOAP
messages. The choice between point-to-point
and Publish/Subscribe depends particularly on
the business requirement, as well as the
technology requirement.
●
Most Frequently Messaging oriented web
services are delivered using a “Provider”
model. A message provider ensures the
delivery of the message to the communicating
partners.
●
Messaging Provider ensures the delivery of
the soap message in an asynchronous fashion.
RPC or Messaging
●
Now that SOAP can be used in synchronous as well as asynchronous modes of
communication,the problem of choosing between them. However, in building an
enterprise solution using web services route, there are several factors that need
to be considered. A careful evaluation of the enterprise requirement may
demand a combination of RPC as well as messaging- based web services.
●
In fact, depending on the requirement, not all services in the enterprise may
need to be realized as web services.
●
Moreover, other non-functional requirements such as security, reliability
extensibility, performance could further influence the choice between RPC and
messaging technologies.
●
Nevertheless, RPC as well as messaging have their own pros and cons that need
to be evaluated in an enterprise situation.