Abstract
Locality of referenced data is an important aspect for distributed computing. Caching is commonly employed to achieve this goal. However, when using current component-oriented middleware client application programmers have to take care of this non-functional aspect by themselves, without direct support from middleware facilities or design tools. The paper at hand describes a novel approach to disburden them from this non-trivial, error-prone task by transparently integrating caching as an orthogonal middleware service using interceptors which are preconfigured at design-time using standard UML extension mechanisms. An advanced mechanism for dynamic adaptation of the caching service to changing access characteristics is introduced in the second part.
Chapter PDF
Similar content being viewed by others
References
Object Management Group: CORBA Components, ptc/01-11-03 (2001)
DeMichiel, L.G., Yalçinalp, L.Ü., Krishnan, S.: Enterprise JavaBeans Specification Version 2.0. Sun Microsystems. Final release edn. (2001)
Sun Microsystems: Design Patterns Catalog. J2EE design patterns edn. (2001), http://java.sun.com/blueprints/patterns/j2ee_patterns/catalog.html
JBoss Group: JBoss (2003), Project homepage, http://www.jboss.org/
Object Management Group: Unified Modeling Language, v1.4, formal/01-09-67 (2001)
Öberg, R., Schaefer, A., Abrahamian, A., Hellesøy, A., Colebatch, D., Harcq, V.: XDoclet (2003), Project homepage http://xdoclet.sourceforge.net/
Object Management Group: CORBA Portable Interceptor Specification, ptc/01-03-04, formal/02-05-18 (2001)
Fleury, M., Reverbel, F.: The JBoss extensible server. In: Endler, M., Schmidt, D.C. (eds.) Middleware 2003. LNCS, vol. 2672, pp. 344–373. Springer, Heidelberg (2003)
Pohl, C., Schill, A.: Middleware support for transparent client-side caching. In: European conference on Theory And Practice of Software (ETAPS 2002), Grenoble, France. Electronic Notes in Theoretical Computer Science, vol. 65. Elsevier, Amsterdam (2002) Software Composition Workshop
Pohl, C.: Adaptively caching distributed components. In: Endler, M., Schmidt, D.C. (eds.) Middleware 2003. LNCS, vol. 2672, p. 325. Springer, Heidelberg (2003)
Neumann, O., Pohl, C., Franze, K.: Caching in Stubs und Events mit Enterprise Java Beans bei Einsatz einer objektorientierten Datenbank. In: Cap, C.H. (ed.) Java-Informations-Tage JIT 1999. Informatik Aktuell, Düsseldorf, pp. 17–25. Springer, Heidelberg (1999)
Szyperski, C.: Component Software: Beyond Object-Oriented Programming. Addison-Wesley, London (1997)
Caughey, S.J., Parrington, G.D., Shrivastava, S.K.: Shadows - a flexible support system for objects in distributed systems. In: 3rd International Workshop on Object Orientation and Operating Systems (IWOODS 1993), Asheville, NC (USA), pp. 73–82 (1993)
Bal, H.E., Kaashoek, M.F., Tanenbaum, A.S., Jansen, J.: Replication techniques for speeding up parallel applications on distributed systems. Concurrency: Practice and Experience 4, 337–355 (1992)
Chockler, G., Dolev, D., Friedman, R., Vitenberg, R.: Implementing a caching service for distributed CORBA objects. In: Coulson, G., Sventek, J. (eds.) Middleware 2000. LNCS, vol. 1795, pp. 1–23. Springer, Heidelberg (2000)
Krishnaswamy, V., Ganev, I.B., Dharap, J.M., Ahamad, M.: Distributed object implementations for interactive applications. In: Coulson, G., Sventek, J. (eds.) Middleware 2000. LNCS, vol. 1795, p. 45. Springer, Heidelberg (2000)
Kordale, R., Ahamad, M., Devarakonda, M.V.: Object caching in a CORBA compliant system. Computing Systems 9, 377–404 (1996)
Eberhard, J., Tripathi, A.: Efficient object caching for distributed Java RMI applications. In: Guerraoui, R. (ed.) Middleware 2001. LNCS, vol. 2218, pp. 15–35. Springer, Heidelberg (2001)
Ari, I., Amer, A., Gramacy, R., Miller, E.L., Brandt, S.A., Long, D.D.E.: ACME: Adaptive caching using multiple experts. In: Workshop on Distributed Data and Structures (WDAS 2002), Carleton Scientific (2002)
Huang, Y., Sloan, R.H., Wolfson, O.: Divergence caching in client-server architectures. In: Third International Conference on Parallel and Distributed Information Systems (PDIS 1994), Austin, TX, pp. 131–139. IEEE, Los Alamitos (1994)
Brügge, B., Vilsmeier, C.: Reducing CORBA call latency by caching and prefetching. IEEE Distributed Systems Online (2003)
Smith, B.C.: Procedural Reflection in Programming Languages. PhD thesis, Department of Electrical Engineering and Computer Science, MIT, Cambridge, Massachusetts, USA (1982)
Blair, G.S., Coulson, G., Robin, P., Papathomas, M.: An architecture for next generation middleware. In: International Conference on Distributed Systems Platforms and Open Distributed Processing, London, IFIP, Springer, Heidelberg (1998)
Truyen, E., Vanhaute, B., Joosen, W., Verbaeten, P., Jørgensen, B.N.: Dynamic and selective combination of extensions in component-based applications. In: International Conference on Software Engineering, pp. 233–242. IEEE, Los Alamitos (2001)
Aldrich, J., Sazawal, V., Chambers, C., Notkin, D.: Language support for connector abstractions. In: Cardelli, L. (ed.) ECOOP 2003. LNCS, vol. 2743. Springer, Heidelberg (2003)
Filman, R.E., Barrett, S., Lee, D.D., Linden, T.: Inserting ilities by controlling communications. Communications of the ACM 45, 116–122 (2002)
Kiczales, G., Lamping, J., Menhdhekar, A., Maeda, C., Lopes, C., Loingtier, J.M., Irwin, J.: Aspect-oriented programming. In: Aksit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol. 1241, pp. 220–242. Springer, Heidelberg (1997)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2003 IFIP International Federation for Information Processing
About this paper
Cite this paper
Pohl, C., Schill, A. (2003). Client-Side Component Caching. In: Stefani, JB., Demeure, I., Hagimont, D. (eds) Distributed Applications and Interoperable Systems. DAIS 2003. Lecture Notes in Computer Science, vol 2893. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-40010-3_13
Download citation
DOI: https://doi.org/10.1007/978-3-540-40010-3_13
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-20529-6
Online ISBN: 978-3-540-40010-3
eBook Packages: Springer Book Archive