ibm-information-center/dist/eclipse/plugins/i5OS.ic.rzatz_5.4.0.1/51/webserv/wsarch.htm

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>