JLCA 3.0 - Introduction
Java Language Conversion Assistant (JLCA henceforth) is a tool that provides support for the conversion of software written in VJ++ and Java to Microsoft’s Visual C# .NET and .NET Framework. JLCA 3.0 is the latest version of the tool. It supports conversion of a majority of Java’s APIs and Java technologies supported by J2SE 1.3 and J2EE 1.3. It also addresses important issues of reducing the compilation errors and improving the conversion coverage and user experience as compared to the previous versions of the tool.
Table 1 summarizes the JLCA versions released so far.
JLCA |
Source |
For .NET Framework |
1.0 |
Visual Studio 2003 |
1.1 (Everett) |
2.0 |
Download from here |
1.1 (Everett) |
3.0 Beta (GDR) |
Download from here |
1.1 (Everett) |
3.0 Whidbey |
Visual Studio 2005 |
2.0 (Whidbey) |
Table 1: JLCA Released Versions
The following parts of this document describe the main issues and features addressed/implemented in JLCA 3.0.
· The section “J2SE and J2EE Coverage” gives idea of the conversion coverage achieved by JLCA 3.0 corresponding to Java 1.3 Features.
· The section “JLCA 3.0” describes the new features released in JLCA 3.0 compared to JLCA 2.0.
J2SE and J2EE Coverage
JLCA 3.0 is designed to assist in the conversion of Java applications using inherent J2SE 1.3 and J2EE 1.3 features. Furthermore, it is designed to assist in converting VJ++ applications using VJ++ features.
The previous versions of the tool added support to convert Java applications using some features of J2SE and VJ++. JLCA 3.0 adds more support to the target feature set as described above.
Table 2 ,Table 3 and Table 4 describe the conversion coverage achieved by JLCA 3.0 for J2SE Basic features, J2SE 1.3 Java Foundation Classes (JFC) features and J2EE 1.3 features. For each feature, they provide top level details of the targeted API’s, extent of conversion and description of their conversion by using JLCA 3.0.
J2SE 1.3 Basic Features
J2SE 1.3 Feature |
Package / Functionality |
JLCA 3.0 Coverage |
Description |
Arbitrary Precision Math |
java.math |
Partially Converted |
Most of the functionality of this package is not converted. |
Collections Framework |
java.util |
Converted |
Conversion to .NET Framework is achieved natively or by means of support classes. Some members are converted with different behavior. |
Extension Mechanism |
java.lang.ClassLoader java.lang.Package java.lang.Thread java.net.JarURLConnect java.net.URLClassLoader SecureClassLoading |
Not Converted |
The Java Extension Mechanism does not apply for the .NET Framework. |
I/O |
java.io |
Partially Converted |
High rate of conversion is achieved for this package. Some hierarchy conflicts are present in the conversion. |
Internationalization |
Locales and Resources Calendar and Time Zone Formatting Loc-Sensitive String Ops Character Sets and Classif. AWT Attributes Stream I/O |
Partially Converted |
Conversion is achieved for Locales, Locale-Sensitive String Ops, and Resources. The remaining functionality is either not converted or is converted with a different behavior. |
Java Archive (JAR) Files |
java.util.jar java.net.JarURLConnection JAR Files Loading |
Not Converted |
Java Archive Files has no equivalent mapping in .NET Framework. JLCA is however able to read JAR Files to extract .class info. |
Java Native Interface (JNI) |
- |
Not Converted |
JNI functionality is not converted. |
JavaBeans |
java.beans |
Partially Converted |
Bean Classes, Properties, Events and Descriptors are converted. |
Language and Utility Packages |
java.lang java.util java.util.jar java.util.zip |
Partially Converted |
The functionality of java.lang and java.util packages is converted. The functionality of java.util.jar and java.util.zip packages is not converted. |
Miscellaneous Features |
The @deprecated Tag The APPLET Tag
|
Converted |
JavaDoc tags are converted to .NET Framework Doc tags. Html <Applet> tag is converted to <Object> tag for Applet conversion. |
Networking |
java.net |
Partially Converted |
Encoding and Decoding parts in this package are not converted. |
Object Serialization |
java.io.Externalizable java.io.Serializable
|
Partially Converted |
The core functionality of this package is converted. Some source-code patterns are not converted. The repository containing the serialized objects could require further conversion. |
Package Version Identification |
java.lang.Class java.lang.ClassLoader java.lang.Package java.lang.System |
Partially Converted |
Java Package Versioning does not apply for the .NET Framework. Some of the functionality of this package is converted. |
Reference Objects |
java.lang.ref |
Partially Converted |
WeakReference is converted. |
Reflection |
java.lang.reflect |
Partially Converted |
Advanced features are not converted. |
Remote Method Invocation (RMI) |
java.rmi java.rmi.activation java.rmi.dgc java.rmi.registry java.rmi.server
|
Partially Converted |
The client conversion is based on source-code patterns. Some complementary functionality is not converted.
|
Resources |
java.lang.Class java.lang.ClassLoader java.net.URLClassLoader java.util.ResourceBundle java.security SecurityManagement
|
Partially Converted |
The Class Loading functionality is not converted. Remaining core functionality is converted with different behavior at times. |
Security and Signed Applets |
java.security java.security.cert java.security.interfaces java.security.spec |
Partially Converted |
The classes and interfaces holding Certificates, Keys, Signatures, Principals, Permissions, Digests and Encryption Algorithms are converted. |
Sound |
javax.sound.midi javax.sound.midi.spi javax.sound.sampled javax.sound.sampled.spi
|
Partially Converted |
The javax.sound.sampled package is converted to Microsoft.DirectX.DirectSound, but needs Managed DirectX installed on the machine. |
Table 2: J2SE 1.3 Basic Features Coverage
J2SE 1.3 Java Foundation Classes (JFC)
J2SE 1.3 JFC Feature |
API / Functionality |
JLCA 3.0 Coverage |
Description |
2D Graphics and Imaging |
com.sun.image.codec.jpeg java.awt java.awt.color java.awt.font java.awt.geom java.awt.image java.awt.print
|
Partially Converted |
The functionality of 2D Graphics and Colors, Fonts and Geometry is converted. Remaining features of this package are not converted or converted with a different behavior. |
Abstract Window Toolkit (AWT) |
java.awt java.awt.datatransfer java.awt.event
|
Partially Converted |
The widget classes are converted. Conversion for Events is based on source-code patterns. Layout Management conversion is not well achieved. |
Accessibility |
javax.accessibility |
Partially Converted |
Highh rate of conversion is achieved for the basic features and is mainly based on source-code patterns. |
Drag-and-Drop data transfer |
java.awt.dnd |
Partially Converted |
The conversion supported is based on source-code patterns. |
Input Method Framework |
java.awt.Component java.awt.event java.awt.im java.text |
Not Converted |
This functionality does not have an equivalent in the .NET Framework model. |
Project Swing Components |
javax.swing javax.swing.border javax.swing.colorchooser javax.swing.event javax.swing.filechooser javax.swing.plaf javax.swing.table javax.swing.text javax.swing.tree javax.swing.undo |
Partially Converted |
The functionality of Models, Editors, Layout Management, Borders, Renderers and Pluggable Look And Feel is not converted. |
Table 3: J2SE 1.3 Java Foundation Classes Coverage
J2EE 1.3 Features
J2EE 1.3 Feature |
API / Functionality |
JLCA 3.0 Coverage |
Description |
J2EE Connector 1.0 |
|
Not Converted |
This feature is not supported. |
CORBA JavaTM IDL |
Idl |
Partially Converted |
The conversion of IDL Files to .NET framework is covered. The Server and Client side conversion is based on source-code patterns. |
CORBA RMI-IIOP |
org.omg.CORBA Org.omg.CosNaming |
Not Converted |
This feature is not supported. |
ECperf 1.0 |
|
Not Converted |
This feature is not supported. |
Enterprise JavaBeans (EJBs) 2.0 and 1.1 (CORBA Mapping) |
javax.ejb javax.ejb.spi XML Deployment Descriptor |
Partially Converted |
High rate of conversion is achieved for classes and interfaces for any EJB, Transactions and EJB Security. Container-Managed Persistense (CMP) Entity Beans are converted partially. Client Side conversion is based on source-code patterns. To achieve conversion the ejb-jar.xml file should be included. |
Java API for XML Processing (JAXP) |
javax.xml.parsers javax.xml.transform |
Partially Converted |
Conversion to .NET Framework is achieved natively or by means of support classes. Conversion for SAX (org.xml.sax) and DOM (org.w3c.dom) is supported. |
Java API for XML Registries (JAXR) |
javax.xml.registry |
Not Converted |
This feature is not supported. |
Java API for XML-based RPC (JAX-RPC) |
javax.xml.rpc |
Not Converted |
This feature is not supported. |
Java Architecture in XML Binding (JAXB) |
javax.xml.bind |
Not Converted |
This feature is not supported. |
Java Database Connectivity (JDBC) |
java.sql javax.sql |
Partially Converted |
High rate of conversion is achieved for JDBC 1.0, for calling statements and stored procedures, data types, transactions and connection pools. For JDBC 2.0, only RowSetMetaData and RowSet are partially converted. The driver operations are not converted. |
Java Message Service 1.0.2b |
javax.jms |
Partially Converted |
JMS core functionality is converted to use MSMQ. Some advanced JMS functionality is not converted. |
Java Naming and Directory Interface (JNDI) |
javax.naming javax.naming.directory javax.naming.event javax.naming.ldap javax.naming.spi Service Providers |
Partially Converted |
Features related to accessing naming/directory services are converted. Functionality relative to event notification, LDAP and service plugging in is not converted. |
Java Servlet 2.3 |
javax.servlet javax.servlet.http |
Partially Converted |
The core and HTTP Servlets functionality is converted. Contexts and Bindings are not converted. |
Java Transaction API 1.0.1B |
javax.transaction javax.transaction.xa |
Partially Converted |
The support has been added to convert JMS, EJBs and JDBC. |
Java Transaction Service 1.0 |
javax.jts org.omg.CORBA org.omg.CosTransactions Org.omg.CosTSPortability |
Not Converted |
This feature is not supported. |
JavaBeans Activation Framework 1.0.1 |
javax.activation |
Partially Converted |
Few functionality conversions have a different behavior. |
JavaMail API 1.2 |
javax.mail javax.mail.event javax.mail.internet javax.mail.search |
Partially Converted |
The basic mailing functionality is converted while the advanced JavaMail features are not converted. |
JavaServer Faces |
javax.faces |
Not Converted |
This feature is not supported. |
JavaServer Pages (JSP) 1.2 |
Core Functionality Tag Libraries JSP Standard Tag Library |
Partially Converted |
Most of JSP core functionality and tag libraries are converted. Web Application Deployment is made using IIS. Java Standard Tag Library is not converted. |
SOAP with Attachments API for Java (SAAJ) |
javax.xml.soap |
Not Converted |
This feature is not supported. |
Table 4: J2EE 1.3 Features Coverage
Comments
- Anonymous
June 13, 2006
JLCA 3.0 — это такое средство для конверсии кода Java в код C#, причём таким обр - Anonymous
June 18, 2006
The comment has been removed - Anonymous
June 19, 2009
PingBack from http://edebtsettlementprogram.info/story.php?id=22674