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.
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- Garlan, D., B. Schmerl, Using Architectural Models at Runtime: Research Challenges, European Workshop on Software Architectures, 2004, pp. 200--205.Google ScholarCross Ref
- 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 Scholar
- Huang, G., H. Mei, Q. X. Wang. Towards Software Architecture at Runtime. ACM SIGSOFT Software Engineering Notes, Vol. 28, No. 2, March 2003. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- Kruchten, P. The 4+1 view model of architecture. IEEE Software, 1995, Vol. 12, No. 6, pp. 42--50. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- Object Management Group. Unified Modeling Language Specification, Version 1.5, formal, 2001.Google Scholar
- 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 Scholar
- Oreizy, P., N. Medvidovic, R. N. Taylor. Architecture-based runtime software evolution. 20th International Conference on Software Engineering, 1998, pp 177--186. Google ScholarDigital Library
- Perry D. and A. Wolf, Foundations for the Study of Software Architecture, ACM SIGSOFT Software Engineering Notes, 1992, 17(4): 40--52. Google ScholarDigital Library
- 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 ScholarCross Ref
- Rosenblum, D. S. and Natarajan, R. 2000. Supporting Architectural Concerns in Component Interoperability Standards, IEE Proceedings - Software, 147(6):215--223.Google ScholarCross Ref
- Shaw, M., D. Garlan, Software Architecture: Perspectives on an Emerging Discipline, Prentice Hall, 1996. Google ScholarDigital Library
- 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 Scholar
- SUN Microsystems, Enterprise JavaBeans Specification, Version 2.0, Final Release, 2001.Google Scholar
- SUN Microsystems, Java 2 Platform Enterprise Edition Specification, Version 1.3, 2001.Google Scholar
- Tu, Q. and M. W. Godfrey, The Build-Time Software Architecture View, IEEE International Conference on Software Maintenance (ICSM 2001), pp. 398--407. Google ScholarDigital Library
- Van Deursen, A. Software Architecture Recovery and Modeling: {WCRE 2001 discussion forum report}. ACM SIGAPP Applied Computing Review, 2002, 10(1): 4--7. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
Index Terms
- Post-development software architecture
Recommendations
Software Architecture-Centric Methods and Agile Development
Including architecture-centric design and analysis methods in the Extreme Programming framework can help software developers address quality attributes in an explicit, methodical, engineering-principled way. Properly managed, architecture-centric ...
Software architecture and agile software development: a clash of two cultures?
ICSE '10: Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 2Software architecture is taking a bad rap with the agilists---proponents of agile and lean software development approaches: "BUFD big up-front design", "YAGNI You Ain't Gonna Need It", "massive documentation", "smells of waterfall", it is pictured as a ...
Software architecture design in global software development: An empirical study
Highlights- A holistic view of architecting in GSD, combining recommendations from both literature and this empirical study.
AbstractIn Global Software Development (GSD), the additional complexity caused by global distance requires processes to ease collaboration difficulties, reduce communication overhead, and improve control. How development tasks are broken down, ...
Comments