Making Service-Oriented Java Applications Interoperable without Compromising Transparency
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.
KeywordsArchitectures and platforms for interoperability Service oriented Architectures for interoperability Engineering interoperable systems Design methodologies for interoperable systems
Unable to display preview. Download preview PDF.
- WSDL Specification v1.1: www.w3.org/TR/wsdl. (2001)Google Scholar
- SOAP Specification: http://www.w3.org/TR/soap/Google Scholar
- Apache Axis: http://ws.apache.org/axis/ (2004)Google Scholar
- Duftler, M., Mukhi, N., Slominski, A., Weerawarana, S.: Web Service Invocation Framework (WSIF), http://www.research.ibm.com/. (2001)Google Scholar
- De Labey, S. et al.: ServiceJ. A Java Extension for Programming Web Service Interactions. In: International Conference on Web Services. ICWS07. (2007)Google Scholar
- Ashley, A.J.: ANTLR: http://supportweb.cs.bham.ac.uk/documentation/tutorials/Google Scholar
- M. van Dooren, K. Vanderkimpen, and S. De Labey: The Jnome and Chameleon Metamodels for OOP, http://www.cs.kuleuven.be/, ~marko. (2007)Google Scholar
- Jini Architecture Specification: http://www.jini.orgGoogle Scholar
- Baduel, L., Baude, F., Caromel, D.: Efficient, Flexible, and Typed Group Communications in Java. In: The Java Grande Conference. (2002)Google Scholar
- Ban, B.: JavaGroups. Group Communication Patterns in Java. Technical Report, Cornell University. (1998)Google Scholar
- Cazzola, W.: mChaRM: Reflective Middleware with a Global View of Communications. IEEE DS On-Line 3(2) (2002)Google Scholar
- Cardelli, L., Davies, R.: Service Combinators for Web Computing. In: Trans. on Softw. Engineering 25(3) (1999)Google Scholar
- 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