64 |
brianR |
1 |
<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"><<a class="email" href="mailto:bru@brutex.de">bru@brutex.de</a>></code></div></div><div><p class="copyright">Copyright © 2010 </p></div><div><div class="legalnotice" title="Legal Notice"><a name="N2002F"></a>
|
|
|
2 |
<p>
|
|
|
3 |
The copyright holders make no representation about the
|
|
|
4 |
suitability of
|
|
|
5 |
this document for any purpose. It is provided
|
|
|
6 |
<span class="quote">“<span class="quote">as is</span>”</span>
|
|
|
7 |
without expressed or implied warranty.
|
|
|
8 |
</p>
|
|
|
9 |
</div></div><div><div class="legalnotice" title="Legal Notice"><a name="N20038"></a>
|
|
|
10 |
<p>Apache Tomcat and Apache Ant are trademarks of the Apache
|
|
|
11 |
Software Foundation.</p>
|
|
|
12 |
</div></div><div><p class="pubdate">1997</p></div><div><div class="abstract" title="Abstract"><p class="title"><b>Abstract</b></p>
|
|
|
13 |
|
|
|
14 |
<p>In complex IT environments it is necessary to integrate
|
|
|
15 |
different information systems with each other, exchange data
|
|
|
16 |
between
|
|
|
17 |
tools and automate actions and function calls depending
|
|
|
18 |
on events
|
|
|
19 |
arising from user interaction. To meet the requirements
|
|
|
20 |
of
|
|
|
21 |
integration building usually means to implement APIs and to
|
|
|
22 |
create
|
|
|
23 |
tool-to-tool bridges. Web Services can help to clean up
|
|
|
24 |
bridges into
|
|
|
25 |
interfaces as well as to abstract functions from
|
|
|
26 |
their underlying
|
|
|
27 |
platform and implementation.</p>
|
|
|
28 |
<p>These are the major goals of the loosely coupled
|
|
|
29 |
integration
|
|
|
30 |
strategy which is in turn one essential idea of a
|
|
|
31 |
service-oriented
|
|
|
32 |
architecture (SOA).</p>
|
|
|
33 |
<p>provide a low level set of functions and web services.
|
|
|
34 |
These can
|
|
|
35 |
be orchestrated into services and used in business
|
|
|
36 |
processes which
|
|
|
37 |
make up the execution part of a SOA
|
|
|
38 |
environment.</p>
|
|
|
39 |
<p>is an add-on to XBridgeNG 2.0. It runs standalone or in
|
|
|
40 |
combination with XBridgeNG. Pure XBridgeNG has two
|
|
|
41 |
components:</p>
|
|
|
42 |
<p>
|
|
|
43 |
</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
|
|
|
44 |
<p>XML Schema for item based data types (e.g. tickets
|
|
|
45 |
from a bug
|
|
|
46 |
tracker system or a database record)</p>
|
|
|
47 |
</li><li class="listitem">
|
|
|
48 |
<p>Set of Apache Ant tasks to function as a bridge
|
|
|
49 |
between the
|
|
|
50 |
XBridgeNG XML format at legacy 3rd party
|
|
|
51 |
software (e.g. HP Quality
|
|
|
52 |
Center, Serena TeamTrack,
|
|
|
53 |
...)</p>
|
|
|
54 |
</li><li class="listitem">
|
|
|
55 |
<p>The add Web Services (SOAP) wrapper around Apache Ant
|
|
|
56 |
tasks
|
|
|
57 |
(since XBridgeNG 2.0)</p>
|
|
|
58 |
</li></ul></div><p>
|
|
|
59 |
</p>
|
|
|
60 |
<p>The current focus is on file-based operations. do not
|
|
|
61 |
contain an
|
|
|
62 |
integration server or a process execution
|
|
|
63 |
engine.</p>
|
|
|
64 |
</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>
|
|
|
65 |
|
|
|
66 |
|
|
|
67 |
<div class="chapter" title="Chapter 1. Getting started"><div class="titlepage"><div><div><h2 class="title"><a name="N2006C"></a>Chapter 1. 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>
|
|
|
68 |
|
|
|
69 |
|
|
|
70 |
<p>This chapter describes the installation.</p>
|
|
|
71 |
<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>
|
|
|
72 |
|
|
|
73 |
<p>tbd.</p>
|
|
|
74 |
<p>Sun Java SE 1.6.0</p>
|
|
|
75 |
<p>Apache Tomcat 6</p>
|
|
|
76 |
</div>
|
|
|
77 |
<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>
|
|
|
78 |
|
|
|
79 |
<p>tbd.</p>
|
|
|
80 |
<p>In short: Deploy .WAR file to Apache Tomcat</p>
|
|
|
81 |
<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>
|
|
|
82 |
|
|
|
83 |
<p>There is a quick guide explaining Basic Authentication
|
|
|
84 |
for
|
|
|
85 |
Tomcat here:</p>
|
|
|
86 |
<p>
|
|
|
87 |
<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>
|
|
|
88 |
</p>
|
|
|
89 |
</div>
|
|
|
90 |
<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>
|
|
|
91 |
|
|
|
92 |
<p>Sometimes you'll only want to restrict access to to
|
|
|
93 |
only
|
|
|
94 |
specified host names or IP addresses. This way, only
|
|
|
95 |
clients at
|
|
|
96 |
those specified addresses can use the web services.
|
|
|
97 |
Tomcat provides
|
|
|
98 |
two configuration values for that:
|
|
|
99 |
RemoteHostValve and
|
|
|
100 |
RemoteAddrValve.</p>
|
|
|
101 |
<p>These Valves allow you to filter requests by host name or
|
|
|
102 |
by IP
|
|
|
103 |
address, and to allow or deny hosts that match. The
|
|
|
104 |
example below
|
|
|
105 |
restricts access to the ArchiveService from any
|
|
|
106 |
machine that is not
|
|
|
107 |
the local host.</p>
|
|
|
108 |
<pre class="programlisting"><Context
|
|
|
109 |
path="/XService/ArchiveService" ...> <Valve
|
|
|
110 |
className="org.apache.catalina.valves.RemoteAddrValve"
|
|
|
111 |
allow="127.0.0.1" deny=""/> </Context></pre>
|
|
|
112 |
<p>If no allow pattern is given, then patterns that match
|
|
|
113 |
the deny
|
|
|
114 |
attribute patterns will be rejected, and all others
|
|
|
115 |
will be allowed.
|
|
|
116 |
Similarly, if no deny pattern is given,
|
|
|
117 |
patterns that match the
|
|
|
118 |
allow attribute will be allowed, and
|
|
|
119 |
all others will be denied.
|
|
|
120 |
</p>
|
|
|
121 |
<p>The <context> element must be placed into the
|
|
|
122 |
server.xml
|
|
|
123 |
file (into <engine><host>).</p>
|
|
|
124 |
</div>
|
|
|
125 |
</div>
|
|
|
126 |
</div>
|
|
|
127 |
<div class="chapter" title="Chapter 2. Available Services"><div class="titlepage"><div><div><h2 class="title"><a name="N200B8"></a>Chapter 2. 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>
|
|
|
128 |
|
|
|
129 |
|
|
|
130 |
<p>List of available web services and their operations.</p>
|
|
|
131 |
<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>
|
|
|
132 |
|
|
|
133 |
<p>The ArchiveService bundles file packing operations. Its
|
|
|
134 |
WSDL is
|
|
|
135 |
located at
|
|
|
136 |
http://server:port/XServices/ArchiveService?wsdl</p>
|
|
|
137 |
</div>
|
|
|
138 |
<div class="section"><div class="titlepage"></div>
|
|
|
139 |
<div class="section" title="ExecuteServices"><div class="titlepage"><div><div><h3 class="title"><a name="N200CD"></a>ExecuteServices</h3></div></div></div>
|
|
|
140 |
|
|
|
141 |
<p>The ExecuteService bundles local and remote command
|
|
|
142 |
execution
|
|
|
143 |
operations. Its WSDL is located at
|
|
|
144 |
http://server:port/XServices/ExecuteService?wsdl</p>
|
|
|
145 |
<div class="section" title="runCommand"><div class="titlepage"><div><div><h4 class="title"><a name="N200D6"></a>runCommand</h4></div></div></div>
|
|
|
146 |
|
|
|
147 |
<p>Run an executable with arguments on the server providing
|
|
|
148 |
the
|
|
|
149 |
web
|
|
|
150 |
service. The command is run within the environment and
|
|
|
151 |
under the
|
|
|
152 |
user
|
|
|
153 |
privileges of the user who is running the Tomcat
|
|
|
154 |
Server.</p>
|
|
|
155 |
<div class="section"><div class="titlepage"><div><div><h5 class="title"><a name="N200DE"></a></h5></div></div></div>
|
|
|
156 |
|
|
|
157 |
<p></p>
|
|
|
158 |
<div class="table"><a name="N200E4"></a><p class="title"><b>Table 2.1. runCommand input parameters</b></p><div class="table-contents">
|
|
|
159 |
|
|
|
160 |
<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
|
|
|
161 |
specified with full
|
|
|
162 |
path using forward slash
|
|
|
163 |
"/" as path separator.
|
|
|
164 |
</td></tr><tr><td>argline</td><td>String</td><td>No</td><td>Any command line arguments</td></tr></tbody></table>
|
|
|
165 |
</div></div><br class="table-break">
|
|
|
166 |
<p></p>
|
|
|
167 |
</div>
|
|
|
168 |
</div>
|
|
|
169 |
</div>
|
|
|
170 |
</div>
|
|
|
171 |
</div>
|
|
|
172 |
|
|
|
173 |
<div class="chapter" title="Chapter 3. XML Types"><div class="titlepage"><div><div><h2 class="title"><a name="N20139"></a>Chapter 3. 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>
|
|
|
174 |
|
|
|
175 |
|
|
|
176 |
<p>This chapter bundles the documentation for common xml types
|
|
|
177 |
used
|
|
|
178 |
by XServices web service.</p>
|
|
|
179 |
<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>
|
|
|
180 |
|
|
|
181 |
<p>The AntProperty type defines a list of key/value pairs.</p>
|
|
|
182 |
<p>
|
|
|
183 |
The defining Java class is
|
|
|
184 |
<a class="ulink" href="javadoc/net/brutex/xservices/types/AntProperty.html" target="_top">
|
|
|
185 |
<code class="classname">net.brutex.xservices.types.AntProperty</code>
|
|
|
186 |
</a>
|
|
|
187 |
.
|
|
|
188 |
</p>
|
|
|
189 |
|
|
|
190 |
<pre class="programlisting">
|
|
|
191 |
<xs:complexType name="antProperty">
|
|
|
192 |
<xs:sequence>
|
|
|
193 |
<xs:element name="name" type="xs:string"/>
|
|
|
194 |
<xs:element name="value" type="xs:string"/>
|
|
|
195 |
</xs:sequence>
|
|
|
196 |
</xs:complexType>
|
|
|
197 |
</pre>
|
|
|
198 |
|
|
|
199 |
<pre class="programlisting">
|
|
|
200 |
<AntProperty>
|
|
|
201 |
<name>key2</name>
|
|
|
202 |
<value>value2</value>
|
|
|
203 |
</AntProperty>
|
|
|
204 |
</pre>
|
|
|
205 |
</div>
|
|
|
206 |
</div>
|
|
|
207 |
</div></body></html>
|