skip to main content
article

Post-development software architecture

Published:01 September 2007Publication History
Skip Abstract Section

Abstract

Software architecture (SA) plays an important role in software development. Since the lifecycle stages post development become more and more important and face with many challenges similar to the development, it is a natural idea to introduce or extend SA into the stages post development. In this paper, we present our practices and experiences on applying software architecture into the deployment and maintenance of J2EE (Java 2 Platform Enterprise Edition) applications, including the tool and principles of SA-based J2EE deployment and SA-based J2EE online maintenance. It demonstrates that 1) SA can help to achieve a holistic, fine-grained and automated deployment of large-scale distributed systems by visualizing the structure of the system to be deployed; 2) SA can provide an understandable, operational and global view for online maintenance by organizing the fragmented and trivial management mechanisms; 3) Extending SA into the stages post development makes it possible that the whole lifecycle of a software system can be governed by SA with many benefits, e.g. consistency, traceability, responsiveness, etc.

References

  1. Blair, G. S., Coulson, G., Andersen, A., and etc. 2001. The Design and Implementation of Open ORB 2. IEEE Distributed Systems Online, 2(6). Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Bril, R. J., Feijs, L. M. G., Glas, A., Krikhaar, R. L. and Winter, R. M. 2000. Maintaining a legacy: towards support at the architectural level. Journal of Software Maintenance: Research And Practice, 12:143--170. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Cazzola, W., A. Savigni, Sosio, A. and Tisato, F. 1998. Architectural Reflection: Bridging the Gap Between a Running System and its Architectural Specification. 6th Reengineering Forum.Google ScholarGoogle Scholar
  4. Dearle, A., G. Kirby, A. McCarthy. A Framework for Constraint-Based Deployment and Autonomic Management of Distributed Applications. International Conference on Autonomic Computing, 2004, pp 300--301. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Dowling, J. and V. Cahill. The K-Component Architecture Meta-Model for Self-Adaptive Software. In Proceedings of Reflection 2001, LNCS 2192, pp. 81--88. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Garlan, D., Software Architecture: A Roadmap, The Future of Software Engineering 2000, Proceedings of 22nd International Conference on Software Engineering, ACM Press, 2000, 91--101. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Garlan, D., B. Schmerl, Using Architectural Models at Runtime: Research Challenges, European Workshop on Software Architectures, 2004, pp. 200--205.Google ScholarGoogle ScholarCross RefCross Ref
  8. Garlan, D., Schmerl, B. and Chang, J. C. Using Gauges for Architecture-Based Monitoring and Adaptation. The Working Conference on Complex and Dynamic Systems Architecture, Brisbane, Australia, 12--14 December, 2001.Google ScholarGoogle Scholar
  9. Huang, G., H. Mei, Q. X. Wang. Towards Software Architecture at Runtime. ACM SIGSOFT Software Engineering Notes, Vol. 28, No. 2, March 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Huang, G., Mei Hong, Yang Fuqing. Runtime Recovery and Manipulation of Software Architecture of Component-based Systems. Journal of Automated Software Engineering, Springer, Springer, Vol. 13 No. 2, 251--278, Feb. 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Huang, G., Meng Wang, Liya Ma, ling Lan, Tiancheng Liu, Hong Mei. Towards Architecture Model based Deployment for Dynamic Grid Services. In Proceedings of IEEE International Conference on E-Commerce Technology for Dynamic E-Business, 2004, pp. 14--21. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Huang, G., Tiancheng Liu, Hong Mei, Zizhan Zheng, Zhao Liu, Gang Fan. Towards Autonomic Computing Middleware via Reflection. In Proceedings of Annual International Computer Software and Application Conference (COMPSAC), 2004, pp. 122--127. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Kruchten, P. The 4+1 view model of architecture. IEEE Software, 1995, Vol. 12, No. 6, pp. 42--50. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Lan, L., Gang Huang, Liya Ma, Meng Wang, Hong Mei, Long Zhang, Ying Chen. Architecture based Deployment of Large-Scale Component based Systems: the Tool and Principles. Proceedings of 8th International SIGSOFT Symposium on Component-based Software Engineering (CBSE), LNCS 3489, 2005, pp. 123--138. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Llambiri, D., Alexander Totok, Vijay Karamcheti. Efficiently Distributing Component-Based Applications Across Wide-Area Environments. 23rd International Conference on Distributed Computing Systems (ICDCS 2003), pp. 412--421. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Medvidovic, N., Taylor R. A Classification and Comparison Framework for Software Architecture Description Languages, IEEE Transactions on Software Engineering, 2000, Vol. 26, No. 1: 70--93. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Mei, H. and G. Huang. PKUAS: An Architecture-based Reflective Component Operating Platform, invited paper, 10th IEEE International Workshop on Future Trends of Distributed Computing Systems, 2004, pp. 163--169. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Mei, H., Gang Huang, W. T. Tsai, Towards Self-Healing Systems via Dependable Architecture and Reflective Middleware. 10th IEEE International Workshop on Object-oriented Real-time Dependable Systems (WORDS 2005), Feb 2--4, 2005, Arizona. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Mei, H., F. Chen, Q. Wang and Y. Feng. ABC/ADL: An ADL Supporting Component Composition. 4th International Conference on Formal Engineering Methods (ICFEM 2002), pp. 38--47. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Moreira, R. S., G. S. Blair, E. Carrapatoso. A Reflective Component-Based & Architecture Aware Framework to Manage Architecture Composition. 3rd International Symposium on Distributed Objects and Applications (DOA 2001). pp. 187--196. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Object Management Group. Unified Modeling Language Specification, Version 1.5, formal, 2001.Google ScholarGoogle Scholar
  22. Okamura, H., Y. Ishikawa, and M. Tokoro. AL-1/D: A Distributed Programming System with Multi-Model Reflection Framework, Proc. Int'l Workshop on Reflection and Meta-level Architectures, Japan, 1992, pp. 36--47.Google ScholarGoogle Scholar
  23. Oreizy, P., N. Medvidovic, R. N. Taylor. Architecture-based runtime software evolution. 20th International Conference on Software Engineering, 1998, pp 177--186. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Perry D. and A. Wolf, Foundations for the Study of Software Architecture, ACM SIGSOFT Software Engineering Notes, 1992, 17(4): 40--52. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Rakic, M. M., S. Malek, N. Beckman and N. Medvidovic, A Tailorable Environment for Assessing the Quality of Deployment Architectures in Highly Distributed Settings, 2nd International Working Conference on Component Deployment, Edinburgh, UK, 2004.Google ScholarGoogle ScholarCross RefCross Ref
  26. Rosenblum, D. S. and Natarajan, R. 2000. Supporting Architectural Concerns in Component Interoperability Standards, IEE Proceedings - Software, 147(6):215--223.Google ScholarGoogle ScholarCross RefCross Ref
  27. Shaw, M., D. Garlan, Software Architecture: Perspectives on an Emerging Discipline, Prentice Hall, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Soley, R. and the OMG Staff Strategy Group, Model Driven Architecture: OMG White Paper, Draft 3.2, http://www.omg.org/mda, Nov 27th, 2000.Google ScholarGoogle Scholar
  29. SUN Microsystems, Enterprise JavaBeans Specification, Version 2.0, Final Release, 2001.Google ScholarGoogle Scholar
  30. SUN Microsystems, Java 2 Platform Enterprise Edition Specification, Version 1.3, 2001.Google ScholarGoogle Scholar
  31. Tu, Q. and M. W. Godfrey, The Build-Time Software Architecture View, IEEE International Conference on Software Maintenance (ICSM 2001), pp. 398--407. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Van Deursen, A. Software Architecture Recovery and Modeling: {WCRE 2001 discussion forum report}. ACM SIGAPP Applied Computing Review, 2002, 10(1): 4--7. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Zhu, Y., Gang Huang, Hong Mei, Modeling Diverse and Complex Interactions Enabled by Middleware as Connectors in Software Architectures. Accepted by the 10th IEEE International Conference on the Engineering of Complex Computer Systems (ICECCS), Shanghai, China, 16--20 June 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. Zhu, Y., Gang Huang, Hong Mei, Quality Attribute Scenario Based Architectural Modeling for Self-Adaptation Supported by Architecture-based Reflective Middleware, In Proceedings of 11th Asia Pacific Software Engineering Conference (APSEC), 2004, pp. 2--9. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Post-development software architecture

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in

      Full Access

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader