![]() |
![]() |
||
|
|
![]() |
CBDI Web Services Roadmap - Guiding the Transition to Web Service and SOA Sponsored by
Sponsored PapersWeb Services Roadmap for the On Demand Business - IBM Vendor Web Services Roadmap Report - IBM. IBM's strategy today is centered around "Business On Deman... more Service Oriented Architecture. An Introduction for Managers Many Organizations are now undertaking development of service oriented architectures, but the probab... more Modernizing Application Integration with SOA Whilst investment in Application Integration initiatives over the last decade has undoubtedly improv... more |
Real World Migration of Development Projects to SOA cont'd...Using OptimalJ to Move to SOATo briefly re-cap, OptimalJ's key strengths are:
Modeling ServicesA service model consists of a set of business operations with consistent naming, input and outputs and relationships to the business objects they affect or use. We believe that the full benefit of SOA is possible only when you have a consistent model and a business overview of services. The Domain Model in OptimalJ includes the Domain Service Model where you model business applications. Once you have the model, existing software assets can be integrated into the SOA and new functionality built where is doesn't exist. Enterprise SOANow let's look at the real world of enterprise applications and in particular whether the MDA paradigm and MDA-based tools offer any advantage when faced with a mixture of packaged applications that developers can't touch, old client-server applications, a few desktop applications based on Excel and Access, a small Java web application, and some mainframe applications with traditional CICS APIs or similar. Not much sign of the Business Services Bus here! So you have the latest copy of OptimalJ - where do you start? We can identify a number of distinct steps in the transition. Step one is 'Model', which includes 'Inventory' and 'Map' and steps two, three and four are 'Build', 'Integrate', 'Migrate'. In the first step we are designing architecture for the business and creating an inventory and in steps two, three and four we create new services, integrate the existing applications and begin the migration towards SOA. By generating code that implements SOA the developers concentrate on building functionality that will be visible to the business users. The following table sets out some key activities we identify on the roadmap to SOA. Some activities would be completed using OptimalJ's model, but others such as the inventory and mapping activities could be done with office tools.
Table 1 - Key Activities on the Roadmap to SOA Achieving SOA inevitably involves some enterprise integration work, which calls for an adapter approach. Fortunately J2EE has embraced this requirement with JCA. So the integration work can be modeled and documented in the same tool set. JCA Integration ModelOptimalJ implements the JCA architecture and utilizes the JCA resource adapters provided for platforms such as Cobol/CICS and IMS/DC. JCA supports the concept of contracts and can handle issues such as security and transactions in the J2EE application server. Its modeling capability extends to the Connector model that can be manually entered or imported from Cobol copybooks.
Figure 2 - Integration Model The same approach works for CORBA IDL or of course Web Services, which is shown below. UNIFACE, Compuware's 4GL development environment has an established user base who can also benefit from integration capabilities that OptimalJ brings. UNIFACE uses the CORBA interface to expose functionality and will be of particular interest to these users. Additionally with the latest UNIFACE release, UNIFACE Services can be transformed into Web Services. In both cases UNIFACE automatically generates the interface definition (IDL or WSDL) which can be imported into OptimalJ to create a Connector Model, which can be used to populate the Domain Model; we believe that this ability to build a service and integration model is an important capability that ensures that a coherent migration to SOA is possible.
Figure 3 - Integration Model for CORBA and Web Services Web Services SupportWeb Services provides the platform independence required by the heterogeneous enterprise. The service layer generated by OptimalJ can be selectively published as Web Services simply by selecting a component in the model and choosing a menu option. There is no need to change any code or write any configuration files because OptimalJ's code generator step deals with all the deployment issues for your selected platform. Model-based Pattern-Driven Code GenerationFinally we look at OptimalJ's code generation capability and focus in on what makes this code generator so different from less successful forerunners. The key features of Compuware's new approach are:
OptimalJ promotes a top-down approach by driving the code generation from the UML business model and maintains the model when the resulting code is customized to implement business logic. Unlike earlier generators however, the code that is generated follows an established set of patterns and best practice as documented in Sun's J2EE blueprints. Active synchronization removes the need to reverse-engineer the model from the Java code; the IDE used by the developer is integrated with the model and 'knows' which lines of Java the developer cannot change (so called guarded blocks). Any changes to the model must be made in the model. Free blocks are designated for the developer to plug in the business rules and processing logic. The patterns used to transform the Domain Model into an Application Model and then to code are not closed to the system architect and can be altered in order to follow company standards. OptimalJ's Template Pattern Language (TPL) is used to define the transformation from model to code. Join points add more subtlety to the pattern customization by enabling a join to be made between a customized pattern and the pre-configured pattern supplied by Compuware - thus you can update your OptimalJ patterns without losing your special enhancements. ConclusionIn this report we have looked at the issues facing a company moving towards SOA from a heterogeneous set of applications and platforms. We recommend a process that starts with a top-level service model into which new and existing functionality can be integrated. By focusing on how OptimalJ matches up to these types of demands we have identified some of the key features of OptimalJ:
MDA is a powerful way to manage the complexity of distributed computing platforms such as J2EE and OptimalJ's approach takes pattern use to a new level of productivity, addressing SOA and Web Services through its consistent application of patterns. Early adopters of OptimalJ report productivity gains using OptimalJ but we note that the service architecture is taken as a given. The issue isn't anymore what is SOA or do we need SOA, but how fast can we get there? Links
|
![]() |
© Everware-CBDI Inc 1999-2008 |