Users Cite Top Java-to.NET Interop Issues
6/7/2005 | Print Version
by Vance McCarthy
As F1000 firms continue to aggressively adopt .NET throughout their enterprises, many IT execs are looking for ways to better leverage their existing J2EE/Java assets with .NET.
Identify Solutions, one of the nation’s more innovative problem-resolution companies in the interop space, has compiled customer data and shared the Top 3 reported Java-to-.NET interop issues, and other insights.
This information has been compiled exclsuively for Integration Developer News by Ido Ben-Moshe, Identify's director of technology, and his team. The list derives from the most common customer site issues.
Identify Software's Top 3 Interop Issues
1. Problem Isolation -- It is extremely difficult to isolate a tier or component that is responsible for a failure since each transaction is built as a series of calls to external components and databases using different interfaces. Breaking down a transaction to its "Atomic" stages in particular in an "interoped" environment is a big challenge. Errors also tend to propagate along the transaction flow and often change while masking the root cause.
2. Performance bottlenecks -- There is no clear visibility into the performance breakdown of a transaction in particular when message brokers and interop between components are involved. Problems tend to be more intermittent and often clues are misleading due to the larger number of variables affecting each transaction. There may be more than one cause for a slow transaction and isolating the root cause requires extensive drill down capability. SOA and interop may add an additional layer to look at when analyzing performance; and
Communication challenges -- More often than not, multiple development/application support groups are involved and there is a need to bridge the gaps between the groups and effectively communicate relevant information to the proper people. It also makes it more difficult to reproduce problems since typically the individual groups will not have access the entire integrated application therefore adding a challenge of extracting accurate information from the production site.
And...More IT Interop Concerns
Identify’s customers also mentioned several other related Java-to-.NET interop challenges that are driven by the need to have onsite skillets to bring together the disparate protocol/communication/data connect issues.
Among those most noted include:
Data capture: Getting data from the "connecting points" crossing between the technologies in both directions including the information passed and returned can often be a challenge
Addressing configuration problems: Wrong settings in config files, communication on different ports, firewall settings, security and permission settings that are cross platform
Team interop approaches may not align: Typically an interop solution will be developed by two different teams and it will be difficult to troubleshoot problems that lie on the borderline.
Cross-platform skill sets: It of often difficult to get staff expertise required to deploy and manage heterogeneous supplications. For example, capturing code execution of legacy Windows code running within a J2EE application (JNI) or other legacy and embedded components; or capturing the client side execution of the application and understanding the end user experience.
Communications/protocol/data skills for cross-platform: Similarly, end users face problems using native protocols like RMI or .NET remoting that cannot serialize objects between .NET and J2EE. {Note: Even web services are not fully compatible because conversion of data types can yield different results on both ends, so you must be careful not to use complex data types.
1. Problem Isolation -- It is extremely difficult to isolate a tier or component that is responsible for a failure since each transaction is built as a series of calls to external components and databases using different interfaces. Breaking down a transaction to its "Atomic" stages in particular in an "interoped" environment is a big challenge. Errors also tend to propagate along the transaction flow and often change while masking the root cause.
2. Performance bottlenecks -- There is no clear visibility into the performance breakdown of a transaction in particular when message brokers and interop between components are involved. Problems tend to be more intermittent and often clues are misleading due to the larger number of variables affecting each transaction. There may be more than one cause for a slow transaction and isolating the root cause requires extensive drill down capability. SOA and interop may add an additional layer to look at when analyzing performance; and
Communication challenges -- More often than not, multiple development/application support groups are involved and there is a need to bridge the gaps between the groups and effectively communicate relevant information to the proper people. It also makes it more difficult to reproduce problems since typically the individual groups will not have access the entire integrated application therefore adding a challenge of extracting accurate information from the production site.
And...More IT Interop Concerns
Identify’s customers also mentioned several other related Java-to-.NET interop challenges that are driven by the need to have onsite skillets to bring together the disparate protocol/communication/data connect issues.
Among those most noted include:
Data capture: Getting data from the "connecting points" crossing between the technologies in both directions including the information passed and returned can often be a challenge
Addressing configuration problems: Wrong settings in config files, communication on different ports, firewall settings, security and permission settings that are cross platform
Team interop approaches may not align: Typically an interop solution will be developed by two different teams and it will be difficult to troubleshoot problems that lie on the borderline.
Cross-platform skill sets: It of often difficult to get staff expertise required to deploy and manage heterogeneous supplications. For example, capturing code execution of legacy Windows code running within a J2EE application (JNI) or other legacy and embedded components; or capturing the client side execution of the application and understanding the end user experience.
Communications/protocol/data skills for cross-platform: Similarly, end users face problems using native protocols like RMI or .NET remoting that cannot serialize objects between .NET and J2EE. {Note: Even web services are not fully compatible because conversion of data types can yield different results on both ends, so you must be careful not to use complex data types.