nmukhi 2002/12/16 13:14:52
Modified: java readme.htm
Log:
Minor doc changes
Revision Changes Path
1.13 +63 -22 xml-axis-wsif/java/readme.htm
Index: readme.htm
===================================================================
RCS file: /home/cvs/xml-axis-wsif/java/readme.htm,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- readme.htm 16 Dec 2002 18:42:01 -0000 1.12
+++ readme.htm 16 Dec 2002 21:14:52 -0000 1.13
@@ -12,33 +12,74 @@
The Web Services Invocation Framework (WSIF) is a simple Java API for invoking Web
services,
no matter how or where the services are provided.<BR>
-<BR>WSIF enables developers to interact with representations
-of Web services instead of working directly with the Simple Object Access
-Protocol (SOAP) APIs, which is the usual programming model. With WSIF, developers
-can work with the same programming model regardless of how the Web service is
-implemented and accessed. It frees the developer from the constraints of having
-to develop services for particular transport protocols or service environments.
-Thus, it has an API that provides binding-independent access to any Web service.<BR>
+<p>WSIF enables developers to interact with abstract representations
+of Web services through their WSDL descriptions instead of working
+directly with the Simple Object Access Protocol (SOAP) APIs, which is
+the usual programming model. With WSIF, developers can work with the
+same programming model regardless of how the Web service is
+implemented and accessed.</p>
-<BR>WSIF allows stubless or completely dynamic invocation of a Web service, based
+<p>WSIF allows stubless or completely dynamic invocation of a Web service, based
upon examination of the meta-data about the service at runtime. It also allows
updated implementations of a binding to be plugged into WSIF at runtime, and it
-allows the calling service to defer choosing a binding until runtime. <BR>
+allows the calling service to defer choosing a binding until runtime.</p>
-<BR>Finally, WSIF is closely based upon WSDL, so it can invoke any service
-that can be described in WSDL.
+<p>Finally, WSIF is closely based upon WSDL, so it can invoke any service
+that can be described in WSDL.</p>
- <a name="ContributingToIt"></a><h2>How can I contribute to WSIF?</h2>
- <p>You can contribute to WSIF by participating in discussions on
- the <A href="http://xml.apache.org/axis/mail.html">axis-user and
- axis-dev mailing lists</A>. Be sure to prefix the subject of your
- WSIF-related emails with <tt>[wsif]</tt>. If you find something
- that outstanding issue or bug that interests you, feel free to
- download WSIF's source code and work on it. Below you will find
- instructions for accessing the source code.</p>
- <p>You can find a list of outstanding bugs from <a
-
href="http://nagoya.apache.org/bugzilla/buglist.cgi?long_desc=wsif&long_desc_type=allwordssubstr">Bugzilla</a>.</p>
+<h2>So why should I use WSIF?</h2> <p>What does all this enable?
+Imagine your complicated Enterprise software system consisting of
+various pieces of software, developed over a period of tens of years -
+EJBs, legacy apps accessed using Java's connector architecture, SOAP
+services hosted on external servers, old code accessed through
+messaging middleware. You need to write software applications that use
+all these pieces to do useful things; yet the differences in
+protocols, mobility of software, etc. comes in the way.</p>
+
+<p>The software you use moves to a different server, so your code
+breaks. The SOAP libraries you use change - say for example you moved
+from using Apache SOAP to Apache Axis - so your code breaks since it
+uses a now deprecated SOAP API. Something that was previously
+accessible as an EJB is now available through messaging middleware via
+JMS - again, you need to fix the code that uses the software. Or lets
+suppose you have an EJB which is offered as a SOAP service to external
+clients. Using SOAP obviously results in a performance penalty as
+compared to accessing the EJB directly. Of course, SOAP is a great
+baseline protocol for platform andlanguage independence, but shouldn't
+java clients be able to take advantage of the fact that the software
+they are accessing is really an EJB? So your java customers pay a
+performance penalty since you have to use SOAP for to accomodate you
+non-java clients.</p>
+
+<p>WSIF fixes these problems by letting you use WSDL as a
+<em>normalized description</em> of disparate software, and allows you
+to access this software in a manner that is independent of protocol or
+location. So whether it is SOAP, an EJB, JMS (or potentially .NET and
+other software frameworks), you have an API centered around WSDL which
+you use to access the functionality. This lets you write code that
+adapts to changes easily. The separation of the API from the actual
+protocol also means you have flexibility - you can switch protocols,
+location, etc. without having to even recompile your client code. So
+if your an externally available SOAP service becomes available as an
+EJB, you can switch to using RMI/IIOP by just changing the service
+description (the WSDL), without having to make any modification in
+applications that use the service. You can exploit WSDL's
+extensibility, its capability to offer multiple bindings for the same
+service, deciding on a binding at runtime, etc.</p>
+
+<BR>You will find more details about WSIF and its architecture in the
+<a href="doc/overview.html">overview</a>.
+
+<a name="ContributingToIt"></a><h2>How can I contribute to WSIF?</h2>
+<p>You can contribute to WSIF by participating in discussions on the
+<A href="http://xml.apache.org/axis/mail.html">axis-user and axis-dev
+mailing lists</A>. Be sure to prefix the subject of your WSIF-related
+emails with <tt>[wsif]</tt>. If you find something that outstanding
+issue or bug that interests you, feel free to download WSIF's source
+code and work on it. You will find instructions for accessing the
+source code <a href="doc/cvs.html">here</a>.</p> <p>You can find a
+list of outstanding bugs from <a
+href="http://nagoya.apache.org/bugzilla/buglist.cgi?long_desc=wsif&long_desc_type=allwordssubstr">Bugzilla</a>.</p>
<hr width="100%">
-<address>$Id$ </address>
</body></html>