<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>