|
||||||||||||||||||
Software architects or developersare you developing applications in heterogeneous and/or globally distributed environments? If so, are you getting fed up with using multiple tools and processes to support and synchronize your efforts? Do you need a more productive, agile, and holistic solution for developing and managing multiple languages and development teams for your SOA projects? Do you want a top-down, end-to-end view of development and deployment taskswithout forcing the skilled C#, Java, and mainframe developers to abandon their favorite IDEs? Are you responsible for maintaining, delivering, or re-architecting applications that were implemented in an unfamiliar language? If you answered yes to one or more of these questions it is time to consider the IBM Rational Software Delivery Platform v7.0 products. You should also consider these products if SOA projects are already on your schedule or in your future. Benefits such as software or component reuse, enhanced productivity, increased flexibility, shorter time to market, etc., are making Web services an increasingly popular way to implement SOA. Conversely, developing SOA solutions comes with new challenges inherent in the tasks of creating interoperable Web services out of software components or applications that are, or were, created by various development teams using combinations of C/C++, Java/J2EE, .NET, and/or legacy mainframe technologies including COBOL, CICS, etc. Successful SOA solutions require efficient orchestration, coordination, and management of multiple development teams across large, heterogeneous, and/or globally distributed environments. Faster, accurate, and cost-effective SOA development demands an automated approach for everything from code generation to comparing the code produced by each of the development teams against the current design specifications before merging it seamlessly with previously created components to create functional software services. More Efficient Team Development and Collaboration
A recent addition to the IBM Rational Software Delivery Platform v7.0 is the IBM Rational Modeling Extension for Microsoft .NET Version 7.0. It integrates with and complements Microsoft Visual Studio 2005 technology. When Rational Modeling Extension for Microsoft .NET v7 is installed into one of the IBM Rational architecture management tools, such as IBM Rational Software Architect, IBM Rational Systems Developer, or IBM Rational Software Modeler, the combination creates an integrated, collaborative environment that supports Eclipse and Java IDEs, as well as Microsoft Visual Studio.NET. It also simplifies the creation of software components and other SOA solutions developed in.NET, C#, Java/J2EE, C/C++, legacy COBOL, and CICS applications. UML and Modeling Are the Key to Architectural Structure and Integrity Modeling improves the overall productivity and quality of SOA projects by simplifying and automating the development of many different software components along with the underlying infrastructure that comprises SOA solutions. The primary software artifacts are models from which code and other artifacts are generated. Patterns are used for model transformation and code generation. UML modeling isn't just about modeling and building architecture. Certainly, UML modeling helps translate the specifications of what you are designing into code that accurately represents the intent of the software designers. More importantly, UML modeling is a great way to communicate to the rest of the team as your software project progresses and evolves. .Since it is a visual representation of what you are building, it gives you a way to look at your UML model and think about what you are going to build before you start coding or doing the transformation and code generation. In this way modeling minimizes errors, prevents having to rework the code until you "get it right", and promotes successful team communication and development. Even so, the greater value in using a modeling approach for SOA architecture design and code development is that it allows you to design your entire architecture from within a single tool which is not platform specific. It also enables you to take advantage of a single, consistent architectural design to deliver heterogeneous software and services for the geographically dispersed and decentralized environments commonly found in SOA projects. As you build your SOA solutions on top of a sound architectural design, you use the automated service delivery features found in the IBM Rational products to accelerate your SOA development and deployment. You can generate Web services based on the latest Eclipse community standards with improved modularity and openness over what you would create using entirely manual methods and multiple vendor or open source tools. The UML model gives form, foundation, definition, and consistency for the SOA design specifications. This platform provides global architectural integrity and easily supports your packaged applications. Developers are freed from worrying about the underlying architecture and all the associated plumbing to work on the business logic portion of the application, Web service, or other SOA solutions using the languages and IDEs with which they are most familiar. You can, for instance, build your architecture in IBM Rational Software Architect or IBM Rational Software Modeler and automatically have it generate code in C++ or Java in Eclipse, as well as C# in Visual Studio.NET. As an example, for Java development you could choose IBM Rational Software Architect to quickly discover and use existing Web services, create new Web services using a top-down development approach, and/or create new Web services from a bottom-up approach using existing components. Without this product, you would have to manually discover an applicable Web service, add a UDDI client to the application, manually code the SOAP proxy, and hand-code the JSP that uses the Web service. IBM Rational Software Architect automates all of these tasks, without requiring additional programming, saving you significant time and effort. IBM Rational Software Architect enables you to perform architectural discovery where you take the code or services you already have and graphically represent them in UML diagrams. This helps you visually see and understand more clearly how all the components of your application fits together which eliminates the need to scan through thousands of lines of code to understand what the application does, or find the places where something may be poorly coded. Additionally, IBM provides many supportive features to simplify your tasks including:
There are numerous other features and other products that we just can't cover in the scope of this articleincluding wizards, code compare and merge capabilities, and other functions that augment testing and deployment of Web services. Now C#, C, and Java Developers Can Work on the Same SOA Projects Rational Modeling Extension for Microsoft .NET v7 also provides transformations to let you switch back and forth between UML to C#. It also lets you compare UML and C# to determine whether the C# code that is generated conforms to the architecture specifications. Microsoft Visual C# projects begin by importing the projects into your selected IBM Rational Software Delivery program. Figure1 illustrates how easily this is accomplished using the .NET Solution Import wizard provided with RSA.
The Visualization capability in Rational Modeling Extension for Microsoft .NET v7 simplifies the development of complex SOA and/or .NET applications. Class diagrams help you easily find and interpret .NET types including viz. classes, interfaces, structs, and others. Visualization features provide a more intuitive way to understand the structure of the application and the relationships between various .NET elements. You can create visual diagrams from existing C# files and .NET assemblies and update the diagrams when changes are made to the code. Another task you can do is view .NET elements in a Browse diagram which is a temporary, non-editable diagram that lets you examine existing elements and their relationships. Figure 2 illustrates a Browse diagram.
Support for model fusing to allow you to combine models and model decomposition so your model can easily adapt as conditions change or evolve. Model files can be deconstructed into smaller files or modules that can be versioned and managed by a configuration management tool. Rational Modeling Extension for Microsoft .NET v7 also simplifies the process of managing teams of Microsoft Visual Studio.NET developers working in parallel through its fast model merge capability along with its fast compares, model search, and reconciliation features. Complete Lifecycle Support Is Available You can use IBM Rational Functional Tester for automated functional and regression testing of your Java, Microsoft Visual Studio.NET, and Web-based and packaged applications. You can perform functional and regression testing on Java, .NET, Web-services, and other complex applications with IBM Rational Functional Tester Plus. You can use IBM Rational ClearQuest and Functional Testing to do quality and change management, test management, defect management, and automated and manual functional testing. Since the products are so well integrated, IBM Rational ClearQuest can view into RequisitePro requirements. Consequently, when any tests fail the records automatically get updated. This enables project managers to assess the full impact of the test failures and lets them easily identify which requirements have not been met based on the defects that were discovered. Finally, since the products are based on Eclipse and open source, you have access to thousands of plug-ins you can use to enhance your development environment. IBM Rational has the tools to support all the professionals on your development team throughout the lifecycle of your projects. Let IBM Rational turn your SOA and application challenges into successful deployments without disrupting the preferred way your developers like to work.
|
||||||||||||||||||
|
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.
| ||||||||||||||||||