Making Service-Oriented Java Applications Interoperable without Compromising Transparency

  • Sven De Labey
  • Eric Steegmans


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 heterogeneity problems over and over again, even though interoperability is ideally a middleware responsibility. Also, the mix of business logic and technical concerns obfuscates the source code, thus decreasing maintainability and code comprehension.

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.


Architectures and platforms for interoperability Service oriented Architectures for interoperability Engineering interoperable systems Design methodologies for interoperable systems 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [1]
    WSDL Specification v1.1: (2001)Google Scholar
  2. [2]
    SOAP Specification: Scholar
  3. [3]
    Apache Axis: (2004)Google Scholar
  4. [4]
    Duftler, M., Mukhi, N., Slominski, A., Weerawarana, S.: Web Service Invocation Framework (WSIF), (2001)Google Scholar
  5. [5]
    De Labey, S. et al.: ServiceJ. A Java Extension for Programming Web Service Interactions. In: International Conference on Web Services. ICWS07. (2007)Google Scholar
  6. [6]
    Ashley, A.J.: ANTLR: Scholar
  7. [7]
    M. van Dooren, K. Vanderkimpen, and S. De Labey: The Jnome and Chameleon Metamodels for OOP,, ~marko. (2007)Google Scholar
  8. [8]
    Jini Architecture Specification: http://www.jini.orgGoogle Scholar
  9. [9]
    Baduel, L., Baude, F., Caromel, D.: Efficient, Flexible, and Typed Group Communications in Java. In: The Java Grande Conference. (2002)Google Scholar
  10. [10]
    Ban, B.: JavaGroups. Group Communication Patterns in Java. Technical Report, Cornell University. (1998)Google Scholar
  11. [11]
    Cazzola, W.: mChaRM: Reflective Middleware with a Global View of Communications. IEEE DS On-Line 3(2) (2002)Google Scholar
  12. [12]
    F. Pereira et al.: Tactics for Remote Method Invocation. Journal of Universal Computer Science 10(7) (2004) 824–842MathSciNetGoogle Scholar
  13. [13]
    Cardelli, L., Davies, R.: Service Combinators for Web Computing. In: Trans. on Softw. Engineering 25(3) (1999)Google Scholar
  14. [14]
    Florescu, D., Gruenhagen, A., Kossmann, D.: XL: A Platform for Web Services. In: Proc. of the First Conference on Innovative Data Systems Research. (2003)Google Scholar

Copyright information

© Springer-Verlag London Limited 2008

Authors and Affiliations

  • Sven De Labey
    • 1
  • Eric Steegmans
    • 1
  1. 1.University of LeuvenLeuvenBelgium

Personalised recommendations