Choosing the Right Architecture: What It Means for You and Your Business

Size: px
Start display at page:

Download "Choosing the Right Architecture: What It Means for You and Your Business"

Transcription

1 Choosing the Right Architecture: What It Means for You and Your Business

2 Contents Flexible Architecture Management: Good for Business, Easier than Ever Rikki Kirzner Model-driven and Pattern-based Development Using Rational Software Architect, Part 1: Overview of the Model-driven Development Paradigm with Patterns Colin Yu Start Focusing on Architecture--Your Career and Future Depend On It Rikki Kirzner Quality Governance for Software Organizations Marlene Ellin Open-source Architected Model-driven Development in the Real World Steve Andrews Stosh Misiaszek Enterprise Application Transformation: Leveraging Your Investment in Proven, Mission-critical Business Applications Georgiann Zaglakas Jupitermedia Corp.

3 Flexible, Architecture Management: Good for Business, Easier than Ever Finally the process of creating, modifying, governing, finding and reusing development assets is within the grasp of any Eclipse developer. Learn how you and your organization can easily reuse software to lower software development costs and improve quality. IBM Resources Rational Software Architect v7 Rational Modeling Extension for MS. Net Model SOAs with Rational Software Architect: Case study, tools, and the business view 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 communities 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 manage multiple, similar software assets. This works to eliminate the task of maintaining (or even creating) multiple baselines 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 describing 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, govern, 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 Jupitermedia Corp.

4 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 administrator 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 appropriate 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 metadata 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 Jupitermedia Corp.

5 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 downloaded. 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. Some communities may have many levels of reviewers from business analysts and project managers to the senior programmers on a particular project. Others may just need to be approved by the project manager. Since this information was originally configured into RAM, s are automatically sent to the appropriate people who need to be involved in the review process. All the activities that have to be performed on the asset can be viewed in a web-based user interface. When the asset is finally accepted (or rejected) the developer who worked on it is notified. If the asset is approved it is placed into the repository where it is available to the people who are allowed to access and use it. When a new asset is created for the repository, RAM guides you through the step by step process of defining all the attributes and variables established and required by the community. RAM provides numerous other benefits to businesses and developers including the ability to reduce development cycles and reduce costs. Secure asset tracking, asset management, enforcement of architectural standards and models, as well as storing and providing quick access to information ensures architectural integrity and better communication for globally distributed and outsourced development projects. Governance challenges are improved with RAM's sophisticated discovery and federated search capability across the development lifecycle and secure intellectual property sharing. It's time to look more seriously at governed asset reuse now that IBM Rational has delivered the combination of a unifying platform and collaborative tools to simplify the process of creating, discovering, understanding, and using reusable assets. After all the decades of promises, the reality of software reuse is finally possible. Rikki Kirzner is a freelance writer and veteran computer industry professional with experience as an analyst and former Research Director for IDC, Gartner Group, and Meta Group and as a Senior Editor with Open Computing Magazine. Rikki covers software, development, open source, SOA, and mobile computing Jupitermedia Corp.

6 Model-driven and Pattern-based Development Using Rational Software Architect, Part 1: Overview of the Model-driven Development Paradigm with Patterns IBM Resources Pattern Solutions Rational Asset Manager Asset Life Cycle Management for SOA Level: Introductory By Colin Yu, Development Manager, IBM First published by IBM at All rights retained by IBM and the author. 21 Nov 2006 Model-driven development (MDD) is a style of software development where the primary software artifacts are models from which code and other artifacts are generated. Its goal is to improve the productivity and quality of enterprise application development. Patterns play an important role in model transformation and code generation in MDD. This series of articles discusses in detail the Model-Driven and Pattern-Based development paradigm using IBM Rational Software Architect, an integrated development environment supporting MDD. Introduction Model-driven development (MDD) is a new software development paradigm supported and driven by the Modeldriven Architecture (MDA) methodology, a software design approach released by the Object Management Group (OMG). MDA provides a set of guidelines for structuring specifications expressed as models, starting from a platform-independent model (PIM), continuing through an appropriate domain-specific language, and then tranforming into one or more platform-specific models (PSMs) for the actual implementation platform. This could be any number of platforms, such as Java 2 Platform, Enterprise Edition (J2EE ), CORBA, or.net, implemented in a general programming language such as Java, C#, and Python. MDA is normally performed using automated tools, like IBM Rational Software Architect. Driven by MDA, MDD focuses more on model transformation and code generation. However, the code generation-based approach used by MDD has its own downside, due to things like constraints in generated code, insufficiently skilled developers, and tight coupling to the model. When companies commit themselves 100% to code generation, there is little room for tweaking, especially when developers always have to go through their model. A pattern-based development approach helps solve this problem. A pattern is a solution to a recurring problem within a given context. Patterns encapsulate a designer's time, skill, and knowledge to solve a software problem. In addition, when it is used repeatedly in a number of different projects, a pattern becomes established as a best practice. By designing around a particular design pattern, developers have greater flexibility to control the generated code, which is not constrained simply based on an abstract model. Furthermore, MDD can automate implementation patterns with transforms, which eliminate repetitive low-level development work and encode technical expertise to improve consistency and maintainability. A modified transformation is rapidly reapplied in order to generate solution artifacts that reflect a change to the implementation architecture Jupitermedia Corp.

7 This article focuses on how to optimize MDD with asset-based development as an integrated development approach. Using this approach, developers first build the object model using the Unified Modeling Language (UML), and then generate the code from that UML model using a code generation tool that utilizes a pattern repository. UML is an open standard and the de-facto standard for software modeling. UML is a language for specifying, visualizing, and documenting software systems. UML provides a visual notation and underlying semantics for software models. UML also has a standard machine-readable serialization format, thereby enabling automation. Applying MDD with Rational Software Architect Reading this information, you have probably realized that applying this development approach requires an Integrated Development Environment (IDE) that can support the following: Modeling using UML Patterns infrastructure Model transformation and code generation Platform-specific design and development tool and unit test environment Rational Software Architect is the tool that provides all those capabilities. Rational Software Architect is an integrated design and development tool that leverages model-driven development with UML to create well-architected applications and services. With Rational Software Architect, you can: Leverage an open and extensible modelling platform Acclerate software modeling and design Automate development processes and maximize asset reuse Develop application and Web services more productively The series of these articles is organized as follows: Part 1: This article, which focuses on an overview of MDD and Pattern-based development approach Part 2 (to come): The MDD and Pattern-based development approach with Rational Software Architect Part 3 (to come): A case study UML model One of the main characteristics of MDD is using models as the key artifacts. A model is a description of a system from a particular perspective, omitting irrelevant detail so that the characteristics of interest are seen more clearly. In MDD, a model must be machine-readable, so that you can access the content of the model in an automated manner. Models must be machine-readable in order for you to be able to generate artifacts. A diagram on a whiteboard may meet the other criteria for being a model, but until you can capture it in a machine-readable manner, you cannot use it within an MDD tool chain. Software models are typically expressed in UML. UML models hide technical implementation details, so that a system can be designed using concepts from the application domain. Application design is typically carried out using a UML modeling tool such as Rational Software Architect, and concepts relevant to the application domain. The use of UML models to design software was a well-established practice even before MDD. In most cases, models are used in two ways: As sketches that informally convey some aspect of a system Jupitermedia Corp.

8 As blueprints that describe a detailed design that you manually implement. In MDD, models are used not just as sketches or blueprints, but as primary artifacts from which efficient implementations are generated by applying transformations. In MDD, precisely described domain-oriented application models are the primary focus when developing new software components. Code and other target domain artifacts are generated using transformations designed with input from both modeling experts and target domain experts. Transformation UML modeling is a valuable technique by itself, but manually synchronizing models and code is error-prone and time consuming. Transformation is the main characteristic that distinguishes MDD from other approaches that use modeling. MDD is concerned with automating the development process so that any artifact, which can be derived from information in a model, is generated. Besides code, the generated artifacts from transformation include but are not limited to the following: Documentation: In organizations that follow a formal development approach, producing documentation takes a significant amount of development effort. Keeping documentation in line with the implementation is notoriously difficult. When using MDD, documents are generated from models. This both ensures consistency and makes information available within the models that developers are working with on a daily basis, rather than in documents that are difficult to navigate. Documentation can either be generated by tools such as Rational Software Architect's Report Generator, or by a transformation. Test artifacts: It is possible to generate basic test harnesses (for example, using JUnit) from the information contained in software models. Build and deployment scripts: Using their expertise, build and deployment architects can create transformations to generate build and deployment scripts. Other models: A system involves many interdependent models at different levels of abstraction (analysis, design, implementation), representing different parts of the system (UI, database, business logic, system administration), different concerns (security, performance, and resilience), or different tasks (testing, deployment modeling). In many cases, it is possible to partially generate one model from another (for example, moving from an analysis model to a design model, or from an application model to a test model). Patterns Another main characteristic of MDD is capturing expertise. Patterns capture best practice solutions to recurring problems. In MDD, patterns can occur at all levels of abstraction in modeling. For example: Architecture patterns Design patterns Implementation patterns Patterns can be composed to produce pattern recipes for solving larger problems and cover best practices for a domain area. Patterns specify both characteristics of model elements and the relationships between those elements. You can automate patterns so that new elements are created, and existing elements are modified in transformation to conform to the pattern when the pattern is applied to a model. Patterns improve the consistency and quality of solutions. They do this by automating implementation patterns with Jupitermedia Corp.

9 transforms in MDD, which eliminates repetitive low-level development work. Rather than repeatedly and manually applying technical expertise when building solution artifacts, the expertise is encoded directly in transformations. This has the double advantages of consistency and maintainability. A modified transformation is rapidly reapplied to generate solution artifacts that reflect a change to the implementation architecture. From business problems to software solutions Figure 1 shows how a business problem is translated into a software solution with MDD. The business problem is reviewed, and some common business patterns are applied. This partially populates a design model and fills in details of the specific business function under construction. Then, platform independent design patterns are applied to transform the design model into runtime-independent components. Following that, a runtime platform is selected, and runtime-specific implementation patterns are used to generate the artifacts. Figure 1. Using MDD to translate a business problem into a software solution (Source: IBM Rational) Benefits of using MDD with Patterns The software development industry has realized quite a lot of benefits by adopting MDD with Patterns. Some significant ones include: Increased productivity: MDD reduces the cost of software development by generating code and artifacts from models, which increases developer productivity. Increased reuse: MDD is especially powerful when applied at a program or organization level. This is because the return on investment from developing the transformations increases each time they are reused. The use of tried and tested transformations also increases the predictability of developing new functions, and reduces the project risk Jupitermedia Corp.

10 (since the architectural and technical issues have already been resolved). Improved Maintainability: Technological evolution leads to solution components becoming legacies of previous platform technologies. MDD helps to solve this problem by leading to a maintainable architecture, one in which changes are made rapidly and consistently, enabling you to migrate components more efficiently onto new technologies. More Flexibility: High-level models are kept free of irrelevant implementation detail. Keeping the models free of implementation detail makes it easier to handle changes in the underlying platform technology and its technical architecture. Changing the technical architecture of the implementation is accomplished by updating a transformation. The transformation is reapplied to the original models to produce implementation artifacts following the new approach. Consistency: Manually applying coding practices and architectural decisions is an error-prone activity. MDD ensures that artifacts are generated consistently Improved communication: Models omit implementation detail that is not relevant to understanding the logical behavior of a system. Models are therefore much closer to the problem domain, reducing the semantic gap between the concepts that are understood by stakeholders and the language in which the solution is expressed. Models also facilitate understanding and reasoning about systems at the design level. This leads to improved communication about a system. Retain expertise: Projects or organizations often depend on key experts who repeatedly make best practice decisions. With their expertise captured in patterns and transformations, they do not need to be present for other members of a project to apply (and benefit from) it. Lower risk: When using an MDD approach, early application development is focused on modeling activities. This means that it is possible to delay the choice of a specific technology platform or product version until a later point (when further information is available, thus reducing the risk). Lessons learned MDD is a sound development methodology. However, industry feedback indicates that not all the projects using MDD were successful. This was generally due to several factors: Poor project selection Insufficient planning Lack of necessary experience and skills To help you gain the most benefits from MDD, the following are some lessons we have learned from our past projects. Select the right candidate projects: MDD is especially powerful when applied at a program or organization level, because the return on investment (ROI) from developing or buying the transformations increases each time they are reused. A good candidate project should also have well-defined architecture and repeatable patterns of behavior, so that those patterns can be abstracted to capture the expertise and be used in the transforms. Consider the additional cost: You may need to consider the cost of developing or buying transformations, but careful cost planning will ensure that there is an overall cost reduction in the long run. Make small wins: In many organizations, a new approach is greeted with some skepticism until it is proven to work. If this is your first project that uses the MDD approach, it is advisable to split the development of the MDD tooling into a number of iterations. Subsequent iterations build on the experience you gain, allowing you to support a Jupitermedia Corp.

11 broader and broader set of scenarios for the business application. Develop the right skills: MDD requires architects and developers to be familiar with UML and the IDE for MDD. Building these skills within the team may take some time at the beginning, which leads to project delay. However, with the same project team, subsequent projects will be much smoother. If this is your first project that uses MDD, bringing in experts to jump-start the team is a good choice. Always think about reuse: The MDD tooling built for your project will have been used many times by the application developers while they are generating artifacts for the business application. It is also possible that this tooling could be reused on subsequent projects. Always thinking about reuse in a bigger context will benefit your organization significantly in a long run. Select the right development tool: Having the right weapon with you will ensure that you are getting the maximum value from MDD. The project team (including the project manager, business analysts, solution architect, developers, and testers) should evaluate and validate the development tool being used. Summary Part 1 of this series lays out the picture of the model-driven and pattern-based development paradigm. In summary, MDD unlocks the potential of patterns to create well designed solutions, and patterns provide the content for MDD. Resources Learn Model-driven and pattern-based development using Rational Software Architect, Part 2- Model-driven development tooling support in IBM Rational Software Architect: Part 2 of this series.. Learn about reusable assets, recipes and patterns in this developerworks article. Learn about SOA at the New to SOA and Web services developerworks page. Stay current with developerworks technical events and Webcasts. IBM Rational Software Architect product page: Find technical documentation, how-to articles, education, downloads, and product information about Rational Software Architect. Visit IBM's Pattern Solutions and find out what IBM is doing around patterns and reusable assets. In the Architecture area on developerworks, get the resources you need to advance your skills in the architecture arena. Browse the technology bookstore for books on these and other technical topics. Get products and technologies Download a free trial version of Rational Software Architect v7. Discuss Rational Software Architect, Data Architect, Software Modeler, Application Developer and Web Developer forum: Ask questions about Rational Software Architect. Check out developerworks blogs and get involved in the developerworks community Jupitermedia Corp.

12 About the author Colin Yu is the development manager of the repository for reusable assets to support Asset-based Development with the Rational Software Development platforms. His prior jobs include On-demand software development, work as a solution architect of the WebSphere Business Integration platforms, and WebSphere Studio development. You can reach Colin at coliny@ca.ibm.com Jupitermedia Corp.

13 Start Focusing on Architecture--Your Career and Future Depend On It As outsourcing wreaks havoc on professional programming careers, and development grows increasingly more complex, it is time to consider expanding your future opportunities by focusing more on software architecture. Here is a roadmap for expanding your skills while staying within your comfort level. IBM Resources Rational Software Architect v7 Rational Modeling Extension for MS. Net Model SOAs with Rational Software Architect: Case study, tools, and the business view By Rikki Kirzner Increasingly, companies report that the globalization of distributed software development is growing more complex, making software projects harder to manage. Even when software development is still performed in house, most development operations are typically globally distributed. Concurrently, business processes and technology are growing more and more intertwined, further increasing complexity in both distributed and offshore projects. To control costs and decrease development time as they try to cope with all these changes, companies are driving their domestic and outsourced developers to produce high quality sophisticated software applications faster than ever using development environments that have become exceedingly complex. Consequently, it has become virtually impossible for developers to keep pace with today's development challenges and escalating sophistication without resorting to a higher level of abstraction. At its most basic level, abstraction is achieved using a higher level programming language. However, the specificity and detailed nature of code (Java, C/C++, etc.) doesn't convey the bigger picture of large, sophisticated development projects. When this type of software project is spread out across different time zones, languages, and cultures, it becomes so difficult to manage that the only practical solution is to logically break up the development effort and assign different parts of the system to specific development teams in various geographical regions. To do this successfully requires an even more abstract view of the software design, dependencies, and all the things that comprise the project--the software architecture view. Architectural Skills Increases Your Value to Your Company Why should you care about architecture? The answer is simple--your career and your future depend on it. Architecture is growing in importance affecting what you do, how you work, and where you work, relentlessly influencing your career and opportunities for future employment. But there are many reasons to focus more attention on architecture apart from saving your career. Outsourcing and offshoring deliver good programming skills at a lower cost using cheaper labor. Developers certainly recognize the serious impact this has had on the availability of mainstream, domestic, programming positions. Although most companies have not completely eliminated all programming jobs, there will continue to be fewer jobs available. One of the ways senior managers decide what developers they are going to keep and which ones they are going to lay off is determined by the additional skills a developer may possess. Do you feel threatened by job shifting? You certainly can increase your value to your employer if you can relate software design and development to the intrinsic needs of your business and customers--something most outsourced personnel can't do. One way to do that is to become more focused on architecture than on implementation. For starters, any attempt to offshore and outsource any project without considering the architecture is a potential recipe for disaster due to the cultural and language barriers which lead to communications problems and misinterpretation of the specifications. In addition, the logistics of managing a project across different time zones and coun Jupitermedia Corp.

14 tries can be quite difficult, particularly when your outsourcing company is subcontracting part of the work to another company in another country. Working at the architectural level provides a language of discourse that is closer to that used by business analysts and others. In other words, it is easier for a business analyst to see how their requirements map to architecture than to source-level code. The best part is that there are a variety of tools and technologies available to help you focus more on architecture and requirements and less on implementation. The tools are structured with functionality to make this transition and learning curve as painless as possible while keeping you within your comfort level. Some tools contain the languages of architecture such as business process modeling language or unified modeling language (UML). Even rudimentary tools such as Visio or PowerPoint let you understand your project from a more abstract, architectural context. Today's powerful, highly automated design and construction tools go far beyond basic IDE to support development using high level architectural languages instead of programming languages. These are especially well suited for those companies who can't outsource for one reason or another, but can not keep staffing using expensive domestic programmers. Productivity gains are achieved because a fewer number of people can work more efficiently than a team of software engineers by using these multi-function and highly automated tools for development. How to Start Focusing on Architecture The first thing you can do is learn more about architecture and prove to your management that you are ready, willing, and able to leverage new technology skills that enable you to be more productive and valuable to your organization. A good place to start is to review these materials: Evolution of Developer Skills Is Essential for Job Survival ebook: The IDE as a Development Platform Find the Right IBM Rational Analysis Design and Construction Tools for Your Project IBM Rational UML Resource Center Tools to Assist You Each Step of the Way You probably are already familiar with IDEs containing some level of design capability and/or visual modeling. You certainly have used wizards to automate some of your development tasks. You might even be familiar with IBM Rational Application Developer (RAD) which has built-in code-level architecture features. RAD is built on Eclipse and extends the Eclipse framework. It is positioned primarily for both visual and code-oriented developers but won't alienate you with lots of UML model driven capability. However, if you want to think like an architect and improve your skills by working in a more abstract (and architectural) view of your code, you should explore RAD's UML visualization capability. RAD allows existing code to be rendered in UML for developers who just don't know the UML language. Many developers find it easy to transition from code to code level modeling using RAD. RAD utilizes class and sequence diagrams and also includes code analysis functions and automated test and deployment tools. RAD lets you traverse source files using the pictorial view and if you make changes to the code, the diagrams update automatically. You can also edit the diagram to update the code because RAD maintains an isomorphic or 1:1 relationship between the UML and code. RAD is a good first step toward thinking and working at an architectural level. However, if you are using code rendered into UML you are just looking at a pictorial view of the code which means you are still editing at the code level Taking the Next Steps on the Road to Architecture Architects have to think more abstractly--at levels that don't immediately have any relationship to code. Architects work between the business requirements that drive the business and the implementation levels that are a reflection Jupitermedia Corp.

15 of the programming decisions that are executed into code. Achieving these skills requires you to learn how to work with basic UML modeling. Since the industry is also becoming more service oriented in its design and implementation of architecture and software, you should learn as much as you can about service oriented architectures (SOA) because SOA combines reuse thinking with business-level abstraction to support the creation of reusable components. This enables software to be built using components in a manner similar to the way engineers build hardware. There are design and construction tools that support your efforts to work at a more abstract level and also facilitate the creation of SOA solutions. One example is IBM Rational Software Architect (RSA) which leverages model-driven development with UML, letting you create well-architected applications and services. While RAD eases the transition between the architecture, it only serves the code-level of modeling and the modelto-code and code-to-model transformations. RSA, on the other hand, includes all the features of RAD to give you an integrated design and development experience and adds model-to-model transforms, as well as a powerful patterns development capability and an architectural analysis capability. Architects and SOA developers use patterns to accomplish many of their development tasks, since the essence of SOA is reuse and the mechanism of reuse is design patterns. Patterns let you capture domain knowledge, best practices, and design expertise to improve productivity, efficiency, and quality while automating and minimizing the mundane and mechanical aspects of software development. Patterns can also represent known problems and situations in business domains. Pattern implementations are one of the most powerful software engineering tools you can use to improve development and productivity in your organization. Their use eliminates tedious, error-prone tasks, minimizes complexity and confusion, improves governance, and increases the overall quality of any type of software project. They allow you to respond more quickly and cost-effectively to changing business conditions. As any software architecture evolves, an architect takes the revised requirements and creates an analysis level model that reflects the requirements but doesn't yet reflect the implementation. Using RSA, an architect first creates an analysis-level model. A subject matter expert like an analyst validates the representations captured in analysislevel model diagrams to ensure that the architecture meets their requirements. There are patterns that specify how you transform an analysis-level model into a design-level model (known as a model-to-model transform). Once you provide sufficient detail in your design model, you can apply model-to-code transforms automating much of the implementation work. RSA lets you create and use pattern implementations and model transforms. RSA enables you to leverage abstraction using multiple models to capture the relevant aspects of a solution. Transformations allow you to automate how you move between the levels of abstraction. RSA also enables you to specify high-level aspects of a system created in a model and generate a larger percentage of the solution automatically. If you need to model, but don't want all the specificity required for code generation, consider using IBM Rational Software Modeler (RSM). RSM is a modeling-only subset of RSA and extends Eclipse to enable architects, systems analysts, designers and others to specify and communicate development project information. It supports the same level of modeling with UML version 2.1 as RSA, supports patterns and model-to-model transforms, and has the same flexible model management for parallel development and architectural refactoring. RSM is useful for situations where automated modeling is needed but the model-to-code transformations are done more manually. Hopefully this article has been able to pave a professional roadmap you can follow. It will take you from the abyss of job loss due to outsourcing to the wealth of opportunities that await you by focusing on architecture. As you follow this roadmap keep in mind that there are developers who are working at levels of abstraction even higher than those Jupitermedia Corp.

16 of a software architect. They are in the business community working with databases, operation deployment, hardware and process servers, focusing their efforts on enterprise architecture, which is a subject for another paper entirely. Rikki Kirzner is a freelance writer and veteran computer industry professional with experience as an analyst and former Research Director for IDC, Gartner Group, and Meta Group and as a Senior Editor with Open Computing Magazine. Rikki covers software, development, open source, SOA, and mobile computing Jupitermedia Corp.

17 _INFRASTRUCTURE LOG _DAY 62: We don t have the tools to leverage open standards like Eclipse and Linux. We have zero support. We need to do something but don t know where to start. _Gil s on it He s forming a developer support group. _DAY 64: This strikes a chord: IBM Community Edition products along with tools and support from Rational. They re based on open standards and give us what we need for business-critical apps. And IBM software and systems support a wide range of development styles and programming languages. _We have all the support we need now. And three flutes. Get started with our Community Edition software at: ibm.com/takebackcontrol/open IBM, the IBM logo and Rational are registered trademarks of International Business Machines Corporation in the United States and/or other countries IBM Corporation. Eclipse is a trademark of Eclipse Foundation, Inc. Linux is a registered trademark of Linus Torvalds. All rights reserved.

18 Quality Governance for Software Organizations Level: Introductory IBM Resources Ensure High Quality SOA Applications Learn How to Test Web Services for SOA Quality Marlene Ellin, Reporter, The Rational Edge ezine First published by IBM at All rights retained by IBM and the author. 15 Dec 2006 from The Rational Edge: The article describes the benefits of the IBM Rational Software Delivery Platform, which helps companies create a quality governance framework that accommodates organizational transformation needed for today's technological advances. In a series of frescoes lining the walls of the Palazzo Pubblico in the Tuscan city of Siena, fourteenth century Italian painter Ambrogio Lorenzetti depicted the effects of good and bad government on urban and country life. Those who enjoy the blessing of good governance go about their daily business within a landscape of peace and prosperity; the unfortunate souls living under bad governance suffer the evils of war, disorder, and mayhem. The effects of good and bad governance have not changed over the centuries, and today they apply to the world within a business as well as the civil realm. A well-governed workplace makes employees happy and productive. But extending far beyond policies and procedures that benefit employees, good governance is what keeps a company profitable and competitive. It establishes oversight for an organizational structure and a set of business processes that allow people to work efficiently and manage the quality of what they produce. On December 5, 2006, the IBM Rational organization released version 7 of its desktop tools and launched a comprehensive strategy for quality management, based on the best practices and tools offered in the new release. This article presents an overview of the quality management strategy, describing its benefits and explaining the vision behind it. Governance in a software context Nowhere is effective governance more critical than in the organizations that deliver software and software-intensive systems. Increasingly, companies depend on software to run their business processes; many also incorporate software into their products, whether they produce it themselves, outsource its production, or buy it from another supplier. For a software-dependent company to succeed, it must have applications that consistently perform well in a runtime environment -- that are high-quality and thoroughly tested before deployment. This requires agile business processes for software delivery that are adaptable to many different types of projects and speed time to market, rather than slowing it down. In turn, such a process must be governed by an adaptable framework consisting of rules, best practices, and continuous management visibility into project progress and alignment with business requirements. Good governance is different from good management, which is often tactical and reactive rather than strategic and proactive. Governance structures are repeatable touchstones that ensure that both providers and clients will set and live up to expectations. As IBM Distinguished Engineer Kurt Bittner points out, governance establishes and enforces accountability. It should measure things that matter and hold team members accountable for things that will affect overall team results Jupitermedia Corp.

19 The IBM Rational quality governance vision Of course, quality is one of the things that matters most for today's software and software-intensive systems. Quality has an enormous impact on team results and customer satisfaction, and the IBM Rational organization has long recognized the need to make quality an organization-wide concern. It has a long, proven record of providing automated capabilities to oversee testing, measurement, change management, error correction, and other quality-related activities. Quality governance is a discipline within a larger governance environment for software and systems delivery. One component of quality governance is organizational and structural, providing chains of responsibility, authority, and communication that enable a workflow for applying quality measures. The second component relates to measurement: rules, policies, and control mechanisms that enable people to assess product quality and progress. This is where IBM Rational has always focused its attention. For more than 25 years, a desire to help clients create a comprehensive quality management environment for software development has driven Rational's product strategy. One of the best practices embodied in the Rational Unified Process, or RUP, is iterative development, and quality management is an underlying principle of this approach. Iterative development emphasizes continuous alignment with changing business requirements, early testing, and deep client involvement in prototyping and beyond. Through internal development, strategic acquisitions, and harvesting best practices from client engagements, Rational has continuously enhanced its clients' quality management capabilities. Via integrations with IBM WebSphere and Tivoli technology, the Rational Software Delivery Platform now provides automated capabilities for infusing quality into every phase of software and systems delivery -- from component testing by developers through build and actual production environments. These capabilities represent a flexible framework that fosters agility, not rigidity. In the words of IBM Distinguished Engineer Grady Booch, good governance "...promotes predictability and repeatability but still allows creativity to flourish." With the Rational Software Delivery Platform, creating an effective structure for governing quality management does not require a total organizational transformation. Tight product integrations and an open source ecosystem make it relatively easy and affordable to introduce Rational products into a workplace that employs other quality management products and processes -- and protect previous IT investments. As the quality governance framework evolves, individual technologies may keep their identity, but will naturally begin assuming organizational characteristics. Solutions to ensure software quality Built on the IBM Rational Software Delivery Platform, our testing solutions enable tighter management, better planning, and improved data sharing for all team members. To help you make confident go-live decisions and build high-quality enterprise applications, we offer solutions for performance testing, functional and regression testing, manual testing, developer testing, and test management. The relationship of these testing roles and associated IBM Rational products is illustrated in the figure next page. With our solutions, quality assurance teams can easily manage and address issues with application functionality, usability, reliability, scalability, and performance. For more information on these testing products, see Jupitermedia Corp.

A Software Development Platform for SOA

A Software Development Platform for SOA A Software Development Platform for SOA Peter Eeles Executive IT Architect Rational Brand Architect for UK, Ireland and South Africa peter.eeles@uk.ibm.com 2004 IBM Corporation Agenda IBM Software Group

More information

IBM Rational Asset Manager

IBM Rational Asset Manager Providing business intelligence for your software assets IBM Rational Asset Manager Highlights A collaborative software development asset management solution, IBM Enabling effective asset management Rational

More information

Realizing business flexibility through integrated SOA policy management.

Realizing business flexibility through integrated SOA policy management. SOA policy management White paper April 2009 Realizing business flexibility through integrated How integrated management supports business flexibility, consistency and accountability John Falkl, distinguished

More information

Asset Based Development

Asset Based Development IBM Software Group Asset Based Development Grant Larsen gjlarsen@us.ibm.com November 2003 Agenda Introduction Asset-based Development Process Standards Tooling Assets Getting Started Agenda Introduction

More information

Modernizing enterprise application development with integrated change, build and release management.

Modernizing enterprise application development with integrated change, build and release management. Change and release management in cross-platform application modernization White paper December 2007 Modernizing enterprise application development with integrated change, build and release management.

More information

General Introduction to IBM (R) Rational (R) Asset Manager

General Introduction to IBM (R) Rational (R) Asset Manager General Introduction to IBM (R) Rational (R) Asset Manager Peter Smith Certified IT Specialist, IBM 2007 IBM Corporation Objectives! Background: Issues and Challenges!Asset Management and SOA! Define Asset

More information

Successfully managing geographically distributed development

Successfully managing geographically distributed development IBM Rational SCM solutions for distributed development August 2004 Successfully managing geographically distributed development Karen Wade SCM Product Marketing Manager IBM Software Group Page 2 Contents

More information

Software development for the on demand enterprise. Building your business with the IBM Software Development Platform

Software development for the on demand enterprise. Building your business with the IBM Software Development Platform Software development for the on demand enterprise Building your business with the IBM Software Development Platform An on demand business is an enterprise whose business processes integrated end-to-end

More information

Five best practices for deploying a successful service-oriented architecture

Five best practices for deploying a successful service-oriented architecture IBM Global Services April 2008 Five best practices for deploying a successful service-oriented architecture Leveraging lessons learned from the IBM Academy of Technology Executive Summary Today s innovative

More information

Applying 4+1 View Architecture with UML 2. White Paper

Applying 4+1 View Architecture with UML 2. White Paper Applying 4+1 View Architecture with UML 2 White Paper Copyright 2007 FCGSS, all rights reserved. www.fcgss.com Introduction Unified Modeling Language (UML) has been available since 1997, and UML 2 was

More information

Enhance visibility into and control over software projects IBM Rational change and release management software

Enhance visibility into and control over software projects IBM Rational change and release management software Enhance visibility into and control over software projects IBM Rational change and release management software Accelerating the software delivery lifecycle Faster delivery of high-quality software Software

More information

Data Management Roadmap

Data Management Roadmap Data Management Roadmap A progressive approach towards building an Information Architecture strategy 1 Business and IT Drivers q Support for business agility and innovation q Faster time to market Improve

More information

SOA: The missing link between Enterprise Architecture and Solution Architecture

SOA: The missing link between Enterprise Architecture and Solution Architecture SOA: The missing link between Enterprise Architecture and Solution Architecture Jaidip Banerjee and Sohel Aziz Enterprise Architecture (EA) is increasingly being acknowledged as the way to maximize existing

More information

TOGAF usage in outsourcing of software development

TOGAF usage in outsourcing of software development Acta Informatica Pragensia 2(2), 2013, 68 76, DOI: 10.18267/j.aip.25 Section: Online: aip.vse.cz Peer-reviewed papers TOGAF usage in outsourcing of software development Aziz Ahmad Rais 1, Rudolf Pecinovsky

More information

Patterns: Model-Driven Development Using IBM Rational Software Architect

Patterns: Model-Driven Development Using IBM Rational Software Architect Front cover Patterns: Model-Driven Development Using IBM Rational Software Architect Learn how to automate pattern-driven development Build a model-driven development framework Follow a service-oriented

More information

IBM Rational Web Developer for WebSphere Software Version 6.0

IBM Rational Web Developer for WebSphere Software Version 6.0 Rapidly build, test and deploy Web, Web services and Java applications with an IDE that is easy to learn and use IBM Rational Web Developer for WebSphere Software Version 6.0 Highlights Accelerate Web,

More information

SOMA, RUP and RMC: the right combination for Service Oriented Architecture

SOMA, RUP and RMC: the right combination for Service Oriented Architecture SOMA, RUP and RMC: the right combination for Service Oriented Architecture WebSphere User Group, Bedfont, 4th March, 2008 Keith Mantell Senior Solution Architect IBM Rational keith_mantell@uk.ibm.com March

More information

IBM Enterprise Content Management Product Strategy

IBM Enterprise Content Management Product Strategy White Paper July 2007 IBM Information Management software IBM Enterprise Content Management Product Strategy 2 IBM Innovation Enterprise Content Management (ECM) IBM Investment in ECM IBM ECM Vision Contents

More information

A discussion of information integration solutions November 2005. Deploying a Center of Excellence for data integration.

A discussion of information integration solutions November 2005. Deploying a Center of Excellence for data integration. A discussion of information integration solutions November 2005 Deploying a Center of Excellence for data integration. Page 1 Contents Summary This paper describes: 1 Summary 1 Introduction 2 Mastering

More information

Next-generation model-driven development

Next-generation model-driven development Rational Software Architect December 2004 Next-generation model-driven development Gary Cernosek Market Manager IBM Software Group Page 2 Contents 2 Introduction 2 Motivation 3 Background of Rational modeling

More information

Developing SOA solutions using IBM SOA Foundation

Developing SOA solutions using IBM SOA Foundation Developing SOA solutions using IBM SOA Foundation Course materials may not be reproduced in whole or in part without the prior written permission of IBM. 4.0.3 4.0.3 Unit objectives After completing this

More information

Banking Application Modernization and Portfolio Management

Banking Application Modernization and Portfolio Management Banking Application Modernization and Portfolio Management Key Challenges and Success Factors As part of their long-term strategic plans, banks are seeking to capitalize on their legacy applications. Acquired

More information

Extend the value of your core business systems.

Extend the value of your core business systems. Legacy systems renovation to SOA September 2006 Extend the value of your core business systems. Transforming legacy applications into an SOA framework Page 2 Contents 2 Unshackling your core business systems

More information

Maximizing Cross-Platform Application Availability

Maximizing Cross-Platform Application Availability June 2005 Maximizing Cross-Platform Application Availability Robert Kennedy, SCM Product Manager Karen Wade, SCM Product Marketing Manager Page 2 Contents 2 The challenges of change in complex computing

More information

The leading platform for Model Driven Architecture (MDA) Content:

The leading platform for Model Driven Architecture (MDA) Content: The leading platform for Model Driven Architecture (MDA) Content: Models Made for Business... 2 ArcStyler Overview... 2 Main Benefits... 3 ArcStyler Editions... 4 ArcStyler Modules and Tool Architecture...

More information

How do you manage the growing complexity of software development? Is your software development organization as responsive to your business needs as

How do you manage the growing complexity of software development? Is your software development organization as responsive to your business needs as How do you manage the growing complexity of software development? Is your software development organization as responsive to your business needs as it could be? Borland Core SDP enables your IT organization

More information

Simplifying development through activity-based change management

Simplifying development through activity-based change management IBM Rational ClearCase and IBM Rational ClearQuest October 2004 Simplifying development through activity-based change management Allan Tate Product Manager IBM Software Group Karen Wade SCM Product Marketing

More information

Better management through process automation.

Better management through process automation. Process management with IBM Rational ClearQuest software White paper Better management through process automation. David Lawrence, technical marketing specialist May 2006 Page 2 Contents 2 Introduction

More information

Strategy for Application Modernization A Summa White Paper

Strategy for Application Modernization A Summa White Paper Strategy for Application Modernization A Summa White Paper Summa 925 Liberty Avenue, 6 th Floor Pittsburgh, PA 15222 (p) 412.258.3300 (f) 412.258.3299 www.summa tech.com Why Modernize? My customers want

More information

The role of integrated requirements management in software delivery.

The role of integrated requirements management in software delivery. Software development White paper October 2007 The role of integrated requirements Jim Heumann, requirements evangelist, IBM Rational 2 Contents 2 Introduction 2 What is integrated requirements management?

More information

The value of modeling

The value of modeling The value of modeling Level: Introductory Gary Cernosek, Marketing Manager, IBM Rational Eric Naiburg, Group Market Manager Desktop Products, IBM Rational 15 Nov 2004 from The Rational Edge: This article

More information

Chap 1. Introduction to Software Architecture

Chap 1. Introduction to Software Architecture Chap 1. Introduction to Software Architecture 1. Introduction 2. IEEE Recommended Practice for Architecture Modeling 3. Architecture Description Language: the UML 4. The Rational Unified Process (RUP)

More information

Applying Agile Methods in Rapidly Changing Environments

Applying Agile Methods in Rapidly Changing Environments Applying Agile Methods in Changing Environments 7/23/2002 1 Applying Agile Methods in Rapidly Changing Environments Peter Kutschera IBM Unternehmensberatung GmbH Am Fichtenberg 1, D-71803 Herrenberg Steffen

More information

IBM Rational ClearCase, Version 8.0

IBM Rational ClearCase, Version 8.0 IBM Rational ClearCase, Version 8.0 Improve software and systems delivery with automated software configuration management solutions Highlights Improve software delivery and software development life cycle

More information

CMMI and IBM Rational Unified Process

CMMI and IBM Rational Unified Process IBM Software Group CMMI and IBM Rational Unified Process A practical route to greater development maturity CMMI Made Practical, London, 19-20 th March, 2007 Keith Mantell IBM Rational, UK keith_mantell@uk.ibm.com

More information

Global Delivery Excellence Best Practices for Improving Software Process and Tools Adoption. Sunil Shah Technical Lead IBM Rational

Global Delivery Excellence Best Practices for Improving Software Process and Tools Adoption. Sunil Shah Technical Lead IBM Rational Global Delivery Excellence Best Practices for Improving Software Process and Tools Adoption Sunil Shah Technical Lead IBM Rational Agenda Organization s Challenges from a Delivery Perspective Introduction

More information

NASCIO EA Development Tool-Kit Solution Architecture. Version 3.0

NASCIO EA Development Tool-Kit Solution Architecture. Version 3.0 NASCIO EA Development Tool-Kit Solution Architecture Version 3.0 October 2004 TABLE OF CONTENTS SOLUTION ARCHITECTURE...1 Introduction...1 Benefits...3 Link to Implementation Planning...4 Definitions...5

More information

Answers to Top BRMS Questions

Answers to Top BRMS Questions November 2009 Answers to Top BRMS Questions Answers to ten frequently asked questions about what business rule management systems are and how they are used Brett Stineman Product Marketing, Business Rules

More information

What is Enterprise Architect? Enterprise Architect is a visual platform for designing and constructing software systems, for business process

What is Enterprise Architect? Enterprise Architect is a visual platform for designing and constructing software systems, for business process 1 2 3 What is Enterprise Architect? Enterprise Architect is a visual platform for designing and constructing software systems, for business process modeling, and for more generalized modeling purposes.

More information

Implement a unified approach to service quality management.

Implement a unified approach to service quality management. Service quality management solutions To support your business objectives Implement a unified approach to service quality management. Highlights Deliver high-quality software applications that meet functional

More information

Foundations of Model-Driven Software Engineering

Foundations of Model-Driven Software Engineering Model-Driven Software Engineering Foundations of Model-Driven Software Engineering Dr. Jochen Küster (jku@zurich.ibm.com) Contents Introduction to Models and Modeling Concepts of Model-Driven Software

More information

Global Software Change Management for PVCS Version Manager

Global Software Change Management for PVCS Version Manager Global Software Change Management for PVCS Version Manager... www.ikanalm.com Summary PVCS Version Manager is considered as one of the leading versioning tools that offers complete versioning control.

More information

Basic Trends of Modern Software Development

Basic Trends of Modern Software Development DITF LDI Lietišķo datorsistēmu programmatūras profesora grupa e-business Solutions Basic Trends of Modern Software Development 2 3 Software Engineering FAQ What is software engineering? An engineering

More information

Continue the Discussion: Ask questions at: www.bpmblueworks/forum. Learn More: To learn more about BPM BlueWorks, please visit: www.bpmblueworks.

Continue the Discussion: Ask questions at: www.bpmblueworks/forum. Learn More: To learn more about BPM BlueWorks, please visit: www.bpmblueworks. Learn More: To learn more about BPM BlueWorks, please visit: www.bpmblueworks.com Continue the Discussion: Ask questions at: www.bpmblueworks/forum Follow us on Twitter! http://twitter.com/bpmblueworks

More information

Basic Unified Process: A Process for Small and Agile Projects

Basic Unified Process: A Process for Small and Agile Projects Basic Unified Process: A Process for Small and Agile Projects Ricardo Balduino - Rational Unified Process Content Developer, IBM Introduction Small projects have different process needs than larger projects.

More information

Introduction to OpenUP (Open Unified Process)

Introduction to OpenUP (Open Unified Process) Introduction to OpenUP (Open Unified Process) Different projects have different process needs. Typical factors dictate the needs for a more formal or agile process, such as team size and location, architecture

More information

!!!!!! "#$%&'&()%*+,-))!.'',(+-$(/#!0%,%-)%!.1$/2-$(/#!.!3%)$!4&-+$(+%!!!!

!!!!!! #$%&'&()%*+,-))!.'',(+-$(/#!0%,%-)%!.1$/2-$(/#!.!3%)$!4&-+$(+%!!!! "#$%&'&()%*+,-)).'',(+-$(/#0%,%-)%.1$/2-$(/#.3%)$4&-+$(+% 55567%8(-,-8)6+/2 "7%+1$(9%:122-&; CIO s are under pressure to understand how to deliver IT projects that enable business growth and innovation,

More information

Business Process Management In An Application Development Environment

Business Process Management In An Application Development Environment Business Process Management In An Application Development Environment Overview Today, many core business processes are embedded within applications, such that it s no longer possible to make changes to

More information

Software change and release management White paper June 2008. Extending open source tools for more effective software delivery.

Software change and release management White paper June 2008. Extending open source tools for more effective software delivery. Software change and release management White paper June 2008 Extending open source tools for more Page 2 Contents 2 Integrating and complementing open source tools 2 Trends in business shape software development

More information

how can I deliver better services to my customers and grow revenue?

how can I deliver better services to my customers and grow revenue? SOLUTION BRIEF CA Wily Application Performance Management May 2010 how can I deliver better services to my customers and grow revenue? we can With the right solution, you can be certain that you are providing

More information

Key Benefits of Microsoft Visual Studio Team System

Key Benefits of Microsoft Visual Studio Team System of Microsoft Visual Studio Team System White Paper November 2007 For the latest information, please see www.microsoft.com/vstudio The information contained in this document represents the current view

More information

Managing Change Using Enterprise Architecture

Managing Change Using Enterprise Architecture Managing Change Using Enterprise Architecture Abdallah El Kadi, PMP, CISSP, TOGAF Chief Executive Officer, Shift Technologies Managing Director, Open Group Arabia Email: Abdallah.Kadi@awrostamani.com Website:

More information

Topic Change Governance for the Agile Enterprise a Service Oriented Architecture (SOA) Perspective

Topic Change Governance for the Agile Enterprise a Service Oriented Architecture (SOA) Perspective Topic Change Governance for the Agile Enterprise a Service Oriented Architecture (SOA) Perspective Document White Paper Author(s) Kelly A. Shaw, Ph.D. Research Analyst, Serena Software Brent Carlson, VP

More information

IBM InfoSphere Information Server Ready to Launch for SAP Applications

IBM InfoSphere Information Server Ready to Launch for SAP Applications IBM Information Server Ready to Launch for SAP Applications Drive greater business value and help reduce risk for SAP consolidations Highlights Provides a complete solution that couples data migration

More information

An introduction to the benefits of Application Lifecycle Management

An introduction to the benefits of Application Lifecycle Management An introduction to the benefits of Application Lifecycle Management IKAN ALM increases team productivity, improves application quality, lowers the costs and speeds up the time-to-market of the entire application

More information

IBM Software IBM Business Process Management Suite. Increase business agility with the IBM Business Process Management Suite

IBM Software IBM Business Process Management Suite. Increase business agility with the IBM Business Process Management Suite IBM Software IBM Business Process Management Suite Increase business agility with the IBM Business Process Management Suite 2 Increase business agility with the IBM Business Process Management Suite We

More information

Test management best practices

Test management best practices Test management best practices Introduction Purpose Few people can argue against the need for improved quality in software development. Users of technology that utilizes software have come to expect various

More information

IBM WebSphere Operational Decision Management Improve business outcomes with real-time, intelligent decision automation

IBM WebSphere Operational Decision Management Improve business outcomes with real-time, intelligent decision automation Solution Brief IBM WebSphere Operational Decision Management Improve business outcomes with real-time, intelligent decision automation Highlights Simplify decision governance and visibility with a unified

More information

Organizations that are standardizing today are enjoying lower management costs, better uptime. INTRODUCTION

Organizations that are standardizing today are enjoying lower management costs, better uptime. INTRODUCTION WHITEPAPER STANDARDIZED OPERATING ENVIRONMENTS FOR I.T. EFFICIENCY Boost productivity, increase uptime, and enhance business agility by standardizing your IT environment INTRODUCTION Organizations that

More information

BUSINESS INTELLIGENCE. Keywords: business intelligence, architecture, concepts, dashboards, ETL, data mining

BUSINESS INTELLIGENCE. Keywords: business intelligence, architecture, concepts, dashboards, ETL, data mining BUSINESS INTELLIGENCE Bogdan Mohor Dumitrita 1 Abstract A Business Intelligence (BI)-driven approach can be very effective in implementing business transformation programs within an enterprise framework.

More information

IBM BPM Solutions Addressing the Enterprise Business Process Management

IBM BPM Solutions Addressing the Enterprise Business Process Management IBM BPM Solutions Addressing the Enterprise Business Process Management Cristina Morariu, IBM Agenda Business Process Management IBM Featured products for BPM IBM Business Process Manager IBM Case Manager

More information

The Key to SOA Governance: Understanding the Essence of Business

The Key to SOA Governance: Understanding the Essence of Business THE NAME OF THE GAME: KANAME The Key to SOA Governance: Understanding the Essence of by Keith Swenson Kaname is a Japanese term meaning essence. In a Japanese fan, the bottom piece that keeps the fan together

More information

SOACertifiedProfessional.Braindumps.S90-03A.v2014-06-03.by.JANET.100q. Exam Code: S90-03A. Exam Name: SOA Design & Architecture

SOACertifiedProfessional.Braindumps.S90-03A.v2014-06-03.by.JANET.100q. Exam Code: S90-03A. Exam Name: SOA Design & Architecture SOACertifiedProfessional.Braindumps.S90-03A.v2014-06-03.by.JANET.100q Number: S90-03A Passing Score: 800 Time Limit: 120 min File Version: 14.5 http://www.gratisexam.com/ Exam Code: S90-03A Exam Name:

More information

Driving SOA Governance - Part II: Operational Considerations

Driving SOA Governance - Part II: Operational Considerations Driving SOA Governance - Part II: Operational Considerations by Leo Shuster, SOA Architect, National Bank SERVICE TECHNOLOGY MAGAZINE Issue XLIX April 2011 This is the second part of a multi-part article

More information

SOA Governance and the Service Lifecycle

SOA Governance and the Service Lifecycle IBM SOA SOA Governance and the Service Lifecycle Naveen Sachdeva sachdeva@us.ibm.com IBM Software Group 2007 IBM Corporation IBM SOA Agenda What is SOA Governance? Why SOA Governance? Importance of SOA

More information

Complementing Your Web Services Strategy with Verastream Host Integrator

Complementing Your Web Services Strategy with Verastream Host Integrator Verastream Complementing Your Web Services Strategy with Verastream Host Integrator Complementing Your Web Services Strategy with Verastream Host Integrator Complementing Your Web Services Strategy with

More information

Information Management & Data Governance

Information Management & Data Governance Data governance is a means to define the policies, standards, and data management services to be employed by the organization. Information Management & Data Governance OVERVIEW A thorough Data Governance

More information

Introduction to Strategic Supply Chain Network Design Perspectives and Methodologies to Tackle the Most Challenging Supply Chain Network Dilemmas

Introduction to Strategic Supply Chain Network Design Perspectives and Methodologies to Tackle the Most Challenging Supply Chain Network Dilemmas Introduction to Strategic Supply Chain Network Design Perspectives and Methodologies to Tackle the Most Challenging Supply Chain Network Dilemmas D E L I V E R I N G S U P P L Y C H A I N E X C E L L E

More information

MDE Adoption in Industry: Challenges and Success Criteria

MDE Adoption in Industry: Challenges and Success Criteria MDE Adoption in Industry: Challenges and Success Criteria Parastoo Mohagheghi 1, Miguel A. Fernandez 2, Juan A. Martell 2, Mathias Fritzsche 3 and Wasif Gilani 3 1 SINTEF, P.O.Box 124-Blindern, N-0314

More information

Develop enterprise mobile applications with IBM Rational software

Develop enterprise mobile applications with IBM Rational software Develop enterprise mobile applications with IBM software Providing comprehensive mobile application development and lifecycle management solutions Highlights Helps streamline and optimize the software

More information

Tools to support Requirements-Based Testing

Tools to support Requirements-Based Testing Requisite Pro RMT/RFT/RPT/Robot Rational Test Manager ClearQuest 26 IBM Rational Test Manager Test Manager runs as a schema on top of ClearQuest Version 7 Integrates with other IBM products, such as ClearCase,

More information

Adopting Service Oriented Architecture increases the flexibility of your enterprise

Adopting Service Oriented Architecture increases the flexibility of your enterprise Adopting Service Oriented Architecture increases the flexibility of your enterprise Shireesh Jayashetty, Pradeep Kumar M Introduction Information Technology (IT) systems lasted longer earlier. Organization

More information

Realtests.M2140-648.67 questions M2140-648. IBM Rational IT Sales Mastery Test v2

Realtests.M2140-648.67 questions M2140-648. IBM Rational IT Sales Mastery Test v2 Realtests.M2140-648.67 questions Number: M2140-648 Passing Score: 800 Time Limit: 120 min File Version: 5.0 M2140-648 IBM Rational IT Sales Mastery Test v2 I'm sure glad that I used it. Even though I knew

More information

Agile Development with Jazz and Rational Team Concert

Agile Development with Jazz and Rational Team Concert Agile Development with Jazz and Rational Team Concert Mayank Parikh mayank.parikh.@in.ibm.com Acknowledgements: Thanks to Khurram Nizami for some of the slides in this presentation Agile Values: A Foundation

More information

Address IT costs and streamline operations with IBM service desk and asset management.

Address IT costs and streamline operations with IBM service desk and asset management. Asset management and service desk solutions To support your IT objectives Address IT costs and streamline operations with IBM service desk and asset management. Highlights Help improve the value of IT

More information

A Guide Through the BPM Maze

A Guide Through the BPM Maze A Guide Through the BPM Maze WHAT TO LOOK FOR IN A COMPLETE BPM SOLUTION With multiple vendors, evolving standards, and ever-changing requirements, it becomes difficult to recognize what meets your BPM

More information

Service-Oriented Architecture and its Implications for Software Life Cycle Activities

Service-Oriented Architecture and its Implications for Software Life Cycle Activities Service-Oriented Architecture and its Implications for Software Life Cycle Activities Grace A. Lewis Software Engineering Institute Integration of Software-Intensive Systems (ISIS) Initiative Agenda SOA:

More information

CS 389 Software Engineering. Lecture 2 Chapter 2 Software Processes. Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed.

CS 389 Software Engineering. Lecture 2 Chapter 2 Software Processes. Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed. CS 389 Software Engineering Lecture 2 Chapter 2 Software Processes Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed. Topics covered Software process models Process activities Coping

More information

Business Process Management Enabled by SOA

Business Process Management Enabled by SOA Business Process Management Enabled by SOA Jyväskylä 8.5.2007 Kimmo Kaskikallio IT Architect IBM Software Brands Five middleware product lines designed to work together Service-Oriented Architecture (SOA)

More information

CA Service Desk Manager

CA Service Desk Manager PRODUCT BRIEF: CA SERVICE DESK MANAGER CA Service Desk Manager CA SERVICE DESK MANAGER IS A VERSATILE, COMPREHENSIVE IT SUPPORT SOLUTION THAT HELPS YOU BUILD SUPERIOR INCIDENT AND PROBLEM MANAGEMENT PROCESSES

More information

Agile Master Data Management A Better Approach than Trial and Error

Agile Master Data Management A Better Approach than Trial and Error Agile Master Data Management A Better Approach than Trial and Error A whitepaper by First San Francisco Partners First San Francisco Partners Whitepaper Executive Summary Market leading corporations are

More information

Business Process Management Tampereen Teknillinen Yliopisto

Business Process Management Tampereen Teknillinen Yliopisto Business Process Management Tampereen Teknillinen Yliopisto 31.10.2007 Kimmo Kaskikallio IT Architect IBM Software Group IBM SOA 25.10.2007 Kimmo Kaskikallio IT Architect IBM Software Group Service Oriented

More information

The IBM Solution Architecture for Energy and Utilities Framework

The IBM Solution Architecture for Energy and Utilities Framework IBM Solution Architecture for Energy and Utilities Framework Accelerating Solutions for Smarter Utilities The IBM Solution Architecture for Energy and Utilities Framework Providing a foundation for solutions

More information

Tips for writing good use cases.

Tips for writing good use cases. Transforming software and systems delivery White paper May 2008 Tips for writing good use cases. James Heumann, Requirements Evangelist, IBM Rational Software Page 2 Contents 2 Introduction 2 Understanding

More information

IBM Tivoli Service Request Manager

IBM Tivoli Service Request Manager Deliver high-quality services while helping to control cost IBM Tivoli Service Request Manager Highlights Streamline incident and problem management processes for more rapid service restoration at an appropriate

More information

Service Governance and Virtualization For SOA

Service Governance and Virtualization For SOA Service Governance and Virtualization For SOA Frank Cohen Email: fcohen@pushtotest.com Brian Bartel Email: bbartel@pushtotest.com November 7, 2006 Table of Contents Introduction 3 Design-Time Software

More information

Course 4 27 October 2014. Adrian Iftene adiftene@info.uaic.ro

Course 4 27 October 2014. Adrian Iftene adiftene@info.uaic.ro Course 4 27 October 2014 Adrian Iftene adiftene@info.uaic.ro They will not be considered in the maximum values of the laboratory The presentation of the context and of these solutions in the course can

More information

WHITE PAPER DATA GOVERNANCE ENTERPRISE MODEL MANAGEMENT

WHITE PAPER DATA GOVERNANCE ENTERPRISE MODEL MANAGEMENT WHITE PAPER DATA GOVERNANCE ENTERPRISE MODEL MANAGEMENT CONTENTS 1. THE NEED FOR DATA GOVERNANCE... 2 2. DATA GOVERNANCE... 2 2.1. Definition... 2 2.2. Responsibilities... 3 3. ACTIVITIES... 6 4. THE

More information

The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into

The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material,

More information

HP SOA Systinet software

HP SOA Systinet software HP SOA Systinet software Govern the Lifecycle of SOA-based Applications Complete Lifecycle Governance: Accelerate application modernization and gain IT agility through more rapid and consistent SOA adoption

More information

Open Source egovernment Reference Architecture Osera.modeldriven.org. Copyright 2006 Data Access Technologies, Inc. Slide 1

Open Source egovernment Reference Architecture Osera.modeldriven.org. Copyright 2006 Data Access Technologies, Inc. Slide 1 Open Source egovernment Reference Architecture Osera.modeldriven.org Slide 1 Caveat OsEra and the Semantic Core is work in progress, not a ready to use capability Slide 2 OsEra What we will cover OsEra

More information

Model Driven Development Future or Failure of Software Development?

Model Driven Development Future or Failure of Software Development? Model Driven Development Future or Failure of Software Development? Ruben Picek, Vjeran Strahonja University of Zagreb, Faculty of Organization and Informatics, Varaždin ruben.picek@foi.hr, vjeran.strahonja@foi.hr

More information

Systems Engineering with RUP: Process Adoption in the Aerospace/ Defense Industry

Systems Engineering with RUP: Process Adoption in the Aerospace/ Defense Industry March 2004 Rational Systems Engineering with RUP: Process Adoption in the Aerospace/ Defense Industry Why companies do it, how they do it, and what they get for their effort By Dave Brown, Karla Ducharme,

More information

California Enterprise Architecture Framework

California Enterprise Architecture Framework Version 2.0 August 01, 2013 This Page is Intentionally Left Blank Version 2.0 ii August 01, 2013 TABLE OF CONTENTS 1 Executive Summary... 1 1.1 What is Enterprise Architecture?... 1 1.2 Why do we need

More information

EM-SOS! from Sandhill Consultants

EM-SOS! from Sandhill Consultants Taming the Chaos of Uncontrolled Data Design: EM-SOS! from Sandhill Consultants Powered by Axis Software Designs Get the most from your CA ERwin data modeling investment with world-class professional services,

More information

Software Development In the Cloud Cloud management and ALM

Software Development In the Cloud Cloud management and ALM Software Development In the Cloud Cloud management and ALM First published in Dr. Dobb's Journal, February 2009: http://www.ddj.com/development-tools/212900736 Nick Gulrajani is a Senior Solutions Architect

More information

Fidelity National Financial Drives Improvements in Software Development and Reuse with IBM Rational Software Development Platform and Flashline

Fidelity National Financial Drives Improvements in Software Development and Reuse with IBM Rational Software Development Platform and Flashline IBM Customer Success Fidelity National Financial Drives Improvements in Software Development and Reuse with IBM Rational Software Development Platform and Flashline Overview The Challenge Following a series

More information

OPTIMUS SBR. Optimizing Results with Business Intelligence Governance CHOICE TOOLS. PRECISION AIM. BOLD ATTITUDE.

OPTIMUS SBR. Optimizing Results with Business Intelligence Governance CHOICE TOOLS. PRECISION AIM. BOLD ATTITUDE. OPTIMUS SBR CHOICE TOOLS. PRECISION AIM. BOLD ATTITUDE. Optimizing Results with Business Intelligence Governance This paper investigates the importance of establishing a robust Business Intelligence (BI)

More information

The Role of the Software Architect

The Role of the Software Architect IBM Software Group The Role of the Software Architect Peter Eeles peter.eeles@uk.ibm.com 2004 IBM Corporation Agenda Architecture Architect Architecting Requirements Analysis and design Implementation

More information