Shared Source Cli Essentials
Incommunicado: efficient communication for isolates
OOPSLA '02 Proceedings of the 17th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Osgi Service Platform, Release 3
Osgi Service Platform, Release 3
IEEE Software
The Eclipse 3.0 platform: adopting OSGi technology
IBM Systems Journal
Towards reliable OSGi framework and applications
Proceedings of the 2006 ACM symposium on Applied computing
A Dynamic Service-Oriented Implementation for Java EE Servers
SCC '06 Proceedings of the IEEE International Conference on Services Computing
Failure Semantics in a SOA Environment
MCETECH '08 Proceedings of the 2008 International MCETECH Conference on e-Technologies
Towards a new isolation abstraction for OSGi
Proceedings of the 1st workshop on Isolation and integration in embedded systems
A Practical Approach for Finding Stale References in a Dynamic Service Platform
CBSE '08 Proceedings of the 11th International Symposium on Component-Based Software Engineering
Service Coroner: A Diagnostic Tool for Locating OSGi Stale References
SEAA '08 Proceedings of the 2008 34th Euromicro Conference Software Engineering and Advanced Applications
Towards Dynamic Component Isolation in a Service Oriented Platform
CBSE '09 Proceedings of the 12th International Symposium on Component-Based Software Engineering
A self-healing component sandbox for untrustworthy third party code execution
CBSE'10 Proceedings of the 13th international conference on Component-Based Software Engineering
Hi-index | 0.00 |
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.