Summary
Software deployment comprises activities for placing an already developed application into its operational environment and making it ready for use. For complex component-based applications that constitute many heterogeneous components with various hardware and software requirements, this deployment process can become one of the most burning challenges. In this situation, it is difficult to manually identify a valid deployment configuration that satisfies all constraints. Thus, automated tools and techniques are required to do the complex process of software deployment. To address this requirement, a variety of tools and techniques that support different activities of the deployment process have been introduced in both industry and academia. This paper aims to provide an overview of these tools and techniques.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Heimbigner, D., Hall, R.S., Wolf, A.L.: A framework for analyzing configurations of deployable software systems. In: ICECCS (1999)
Crnkovic, I., Hnich, B., Jonsson, T., Kiziltan, Z.: Specification, implementation, and deployment of components. Commun. ACM 45(10), 35–40 (2002)
Szyperski, C.: Component Software - Beyond Object-Oriented Programming. Addison-Wesley, Reading (1999)
Mikic-Rakic, M., Medvidovic, N.: Architecture-level support for software component deployment in resource constrained environments. In: Bishop, J.M. (ed.) CD 2002. LNCS, vol. 2370. Springer, Heidelberg (2002)
Deployment and configuration of component-based distributed applications specification, http://www.omg.org/docs/ptc/04-05-15.pdf
Heydarnoori, A.: Caspian: A QoS-aware deployment approach for channel-based component-based applications. Technical Report CS-2006-39, David R. Cheriton School of Computer Science, University of Waterloo (2006)
Liu, Y.D., Smith, S.F.: A formal framework for component deployment. In: OOPSLA (2006)
OSGi Alliance, http://www.osgi.org/
Carzaniga, A., Fuggetta, A., Hall, R.S., Hoek, A.V.D., Heimbigner, D., Wolf, A.L.: A characterization framework for software deployment technologies, Technical Report CU-CS-857-98, Dept. of Computer Science, University of Colorado (1998)
Hnetynka, P., Murphy, J.: Deployment of Java-based components in embedded environment. In: IADIS Applied Computing (2007)
Coupaye, T., Estublier, J.: Foundations of enterprise software deployment. In: CSMR (2000)
InstallShield Developer, http://www.installshield.com/isd/
Zero G Software deployment and lifecycle management solutions, http://www.zerog.com/
Setup factory, http://www.indigorose.com/suf/
RPM package manager, http://www.rpm.org/
Yum: Yellow dog updater, http://linux.duke.edu/projects/yum/
Package maintenance system for Debian, http://packages.debian.org/dpkg/
Java web start technology, http://java.sun.com/products/javawebstart
Microsoft windows update, http://update.microsoft.com
ClickOnce: Deploy and update your smart client projects using a central server, http://msdn.microsoft.com/msdnmag/issues/04/05/clickonce/
Systems management server home, http://www.microsoft.com/smserver/
IBM Tivoli software, http://www.tivoli.com/
Altiris deployment solution, http://www.altiris.com/
Citrix, http://www.citrix.com/
PowerTCP, http://www.dart.com/powertcp/
Secure shell (SSH), http://www.ssh.com/
TIBCO Rendezvous, http://www.tibco.com/software/messaging/
IBM Gryphon, http://www.research.ibm.com/distributedmessaging/
Java message service (JMS), http://java.sun.com/products/jms/
Deng, G., Balasubramanian, J., Otte, W., Schmidt, D., Gokhale, A.: DAnCE: A QoS-enabled component deployment and configuration engine. In: Dearle, A., Eisenbach, S. (eds.) CD 2005. LNCS, vol. 3798. Springer, Heidelberg (2005)
Mikic-Rakic, M., Malek, S., Medvidovic, N.: Improving availability in large, distributed component-based systems via redeployment. In: Dearle, A., Eisenbach, S. (eds.) CD 2005. LNCS, vol. 3798. Springer, Heidelberg (2005)
Wichadakul, D., Nahrstedt, K.: A translation system for enabling flexible and efficient deplyoment of QoS-aware applications in ubiquitous environments. In: Bishop, J.M. (ed.) CD 2002. LNCS, vol. 2370. Springer, Heidelberg (2002)
Heydarnoori, A., Mavaddat, F.: Reliable deployment of component-based applications into distributed environments. In: ITNG (2006)
Heydarnoori, A., Mavaddat, F., Arbab, F.: Deploying loosely coupled, component-based applications into distributed environments. In: ECBS (2006)
Balter, R., Bellissard, L., Boyer, F., Riveill, M., Vion-Dury, J.Y.: Architecturing and configuring distributed application with Olan. In: Middleware (1998)
Quema, V., Cecchet, E.: The role of software architecture in configuring middleware: The ScalAgent experience. In: Papatriantafilou, M., Hunel, P. (eds.) OPODIS 2003. LNCS, vol. 3144. Springer, Heidelberg (2004)
Quema, V., et al.: Asynchronous, Hierarchical, and scalable deployment of component-based applications. In: Emmerich, W., Wolf, A.L. (eds.) CD 2004. LNCS, vol. 3083. Springer, Heidelberg (2004)
Matevska-Meyer, J., Hasselbring, W., Reussner, R.H.: Software architecture description supporting component deployment and system runtime reconfiguration. In: WCOP (2004)
OMG model driven architecture, http://www.omg.org/mda/
Hnetynka, P.: A model-driven environment for component deployment. In: SERA (2005)
Hoffmann, A., Neubauer, B.: Deployment and configuration of distributed systems. In: Amyot, D., Williams, A.W. (eds.) SAM 2004. LNCS, vol. 3319. Springer, Heidelberg (2005)
Belkhatir, N., Cunin, P., Lestideau, V., Sali, H.: An OO framework for configuration of deployable large component based software products. In: OOPSLA ECOOSE Workshop (2001)
Jansen, S., Brinkkemper, S.: Modelling deployment using feature descriptions and state models for component-based software product families. In: Dearle, A., Eisenbach, S. (eds.) CD 2005. LNCS, vol. 3798. Springer, Heidelberg (2005)
Bulej, L., Bures, T.: Using connectors for deployment of heterogeneous applications in the context of OMG D&C Specification. In: INTEROP-ESA (2005)
Rus, D., Gray, R., Kotz, D.: Transportable information agents. In: AAMAS (1997)
Hall, R.S., Heimbigner, D., Wolf, A.L.: A cooperative approach to support software deployment using the software dock. In: ICSE (1999)
Sudmann, N.P., Johansen, D.: Software deployment using mobile agents. In: Bishop, J.M. (ed.) CD 2002. LNCS, vol. 2370. Springer, Heidelberg (2002)
Lacour, S., Perez, C., Priol, T.: A software architecture for automatic deployment of CORBA components using grid technologies. In: DECOR (2004a)
Lacour, S., Perez, C., Priol, T.: Deploying CORBA components on a computational grid: General principles and early experiments using the Globus Toolkit. In: Emmerich, W., Wolf, A.L. (eds.) CD 2004. LNCS, vol. 3083. Springer, Heidelberg (2004)
Lestideau, V., Belkhatir, N.: Providing highly automated and generic means for software deployment process. In: Oquendo, F. (ed.) EWSPT 2003. LNCS, vol. 2786. Springer, Heidelberg (2003)
Brebner, P., Emmerich, W.: Deployment of infrastructure and services in the open grid services architecture (OGSA). In: Dearle, A., Eisenbach, S. (eds.) CD 2005. LNCS, vol. 3798. Springer, Heidelberg (2005)
Murch, R.: Autonomic Computing. Prentice-Hall, Englewood Cliffs (2004)
Hillman, J., Warren, I.: An open framework for dynamic reconfiguration. In: ICSE (2004)
Chatley, R., Eisenbach, S., Magee, J.: Magicbeans: A platform for deploying plugin components. In: Emmerich, W., Wolf, A.L. (eds.) CD 2004. LNCS, vol. 3083. Springer, Heidelberg (2004)
Patouni, E., Alonistioti, N.: A framework for the deployment of self-managing and self-configuring components in autonomic environments. In: WoWMoM (2006)
Akkerman, A., Totok, A., Karamcheti, V.: Infrastructure for automatic dynamic deployment of J2EE applications in distributed environments. In: Dearle, A., Eisenbach, S. (eds.) CD 2005. LNCS, vol. 3798. Springer, Heidelberg (2005)
Cervantes, H., Hall, R.S.: Autonomous adaptation to dynamic availability using a service-oriented component model. In: ICSE (2004)
Hicks, M.W., Moore, J.T., Nettles, S.: Dynamic software updating. In: PLDI (2001)
Liu, H., Parashar, M.: A component-based programming framework for autonomic applications. In: ICAC (2004)
Mitchell, S.R.: Dynamic Configuration of Distributed Multimedia Components. PhD thesis, University of London (2000)
Paula, J., Almeida, A., Wegdam, M., Sinderen, M.V., Nieuwenhuis, L.: Transparent dynamic reconfiguration for CORBA. In: DOA (2001)
Kichkaylo, T., Karamcheti, V.: Optimal resource-aware deployment planning for component-based distributed applications. In: HPDC (2004)
Kichkaylo, V., Ivan, A., Karamcheti, V.: Constrained component deployment in wide-area networks using AI planning techniques. In: IPDPS (2003)
Fu, X., Karamcheti, V.: Planning for network-aware paths. In: Stefani, J.-B., Demeure, I., Hagimont, D. (eds.) DAIS 2003. LNCS, vol. 2893. Springer, Heidelberg (2003)
Blythe, J., Deelman, E., Gil, Y., Kesselman, C., Agarwal, A., Mehta, G., Vahi, K.: The role of planning in grid computing. In: ICAPS (2003)
Gribble, S., et al.: The Ninja architecture for robust internet-scale systems and services. Computer Networks 35(4), 473–497 (2001)
Reiher, P., Guy, R., Yavis, M., Rudenko, A.: Automated planning for open architectures. In: OpenArch (2000)
Parrish, A., Dixon, B., Cordes, D.: A conceptual foundation for component-based software deployment. The Journal of Systems and Software 57(3), 193–200 (2001)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2008 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Heydarnoori, A. (2008). Deploying Component–Based Applications: Tools and Techniques. In: Lee, R. (eds) Software Engineering Research, Management and Applications. Studies in Computational Intelligence, vol 150. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-70561-1_3
Download citation
DOI: https://doi.org/10.1007/978-3-540-70561-1_3
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-70774-5
Online ISBN: 978-3-540-70561-1
eBook Packages: EngineeringEngineering (R0)