summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoreea1 <eea1@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1999-08-24 23:08:38 +0000
committereea1 <eea1@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1999-08-24 23:08:38 +0000
commitad042247239d1bce56bf906816c585543cb804eb (patch)
tree3add9053ff8af24cad61484250cb7d7671792de0
parent867231f51902f7034491dbb46aceef66642fd24a (diff)
downloadATCD-ad042247239d1bce56bf906816c585543cb804eb.tar.gz
New source tree for the updated Java ACE. All files (including tests and netsvcs).
-rw-r--r--java/JACE/overview.html29
-rw-r--r--java/JACE/package.html32
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>
+