Abstract
Java applications are composed of classes which are usually grouped and deployed using Java Archives. When an application is started, the hosting Java Virtual Machine (JVM) obtains the required classes one by one as they are needed from these archives. For this purpose, the JVM locates the related byte code by taking the names of the class and its package and evaluating the environment setting CLASSPATH. This works well as long as there is only one byte code matching the given class name, but it is not feasible when the byte code has to be selected among several classes with the same class name using properties such as version numbers or manufacturers. In this paper, we introduce so called Java Class Collections which enable the logical grouping of classes separately from their physical deployment within Java Archives and allow tagging them with supplementary properties used to select the right byte code. We illustrate the application of our approach for multi-application hosting and in remotely composable application systems.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Lindholm, T., Yellin, F. The Java Virtual Machine Specification. Addison-Wesley. 1999.
Venners, B. Inside The Java 2 Virtual Machine. McGraw-Hill. 1999.
Eckel, B. Thinking in Java. Prentice Hall. 2000.
Liang, S., Bracha, G. Dynamic Class Loading In The Java Virtual Machine. Proc. of the Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA). Canada. 1998. pp. 36–44.
Ziegler, C., Langham, M. Cocoon: Building XML Applications. New Riders. 2002.
Shannon, B., Hapner, M., Matena, V., Davidson, J., Pelegri-Llopart, E., Cable, L. Java 2 Platform Enterprise Edition: Platform and Component Specification. The Java Series, Addison Wesley, Reading, MA, USA, 2000.
Watson, M. Sun ONE Services (Professional Mindware). Hungry Minds. 2002.
Hayton, R., Herbert, A. FlexiNet: A Flexible, Component-Oriented Middleware System. Advances in Distributed Systems. LNCS 1752. Springer-Verlag 2000. pp. 497–508.
Kurzyniec, D., Sunderam, V. Flexible Class Loader Framework: Sharing Java Resources in Harness System. Proc. of International Conference on Computational Science (ICCS). LNCS 2073. Springer-Verlag 2001. pp. 375–384.
Rajagopalan, S., Rajamani, R., Krishnaswamy, R., Vijendran, S. Java Servlet Programming Bible. John Wiley & Sons. 2002.
Jung, E., Cioroianu, A., Writz, D., Akif, M., Brodhead, S., Hart, J. Java XML Programmer’s Reference. Wrox Press Inc. 2001.
Farley, J. Microsoft.NET vs J2EE: How do they stack up. O’Reilly. 2001.
Beer, W., Birngruber, D., Mössenböck, H., Wöß, A. Die.NET Technologie-Grundlagen und Anwendungsprogrammierung. dpunkt Verlag 2002.
Paal, S., Kammüller, R., Freisleben, B. Multi-Application Hosting Using Class Spaces. In: Proceedings of the 2nd International Conference on Internet Computing (IC 2002). Las Vegas, USA. CSREA Press, 2002. pp. 259–266.
Maassen, J., Van Nieuwpoort, R., Veldema, R., Bal, H., Kielmann, T., Jacobs, C., Hofman, R. Efficient Java RMI for Parallel Programming. ACM Transactions on Programming Languages and Systems (TOPLAS). Vol. 23, Nr. 6. ACM 2001. pp. 747–775.
Orfali, R., Harkey, D. Client/Server Programming with Java and Corba. John Wiley & Sons, Inc. 1998.
Marvic, R., Merle, P., Geib, J.-M. Towards a Dynamic CORBA Component Platform. Proc. of 2nd International Symposium on Distributed Objects and Applications (DOA). Antwerpen, Belgium. IEEE 2000. pp. 305–314.
Fleischmann, M., Strauss, W., Novak, J., Paal, S., Müller, B., Blome, G., Peranovic, P., Seibert, C. netzspannung.org-An Internet Media Lab for Knowledge Discovery in Mixed Realities. In Proc. of 1st Conference on Artistic, Cultural and Scientific Aspects of Experimental Media Spaces (CAST01). St. Augustin, Germany. 2001. pp. 121–129.
AWAKE-Networked Awareness for Knowledge Discovery. 2002. http://awake.imk.fraunhofer.de
Goodwill, J. Apache Jakarta Tomcat. APress. 2001.
Lewandowski, S. M. Frameworks for Component-based Client/Server Computing. ACM Computing Surveys. Vol. 30, Nr. 1. ACM 1998. pp. 3–27.
Little, M. C., Wheater, S. M. Building Configurable Applications in Java. Proc. of the 4 th International Conference on Configurable Distributed Systems. Annapolis, Maryland. 1998. pp. 172–179.
Fleischmann, M., Strauss, W. Communication of Art and Technology (CAT). IMK/MARS, GMD St. Augustin. http://imk.gmd.de/images/mars/files/Band_1_download.pdf
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2003 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Paal, S., Kammüller, R., Freisleben, B. (2003). Java Class Deployment Using Class Collections. In: Aksit, M., Mezini, M., Unland, R. (eds) Objects, Components, Architectures, Services, and Applications for a Networked World. NODe 2002. Lecture Notes in Computer Science, vol 2591. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-36557-5_12
Download citation
DOI: https://doi.org/10.1007/3-540-36557-5_12
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-00737-1
Online ISBN: 978-3-540-36557-0
eBook Packages: Springer Book Archive