You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by an...@apache.org on 2002/08/17 11:17:52 UTC

cvs commit: xml-axis-wsif/java readme.htm

antelder    2002/08/17 02:17:52

  Added:       java/README_files wsif.txt
               java     readme.htm
  Log:
  Created readme.htm for the target of the WSIF link off the AXIS home page.
  
  Revision  Changes    Path
  1.1                  xml-axis-wsif/java/README_files/wsif.txt
  
  Index: wsif.txt
  ===================================================================
  BODY {
    border-top-style : none;
    border-left-style : none;
    border-right-style : none;
    border-bottom-style : none;
    font-size : 12px;
    font-family : Arial,sans-serif;
  }
  A:hover {
    BACKGROUND: #ffffff
  ;
  }
  P {
    TEXT-INDENT: 1.5em
  ;
  }
  H3 {
    background-color : #3cbfff;
    padding-left : 6px;
    padding-right : 6px;
    padding-top : 2px;
    padding-bottom : 2px;
    font-size : 16px;
    font-family : Arial,sans-serif;
  }
  H2 {
    background-color : #004e9b;
    PADDING-BOTTOM: 1px;
    PADDING-LEFT: 4px;
    PADDING-RIGHT: 4px;
    PADDING-TOP: 1px;
    FONT-FAMILY: Arial
  ;
    color : white;
  }
  H1 {
    text-align : left;
    FONT-FAMILY: Arial
  ;
    padding-top : 1px;
    padding-left : 1px;
    padding-right : 1px;
    padding-bottom : 1px;
    border-top-style : none;
    border-right-style : none;
    border-bottom-style : none;
    border-left-style : none;
    font-style : italic;
  }
  DT {
    FONT-WEIGHT: 700
  ;
  }
  .masthead {
    TEXT-ALIGN: center
  ;
  }
  .NOTESID {
    COLOR: #004400;
    FONT-FAMILY: Arial
  ;
  }
  H4{
    background-color : silver;
    font-family : Arial;
    padding-top : 1px;
    padding-left : 4px;
    padding-right : 4px;
    padding-bottom : 1px;
  }
  TABLE{
    font-size : 12px;
    font-family : Arial,sans-serif;
  }
  
  
  
  1.1                  xml-axis-wsif/java/readme.htm
  
  Index: readme.htm
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head>
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  <meta name="GENERATOR" content="IBM WebSphere Studio Homepage Builder V6.0.0 for Windows">
  <meta http-equiv="Content-Style-Type" content="text/css"><title>Web Services Invocation Framework for Java API - Overview</title>
  
  <link rel="stylesheet" href="README_files/wsif.txt" type="text/css"></head>
  
  
  <body alink="#0000ff" bgcolor="#ffffff" leftmargin="2" topmargin="2" marginwidth="2" marginheight="2">
  
  <h1><a name="WSIF Overview">WSIF: <br>
  Web Services Invocation Framework</a></h1>
  
  The Web Service 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>
  <BR>WSIF allows stubless or completely dynamic invocation of 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>
  <BR>Finally, WSIF is closely based upon WSDL,  so it can invoke any service that can be described in WSDL. 
  
  <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 then be a deployment or configuration setting (or a code choice) 
  which port and binding to use.<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.<BR>
  <BR>
  
  <h3>Prerequisites</h3>
  <ul>
    
  	<LI>JDK version 1.3 or later.</LI>
  	
  	<LI>JAXP compliant XML parser, such as <A href="http://xml.apache.org/xerces2-j/index.html">Apache Xerces</A>.
    </LI><LI>WSDL for Java API (WSDL4J), which is available from the <A href="http://www-124.ibm.com/developerworks/projects/wsdl4j/">IBM developerWorks site</A>.
    </LI><LI>Apache SOAP, which is available from  <A href="http://xml.apache.org/soap">Apache SOAP site</A></LI>
  	<LI>Apache Axis, which is available from  <A href="http://xml.apache.org/axis">Apache Axis site</A></LI>
  	<li>J2EE.jar and JMS.jar from the <A href="http://java.sun.com/j2ee/">Java J2EE site</A></li>
  	<li>Ant is required to build wsif. Ant is available at the <A href="http://jakarta.apache.org/ant">Apache ANT website</A>.
  </li></ul>
  <P>For now to successfully build WSIF all the prerequisites are required no mater 
  which providers are going to be used. It is the intention to change the build 
  process so for example, the JMS.jar would only be required if JMS support is 
  required in WSIF.
  </P>
  
  <h2><a name="sourcecode">Accessing Builds and Source Code</a></h2>
  <p>The source code for this package is available on the Apache web site. Individual 
  files can be accessed using the web-based 
  <a href="http://cvs.apache.org/viewcvs.cgi/xml-axis-wsif/" target="_blank">CVS interface</a>. 
  The entire package can be downloaded using the following instructions.</p>
  
  <h3><b><font size="+1">Accessing the Nightly Builds</font></b></h3>
  <p>This package is built nightly along with Axis. The build will create two
  zip files: wsif-bin-1.2.zip and xml-axis.wsif-src.zip. The first file contains a
  complete build image, which includes wsif.jar and the API Javadoc. The second file contains  a copy of the source code, which could
  be built using Ant. Both of these files can be accessed at the same location
  as the <a href="http://xml.apache.org/dist/axis/nightly/" target="_blank">Axis nightly builds</a>.</p>
  
  <H3><B><FONT size="+1">Accessing the Source Tree (AnonCVS)</FONT></B></H3>
  <p>So, you've decided that you need access to the source tree to see the latest
  and greatest code. There's two different forms of CVS access. The first
  is anonymous and anybody can use it. The second is not and you must have
  a login to the development server. If you don't know what this means, join
  the <a href="http://xml.apache.org/axis/mail.html">mailing list</a> and find out.</p>
  <p>Anyone can checkout source code from our anonymous CVS server. To do so, 
  simply use the following commands (if you are using a GUI CVS client, configure 
  it appropriatly): 
  
  </p><blockquote>
  <table width="90%">
  <tbody>
  <tr bgcolor="#f2c0f6">
  <td>
        <pre>cvs -d :pserver:anoncvs@cvs.apache.org:/home/cvspublic login
  password: anoncvs
  
  cvs -d :pserver:anoncvs@cvs.apache.org:/home/cvspublic checkout xml-axis-wsif</pre>
        </td>
      </tr>
    </tbody>
  </table>
  </blockquote>
  <h3><b><font size="+1">Full Remote CVS Access</font></b> </h3>
  <p>If you are a <i>Committer</i> and have a login on the 
  Apache development server, this section is for you. If you are not a Committer, 
  but you want to submit patches or even request commit privelages, please see the 
  <a href="http://jakarta.apache.org/site/guidelines.html" target="newone">Jakarta 
  GuideLines </a>page (we follow the same rules) for more information. 
  </p>
  <p>To have full access to the CVS server, you need to follow the links depending 
  on the operating system you are using: 
  
  </p><ul>
  <li><a href="http://jakarta.apache.org/site/cvsonunix.html" target="new">Unix</a> 
  </li><li><a href="http://jakarta.apache.org/site/cvsonwin32.html" target="new">Windows</a> </li>
  </ul>
  <h2>Building wsif</h2>
  <ul>
    <li>Obtain all the necessary jar files as listed in the prerequisites.
    </li><li>Set required environment variables, including,
    JAVA_HOME, ANT_HOME.
    </li><li>From the root directory of wsif (where build.xml is located), run
    <pre>ant -Dwsif.build.classpath=&lt;classpath&gt; &lt;target&gt;</pre>
    where &lt;classpath&gt; contains the location of the preequisite JAR files<br>
    <br>
    and, where &lt;target&gt; is one of the following:
    <ul>
      <li>compile: Compiles the API
      </li><li>samples: Compiles the samples
      </li><li>javadocs: Builds the javadoc
      </li><li>srcdist: Creates the source distribution
      zip file.
      </li><li>dist: Creates the binary distribution zip
      file.
      </li><li>clean: Removes built files.
      </li><li>all: Cleans, creates source and binary distribution
      zip files.
    </li></ul>
  </li></ul>
  
  <h2>Getting help</h2>
  <P>WSIF shares the Apache AIXS <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 [WSIF] should be added to each posts subject line.</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> opensource 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%">
  </body></html>