nmukhi 2002/12/16 10:42:01
Modified: java readme.htm
Log:
Fixes for restructured web pages
Revision Changes Path
1.12 +1 -180 xml-axis-wsif/java/readme.htm
Index: readme.htm
===================================================================
RCS file: /home/cvs/xml-axis-wsif/java/readme.htm,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- readme.htm 12 Dec 2002 15:24:57 -0000 1.11
+++ readme.htm 16 Dec 2002 18:42:01 -0000 1.12
@@ -9,7 +9,6 @@
<h1><a name="WSIF Overview">WSIF: <br>
Web Services Invocation Framework</a></h1>
-
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>
@@ -29,170 +28,6 @@
<BR>Finally, WSIF is closely based upon WSDL, so it can invoke any service
that can be described in WSDL.
-<H3>What is new with WSIF?</H3>
-
-The first Apache WSIF release candidate is currently being worked on and
-should be available in the near future. Check back here and watch the
-<A href="http://xml.apache.org/axis/mail.html">mailing lists</A> for news<BR>
-<BR>
-WSIF has been changed so the Apache Axis provider is now used for the default SOAP
binding.
-WSIF has two SOAP providers, one based on Apache SOAP, the other on Apache Axis.
-
- <a name="WhatIsIt"></a><h2>What is WSIF?</h2>
- <p>WSIF stands for the Web Services Invocation Framework. It supports a simple
Java
- API for invoking Web services, no matter how or where the
- services are provided. The framework allows maximum
- flexibility for the invocation of any WSDL-described service.</p>
-
- <p>In the WSDL specification, Web service binding descriptions are
- <em>extensions</em> to the specification. So the SOAP binding,
- for example, is one way to expose the abstract functionality
- (<em>and there could be others</em>). Since WSIF mirrors WSDL
- very closely, it also views SOAP as just one of several ways you
- might wish to expose your software's functionality. WSDL thus
- becomes a normalized description of software, and WSIF is the
- natural client programming model.</p>
-
- <p>The WSIF API allows clients to invoke services focusing on the
- abstract service description - the
- portion of WSDL that covers the port types, operations and
- message exchanges without referring to real protocols. The
- <em>abstract invocations</em> work because they are backed up by
- protocol-specific pieces of code called <em>providers</em>. A
- provider is what conducts the actual message exchanges according
- to the specifics of a particular protocol - for example, the
- SOAP provider that is packaged with WSIF uses a specific SOAP
- engine like Axis to do the real work.</p>
-
- <p>The decoupling of the abstract invocation from the real
- provider that does the work results in a flexible programming
- model that allows dynamic invocation, late binding, clients
- being unaware of large scale changes to services - such as
- service migration, change of protocols, etc. WSIF also allows
- new providers to be registered dynamically, so you could enhance
- your client's capability without ever having to recompile its
- code or redeploy it.</p>
-
- <p>Using WSIF, WSDL can become the centerpiece of an integration
- framework for accessing software running on diverse platforms and
- using widely varying protocols. The only precondition is that you
- need to describe your software using WSDL, and include in its
- description a binding that your client's WSIF framework has a
- provider for. WSIF defines and comes packaged with providers for
- local java, EJB, JMS, and JCA protocols. That means you can define
- an EJB or a JMS-accessible service directly as a WSDL binding and
- access it transparently using WSIF, using the same API you would
- for a SOAP service or even a local java class.</p>
-
- <p>TODO: Put a picture showing WSIF client with pluggable providers to
- access service using different protocols.</p>
-
-
-<H3>WSIF Structure</H3>
-
-In WSDL a binding defines how to map between the abstract PortType and a
-real service format and protocol. For example, the SOAP binding defines
-the encoding style, the SOAPAction header, the namespace of the body
-(the targetURI), and so forth.<BR>
-<BR>
-WSDL allows there to be multiple implementations for a Web Service,
-and multiple Ports that share the same PortType. In other words, WSDL
-allows the same interface to have bindings to for example, SOAP and
-IIOP.<BR>
-
-<BR>WSIF provides an API to allow the same client code to access any
-available binding. As the client code can then be written to the PortType
-it can be a deployment or configuration setting (or a code choice)
-which port and binding it uses.<BR>
-<BR>
-WSIF uses 'providers' to support these multiple WSDL bindings. A provider
-is a piece of code that supports a WSDL extension and allows invocation of
-the service through that particular implementation. WSIF providers use the
-J2SE JAR service provider specification making them discoverable at runtime.<BR>
-<BR>Clients can then utilize any new implementations and can delegate the
-choice of port to the infrastructure and runtime, which allows the
-implementation to be chosen on the basis of quality of service
-characteristics or business policy.<h2>WSIF User Guide</h2>
-<p><b>Preliminaries</b>: Download WSIF binary distribution ("bin") or
everything
-included ("all") from <a href="http://cvs.apache.org/dist/axis/wsif/">
-http://cvs.apache.org/dist/axis/wsif/</a>. If you are familiar with CVS and
-wants to work with the latest code <a href="doc/cvs.html">use cvs</a>. Using CVS
-you can also retrieve any past release by using tag (for example
-WSIF_2_0_ALPHA2).</p>
-<p><b>Quick start: </b>If you have downloaded binary package then you are ready to
use WSIF: the
-very first thing to do is to check provided samples. However before you start
-please read <a href="doc/faq.htm">WSIF FAQ</a>. Then read about <a
href="doc/samples.html">
-how to run the samples</a>. Otherwise if you downloaded source code or accessed it
from CVS you will need
-to build WSIF. First <a href="doc/requirements.html">check that all
-prerequisites</a> are available. Then <a href="doc/build.htm">proceed with
-building</a>.</p>
- <p>After you have successfully downloaded and installed WSIF, you
- can test your installation by <a href="doc/samples.html">running the
- samples</a>. If you are able to run all the samples
- successfully you should have a very good idea of what you can do
- with WSIF. Essentially once you have a WSDL file with a binding
- that WSIF understands (such as SOAP, EJB, Java, JMS, JCA, etc.)
- you can write a client that uses WSIF's APIs - the dynamic
- invocation API or the stub-based invocation - to use this
- service.</p>
- <p>Traditionally, the burden of dealing with new protocols has
- been a carried by the server-side. Software has to morph itself
- (through the addition of wrappers) to look like something the
- client expects to see. With WSIF, the software remains exactly
- the same - we just get the client to use WSIF's binding
- independent API, and through the addition of providers, we can
- mix and match protocols as we please.</p>
- <p><em>Service</em> is a very liberal term for WSIF!
- Anything that can be described in WSDL qualifies as a service
- and is something you can access using the WSIF API. Moreover,
- since WSDL is extensible, potentially everything can be
- described using WSDL. The next section describes how you can
- define your own bindings and write your own WSIF providers.</p>
-
-
-<h2>WSIF Developer Guide</h2>
-<h3>
-
- <a name="CustomisingIt"></a>How can I customize my WSIF
- installation?</h3>
-<p>This part of documentation is meant to help developers who want to modify
-WSIF by adding or changing its providers and implementing new protocols.</p>
- <p>There are many points within the WSIF API that allow for
- customization. <a href="doc/samples.html">An advanced WSIF sample</a>
- demonstrates how to write your own WSIF service factory so that
- dynamic binding selection follows your own customized
- algorithm. The user can discover other customization points by
- examining <a
-
href="http://cvs.apache.org/viewcvs.cgi/*checkout*/xml-axis-wsif/java/docs/apidocs/index.html">WSIF's
core API</a>.</p>
- <p>Larger scale customization involves finding ways to expose
- software that uses your proprietary protocols through WSDL, so
- that you can then access this software using WSIF's APIs. To do
- this, you need to take care of the following:</p>
- <ol>
- <li><a href="doc/how_to_wsdl_extensions.htm">Writing your own WSDL
- extensions to support new protocols</a></li>
- <li><a href="doc/how_to_provider.htm">Writing your own WSIF
- providers to support customized WSIF extensions</a></li>
- </ol>
-<p>You may find also useful read WSIF documentation is with descriptions of
the WSIF
-<a href="doc/wsdl_extensions/java_extension.html">Java</a>
-and <a href="doc/wsdl_extensions/ejb_extension.html">EJB</a>
-bindings.</p>
-<p>You may find also useful to read about using <a
href="doc/mime_attachments.htm">Soap
- Attachments using WSIF</a> and always important when debugging on <a
href="doc/trace.htm">
-how to use tracing in WSIF</a>.<BR>
-<BR>
-
-</p>
-
-<h2>More documentation</h2>
-<P>More documentation is available in <a href="doc">doc/ subdirectory</a> and
-includes:</P>
-
-<h2>Getting help</h2>
-<P>WSIF shares the Apache AXIS <a
href="http://xml.apache.org/axis/mail.html">mailing lists</a>
-axis-user and axis-dev. To aid identifying posts about WSIF, the prefix
<b>[wsif]</b> should be added to each posts subject line.</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
@@ -203,20 +38,6 @@
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>Reference</h2>
-<ul>
- <li><a href="http://www.research.ibm.com/people/b/bth/OOWS2001/duftler.pdf">WSIF
Framework proposal</a>
- </li><LI><A href="http://www.alphaworks.ibm.com/tech/wsif">IBM's original
alphaWorks WSIF site</A></LI>
- <LI>The W3C <A href="http://www.w3.org/TR/wsdl">Web Services Description
Language (WSDL) specification</A>,
- <A href="http://www.jcp.org/jsr/detail/110.jsp">JSR110</A> describing the
Java APIs for WSDL, and the
- <A
href="http://oss.software.ibm.com/developerworks/projects/wsdl4j">WSDL4J</A> open
source site.</LI>
- <LI>IBM developerWorks articles <A
href="http://www-106.ibm.com/developerworks/webservices/library/ws-wsif.html">Web
service invocation sans SOAP</A>
- and <A
href="http://www-106.ibm.com/developerworks/webservices/library/ws-appwsif.html?loc=dwmain">Applying
the Web services invocation framework</A></LI>
- <LI><A
href="http://www.ericleach.com/sa2002/presentations/PFremantle-IBM.pdf">A presentation
from Paul Fremantle at the 2002 Software Architecture conference</A></LI>
- <LI><A
href="http://cvs.apache.org/viewcvs.cgi/*checkout*/xml-axis-wsif/java/docs/apidocs/index.html">Javadoc
for the wsif API classes</A><BR>
- [<B>Note:</B> This link will work only after this package has been built.]</LI>
-</ul>
<hr width="100%">
<address>$Id$ </address>