Overview of IBM Rational Software Architect James Martin
Overview of IBM Rational Software Architect James Martin Cp. E 691 -Software Systems Architecture Spring 2010 January 28, 2010
Disclaimer! Publicly available documentation for the current version is scarce Most of the references are 1 or 2 versions old I haven't “used” the product yet, but I am very familiar with Eclipse 2
Outline Overview Foundations Typical Uses Tools, Capabilities, Roles Rational Unified Process Examples References 3
Overview End-to-end software product development solution Helps to specify and maintain all aspects of application architecture via UML models [1] Generates code based on architectural design [2] Allows for further development and eventual deployment Extensible API [3] 4
Foundations Commercial product built using open -source components Built on top of Eclipse workbench[4] UML modeling via EMF [5] Visualization and graphics via GMF [6] and GEF [7] IBM is a major committer for the OS components 5
Typical Uses [8] (1)Documenting, learning and viewing existing designs/applications (2)Creating new designs (with re-use of previous designs) and turning them into implementations (3)Forward engineering 6
Typical Uses (1) Documenting, learning and viewing existing designs/applications Most common use for modeling tools Serves as an introduction for developers 7
Typical Uses (2) Creating new designs (with re-use of previous designs) and turning them into implementations Iterative process Create initial design Add to the model, generate implementation, rinse and repeat 8
Typical Uses (3) Forward engineering True model-driven development The model is the “code” Implementation is derived from model Implementation is merely an artifact of the model 9
Tools, Capabilities, Roles [9] Tasks are accomplished via tools Tools are grouped into logical sets of capabilities Different roles enable/disable the visibility of capabilities Manages complexity and reduces clutter Not all stakeholders need access to everything tool 10
Default Roles Advanced J 2 EE: Enables support for developing typical Web applications, enterprise Java™ applications, and Web services C/C++ Developer: Enables support for developing C and C++ applications Database Developer: Enables support for developing advanced database applications Eclipse Developer: Enables support for developing Eclipse plug-ins Enterprise Java Developer: Enables support for developing enterprise applications, Enterprise Java. Beans™ and Application clients Java Developer: Enables support for developing typical Java applications Modeler: Enables support for application design using UML; this role is enabled by default 11
Default Roles (2) Requirement Management: Enables the Rational® Requisite. Pro® integration and the associated requirements management capabilities Reusable Asset Management: Enables the importing and exporting of reusable modeling assets, such as design patterns, packaged according to the Reusable Asset Specification Team: Enables the use of the supported source-code management systems, such as CVS and Clear. Case Tester: Enables support for improving performance and identifying problems in your applications Web Developer (advanced): Enables support for developing typical Web applications and adds support for Struts development, Web services development, and database access 12
Default Roles (3) Web Developer (typical): Enables support for developing basic, J 2 EE-compliant Web applications Web Service Developer: Enables support for developing and consuming Web Services XML Developer: Enables support for building and incorporating XML applications, including DTDs, XSLTs, and XML schemas 13
Rational Unified Process (RUP) Development occurs in four phases. . . Inception Elaboration Construction Transition While following six best practices Develop iteratively Manage requirements Use components Model visually Verify quality Control changes 14
Rational Unified Process (RUP) Advocated by IBM Enabled by Rational Software Architect 15
Example – Class Diagram [10] 16
Example – ERD Diagram [11] 17
Example – EJB Inheritance Diagram [10] 18
Example – Mixing UML and Java Elements [10] 19
Example – Multi-model Diagram [10] 20
References 1. "Introduction to Rational Software Architect. " IBM Web. Sphere Help System. 2005. IBM, Web. 27 Jan 2010. http: //publib. boulder. ibm. com/infocenter/rtnlhelp/v 6 r 0 m 0/topic/com. ibm. rsa. nav. doc/topics/cr ootintro_rsa. html. 2. "Rational Software Architect Product Overview. " IBM Web. Sphere Help System. 2005. IBM, Web. 27 Jan 2010. http: //publib. boulder. ibm. com/infocenter/rtnlhelp/v 6 r 0 m 0/topic/com. ibm. xtools. prodover. doc/t opics/cprodovw_home. html. 3. S. Liu, Y. Zheng, H. Shen, S. Xia, C. Sun, Real-time collaborative software modeling using UML with rational software architect, in: Proceedings of the IEEE International Conference on Collaborative Computing: Networking, Applications and Worksharing, November 2006. 4. Eclipse. http: //www. eclipse. org/ 5. Eclipse Modeling Framework Project. http: //www. eclipse. org/modeling/emf/ 6. Eclipse Graphical Modeling Framework. http: //www. eclipse. org/modeling/gmf/ 7. Graphical Editing Framework. http: //www. eclipse. org/gef/ 21
References 8. Leroux, D. , Nally, M. , and Hussey, K. 2006. Rational software architect: a tool for domainspecific modeling. IBM Syst. J. 45, 3 (Jul. 2006), 555 -568. 9. "Rational Software Architect User roles and the user interface. " IBM Web. Sphere Help System. 2005. IBM, Web. 28 Jan 2010. http: //publib. boulder. ibm. com/infocenter/rtnlhelp/v 6 r 0 m 0/topic/com. ibm. rsa. nav. doc/topics/cr ootintro_rsa. html 10. "Software design and development with Rational Software Architect. " IBM Web. Sphere Help System. 2005. IBM, Web. 28 Jan 2010. http: //publib. boulder. ibm. com/infocenter/rtnlhelp/v 6 r 0 m 0/topic/com. ibm. rsa. nav. doc/topics/cr ootintro_rsa. html 11. Anderson, Jafar, and Abdullat (2007). Teaching Scalability Issues in Large Scale Database Application Development. Information Systems Education Journal, 5 (28). http: //isedj. org/5/28/. ISSN: 1545 -679 X. 22
Overview of IBM Rational Software Architect Questions? 23
- Slides: 23