Making Service-Oriented Java Applications Interoperable without Compromising Transparency [chapter]

Sven De Labey, Eric Steegmans
2008 Enterprise Interoperability III  
Object-oriented programming languages lack high-level support for platform-independent service interactions. In Java, for instance, the burden of guaranteeing sustainable interoperability is put entirely on the programmer. Java Remote Method Invocation requires its invocation targets to be remote Java objects, so Web Services and other targets can never be invoked without verbose interactions with specialized library classes. This lack of transparency forces programmers to consider
more » ... problems over and over again, even though interoperability is ideally a middleware responsibility. Moreover, by mixing business logic with non-functional concerns, the source code is obfuscated, which decreases code comprehensibility and maintainability. In this paper, we show that interoperability in Java applications can be achieved without compromising transparency. We describe a Java extension and focus on how this language enables a precompiler to transparently inject the boilerplate code that realizes interoperable service interactions. Deferring interoperability provisioning to such a precompiler allows programmers to focus on the implementation of the business logic without being distracted by heterogeneity issues occurring in the service architecture in which their application will eventually be deployed.
doi:10.1007/978-1-84800-221-0_19 dblp:conf/iesa/LabeyS08 fatcat:jlaroj7ipbbfrcukfoe3q3idmi