XServices/BruteXServices_User_Guide.html

207 lines
13 KiB
HTML

<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>User Guide</title><meta content="DocBook XSL-NS Stylesheets V1.76.1" name="generator"><meta name="description" content="Abstract In complex IT environments it is necessary to integrate different information systems with each other, exchange data between tools and automate actions and function calls depending on events arising from user interaction. To meet the requirements of integration building usually means to implement APIs and to create tool-to-tool bridges. Web Services can help to clean up bridges into interfaces as well as to abstract functions from their underlying platform and implementation. These are the major goals of the loosely coupled integration strategy which is in turn one essential idea of a service-oriented architecture (SOA). provide a low level set of functions and web services. These can be orchestrated into services and used in business processes which make up the execution part of a SOA environment. is an add-on to XBridgeNG 2.0. It runs standalone or in combination with XBridgeNG. Pure XBridgeNG has two components: XML Schema for item based data types (e.g. tickets from a bug tracker system or a database record) Set of Apache Ant tasks to function as a bridge between the XBridgeNG XML format at legacy 3rd party software (e.g. HP Quality Center, Serena TeamTrack, ...) The add Web Services (SOAP) wrapper around Apache Ant tasks (since XBridgeNG 2.0) The current focus is on file-based operations. do not contain an integration server or a process execution engine."></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="book" title="User Guide"><div class="titlepage"><div><div><h1 class="title"><a name="N2000B"></a>User Guide</h1></div><div><div class="author"><h3 class="author"><span class="firstname">Brian</span> <span class="surname">Rosenberger</span></h3><code class="email">&lt;<a class="email" href="mailto:bru@brutex.de">bru@brutex.de</a>&gt;</code></div></div><div><p class="copyright">Copyright &copy; 2010 </p></div><div><div class="legalnotice" title="Legal Notice"><a name="N2002F"></a>
<p>
The copyright holders make no representation about the
suitability of
this document for any purpose. It is provided
<span class="quote">&ldquo;<span class="quote">as is</span>&rdquo;</span>
without expressed or implied warranty.
</p>
</div></div><div><div class="legalnotice" title="Legal Notice"><a name="N20038"></a>
<p>Apache Tomcat and Apache Ant are trademarks of the Apache
Software Foundation.</p>
</div></div><div><p class="pubdate">1997</p></div><div><div class="abstract" title="Abstract"><p class="title"><b>Abstract</b></p>
<p>In complex IT environments it is necessary to integrate
different information systems with each other, exchange data
between
tools and automate actions and function calls depending
on events
arising from user interaction. To meet the requirements
of
integration building usually means to implement APIs and to
create
tool-to-tool bridges. Web Services can help to clean up
bridges into
interfaces as well as to abstract functions from
their underlying
platform and implementation.</p>
<p>These are the major goals of the loosely coupled
integration
strategy which is in turn one essential idea of a
service-oriented
architecture (SOA).</p>
<p>provide a low level set of functions and web services.
These can
be orchestrated into services and used in business
processes which
make up the execution part of a SOA
environment.</p>
<p>is an add-on to XBridgeNG 2.0. It runs standalone or in
combination with XBridgeNG. Pure XBridgeNG has two
components:</p>
<p>
</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
<p>XML Schema for item based data types (e.g. tickets
from a bug
tracker system or a database record)</p>
</li><li class="listitem">
<p>Set of Apache Ant tasks to function as a bridge
between the
XBridgeNG XML format at legacy 3rd party
software (e.g. HP Quality
Center, Serena TeamTrack,
...)</p>
</li><li class="listitem">
<p>The add Web Services (SOAP) wrapper around Apache Ant
tasks
(since XBridgeNG 2.0)</p>
</li></ul></div><p>
</p>
<p>The current focus is on file-based operations. do not
contain an
integration server or a process execution
engine.</p>
</div></div></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="chapter"><a href="#N2006C">1. Getting started</a></span></dt><dd><dl><dt><span class="sect1"><a href="#N20076">Prerequisites</a></span></dt><dt><span class="sect1"><a href="#N20085">Installation</a></span></dt><dd><dl><dt><span class="sect2"><a href="#N20090">Securing with Basic Authentication</a></span></dt><dt><span class="sect2"><a href="#N2009F">Limit access to</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="#N200B8">2. Available Services</a></span></dt><dd><dl><dt><span class="section"><a href="#N200C2">ArchiveServices</a></span></dt><dt><span class="section"><a href="#N200CB"></a></span></dt><dd><dl><dt><span class="section"><a href="#N200CD">ExecuteServices</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="#N20139">3. XML Types</a></span></dt><dd><dl><dt><span class="section"><a href="#N20143">AntProperty type</a></span></dt></dl></dd></dl></div><div class="list-of-tables"><p><b>List of Tables</b></p><dl><dt>2.1. <a href="#N200E4">runCommand input parameters</a></dt></dl></div>
<div class="chapter" title="Chapter&nbsp;1.&nbsp;Getting started"><div class="titlepage"><div><div><h2 class="title"><a name="N2006C"></a>Chapter&nbsp;1.&nbsp;Getting started</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="#N20076">Prerequisites</a></span></dt><dt><span class="sect1"><a href="#N20085">Installation</a></span></dt><dd><dl><dt><span class="sect2"><a href="#N20090">Securing with Basic Authentication</a></span></dt><dt><span class="sect2"><a href="#N2009F">Limit access to</a></span></dt></dl></dd></dl></div>
<p>This chapter describes the installation.</p>
<div class="sect1" title="Prerequisites"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="N20076"></a>Prerequisites</h2></div></div></div>
<p>tbd.</p>
<p>Sun Java SE 1.6.0</p>
<p>Apache Tomcat 6</p>
</div>
<div class="sect1" title="Installation"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="N20085"></a>Installation</h2></div></div></div>
<p>tbd.</p>
<p>In short: Deploy .WAR file to Apache Tomcat</p>
<div class="sect2" title="Securing with Basic Authentication"><div class="titlepage"><div><div><h3 class="title"><a name="N20090"></a>Securing with Basic Authentication</h3></div></div></div>
<p>There is a quick guide explaining Basic Authentication
for
Tomcat here:</p>
<p>
<a class="ulink" href="http://oreilly.com/pub/a/java/archive/tomcat-tips.html?page=1" target="_top">http://oreilly.com/pub/a/java/archive/tomcat-tips.html?page=1</a>
</p>
</div>
<div class="sect2" title="Limit access to"><div class="titlepage"><div><div><h3 class="title"><a name="N2009F"></a>Limit access to</h3></div></div></div>
<p>Sometimes you'll only want to restrict access to to
only
specified host names or IP addresses. This way, only
clients at
those specified addresses can use the web services.
Tomcat provides
two configuration values for that:
RemoteHostValve and
RemoteAddrValve.</p>
<p>These Valves allow you to filter requests by host name or
by IP
address, and to allow or deny hosts that match. The
example below
restricts access to the ArchiveService from any
machine that is not
the local host.</p>
<pre class="programlisting">&lt;Context
path="/XService/ArchiveService" ...&gt; &lt;Valve
className="org.apache.catalina.valves.RemoteAddrValve"
allow="127.0.0.1" deny=""/&gt; &lt;/Context&gt;</pre>
<p>If no allow pattern is given, then patterns that match
the deny
attribute patterns will be rejected, and all others
will be allowed.
Similarly, if no deny pattern is given,
patterns that match the
allow attribute will be allowed, and
all others will be denied.
</p>
<p>The &lt;context&gt; element must be placed into the
server.xml
file (into &lt;engine&gt;&lt;host&gt;).</p>
</div>
</div>
</div>
<div class="chapter" title="Chapter&nbsp;2.&nbsp;Available Services"><div class="titlepage"><div><div><h2 class="title"><a name="N200B8"></a>Chapter&nbsp;2.&nbsp;Available Services</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="#N200C2">ArchiveServices</a></span></dt><dt><span class="section"><a href="#N200CB"></a></span></dt><dd><dl><dt><span class="section"><a href="#N200CD">ExecuteServices</a></span></dt></dl></dd></dl></div>
<p>List of available web services and their operations.</p>
<div class="section" title="ArchiveServices"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="N200C2"></a>ArchiveServices</h2></div></div></div>
<p>The ArchiveService bundles file packing operations. Its
WSDL is
located at
http://server:port/XServices/ArchiveService?wsdl</p>
</div>
<div class="section"><div class="titlepage"></div>
<div class="section" title="ExecuteServices"><div class="titlepage"><div><div><h3 class="title"><a name="N200CD"></a>ExecuteServices</h3></div></div></div>
<p>The ExecuteService bundles local and remote command
execution
operations. Its WSDL is located at
http://server:port/XServices/ExecuteService?wsdl</p>
<div class="section" title="runCommand"><div class="titlepage"><div><div><h4 class="title"><a name="N200D6"></a>runCommand</h4></div></div></div>
<p>Run an executable with arguments on the server providing
the
web
service. The command is run within the environment and
under the
user
privileges of the user who is running the Tomcat
Server.</p>
<div class="section"><div class="titlepage"><div><div><h5 class="title"><a name="N200DE"></a></h5></div></div></div>
<p></p>
<div class="table"><a name="N200E4"></a><p class="title"><b>Table&nbsp;2.1.&nbsp;runCommand input parameters</b></p><div class="table-contents">
<table summary="runCommand input parameters" border="1"><colgroup><col class="parameter"><col class="type"><col class="required"><col class="description"></colgroup><thead><tr><th>parameter</th><th>type</th><th>required</th><th>description</th></tr></thead><tbody><tr><td>executable</td><td>String</td><td>Yes</td><td>Command to be run. The command may be
specified with full
path using forward slash
"/" as path separator.
</td></tr><tr><td>argline</td><td>String</td><td>No</td><td>Any command line arguments</td></tr></tbody></table>
</div></div><br class="table-break">
<p></p>
</div>
</div>
</div>
</div>
</div>
<div class="chapter" title="Chapter&nbsp;3.&nbsp;XML Types"><div class="titlepage"><div><div><h2 class="title"><a name="N20139"></a>Chapter&nbsp;3.&nbsp;XML Types</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="#N20143">AntProperty type</a></span></dt></dl></div>
<p>This chapter bundles the documentation for common xml types
used
by XServices web service.</p>
<div class="section" title="AntProperty type"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="N20143"></a>AntProperty type</h2></div></div></div>
<p>The AntProperty type defines a list of key/value pairs.</p>
<p>
The defining Java class is
<a class="ulink" href="javadoc/net/brutex/xservices/types/AntProperty.html" target="_top">
<code class="classname">net.brutex.xservices.types.AntProperty</code>
</a>
.
</p>
<pre class="programlisting">
&lt;xs:complexType name="antProperty"&gt;
&lt;xs:sequence&gt;
&lt;xs:element name="name" type="xs:string"/&gt;
&lt;xs:element name="value" type="xs:string"/&gt;
&lt;/xs:sequence&gt;
&lt;/xs:complexType&gt;
</pre>
<pre class="programlisting">
&lt;AntProperty&gt;
&lt;name&gt;key2&lt;/name&gt;
&lt;value&gt;value2&lt;/value&gt;
&lt;/AntProperty&gt;
</pre>
</div>
</div>
</div></body></html>