Subversion Repositories XServices

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
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">&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>
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">&ldquo;<span class="quote">as is</span>&rdquo;</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&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>
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">&lt;Context
109
					path="/XService/ArchiveService" ...&gt; &lt;Valve
110
					className="org.apache.catalina.valves.RemoteAddrValve"
111
					allow="127.0.0.1" deny=""/&gt; &lt;/Context&gt;</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 &lt;context&gt; element must be placed into the
122
					server.xml
123
					file (into &lt;engine&gt;&lt;host&gt;).</p>
124
			</div>
125
		</div>
126
	</div>
127
	<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>
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&nbsp;2.1.&nbsp;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&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>
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
&lt;xs:complexType name="antProperty"&gt;
192
   &lt;xs:sequence&gt;
193
      &lt;xs:element name="name" type="xs:string"/&gt;
194
      &lt;xs:element name="value" type="xs:string"/&gt;
195
   &lt;/xs:sequence&gt;
196
&lt;/xs:complexType&gt;
197
			</pre>
198
 
199
			<pre class="programlisting">
200
&lt;AntProperty&gt;
201
    &lt;name&gt;key2&lt;/name&gt;
202
    &lt;value&gt;value2&lt;/value&gt;
203
&lt;/AntProperty&gt;
204
			</pre>
205
		</div>
206
	</div>
207
</div></body></html>