Choosing the Right Architecture: What It Means for You and Your Business Contents
Total Page:16
File Type:pdf, Size:1020Kb
Choosing the Right Architecture: What It Means for You and Your Business Contents Flexible Architecture Management: Good for Business, Easier than Ever . 2 Rikki Kirzner Model-driven and Pattern-based Development Using Rational Software Architect, Part 1: Overview of the Model-driven Development Paradigm with Patterns . 5 Colin Yu Start Focusing on Architecture--Your Career and Future Depend On It . 12 Rikki Kirzner Quality Governance for Software Organizations . 16 Marlene Ellin Open-source Architected Model-driven Development in the Real World . 22 Steve Andrews Stosh Misiaszek Enterprise Application Transformation: Leveraging Your Investment in Proven, Mission-critical Business Applications . 36 Georgiann Zaglakas 1 © 2007 Jupitermedia Corp. Choosing the Right Architecture: What It Means for You and Your Business Flexible, Architecture Management: IBM Resources • Rational Software Architect v7 Good for Business, Easier than Ever • Rational Modeling Extension Finally the process of creating, modifying, governing, finding and reusing for MS. Net development assets is within the grasp of any Eclipse developer. Learn • Model SOAs with Rational Software how you and your organization can easily reuse software to lower soft- Architect: Case study, tools, and the business view ware development costs and improve quality. By Rikki Kirzner Reusability has been the holy grail of software development for decades. The growing popularity of Service Oriented Architecture has not only created a renewed interest in software reuse, but in many companies a mandate to reuse code, models, tests, and a host of other software assets and artifacts across the organization and throughout the development lifecycle. Thanks to today's tools, it is possible to efficiently create, locate, assess, and draw on reusable assets thanks in part to the creation of variable asset repositories that can address the needs of different developer roles and communi- ties and a federation of information among these repositories that makes content available in the right form to the appropriate community. Employing reusable assets as part of development activities is beneficial to both businesses and developers in a number of ways. First, it facilitates a reduction of redundancy particularly in the area of having to maintain and man- age multiple, similar software assets. This works to eliminate the task of maintaining (or even creating) multiple base- lines of code, or other artifacts, such as tests or designs to name but a few. Second, it improves the overall quality and reduces time spent maintaining the software by virtue of the fact that the development team is using the same piece of code or other artifact multiple times, thereby continuously reworking and enhancing it. With this investment in the code, its quality and value increases which means developers are spending less time creating new (and often redundant) code or maintaining the code Third, it improves productivity by saving developers the effort involved in recoding redundant routines or rebuilding the same artifacts. If they can quickly find assets they can use and easily determine whether or not what they have found meets their requirements, then developers don't have to spend time creating the same things over and over again. This frees them to work on more important and often more interesting aspects of the project. Fourth, business managers have fiduciary responsibility as well as a vested interest in controlling the reusable assets in an organization and mapping existing assets to the needs of the business. The ability to understand what assets exist, effectively manage their creation and use, and to establish consistent terminology and verbiage when describ- ing them controls costly mistakes, ensures architectural integrity, and enhances governance across the organization Now it is easier than ever to handle all these tasks. IBM Rational Asset Manager (RAM) lets you create, modify, gov- ern, find, and reuse any type of development assets, including SOA and systems development assets. It delivers these capabilities through a development-time asset repository that manages assets relevant to development roles, such as technical managers, analysts, architects, developers, and testers. Through classification schemas and asset types it also standardizes and enforces the definition and consistency of terms for any size project. RAM governs assets as they are submitted. It lets you browse and categorize, assets, provides access control, manages and versions assets, and measures metrics such as activity level in terms of their usage. More importantly, it comes as an easy to install plug-in for your Eclipse development environment and leverages and builds upon the skills you already have. 2 © 2007 Jupitermedia Corp. Choosing the Right Architecture: What It Means for You and Your Business The RAM plug-in inserts new tasks into Eclipse and lets you create, use, or reuse code. You don't have to discard any tools your organization is already using. Assets can be versioned through integration with tools you already use- -Rational ClearCase (CC), and CVS. The Rational ClearQuest integration provides asset defect tracking and asset review customization. The WebSphere Service Registry and Repository integration provides traceability of services from development into runtime. RAM wraps a collection of files (either from the file system, CVS, or CC) with metadata, identifies it as an asset, and then manages it. When an asset needs to be changed or updated, RAM notifies the appropriate person through these tools and provides the information required to retrieve the asset, fix or update it and check it back into the repository using the tools with which you are already familiar. RAM is targeted to specific kinds of users, namely in the development space. Before these users can start using RAM, a sequence of events must be completed by an administrator to set up the repository. In brief, an administra- tor configures one or more development communities in RAM. Each RAM development community is targeted for a specific audience with users, roles, and their permissions. Other items to be configured include asset types and classification schemas that are relevant to the target users. A RAM development community can also be configured with a connection to one or more WebSphere Service Registry and Repository service registries. WebSphere Service Registry and Repository is targeted towards users who want to use deployed service interfaces. The RAM software synchronizes with the WebSphere Service Registry and Repository software to coordinate the development of service assets (code, models, test, etc.) and related metadata with the interfaces of deployed services. For example, the RAM administrator may configure one connection to a WebSphere Service Registry and Repository test registry, and another connection to a WebSphere Service Registry and Repository SOA registry. Each connection gets information such as the address to the host, which port to use, the WebSphere Service Registry and Repository login credentials, as well as the name of the owner of the assets. RAM software will allow service asset artifacts to be published to the WebSphere Service Registry and Repository system when the appro- priate or qualifying conditions are met. With the repository configuration prepared, the administrator and developers populate the repository with reusable software assets. The repository can then be used to show you what it contains and to reuse the assets. While RAM is the primary source of information about many kinds of development assets, you can track various references to WebSphere Service Registry and Repository service interfaces for more detailed information about services and other related runtime information. Simple to Install and Use RAM is installed into Eclipse by pointing to the location of the Eclipse RAM Update Site and clicking on it to select the plug in and start the download to Eclipse. After the download is complete and you restart Eclipse, RAM is ready to be used. At that point Eclipse will identify the different perspectives you prefer to use, select the appropriate views, and add them to where you normally work. You never have to leave your favorite perspective to access the assets in RAM. Suppose, for instance that you are working in a Java perspective and have one view called 'search results'. Let's further suppose that you need to access a logging component. You would do a keyword search on the asset meta- data or inside the files of the asset by entering the word, ”logging”. This will return a result list back to you containing all the assets containing that keyword. Double click on any asset you are interested in learning more about to find the one that is best suited to your needs. This brings in all the metadata about the asset so you can view its relevant content. You can find out the asset's 3 © 2007 Jupitermedia Corp. Choosing the Right Architecture: What It Means for You and Your Business contents, read the discussion thread about the asset, see how other developers ranked it, and view the statistics showing how often it was downloaded. This level of detailed information helps you decide whether or not you want to download the asset. RAM knows where the asset is stored so you only need to tell RAM the target where the asset needs to be down- loaded. RAM relies on your source control system (Rational ClearCase, CVS, etc.) to manage the versions of the source files of the assets. It checks out and downloads into your workspace all the appropriate files that comprise the “logging” asset you selected. RAM recognizes when any change was made or new asset was created so when you submit that asset back to the repository, it will alert you that a new version has to be created. Once you approve the version update, RAM will submit the file(s) into the repository where the asset is now subject to all the governance activities that are required before the asset can be approved for use and viewed by other developers The governance activities will depend on the review process established by the RAM community.