157 lines
8.7 KiB
HTML
157 lines
8.7 KiB
HTML
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||
|
<html>
|
||
|
<head>
|
||
|
<META http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||
|
<LINK rel="stylesheet" type="text/css" href="../../../rzahg/ic.css">
|
||
|
|
||
|
<title>Web services architecture</title>
|
||
|
</head>
|
||
|
|
||
|
<BODY>
|
||
|
<!-- Java sync-link -->
|
||
|
<SCRIPT LANGUAGE="Javascript" SRC="../../../rzahg/synch.js" TYPE="text/javascript"></SCRIPT>
|
||
|
|
||
|
<h5><A NAME="wsarch">Web services architecture</A></h5>
|
||
|
|
||
|
<p>The Web services architecture includes three roles:</p>
|
||
|
<ul>
|
||
|
<li><strong>Service provider</strong><br>
|
||
|
Web service providers create components, then publish them to a repository. On the WebSphere Application Server - Express platform, these components include:
|
||
|
<ul>
|
||
|
<li>Java beans</li>
|
||
|
<li>DB2 Universal Database stored procedures</li>
|
||
|
<li>Server-side scripts that implement the Bean Scripting Framework (BSF)</li>
|
||
|
</ul>
|
||
|
<p>Web service providers can also unpublish components (remove them from the repository) when they are no longer needed.</p>
|
||
|
</li>
|
||
|
|
||
|
<li><p><strong>Service broker</strong><br>
|
||
|
Web service brokers categorize Web services as they are published, and search for them as service requests are received. Web brokers are roughly analagous to Internet search engines, except that they locate components instead of Web pages. The Universal Description, Discovery, and Integration (UDDI) specification defines a way to publish and discover information about Web services.</p></li>
|
||
|
|
||
|
|
||
|
<li><p><strong>Service requester</strong><br>
|
||
|
Web service requesters look up, or locate and invoke components as services. They act as the client for published Web services.
|
||
|
</p></li>
|
||
|
</ul>
|
||
|
|
||
|
<p>This diagram illustrates how client and server roles can interact to provide Web services.</p>
|
||
|
<p><img src="rzaiz524.gif" width="301" height="223" alt="Web services architecture"></p>
|
||
|
|
||
|
<p>Refer to the following topics for more information about Web services architecture:</p>
|
||
|
|
||
|
<ul>
|
||
|
<li><a href="#char">Characteristics of the Web service architecture</a></li>
|
||
|
<li><a href="#prop">Properties of a service-oriented architecture</a></li>
|
||
|
<li><a href="#plan">Plan to use Web services</a></li>
|
||
|
</ul>
|
||
|
|
||
|
<p><a name="char"></a><strong>Characteristics of the Web service architecture</strong></p>
|
||
|
|
||
|
<p>The presented SOA employs a loose coupling between the participants, which
|
||
|
provides greater flexibility in the following ways:</p>
|
||
|
<ul>
|
||
|
<li>A client is not coupled to a server, but to a service. Therefore, the
|
||
|
integration of the server takes place outside the scope of the client application
|
||
|
programs.</li>
|
||
|
<li>Old and new functional blocks, or applications and systems, are encapsulated
|
||
|
into components that work as services.</li>
|
||
|
<li>Functional components and their interfaces are separate, allowing new
|
||
|
interfaces to be plugged in more easily.</li>
|
||
|
<li>Within complex applications, the control of business processes can be
|
||
|
isolated. A business rule engine can be incorporated to control the workflow
|
||
|
of a defined business process. Depending on the state of the workflow, the
|
||
|
engine calls the respective services.</li>
|
||
|
<li>Services can be incorporated dynamically during run time.</li>
|
||
|
<li>Bindings are specified using configuration files and can be easily adapted
|
||
|
to new needs.</li>
|
||
|
</ul>
|
||
|
|
||
|
|
||
|
<p><a name="prop"></a><strong>Properties of a service-oriented architecture</strong></p>
|
||
|
|
||
|
<p>The service-oriented architecture offers the following properties:</p>
|
||
|
<ul>
|
||
|
<li><strong>Web services are self-contained.</strong><p>On the client side, no additional
|
||
|
software is required. A programming language with extensible markup language
|
||
|
(XML) and Hyper Text Transport Protocol (HTTP) client support is enough to
|
||
|
get you started. On the server side, a Web server and a SOAP server are required.
|
||
|
It is possible to Web services-enable an existing application without writing
|
||
|
a single line of code.</p></li>
|
||
|
<li><strong>Web services are self-describing.</strong><p>Neither the client nor the
|
||
|
server knows or cares about anything besides the format and content of request
|
||
|
and response messages (loosely coupled application integration). The definition
|
||
|
of the message format travels with the message; no external metadata repositories
|
||
|
or code generation tool are required.</p></li>
|
||
|
<li><strong>Web services can be published, located, and invoked across the Internet.</strong><p>This technology uses established lightweight Internet standards such as HTTP. It leverages the existing infrastructure. Some additional standards that are
|
||
|
required to do so include SOAP, WSDL, and UDDI.</p></li>
|
||
|
<li><strong>Web services are language-independent and interoperable.</strong><p>Client
|
||
|
and server can be implemented in different environments. Existing code does
|
||
|
not have to be changed in order to be Web service enabled.</p></li>
|
||
|
<li><strong>Web services are inherently open and standard-based.</strong><p>XML and
|
||
|
HTTP are the major technical foundation for Web services. A large part of
|
||
|
the Web service technology has been built using open-source projects. Therefore,
|
||
|
vendor independence and interoperability are realistic goals this time.</p></li>
|
||
|
<li><strong>Web services are dynamic.</strong><p>Dynamic e-business can become reality
|
||
|
using Web services because, with UDDI and WSDL, the Web service description
|
||
|
and discovery can be automated.</p></li>
|
||
|
<li><strong>Web services are composable.</strong><p>Simple Web services can be aggregated
|
||
|
to more complex ones, either using workflow techniques or by calling lower-layer
|
||
|
Web services from a Web service implementation. Web services can be chained
|
||
|
together to perform higher-level business functions. This shortens development
|
||
|
time and enables best-of-breed implementations.</p></li>
|
||
|
<li><strong>Web services build on proven mature technology.</strong><p>There are a lot
|
||
|
of commonalties, as well as a few fundamental differences to other distributed
|
||
|
computing frameworks. For example, the transport protocol is text based and
|
||
|
not binary.</p></li>
|
||
|
<li><strong>Web services are loosely coupled.</strong><p>Traditionally, application
|
||
|
design has depended on tight interconnections at both ends. Web services require
|
||
|
a simpler level of coordination that allows a more flexible re-configuration
|
||
|
for an integration of the services in question.</p></li>
|
||
|
<li><strong>Web services provide programmatic access.</strong><p>The approach provides
|
||
|
no graphical user interface; it operates at the code level. Service consumers
|
||
|
need to know the interfaces to Web services but do not need to know the implementation
|
||
|
details of services.</p></li>
|
||
|
<li><strong>Web services provide the ability to wrap existing applications.</strong><p>Already existing stand-alone applications can easily be integrated into the service-oriented architecture by implementing a Web service as an interface.</p></li>
|
||
|
</ul>
|
||
|
|
||
|
|
||
|
<p><a name="plan"></a><strong>Plan to use Web services</strong></p>
|
||
|
|
||
|
<p>You should plan your use of Web services that are developed and implemented based on the Web
|
||
|
Services for Java 2, Enterprise Edition (J2EE) specification.</p>
|
||
|
|
||
|
<p>To plan to use Web services based on Web Services for J2EE, consider the following decision points:</p>
|
||
|
|
||
|
<ul>
|
||
|
<li><p><strong>Design Web services to fit your e-business solution.</strong><br>
|
||
|
Consider what you want to accomplish by using Web services, how Web services fit into
|
||
|
your current topology, applications and programming model. Decide how the
|
||
|
Web services will process requests on the server and how the clients will
|
||
|
manage and use the Web service.</p>
|
||
|
|
||
|
<p>Design your Web services for reliability,
|
||
|
availability, manageability and security. For example, you want your Web services
|
||
|
to process a transaction in a reasonable time at all hours of the day and
|
||
|
provide users with good security characteristics, such as authentication for
|
||
|
buyers. Planning to use Web services to work with WebSphere Application Server - Express
|
||
|
helps to meet these requirements.</p>
|
||
|
|
||
|
<p>To support Web services, extend WebSphere
|
||
|
Application Server - Express to support Web services standards. For interoperable Web
|
||
|
services running on platforms supplied by multiple vendors, standards are
|
||
|
essential. WebSphere Application Server - Express uses Web services standards developed
|
||
|
for the Java language under the Java Community Process (JCP). These standards
|
||
|
include the Web Services for J2EE and JAX-RPC specifications.</p></li>
|
||
|
|
||
|
<li><p><strong>Decide what development and implementation tools to use.</strong>
|
||
|
<br>You can use a variety of manual development and implementation tasks.
|
||
|
Whether you have an existing Web service to implement or you want to develop
|
||
|
your own from a Java bean, you can choose different
|
||
|
tasks respective to your resources. You can also use the WebSphere Development Studio for iSeries to complete development and implementation tasks.</p>
|
||
|
|
||
|
<p>See <a href="wsdev.htm">Develop Web services</a> for information about developing Web services based on the Java language through WebSphere Application Server.</p></li>
|
||
|
</ul>
|
||
|
|
||
|
</body>
|
||
|
</html>
|