1
<?xml version="1.0" encoding="UTF-8"?>
3
<title>Overview</title>
6
<title>What is JBoss Remoting?</title>
8
<para>The purpose of JBoss Remoting is to provide a single API for most
9
network based invocations and related service that uses pluggable
10
transports and data marshallers. The JBossRemoting API provides the
11
ability for making synchronous and asynchronous remote calls, push and
12
pull callbacks, and automatic discovery of remoting servers. The intention
13
is to allow for the use of different transports to fit different needs,
14
yet still maintain the same API for making the remote invocations and only
15
requiring configuration changes, not code changes.</para>
17
<para>JBossRemoting is a standalone project, separate from the JBoss
18
Application Server project, but will be the framework used for many of the
19
JBoss projects and components when making remote calls. JBossRemoting is
20
included in the recent releases of the JBoss Application Server and can be
21
run as a service within the container as well. Service configurations are
22
included in the configuration section below.</para>
26
<title>Features</title>
28
<para>The features available with JBoss Remoting are:</para>
32
<para><emphasis role="bold">Server identification</emphasis> – a
33
simple url based identifier which allows for remoting servers to be
34
identified and called upon.</para>
38
<para><emphasis role="bold">Pluggable transports</emphasis> – can use
39
different protocol transports the same remoting API.</para>
41
<para>Provided transports:</para>
45
<para>Socket (SSL Socket)</para>
49
<para>RMI (SSL RMI)</para>
57
<para>Servlet (SSL Servlet)</para>
61
<para>Bisocket (SSL Bisocket)</para>
67
<para><emphasis role="bold">Pluggable data marshallers</emphasis> –
68
can use different data marshallers and unmarshallers to convert the
69
invocation payloads into desired data format for wire transfer.</para>
73
<para><emphasis role="bold">Pluggable serialization</emphasis> - can
74
use different serialization implementations for data streams.</para>
76
<para>Provided serialization implementations:</para>
80
<para>Java serialization</para>
84
<para>JBoss serialization</para>
90
<para><emphasis role="bold">Automatic discovery</emphasis> – can
91
detect remoting servers as they come on and off line.</para>
93
<para>Provided detection implementations:</para>
97
<para>Multicast</para>
107
<para><emphasis role="bold">Server grouping</emphasis> – ability to
108
group servers by logical domains, so only communicate with servers
109
within specified domains.</para>
113
<para><emphasis role="bold">Callbacks</emphasis> – can receive server
114
callbacks via push and pull models. Pull model allows for persistent
115
stores and memory management.</para>
119
<para><emphasis role="bold">Asynchronous calls</emphasis> – can make
120
asynchronous, or one way, calls to server.</para>
124
<para><emphasis role="bold">Local invocation</emphasis> – if making an
125
invocation on a remoting server that is within the same process space,
126
remoting will automatically make this call by reference, to improve
131
<para><emphasis role="bold">Remote classloading</emphasis> – allows
132
for classes, such as custom marshallers, that do not exist within
133
client to be loaded from server.</para>
137
<para><emphasis role="bold">Sending of streams</emphasis> – allows for
138
clients to send input streams to server, which can be read on demand
139
on the server.</para>
143
<para><emphasis role="bold">Clustering</emphasis> - seamless client
144
failover for remote invocations.</para>
148
<para><emphasis role="bold">Connection failure notification</emphasis>
149
- notification if client or server has failed</para>
153
<para><emphasis role="bold">Data Compression</emphasis> - can use
154
compression marshaller and unmarshaller for compresssion of large
159
<para>All the features within JBoss Remoting were created with ease of use
160
and extensibility in mind. If you have a suggestion for a new feature or
161
an improvement to a current feature, please log in our issue tracking
162
system at <!--<link linkend="???">http://jira.jboss.com</link>--> <ulink
163
url="http://jira.jboss.com">http://jira.jboss.com</ulink></para>
167
<title>How to get JBoss Remoting</title>
169
<para>The JBossRemoting distribution can be downloaded from <ulink
170
url="http://www.jboss.org/jbossremoting/">
171
http://www.jboss.org/jbossremoting/</ulink> . This distribution
172
contains everything needed to run JBossRemoting stand alone. The
173
distribution includes binaries, source, documentation, javadoc, and sample
178
<title>What's new in version 2.5?</title>
180
<para>Version 2.5.0 represents the process of upgrading the jars with
181
which Remoting is tested and shipped. In particular, the jars are now
182
equivalent to the jars found in the JBoss Application Server version
183
5.0.0.CR2 (as of 9/6/08, before its release). Changes to jbossweb (the JBoss
184
version of Tomcat) have necessitated dropping the use of Apache Tomcat,
185
which means that the "http" transport will no longer function with jdk 1.4.</para>
187
<para>Other features of Remoting 2.5.0.GA should function with jdk 1.4.
188
However, it is the policy of JBoss, a division of Red Hat, no longer to
189
support jdk 1.4.</para>
192
<title>Release 2.5.3.SP1</title>
195
<para>Performance fix to avoid excessive calls to InetAddress.getLocalHost()</para>
201
<title>Release 2.5.3</title>
204
<para>Security update. Calls to state changing methods of
205
<classname>org.jboss.remoting.InvokerRegistry</classname> require permission
206
<code>java.lang.RuntimePermission("invokerRegistryUpdate")</code></para>
212
<title>Release 2.5.2.SP3</title>
215
<para>Multiple bug fixes.</para>
221
<title>Release 2.5.2.SP2</title>
224
<para>Multiple bug fixes.</para>
230
<title>Release 2.5.2</title>
233
<para>Introduction of "connection identity" concept</para>
235
<listitem><para>Introduction of write timeout facility;</para></listitem>
236
<listitem><para>improved reliability for callbacks in bisocket transport;</para></listitem>
237
<listitem><para>improved treatment of invocation retries in socket and bisocket transports;</para></listitem>
239
<para>More flexible configuration (see, for example, <code>org.jboss.remoting.Remoting.CONFIG_OVERRIDES_LOCATOR</code>)</para>
242
<para>Added immediate shutdown option for socket transport</para>
245
<para>Jars updated to conform to Application Server 5.1.0.CR1</para>
248
<para>Multiple bug fixes.</para>
254
<title>Release 2.5.1</title>
257
<para>Security fix (JBREM-1116 "Remove SecurityUtility")</para>
260
<para>More flexible configuration (see <code>org.jboss.remoting.Client.USE_ALL_PARAMS</code>)</para>
263
<para>Jars updated to conform to Application Server 5.1.0.CR1</para>
266
<para>Multiple bug fixes.</para>
272
<title>Release 2.5.0.SP2</title>
275
<para>A few bug fixes.</para>
281
<title>Release 2.5.0.SP1</title>
285
<para>The distribution zip file no longer contains previous versions of
286
jboss-remoting.jar.</para>
290
<para>A few bug fixes.</para>
298
<title>What's new in version 2.4?</title>
301
<title>Release 2.4.0.SP2</title>
305
<para><classname>CoyoteInvoker</classname> adds the URL query to the
306
<classname>InvocationRequest</classname> request map.</para>
310
<para>A leak in Java serialization output marshalling has been fixed.</para>
316
<title>Release 2.4.0.SP1</title>
320
<para>The remote classloading facility can be configured with lists of
325
<para>Classloading in the client can optionally start with the thread
326
context classloader.</para>
330
<para>Leasing can be enabled declaratively.</para>
336
<title>Release 2.4.0.GA</title>
338
<para>JBossRemoting 2.4.0.GA is an incremental release, with dozens of bug
339
fixes and several new features: </para>
343
<para>servers can be bound to multiple IP addresses</para>
346
<para>can run in the presence of a security manager</para>
349
<para>greater configurability</para>
352
<para>supports IPv6 addresses</para>
355
<para>improved connection monitoring</para>
358
<para>server gets client address in invocations</para>
b'\\ No newline at end of file'