Abstract
Based on a vision that, in the future, applications will be flexibly built out of small-grained components, we argue that current technologies do not adequately support component deployment in such a setting. Specifically, current technologies realize deployment processes where most decisions are made by the application manufacturer. When using small-grained components, however, the component user needs to have more control over the deployment process; user-centric deployment is needed. In this paper, we describe our initial efforts at providing user-centric deployment. We present JPloy, a prototypical tool that gives a user more control about the configuration of installed Java components. JPloy extends the Java class loader so that custom configurations can be applied to existing components, without having to modify the components themselves. For example, name space or versioning conflicts among components can be elegantly resolved in this way. We demonstrate JPloy by applying it to an example application.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Argo/UML, http://argouml.tigris.org/
Eclipse.org, http://www.eclipse.org/
Java 2 Platform, Standard Edition, v 1.4.0 API Specification (2002), http://java.sun.com/j2se/1.4/docs/api/index.html
Open Services Gateway Initiative, http://www.osgi.org/
RPM Package Manager, http://www.rpm.org/
Box, D.: Essential.NET. Addison-Wesley, Boston (2002)
Corwin, J., Bacon, D.F., Grove, D., Murthy, C.: MJ: A Rational Module System for Java and its Applications. In: OOPSLA 2003: 18th Conference on Object-Oriented Programming, Systems, Languages, and Applications, pp. 241–253. ACM, New York (2003)
Dashofy, E.M., van der Hoek, A., Taylor, R.N.: An Infrastructure for the Rapid Development of XML-Based Architecture Description Languages. In: Proceedings of the ICSE 2002 International Conference on Software Engineering, ACM, New York (2002)
Dolstra, E., Visser, E., Jonge, M.d.: Imposing a Memory Management Discipline on Software Deployment. In: International Conference on Software Engineering, ICSE (2004)
Hall, R.S., Cervantes, H.: An OSGi Implementation and Experience Report. In: 2004 IEEE Consumer Communication and Networking Conference (2004)
Hall, R.S., Heimbigner, D., Wolf, A.L.: A Cooperative Approach to Support Software Deployment Using the Software Dock. In: Proc. 1999 International Conference on Software Engineering, pp. 174–183. ACM, New York (1999)
Hnetynka, P., Tuma, P.: Fighting Class Name Clashes in Java Component Systems. In: Böszörményi, L., Schojer, P. (eds.) JMLC 2003. LNCS, vol. 2789, pp. 106–109. Springer, Heidelberg (2003)
van der Hoek, A., Hall, R.S., Heimbigner, D., Wolf, A.L.: Software Release Management. In: Proceedings of the Sixth European Software Engineering Conference, pp. 159–175. Springer, Berlin (1997)
Liang, S., Bracha, G.: Dynamic Class Loading in the Java Virtual Machine. Sigplan Notices 33(10), 36–44 (1998)
Lüer, C., van der Hoek, A.: Composition Environments for Deployable Software Components, Technical Report UCI-ICS-02-18, Dept. of Information and Computer Science, University of California, Irvine (2002)
Lüer, C., Hoek, A.v.d.: Architecture-Based Program Compaction. In: First Workshop on Reuse in Constrained Environments (RICE 2003) at OOPSLA 2003, Anaheim, California (2003)
Lüer, C., Rosenblum, D.S.: Wren—An Environment for Component-Based Development. Software Engineering Notes 26(5), 207–217 (2001)
McDirmid, S., Flatt, M., Hsieh, W.C.: Jiazzi: New-Age Components for Old-Fashioned Java. In: Proceedings of the ACM Conference on Object-Oriented Programming, Systems, Languages, and Applications (2001)
Medvidovic, N., Oreizy, P., Taylor, R.N., Khare, R., Guntersdorfer, M.: An Architecture-Centered Approach to Software Environment Integration, Technical Report UCI-ICS-00-11, University of California, Irvine, Irvine (2000)
Meijer, E., Szyperski, C.: Overcoming Independent Extensibility Challenges. Communications of the ACM 45(10), 41–44 (2002)
Notkin, D., Garlan, D., Griswold, W.G., Sullivan, K.: Adding Implicit Invocation to Languages: Three Approaches. In: Nishio, S., Yonezawa, A. (eds.) Object Technologies for Advanced Software, pp. 489–510. Springer, Berlin (1993)
van Ommering, R., van der Linden, F., Kramer, J., Magee, J.: The Koala Component Model for Consumer Electronics Software. Computer 33(3), 78–85 (2000)
Ossher, H., Tarr, P.: Hyper/J: Multi-Dimensional Separation of Concerns for Java. In: Proc. of the International Conference on Software Engineering (ICSE) 2000, pp. 734–737. ACM, New York (2000)
Rutherford, M.J., Anderson, K., Carzaniga, A., Heimbigner, D., Wolf, A.L.: Reconfiguration in the Enterprise Java Beans Component Model. In: Component Deployment: IFIP/ACM Working Conference, pp. 67–81. Springer, Berlin (2002)
Shaw, M., Garlan, D.: Software Architecture. Prentice Hall, Upper Saddle River (1996)
Szyperski, C., Gruntz, D., Murer, S.: Component Software. Pearson Education, London (2002)
Yellin, F., Lindholm, T.: The Java Virtual Machine Specification. Addison Wesley, Reading (1998)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2004 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Lüer, C., van der Hoek, A. (2004). JPloy: User-Centric Deployment Support in a Component Platform. In: Emmerich, W., Wolf, A.L. (eds) Component Deployment. CD 2004. Lecture Notes in Computer Science, vol 3083. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-24848-4_13
Download citation
DOI: https://doi.org/10.1007/978-3-540-24848-4_13
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-22059-6
Online ISBN: 978-3-540-24848-4
eBook Packages: Springer Book Archive