skip to main content
10.1145/1462802.1462804acmotherconferencesArticle/Chapter ViewAbstractPublication PagesmiddlewareConference Proceedingsconference-collections
research-article

Using fail-stop proxies for enhancing services isolation in the OSGi service platform

Published: 01 December 2008 Publication History

Abstract

The OSGi Service Platform is becoming the de facto middleware for deploying modularized Java applications. It is a dynamic platform that relies on a service oriented approach for loose coupling, but the absence of separate object spaces for isolating services of different modules cannot guarantee that service providers from uninstalled modules will no longer be referenced by active code. This may lead to memory retention and inconsistencies (e.g. a stale service that provides invalid cached data) that can introduce silent faults in the system by propagating invalid information.
We present our ongoing work where we introduce an isolation layer between service consumer and provider by using dynamic proxies for services. When the corresponding service becomes unregistered (i.e. uninstalled) the mechanism is able to: 1) Guarantee that no consumers directly refer to the service provider; 2) allow finding out the misreferencing consumer code by using a fail-stop mechanism. We have tested this mechanism in different OSGi based applications and benchmarked it against other approaches for accessing services in the OSGi platform.

References

[1]
H. Ahn, H. Oh, and C. O. Sung. Towards reliable OSGi framework and applications. In SAC '06: Proceedings of the 2006 ACM symposium on Applied computing, pages 1456--1461, New York, NY, USA, 2006. ACM.
[2]
Apache Felix. http://felix.apache.org.
[3]
M. Desertot, D. Donsez, and P. Lalanda. A Dynamic Service-Oriented Implementation for Java EE Servers. In SCC '06: Proceedings of the IEEE International Conference on Services Computing, pages 159--166, Washington, DC, USA, 2006. IEEE Computer Society.
[4]
Equinox. http://www.eclipse.org/equinox.
[5]
C. Escoffier, R. S. Hall, and P. Lalanda. ipojo: an extensible service-oriented component framework. In Services Computing, 2007. SCC 2007. IEEE International Conference on, pages 474--481, 2007.
[6]
K. Gama and D. Donsez. A Practical Approach for Finding Stale References in a Dynamic Service Platform. In 11th International Symposium on Component Based Software Engineering (CBSE 2008). Springer LNCS, 2008.
[7]
K. Gama and D. Donsez. Service Coroner: A Diagnostic Tool for finding OSGi Stale References. In Proceedings of the 34th EUROMICRO Conference on Software Engineering and Advanced Applications (SEAA). IEEE, 2008.
[8]
E. Gamma, R. Helm, R. Johnson, and J. Vlissides. Design Patterns. Addison-Wesley, January 1995.
[9]
N. Geoffray, G. Thomas, C. Clement, and B. Folliot. Towards a new Isolation Abstraction for OSGi. In Proceedings of the First Workshop on Isolation and Integration in Embedded Systems (IIES 2008), pages 41--45, Glasgow, Scotland, UK, April 2008.
[10]
O. Gruber, B. J. Hargrave, J. McAffer, P. Rapicault, and T. Watson. The eclipse 3.0 platform: adopting osgi technology. IBM Syst. J., 44(2):289--299, 2005.
[11]
C. Hobbs, H. Becha, and D. Amyot. Failure Semantics in a SOA Environment. Montreal Conference on e-Technologies, 0:116--121, 2008.
[12]
Java Community Process. JSR 121: Application Isolation API Specification. http://jcp.org/en/jsr/detail?id=121.
[13]
G. Kiczales, J. Lamping, A. Menhdhekar, C. Maeda, C. Lopes, J.-M. Loingtier, and J. Irwin. Aspect-oriented programming. In Proceedings of the European Conference on Object-Oriented Programming, volume 1241, pages 220--242. Springer-Verlag, Berlin, Heidelberg, and New York, 1997.
[14]
OSGi Alliance. OSGi Service Platform. http://www.osgi.org.
[15]
K. Palacz, J. Vitek, G. Czajkowski, and L. Daynes. Incommunicado: efficient communication for isolates. In OOPSLA '02: Proceedings of the 17th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, pages 262--274, Seattle, Washington, USA, 2002. ACM.
[16]
L. Seinturier, N. Pessemier, C. Escoffier, and D. Donsez. Towards a Reference Model for Implementing the Fractal Specifications for Java and the .NET Platform. In 5th Fractal Workshop at ECOOP'06, July 2006.
[17]
J. Shore. Fail fast. IEEE Software, 21(5):21--25, 2004.
[18]
Spring Dynamic Modules for OSGi Service Platforms. http://www.springframework.org/osgi.
[19]
D. Stutz, T. Neward, and G. Shilling. Shared Source CLI Essentials. O'Reilly Media, March 2003.

Cited By

View all
  • (2010)A self-healing component sandbox for untrustworthy third party code executionProceedings of the 13th international conference on Component-Based Software Engineering10.1007/978-3-642-13238-4_8(130-149)Online publication date: 23-Jun-2010

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
MW4SOC '08: Proceedings of the 3rd workshop on Middleware for service oriented computing
December 2008
72 pages
ISBN:9781605583686
DOI:10.1145/1462802
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 December 2008

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. OSGi
  2. fail-stop services
  3. service isolation
  4. stale references

Qualifiers

  • Research-article

Funding Sources

Conference

Middleware '08

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)3
  • Downloads (Last 6 weeks)1
Reflects downloads up to 07 Mar 2025

Other Metrics

Citations

Cited By

View all
  • (2010)A self-healing component sandbox for untrustworthy third party code executionProceedings of the 13th international conference on Component-Based Software Engineering10.1007/978-3-642-13238-4_8(130-149)Online publication date: 23-Jun-2010

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media