Skip to main content

Deploying Component–Based Applications: Tools and Techniques

  • Chapter
Software Engineering Research, Management and Applications

Part of the book series: Studies in Computational Intelligence ((SCI,volume 150))

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 109.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Heimbigner, D., Hall, R.S., Wolf, A.L.: A framework for analyzing configurations of deployable software systems. In: ICECCS (1999)

    Google Scholar 

  2. Crnkovic, I., Hnich, B., Jonsson, T., Kiziltan, Z.: Specification, implementation, and deployment of components. Commun. ACM 45(10), 35–40 (2002)

    Article  Google Scholar 

  3. Szyperski, C.: Component Software - Beyond Object-Oriented Programming. Addison-Wesley, Reading (1999)

    Google Scholar 

  4. 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)

    Chapter  Google Scholar 

  5. Deployment and configuration of component-based distributed applications specification, http://www.omg.org/docs/ptc/04-05-15.pdf

  6. 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)

    Google Scholar 

  7. Liu, Y.D., Smith, S.F.: A formal framework for component deployment. In: OOPSLA (2006)

    Google Scholar 

  8. OSGi Alliance, http://www.osgi.org/

  9. 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)

    Google Scholar 

  10. Hnetynka, P., Murphy, J.: Deployment of Java-based components in embedded environment. In: IADIS Applied Computing (2007)

    Google Scholar 

  11. Coupaye, T., Estublier, J.: Foundations of enterprise software deployment. In: CSMR (2000)

    Google Scholar 

  12. InstallShield Developer, http://www.installshield.com/isd/

  13. Zero G Software deployment and lifecycle management solutions, http://www.zerog.com/

  14. Setup factory, http://www.indigorose.com/suf/

  15. RPM package manager, http://www.rpm.org/

  16. Yum: Yellow dog updater, http://linux.duke.edu/projects/yum/

  17. Package maintenance system for Debian, http://packages.debian.org/dpkg/

  18. Java web start technology, http://java.sun.com/products/javawebstart

  19. Microsoft windows update, http://update.microsoft.com

  20. ClickOnce: Deploy and update your smart client projects using a central server, http://msdn.microsoft.com/msdnmag/issues/04/05/clickonce/

  21. Systems management server home, http://www.microsoft.com/smserver/

  22. IBM Tivoli software, http://www.tivoli.com/

  23. Altiris deployment solution, http://www.altiris.com/

  24. Citrix, http://www.citrix.com/

  25. PowerTCP, http://www.dart.com/powertcp/

  26. Secure shell (SSH), http://www.ssh.com/

  27. TIBCO Rendezvous, http://www.tibco.com/software/messaging/

  28. IBM Gryphon, http://www.research.ibm.com/distributedmessaging/

  29. Java message service (JMS), http://java.sun.com/products/jms/

  30. 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)

    Chapter  Google Scholar 

  31. 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)

    Chapter  Google Scholar 

  32. 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)

    Chapter  Google Scholar 

  33. Heydarnoori, A., Mavaddat, F.: Reliable deployment of component-based applications into distributed environments. In: ITNG (2006)

    Google Scholar 

  34. Heydarnoori, A., Mavaddat, F., Arbab, F.: Deploying loosely coupled, component-based applications into distributed environments. In: ECBS (2006)

    Google Scholar 

  35. Balter, R., Bellissard, L., Boyer, F., Riveill, M., Vion-Dury, J.Y.: Architecturing and configuring distributed application with Olan. In: Middleware (1998)

    Google Scholar 

  36. 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)

    Google Scholar 

  37. 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)

    Google Scholar 

  38. Matevska-Meyer, J., Hasselbring, W., Reussner, R.H.: Software architecture description supporting component deployment and system runtime reconfiguration. In: WCOP (2004)

    Google Scholar 

  39. OMG model driven architecture, http://www.omg.org/mda/

  40. Hnetynka, P.: A model-driven environment for component deployment. In: SERA (2005)

    Google Scholar 

  41. 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)

    Google Scholar 

  42. 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)

    Google Scholar 

  43. 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)

    Chapter  Google Scholar 

  44. Bulej, L., Bures, T.: Using connectors for deployment of heterogeneous applications in the context of OMG D&C Specification. In: INTEROP-ESA (2005)

    Google Scholar 

  45. Rus, D., Gray, R., Kotz, D.: Transportable information agents. In: AAMAS (1997)

    Google Scholar 

  46. Hall, R.S., Heimbigner, D., Wolf, A.L.: A cooperative approach to support software deployment using the software dock. In: ICSE (1999)

    Google Scholar 

  47. Sudmann, N.P., Johansen, D.: Software deployment using mobile agents. In: Bishop, J.M. (ed.) CD 2002. LNCS, vol. 2370. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  48. Lacour, S., Perez, C., Priol, T.: A software architecture for automatic deployment of CORBA components using grid technologies. In: DECOR (2004a)

    Google Scholar 

  49. 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)

    Google Scholar 

  50. 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)

    Google Scholar 

  51. 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)

    Chapter  Google Scholar 

  52. Murch, R.: Autonomic Computing. Prentice-Hall, Englewood Cliffs (2004)

    Google Scholar 

  53. Hillman, J., Warren, I.: An open framework for dynamic reconfiguration. In: ICSE (2004)

    Google Scholar 

  54. 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)

    Google Scholar 

  55. Patouni, E., Alonistioti, N.: A framework for the deployment of self-managing and self-configuring components in autonomic environments. In: WoWMoM (2006)

    Google Scholar 

  56. 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)

    Chapter  Google Scholar 

  57. Cervantes, H., Hall, R.S.: Autonomous adaptation to dynamic availability using a service-oriented component model. In: ICSE (2004)

    Google Scholar 

  58. Hicks, M.W., Moore, J.T., Nettles, S.: Dynamic software updating. In: PLDI (2001)

    Google Scholar 

  59. Liu, H., Parashar, M.: A component-based programming framework for autonomic applications. In: ICAC (2004)

    Google Scholar 

  60. Mitchell, S.R.: Dynamic Configuration of Distributed Multimedia Components. PhD thesis, University of London (2000)

    Google Scholar 

  61. Paula, J., Almeida, A., Wegdam, M., Sinderen, M.V., Nieuwenhuis, L.: Transparent dynamic reconfiguration for CORBA. In: DOA (2001)

    Google Scholar 

  62. Kichkaylo, T., Karamcheti, V.: Optimal resource-aware deployment planning for component-based distributed applications. In: HPDC (2004)

    Google Scholar 

  63. Kichkaylo, V., Ivan, A., Karamcheti, V.: Constrained component deployment in wide-area networks using AI planning techniques. In: IPDPS (2003)

    Google Scholar 

  64. 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)

    Google Scholar 

  65. Blythe, J., Deelman, E., Gil, Y., Kesselman, C., Agarwal, A., Mehta, G., Vahi, K.: The role of planning in grid computing. In: ICAPS (2003)

    Google Scholar 

  66. Gribble, S., et al.: The Ninja architecture for robust internet-scale systems and services. Computer Networks 35(4), 473–497 (2001)

    Article  Google Scholar 

  67. Reiher, P., Guy, R., Yavis, M., Rudenko, A.: Automated planning for open architectures. In: OpenArch (2000)

    Google Scholar 

  68. 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)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics