Skip to main content

Language Support for Service Interactions in Service-Oriented Architecture

  • Conference paper
  • 588 Accesses

Part of the book series: Communications in Computer and Information Science ((CCIS,volume 69))

Abstract

The Open Services Gateway initiative (OSGi) is a platform for running service-oriented Java applications. OSGi provides a central service registry to allow application components (so-called bundles) to share functionality. From the viewpoint of programming language development, OSGi leaves a lot of room for improvement. Its service query language, for instance, bypasses important compile-time guarantees and it works only for service metadata that never changes during the lifetime of a service. A second problem is that the event notification system requires programmers to write a considerable amount of boilerplate logic for reacting to service events. This obfuscates the business logic, which in turn decreases code comprehension and increases the odds for introducings bugs when implementing client-service interactions.

This paper evaluates OSGi as a platform for programming client-service interactions in Java. After focusing on problems that relate to OSGi’s integrated service query language and its event notification system, we propose a solution based on a programming language extension. We also show how this extension is transformed to regular Java code so as to maintain interoperability with the OSGi specification.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Papazoglou, M.: Service Oriented Computing: Concepts, Characteristics and Directions. In: Proceedings of the 4th International Conference on Web Information Systems Engineering (2003)

    Google Scholar 

  2. OSGi: Open Services Gateway Initiative Specification v4.0.1 (2006), http://www.osgi.org

  3. Marples, D., Kriens, P.: The open service gateway initiative: An introductory overview. IEEE Communications Magazine 39 (2001)

    Google Scholar 

  4. Hall, R., Cervantes, H.: Challenges in building service-oriented applications for OSGi. IEEE Communications Magazine 42, 144–149 (2004)

    Article  Google Scholar 

  5. OSGi: Listeners considered harmful: The whiteboard pattern (2004), www.osgi.org/documents/osgi_technology/

  6. De Labey, S., Steegmans, E.: Typed Abstractions for Client-Service Interactions in OSGi. In: Proceedings of the Third International Conference on the Evaluation of New Approaches to Software Engineering (2008)

    Google Scholar 

  7. De Labey, S., Steegmans, E.: ServiceJ. A Type System Extension for Programming Web Service Interactions. In: Proceedings of the Fifth International Conference on Web Services, ICWS 2007 (2007)

    Google Scholar 

  8. van Dooren, M., Vanderkimpen, K., De Labey, S.: The Jnome and Chameleon Metamodels for OOP (2007)

    Google Scholar 

  9. Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design patterns: elements of reusable object-oriented software. Addison-Wesley Professional, Reading (1995)

    MATH  Google Scholar 

  10. Hohpe, G., Woolf, B.: Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions (2003)

    Google Scholar 

  11. Sun: The Jini Architecture Specification and API Archive – (2005), http://www.jini.org

  12. Huang, Y., Walker, D.: Extensions to Web Service Techniques for Integrating Jini into a Service-Oriented Architecture for the Grid. In: Proceedings of the International Conference on Computational Science (2003)

    Google Scholar 

  13. Hall, R., Cervantes, H.: Gravity: supporting dynamically available services in client-side applications. SIGSOFT Software Engineering Notes 28, 379–382 (2003)

    Article  Google Scholar 

  14. Cervantes, H., Hall, R.: Automating Service Dependency Management in a Service-Oriented Component Model. In: Proceedings of the 6th Workshop on Foundations of Software Engineering and Component Based Software Engineering, pp. 379–382 (2003)

    Google Scholar 

  15. Bosch, J.: Design patterns as language constructs. Journal of Object-Oriented Programming 11, 18–32 (1998)

    Google Scholar 

  16. Java SE 6.0: VetoableChangeListener API (1998), http://java.sun.com/javase/6/

  17. Hedin, G.: Language Support for Design Patterns Using Attribute Extension. In: Bosch, J., Mitchell, S. (eds.) ECOOP 1997 Workshops. LNCS, vol. 1357, pp. 137–140. Springer, Heidelberg (1998)

    Chapter  Google Scholar 

  18. Riehle, D.: The Event Notification Pattern–Integrating Implicit Invocation with Object-Orientation. Theor. Pract. Object Syst. 2 (1996)

    Google Scholar 

  19. Lyon, D.A., Weiman, C.F.R.: Observer-conditioned-observable design pattern. Journal of Object Technology 6 (2007)

    Google Scholar 

  20. Tschantz, M.S., Ernst, M.D.: Javari: Adding reference immutability to Java. In: Object-Oriented Programming Systems, Languages, and Applications (OOPSLA 2005), San Diego, CA, USA, pp. 211–230 (2005)

    Google Scholar 

  21. Pratikakis, P., Spacco, J., Hicks, M.: Transparent Proxies for Java Futures. In: OOPSLA 2004: Proceedings of the 19th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, pp. 206–223. ACM, New York (2004)

    Chapter  Google Scholar 

  22. De Labey, S., van Dooren, M., Steegmans, E.: ServiceJ: Service-Oriented Programming in Java. Technical Report KULeuven, CW451 (June 2006)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2010 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

De Labey, S., Boydens, J., Steegmans, E. (2010). Language Support for Service Interactions in Service-Oriented Architecture. In: Maciaszek, L.A., González-Pérez, C., Jablonski, S. (eds) Evaluation of Novel Approaches to Software Engineering. ENASE ENASE 2009 2008. Communications in Computer and Information Science, vol 69. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-14819-4_6

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-14819-4_6

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-14818-7

  • Online ISBN: 978-3-642-14819-4

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics