Contents - Cultural View

Contents - Cultural View Contents - Cultural View

culturalview.com
from culturalview.com More from this publisher
14.07.2013 Views

Apache Harmony 26 Support Platform and Operating System The project provide a portable implementation that ease development on many platforms and operating systems. The main focus is on Windows and Linux operating systems on x86 and x86-64 architectures. [17] IA32 (Pentium III or better) x86-64 (Intel 64, AMD64) Windows 2000 In progress Windows XP, Server 2003, Vista Linux RHEL, SLES, Debian, Gentoo, Fedora Yes Yes FreeBSD AIX Mac OS In progress X N/A N/A N/A Yes Yes N/A N/A N/A Itanium (IA64, IPF) N/A In progress Yes N/A N/A N/A PPC32 N/A N/A In progress N/A N/A N/A PPC64 N/A N/A In progress N/A In progress zSeries (31 bit) N/A N/A In progress N/A N/A N/A Class Library Coverage The expected donations from software companies were actually received. The Apache Harmony now contains the working code, including the Swing, AWT and Java 2D code which were contributed by Intel. The part of the implemented classes is still smaller than in GNU Classpath (97.7% in the trunk versus almost 100% as of July 2007 [18] ), despite some non-trivial applications were shown being running in 2006 JavaOne international conference. Also Harmony's test suite is less extensive than GNU Classpath's for now (20000 tests [19] versus 50000 [20] as of October 2006). Java Platform diagram showing Class Library The progress of the Apache Harmony project can be tracked against J2SE 1.4 and Java SE 5.0. [21] Also, there is a branch for Harmony v6.0 in development for Java SE 6.0. Apache Harmony developers integrate several existing, field-tested open-source projects to meet their goal (not reinventing the wheel). Many of these projects are mature and well known and other part of the library need be writing from scratch. This is a list of existing open source components that are used in the Apache Harmony project; some of them were in use before the project started. N/A

Apache Harmony 27 Component Description ICU Mature C/C++ and Java libraries for Unicode support, software internationalization and software globalization. Apache Xalan An XSLT stylesheet processor for Java and C++ which implements the XPath language. Apache Xerces An XML parser library for Java, C++ and Perl Apache Portable Runtime Cross-platform abstraction library provides platform independence. Apache CXF Robust and high performance Web Services framework work over protocols such as SOAP, XML/HTTP, RESTful HTTP, and CORBA. BCEL Libraries for decomposing, modifying, and recomposing binary Java classes (i.e., bytecode) MX4J Java Management Extensions (JMX) tools for managing and monitoring applications, system objects, devices and service oriented networks. vmmagic Set of extensions to the Java language to facilitate systems programming in Java by adding direct memory operations etc. Bouncy Castle Libraries collection of lightweight cryptography for Java and C#. ANTLR language tool that provides a framework for constructing recognizers, interpreters, compilers, and translators from Documentation grammatical descriptions containing actions in a variety of target languages. Harmony is currently less documented than the alternative free Java implementations. For instance, in GNU Classpath every method of the central CORBA class (ORB) has the explaining comment both in the standard abstract API class [22] and implementation [23]. In the Yoko [24] project, used by Harmony [25], the majority of methods both in the standard declaration [26] and implementing class [27] were not documented (at the end of October, 2006). Also, GNU Classpath supported both older and current CORBA features (same as Sun's implementation). Harmony, differently, left the central method of the older standard (ORB.connect(Object)) fully unimplemented. Tools A complete implementation of the Java platform also requires a compiler that translates Java source code into bytecodes, a program that manages JAR files, a debugger, and an applet viewer and web browser plugin, to name a few. Harmony currently has the compiler, appletviewer, jarsigner, javah, javap, keytool, policytool, and unpack200 [28]. Virtual machine support Harmony currently has seven virtual machine implementations that run Harmony Class Library, all of which were donations by external groups: • JC Harmony Edition VM, "JCHEVM," based on the JCVM's interpreter, contributed by the author, Archie Cobbs. • BootJVM, a simple bootstrapping virtual machine, contributed by Daniel Lydick. • SableVM, an advanced, portable interpreter, contributed by authors from the Sable Research Group; and the Dynamic Runtime Layer Virtual Machine. • DRLVM, a just-in-time compiler contributed by Intel. • BEA announced the availability of an evaluation version of JRockit VM running Apache Harmony Class Library [29] . • JikesRVM, an open-source meta-circular JVM that use the Apache Harmony Class Library [30] . • Ja.NET SE - the open source project is providing a Java 5 JDK (class libraries, tools, etc.) that run on the .NET CLR. Ja.NET SE is based on the Apache Harmony Class Libraries [31] .

Apache Harmony 27<br />

Component Description<br />

ICU Mature C/C++ and Java libraries for Unicode support, software internationalization and software globalization.<br />

Apache Xalan An XSLT stylesheet processor for Java and C++ which implements the XPath language.<br />

Apache Xerces An XML parser library for Java, C++ and Perl<br />

Apache Portable<br />

Runtime<br />

Cross-platform abstraction library provides platform independence.<br />

Apache CXF Robust and high performance Web Services framework work over protocols such as SOAP, XML/HTTP, RESTful HTTP,<br />

and CORBA.<br />

BCEL Libraries for decomposing, modifying, and recomposing binary Java classes (i.e., bytecode)<br />

MX4J Java Management Extensions (JMX) tools for managing and monitoring applications, system objects, devices and service<br />

oriented networks.<br />

vmmagic Set of extensions to the Java language to facilitate systems programming in Java by adding direct memory operations etc.<br />

Bouncy Castle Libraries collection of lightweight cryptography for Java and C#.<br />

ANTLR language tool that provides a framework for constructing recognizers, interpreters, compilers, and translators from<br />

Documentation<br />

grammatical descriptions containing actions in a variety of target languages.<br />

Harmony is currently less documented than the alternative free Java implementations. For instance, in GNU<br />

Classpath every method of the central CORBA class (ORB) has the explaining comment both in the standard<br />

abstract API class [22] and implementation [23]. In the Yoko [24] project, used by Harmony [25], the majority of<br />

methods both in the standard declaration [26] and implementing class [27] were not documented (at the end of<br />

October, 2006). Also, GNU Classpath supported both older and current CORBA features (same as Sun's<br />

implementation). Harmony, differently, left the central method of the older standard (ORB.connect(Object)) fully<br />

unimplemented.<br />

Tools<br />

A complete implementation of the Java platform also requires a compiler that translates Java source code into<br />

bytecodes, a program that manages JAR files, a debugger, and an applet viewer and web browser plugin, to name a<br />

few. Harmony currently has the compiler, appletviewer, jarsigner, javah, javap, keytool, policytool, and unpack200<br />

[28].<br />

Virtual machine support<br />

Harmony currently has seven virtual machine implementations that run Harmony Class Library, all of which were<br />

donations by external groups:<br />

• JC Harmony Edition VM, "JCHEVM," based on the JCVM's interpreter, contributed by the author, Archie Cobbs.<br />

• BootJVM, a simple bootstrapping virtual machine, contributed by Daniel Lydick.<br />

• SableVM, an advanced, portable interpreter, contributed by authors from the Sable Research Group; and the<br />

Dynamic Runtime Layer Virtual Machine.<br />

• DRLVM, a just-in-time compiler contributed by Intel.<br />

• BEA announced the availability of an evaluation version of JRockit VM running Apache Harmony Class<br />

Library [29] .<br />

• JikesRVM, an open-source meta-circular JVM that use the Apache Harmony Class Library [30] .<br />

• Ja.NET SE - the open source project is providing a Java 5 JDK (class libraries, tools, etc.) that run on the .NET<br />

CLR. Ja.NET SE is based on the Apache Harmony Class Libraries [31] .

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!