diff options
author | eea1 <eea1@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1999-08-24 23:08:38 +0000 |
---|---|---|
committer | eea1 <eea1@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1999-08-24 23:08:38 +0000 |
commit | ad042247239d1bce56bf906816c585543cb804eb (patch) | |
tree | 3add9053ff8af24cad61484250cb7d7671792de0 /java | |
parent | 867231f51902f7034491dbb46aceef66642fd24a (diff) | |
download | ATCD-ad042247239d1bce56bf906816c585543cb804eb.tar.gz |
New source tree for the updated Java ACE. All files (including tests and netsvcs).
Diffstat (limited to 'java')
-rw-r--r-- | java/JACE/overview.html | 29 | ||||
-rw-r--r-- | java/JACE/package.html | 32 |
2 files changed, 61 insertions, 0 deletions
diff --git a/java/JACE/overview.html b/java/JACE/overview.html new file mode 100644 index 00000000000..bf26c7627df --- /dev/null +++ b/java/JACE/overview.html @@ -0,0 +1,29 @@ +<!-- $Id$ --> +<HTML> +<BODY> +<H3>Overview of Java ACE:</H3> +<P>Java ACE is a collection of Java packages containing classes that have been converted from the C++ version of +the <A HREF="http://www.cs.wustl.edu/~schmidt/ACE.html">ADAPTIVE Communication Environment</A> (ACE). The C++ version +of ACE is a large object-oriented network programming toolkit which contains over 125,000 lines of C++ code and +uses advanced C++ features like templates.</P> +<P>The goal of converting ACE from C++ to Java is to provide a portable programming toolkit with a similar interface +and functionality to the original version of ACE. This allows new and current users of C++ ACE an easy transition +to Java and also adds significant value to programming concurrent Java networking applications. Note that applications +written using Java ACE can communicate seamlessly over sockets with applications written using C++ ACE.</P> +<P>The following diagram illustrates the architecture of the Java version of ACE:</P> +<P ALIGN="CENTER"><IMG SRC="../java-ace.gif" WIDTH="735" HEIGHT="339" ALIGN="BOTTOM" BORDER="0"></P> +<P>The Java ACE architecture has fewer components than the diagram illustrating the architecture for the <A HREF="http://www.cs.wustl.edu/~schmidt/ACE-overview.html">C++ +version of ACE </A>. This reduction in size occurs for two reasons. First, the Java Virtual Machine (JVM) handles +many of the portability issues provided by C++ ACE. Therefore, the OS adaptation layer is unnecessary. Second, +Java doesn't support certain OS features provided by Win32, UNIX, and other OS platforms that C++ ACE is ported +to. For example, Java doesn't support shared memory and memory-mapped files and therefore the memory management +wrappers (such as <CODE>Mem_Map</CODE> and <CODE>Shared_Malloc</CODE>) are omitted from Java ACE.</P> + +<P>The process of converting ACE from C++ to Java provided us with an excellent source of insights on the strengths +and weaknesses of using Java for industrial-strength software system frameworks. We've written a paper documenting +our <A HREF="http://www.cs.wustl.edu/~schmidt/C++2java.html">experiences</A> converting the C++ version of ACE +to Java. + +<P>Test programs are available under the tests subdirectory. +</BODY> +</HTML> diff --git a/java/JACE/package.html b/java/JACE/package.html new file mode 100644 index 00000000000..72d43449ea7 --- /dev/null +++ b/java/JACE/package.html @@ -0,0 +1,32 @@ +<!-- $Id$ --> +<HTML> +<BODY> + +<H3>Overview of Java ACE</H3> +<P>Java ACE is a collection of Java packages containing classes that have been converted from the C++ version of +the <A HREF="http://www.cs.wustl.edu/~schmidt/ACE.html">ADAPTIVE Communication Environment</A> (ACE). The C++ version +of ACE is a large object-oriented network programming toolkit which contains over 125,000 lines of C++ code and +uses advanced C++ features like templates.</P> +<P>The goal of converting ACE from C++ to Java is to provide a portable programming toolkit with a similar interface +and functionality to the original version of ACE. This allows new and current users of C++ ACE an easy transition +to Java and also adds significant value to programming concurrent Java networking applications. Note that applications +written using Java ACE can communicate seamlessly over sockets with applications written using C++ ACE.</P> +<P>The following diagram illustrates the architecture of the Java version of ACE:</P> +<CENTER> +<IMG SRC="java-ace.gif" ALIGN="BOTTOM" BORDER="0"></CENTER> +<P> +The Java ACE architecture has fewer components than the diagram illustrating the architecture for the <A HREF="http://www.cs.wustl.edu/~schmidt/ACE-overview.html">C++ +version of ACE </A>. This reduction in size occurs for two reasons. First, the Java Virtual Machine (JVM) handles +many of the portability issues provided by C++ ACE. Therefore, the OS adaptation layer is unnecessary. Second, +Java doesn't support certain OS features provided by Win32, UNIX, and other OS platforms that C++ ACE is ported +to. For example, Java doesn't support shared memory and memory-mapped files and therefore the memory management +wrappers (such as <CODE>Mem_Map</CODE> and <CODE>Shared_Malloc</CODE>) are omitted from Java ACE.</P> + +<P>The process of converting ACE from C++ to Java provided us with an excellent source of insights on the strengths +and weaknesses of using Java for industrial-strength software system frameworks. We've written a paper documenting +our <A HREF="http://www.cs.wustl.edu/~schmidt/C++2java.html">experiences</A> converting the C++ version of ACE +to Java. + +</BODY> +</HTML> + |