Welcome!

@CloudExpo Authors: Elizabeth White, Flint Brenton, Thanh Tran, Liz McMillan, Scott Allen

Related Topics: Java IoT

Java IoT: Blog Feed Post

JavaOne 2009: Open Source Project Stonehenge

Interoperability is more than just talking with each other

Microsoft and Sun recently announced their Open Source Project Stonehenge at the JavaOne conference. Stonehenge is a reference implementation that shows how to bridge the two major development platforms Java and .NET using Web Services. This initiative definitely puts the spotlight on heterogeneity and the challenges that come with it.
Interoperability on the platform level is just the starting point of bridging the two worlds. It leads to further challenges down the road and several questions that come with it:

  • Who needs interoperability?
  • How does it affect team productivity?
  • Is it all about application stacks?
  • How effective can we diagnose problems?
  • How to calculate TCO 1 + 1 = 2 or 3?

Who needs interoperability?
There are different use cases where companies need to think about interoperability

  • Integrating different systems implemented on different platforms, e.g.: ERP with CRM
  • Integrating 3rd party solutions that only run on a specific platform, e.g.: Enterprise Search Engines
  • Integrate components inherited from acquisitions

The driving factor of interoperability in all these cases is gained productivity. Instead of re-implementing an existing system in order to bring it on to the platform of choice it is more productive to integrate with the other platform.

Individual platforms also have their individual strengths in different areas. Microsoft technologies for instance provide great flexibility and good tools to implement end-user applications whereas the Java platform has proven itself very strong in backend enterprise systems. Leveraging the best of both sides requires the integration of these two worlds.
Microsoft and Sun took the first step by providing a reference implementation that shows how to technically integrate .NET and Java by using Web Services. This is a first important step – but there is more than the technical integration that we need in order to successfully make interoperability happen.

How does it affect team productivity?
How often have you seen a .NET developer that debugs Java code in Eclipse on Linux? Or how often have you seen a Java developer in front of Visual Studio browsing through C# or VB.NET code?
Cross platform developers are a rare “species”. A typical cross platform development team therefore has developers specialized in either Java or .NET. An individual developer most often sees the other platform as a Black Box and as something that should be avoided if possible. Web Services allow calling from .NET to Java and the other way around. Debugging is easy on each side individually but it becomes a big obstacle having to debug transactions that cross platform boundaries. It either requires the developer to be both acquainted with Visual Studio and Eclipse as well as being familiar with both the Java and .NET code – which rarely is the case.
In a typical heterogeneous team it therefore always requires developers from both sides to analyze transaction flows. This is a tedious manual task by setting the correct breakpoints on each side and in each IDE, then stepping through the code. Debugging through code also only works in a single user environment as it is hardly possible to identify the correct thread on the server side implementation of a Web Service that belongs to the calling client side.

If the team collaboration works well – cross platform problem analysis is a doable task – but as outlined above it requires at least one resource from each side. Far too often – these team members don’t communicate well and simply play the “Blame Game” when coming across an issue by simply blaming the problem to be in the implementation on the other platform. This approach of resolving the problem negatively affects team productivity by introducing extra resolution cycles and it also increases tension between teams and team members.
These cross team issues are similar than thse we have seen between development and testing teams – two teams that work in different domains not having the insight into the others problem domain. This similar problem has been solved by providing testers with diagnostics tools that collect more meaningful information during their tests which help developers to quickly identify the root cause of problems. Getting this type of information not only took out the tension but also fastened the overall development cycle.

The logical conclusion therefore is to equip all teams in a heterogeneous team with tools that can collect and visualize the right set of data to speed up problem resolution, take out the tension and improve the overall team productivity.

Is it all about application stacks?
Integrating the different platforms from an implementation perspective is obviously the mandatory step to allow cross platform communication. This goal has been achieved with Web Services and the correct implementation of Web Service Standards by the different application stack providers.
Development tools like Visual Studio and Eclipse make it easy to create the application code (proxy classes) necessary to call from Java to .NET and vice versa. As long as everything runs fine during runtime developers on both sides can focus on their implementation without needing to worry about what is going on in the other cross platform teams.
In case problems come up, e.g.: calling a .NET Web Service from Java that returns a weird error its not possible for the Java Developer to go beyond the error message received in the Eclipse debugger. Tools on each side are very good in debugging, diagnosing and profiling problems on the respective platform. Cross Platform Support is however missing right now – preventing the Java Developer to follow the problem to the .NET side.

Why do we need cross platform tools?
Coming back to the example from above: When calling a .NET Web Service that throws an error or that executes slow can have multiple reasons. It could be a bug in the .NET Web Service implementation. It could also be a configuration issue in one of the used SOAP Application Stacks causing interoperability issues or it might be problematic input parameters from the Java side that causes unexpected or slow behaviours on the other side. One approach to analyze the problem is analyzing log files from both sides. The problem here is that there is no common log format and that there is no transactional context available that would allow transactional tracing and correlation of log entries.
In order to analyze cross platform problems we therefore need tools that support all involved platforms. Having this ability enables developers on both sides to understand the dynamics of the whole system better and fastens up problem resolution.

How effectively can we diagnose problems?
The first thing in problem diagnosis is to answer the question whether there is a problem or not. Problems can manifest in different ways

  • Bad application performance to the end user
  • Errors in log entries of individual components
  • Resource issues in infrastructure impacting system components

When we know that we have a problem we need to figure out where the problem is. Looking at log files that indicate a problem is almost a best case scenario as it at least gives an indication where the problem surfaced the first time. Problems perceived by end users, e.g.: bad application performance or error pages are harder to track. Where was the time spent? Which component threw the error that made it to the user interface?
Getting alerts by monitoring individual system components can tell us that we run high on CPU on certain servers or that we consume too much network bandwidth. But which component is responsible for the exhaustive use of resources? Is it a bug in a component that runs on these servers or is it a calling service that makes too many calls to a certain component?

Existing Monitoring and Diagnostics solutions focus on a particular environment or single server instances. Application Servers usually come with their own diagnostics support and additionally export performance counters that can be picked up by Enterprise Monitoring Solutions that enable monitoring of the complete infrastructure. These tools are great to analyze general problems in the infrastructure or to analyze standalone problems within a server. All existing tools however lack in analyzing cross platform issues. There are tools that analyze log files from all different components and correlate events in different logfiles to identify individual transactions. This is the right way to go but it relies on having the log information that can be correlated.

Too often problem diagnosis in heterogeneous environments comes back to being done manually. Collecting all available log information and performance counters. As any manual task it’s not a task that is very effective and does not always lead to a successful problem diagnosis. In order to diagnose problems we require a common way of capturing information from all platforms that participate when executing a transaction. In case a transaction has a problem – all this information must be extractable and easy accessible to developers to analyze the problem.

How to calculate TCO 1 + 1 = 2 or 3?
The tool landscape for Java and .NET is a huge one. There are many specialized tools that help improve productivity by supporting all stakeholders involved in running an application.
When working in cross platform environments it’s necessary to ensure good tool support for each platform. Most of the tools on the market are very specialized on a single platform leading to the need of multiple tools in order to get the best support for each platform. More tools means more costs – especially when we want to ensure productivity.
Total Cost of Ownership for heterogeneous environments however is not just defined by the individual costs of the tools it requires. Additionally to buying individual tools there is extra cost involved to integrate them. Getting information from each of the tools is good – but the information is only really valuable when the information can be integrated in a similar way as our applications are integrated.
The lack of standards makes it very hard to actually integrate these tools to get the value out of it that each individual gives on a single platform.
Tools that support all platforms and that are able to provide the data collected on each platform in an integrated way will save costs that would otherwise be necessary to integrate individual island solutions.

Related posts:

  1. Web Service Interoperabilty Issues I’ve been working on building a .NET Client Application to...
  2. Performance Analysis: Identify GC bottlenecks in distributed heterogeneous environments William Louth made a good reference to one of his...
  3. Getting ready for TechReady8: Load- and Web-Testing with VSTS and dynaTrace I’ve been invited by Microsoft to show dynaTrace’s integration into...

 

More Stories By Andreas Grabner

Andreas Grabner has been helping companies improve their application performance for 15+ years. He is a regular contributor within Web Performance and DevOps communities and a prolific speaker at user groups and conferences around the world. Reach him at @grabnerandi

@CloudExpo Stories
SYS-CON Events announced today that MangoApps will exhibit at SYS-CON's 18th International Cloud Expo®, which will take place on June 7-9, 2016, at the Javits Center in New York City, NY. MangoApps provides modern company intranets and team collaboration software, allowing workers to stay connected and productive from anywhere in the world and from any device. For more information, please visit https://www.mangoapps.com/.
SYS-CON Events announced today that EastBanc Technologies will exhibit at SYS-CON's 18th International Cloud Expo®, which will take place on June 7-9, 2016, at the Javits Center in New York City, NY. EastBanc Technologies has been working at the frontier of technology since 1999. Today, the firm provides full-lifecycle software development delivering flexible technology solutions that seamlessly integrate with existing systems – whether on premise or cloud. EastBanc Technologies partners with p...
SYS-CON Events announced today that AppNeta, the leader in performance insight for business-critical web applications, will exhibit and present at SYS-CON's @DevOpsSummit at Cloud Expo New York, which will take place on June 7-9, 2016, at the Javits Center in New York City, NY. AppNeta is the only application performance monitoring (APM) company to provide solutions for all applications – applications you develop internally, business-critical SaaS applications you use and the networks that deli...
The cloud market growth today is largely in public clouds. While there is a lot of spend in IT departments in virtualization, these aren’t yet translating into a true “cloud” experience within the enterprise. What is stopping the growth of the “private cloud” market? In his general session at 18th Cloud Expo, Nara Rajagopalan, CEO of Accelerite, will explore the challenges in deploying, managing, and getting adoption for a private cloud within an enterprise. What are the key differences betwee...
In his session at 18th Cloud Expo, Bruce Swann, Senior Product Marketing Manager at Adobe, will discuss how the Adobe Marketing Cloud can help marketers embrace opportunities for personalized, relevant and real-time customer engagement across offline (direct mail, point of sale, call center) and digital (email, website, SMS, mobile apps, social networks, connected objects). Bruce Swann has more than 15 years of experience working with digital marketing disciplines like web analytics, social med...
SYS-CON Events announced today that ContentMX, the marketing technology and services company with a singular mission to increase engagement and drive more conversations for enterprise, channel and SMB technology marketers, has been named “Sponsor & Exhibitor Lounge Sponsor” of SYS-CON's 18th Cloud Expo, which will take place on June 7-9, 2016, at the Javits Center in New York City, New York. “CloudExpo is a great opportunity to start a conversation with new prospects, but what happens after the...
As machines are increasingly connected to the internet, it’s becoming easier to discover the numerous ways Industrial IoT (IIoT) is helping to shape the business world. This is exactly why we have decided to take a closer look at this pervasive movement and to examine the desire to connect more things! Now if you need a refresher on IIoT and how it is changing the world, take a moment and listen to Greg Gorbach with ARC Advisory Group. Gorbach believes, "IIoT will significantly change the worl...
SYS-CON Events announced today Object Management Group® has been named “Media Sponsor” of SYS-CON's 18th International Cloud Expo, which will take place on June 7–9, 2016, at the Javits Center in New York City, NY, and the 19th International Cloud Expo, which will take place on November 1–3, 2016, at the Santa Clara Convention Center in Santa Clara, CA.
SYS-CON Events announced today the Docker Meets Kubernetes – Intro into the Kubernetes World, being held June 9, 2016, in conjunction with 18th Cloud Expo | @ThingsExpo, at the Javits Center in New York, NY. Register for 'Docker Meets Kubernetes Workshop' Here! This workshop led by Sebastian Scheele, co-founder of Loodse, introduces participants to Kubernetes (container orchestration). Through a combination of instructor-led presentations, demonstrations, and hands-on labs, participants learn ...
The IoT is changing the way enterprises conduct business. In his session at @ThingsExpo, Eric Hoffman, Vice President at EastBanc Technologies, discuss how businesses can gain an edge over competitors by empowering consumers to take control through IoT. We'll cite examples such as a Washington, D.C.-based sports club that leveraged IoT and the cloud to develop a comprehensive booking system. He'll also highlight how IoT can revitalize and restore outdated business models, making them profitable...
The IoTs will challenge the status quo of how IT and development organizations operate. Or will it? Certainly the fog layer of IoT requires special insights about data ontology, security and transactional integrity. But the developmental challenges are the same: People, Process and Platform. In his session at @ThingsExpo, Craig Sproule, CEO of Metavine, will demonstrate how to move beyond today's coding paradigm and share the must-have mindsets for removing complexity from the development proc...
Customer experience has become a competitive differentiator for companies, and it’s imperative that brands seamlessly connect the customer journey across all platforms. With the continued explosion of IoT, join us for a look at how to build a winning digital foundation in the connected era – today and in the future. In his session at @ThingsExpo, Chris Nguyen, Group Product Marketing Manager at Adobe, will discuss how to successfully leverage mobile, rapidly deploy content, capture real-time d...
In his session at 18th Cloud Expo, Andrew Cole, Director of Solutions Engineering at Peak 10, will discuss how the newest technology advances are reducing the cost and complexity of traditional business continuity and disaster recovery solutions. Attendees will: Learn why having a full disaster recovery strategy is more important now than ever before Explore the key drivers of a successful disaster recovery solution Achieve measurable operational and business value from a disaster recovery ...
The cloud era has reached the stage where it is no longer a question of whether a company should migrate, but when. Enterprises have embraced the outsourcing of where their various applications are stored and who manages them, saving significant investment along the way. Plus, the cloud has become a defining competitive edge. Companies that fail to successfully adapt risk failure. The media, of course, continues to extol the virtues of the cloud, including how easy it is to get there. Migrating...
As organizations shift towards IT-as-a-service models, the need for managing and protecting data residing across physical, virtual, and now cloud environments grows with it. Commvault can ensure protection, access and E-Discovery of your data – whether in a private cloud, a Service Provider delivered public cloud, or a hybrid cloud environment – across the heterogeneous enterprise. In his general session at 18th Cloud Expo, Randy De Meno, Chief Technologist - Windows Products and Microsoft Part...
SYS-CON Events announced today that Hanu Software will exhibit at SYS-CON's 18th International Cloud Expo®, which will take place on June 7-9, 2016, at the Javits Center in New York City, NY. Leveraging best-in-class people, processes, and technologies, Hanu provides high-quality, high-value software development and business process outsourcing services to independent software vendors (ISVs) and enterprises.
What a difference a year makes. Organizations aren’t just talking about IoT possibilities, it is now baked into their core business strategy. With IoT, billions of devices generating data from different companies on different networks around the globe need to interact. From efficiency to better customer insights to completely new business models, IoT will turn traditional business models upside down. In the new customer-centric age, the key to success is delivering critical services and apps wit...
Join us at Cloud Expo | @ThingsExpo 2016 – June 7-9 at the Javits Center in New York City and November 1-3 at the Santa Clara Convention Center in Santa Clara, CA – and deliver your unique message in a way that is striking and unforgettable by taking advantage of SYS-CON's unmatched high-impact, result-driven event / media packages.
In his keynote at 18th Cloud Expo, Andrew Keys, Co-Founder of ConsenSys Enterprise, will provide an overview of the evolution of the Internet and the Database and the future of their combination – the Blockchain. Andrew Keys is Co-Founder of ConsenSys Enterprise. He comes to ConsenSys Enterprise with capital markets, technology and entrepreneurial experience. Previously, he worked for UBS investment bank in equities analysis. Later, he was responsible for the creation and distribution of life ...
SYS-CON Events announced today that BMC Software has been named "Siver Sponsor" of SYS-CON's 18th Cloud Expo, which will take place on June 7-9, 2015 at the Javits Center in New York, New York. BMC is a global leader in innovative software solutions that help businesses transform into digital enterprises for the ultimate competitive advantage. BMC Digital Enterprise Management is a set of innovative IT solutions designed to make digital business fast, seamless, and optimized from mainframe to mo...