YOUR FEEDBACK
Architect0001@Nubifer.com wrote: Cloud Computing is a broad term. Simply searching "Cloud Computing" on Google wi...
Cloud Computing Conference
November 19-21 San Jose, CA
Register Today and SAVE !..

SYS-CON.TV
TOP THREE LINKS YOU MUST CLICK ON


Managing Production Deployment of Java Applications
Managing Production Deployment of Java Applications

Companies that have adopted WebSphere as their enterprise development platform are creating business-critical production applications. These projects include new, stand-alone solutions and modernized front ends for legacy applications and are being deployed to any eServer platform that supports IBM WebSphere Application Server.

Development teams and production control personnel are facing complex challenges. Production deployment processes and tools in this area have not matured as they have in legacy iSeries and zSeries environments. There is a need to reliably manage various releases of applications that often contain thousands of source members. Management needs a repeatable, dependable process, while developers need to be free to do their job without being burdened by external tools.

Enterprises need answers to these questions:

  • How can a project team develop new functionality while providing maintenance for the production version?
  • How can managers guarantee that absolutely no unplanned or unwanted changes are introduced into a production application when fixes are required?
  • How can a WebSphere development team reduce the amount of time spent on manual source code merging (which can destabilize the application) and unproductive Ant makefile scripting?
  • How can any WebSphere team member rebuild the application, on any machine, exactly the way it exists today?

    A solution should enable production deployment teams to:

  • Reliably reproduce the exact set of source code for any version of a production application
  • Ensure that only desired changes have been introduced into a new build
  • Control and automate deployment to test and production
  • Provide a complete audit trail

    The solution must allow development teams to:

  • Work seamlessly from within their development IDE
  • Easily follow a repeatable managed development process
  • Work efficiently without distractions from external tools

    The ideal solution will consist of a software configuration management/version control system; a change management/process and workflow system; and a reliable, repeatable build process. The software configuration management (SCM) system should be a secure, client/server, cross-platform application. It must seamlessly integrate with the WebSphere Studio family of products. It must provide a 100% reliable method of re-creating a past version; simple labeling is too prone to errors.

    A change management application should allow for the definition of a variety of flexible development processes and be tightly integrated with SCM systems on distributed iSeries and zSeries platforms. A robust command line and event trigger mechanism should allow the change management system to trigger and control external actions in the development process. The build application should ensure that every member of the team builds the application the same way every time. Unproductive Ant XML scripting should be reduced.

    Let's review a real-world scenario. In this case we'll be referring to specific functionality found in MKS Source Integrity Enterprise Edition, an enterprise SCM solution. Baselining in Source Integrity Enterprise is achieved by an action called checkpointing. The checkpoints are versioned, meaning that an earlier baseline can never be corrupted. Corruption is possible with solutions that rely on labeling, however, once a project has been checkpointed, new development can carry on, with full confidence that any previous release can be re-created for maintenance work.

    Figure 1 shows a graphical view of a member history that a developer can use to visualize the status and history of a source file, and also to perform actions such as merge on it. This view is also available for project history.

     

    MKS provides a Ready for WebSphere Certified version control plug-in for the WebSphere family of products. A key aspect of this integration is its unique ability to dynamically update file status decorators that provide WebSphere developers with real-time status updates. This reduces the amount of code merging required and increases the visibility of project activities, allowing developers to make informed decisions. Conflict avoidance versus conflict resolution results in superior-quality applications and increased developer productivity.

    Figure 2 shows the file status indicators and the file decorators added by the MKS Source Integrity Enterprise Edition plug-in. They are updated in real time without any user action or input.

     

    MKS Integrity Manager is a flexible, configurable development process and workflow engine. It is tightly integrated with MKS Source Integrity Enterprise for distributed platforms and MKS Implementer for iSeries, and can be integrated with zSeries-based SCM systems. This provides management with a single Web-based change management system to oversee development and to link source code changes with issues across all platforms. MKS has introduced a Build & Deploy module as part of Integrity Manager. This module provides the production deployment staff with the ability to automate, control, and report on all build and deploy activities.

    Openmake from Catalyst Systems is an award-winning application build process automation tool. It provides the ability for any developer to do full or incremental builds reliably on any machine the same way every time, while eliminating the need for manual makefile or Ant XML scripting. Upon completion of a build, Openmake creates a Bill of Materials (BOM). This BOM includes information on every component that went into the EAR file.

    The following scenario features a stand-alone J2EE application developed with WebSphere Studio Application Developer 5.0 and deployed to WebSphere Application Server 5.0 running on AIX 5.2 Version 1.0 of the application contains 1,200 Java source files and has gone through complete systems integration and user acceptance testing; it has been in production for a month. To ensure version 1.0 can always be re-created, it was checkpointed with Source Integrity Enterprise. It was built using Openmake and moved into production using the Integrity Manager's Build & Deploy module. After the application was built by Openmake, both the EAR file and the BOM were added to a Source Integrity Enterprise project for later use. Since that time, significant development has been done, working toward version 1.1. The work has resulted in 300 new files and changes to 50 existing files.

    A serious bug has just been reported and must be fixed immediately. Investigation of the problem has been completed and development work assigned. Issues are created in Integrity Manager and assigned to three developers. It is clear from the Build & Deploy request that the production version (1.0) refers to Checkpoint 1.0. This information is provided to the developer in the issue. Each developer will work on a variant project, based on Checkpoint 1.0. In this way, none of the changes made since the release of 1.0 will be in their WebSphere project workspace.

    An administrative option for this environment has been set that requires developers to add all work they do to a Change Package. This Change Package must be associated with an issue that has been assigned to them in Integrity Manger. As they work on their changes, the dynamically updating status indicators will clearly show the effect other developers may have. They can choose to bring in the other changes to do their unit testing. Once complete, they close their Change Package and mark their issue as complete. Once all developers have completed their unit testing and have closed their change packages, it's time to move to the next stage of the process.

    A Build & Deploy request will now be created in Integrity Manager to move the work through to production. The first action is to associate with the new Build & Deploy request all of the issues where work was attached. All of the changes will be automatically applied to Checkpoint 1.0. Once applied, the request will be moved to a ready-to-build state, which triggers Openmake to perform the build. The new EAR file and BOM will be added to a Source Integrity Enterprise project and a new checkpoint created.

    In this view we see a Build & Deploy request. The State indicates the EAR file is ready to deploy and the "Source Code to Build" field shows the Change Packages from the related issues have been applied to the appropriate development path.

     

    The Build & Deploy request will now call the WebSphere Application Server command line to install and deploy the EAR file on the designated systems integration test server. The QA technician will receive notification that work is assigned and ready for testing. Keep in mind there was a detailed BOM created by Openmake for both the production version of the EAR file and the current EAR file just deployed for testing. As part of the process, the technician can use Source Integrity Enterprise to differentiate between these two BOMs to be certain only the desired changes from the three developers were introduced. They can now QA-test those changes with confidence.

    Upon successful testing, the EAR file can be deployed for another test phase or be promoted directly into production. This process is flexible and can be set up to meet the team's specific business needs.

    Now that the issue is fixed in production, another important step is to ensure it is not re-introduced when version 1.1 goes live. The same Change Packages created to fix the problem in 1.0 can be seamlessly applied to the version 1.1 line of development to ensure this does not happen.

    Conclusion
    I have discussed how a tightly integrated SCM and change management system, combined with a mature build process, can address many of the complex issues facing today's enterprise Java development teams. There is a system that can provide the process and management control needed without inhibiting developers' creative talents.

    In Part 2 of this series, Adam Terrenzio of MKS Inc. will discuss ways SCM plug-ins can help developers with day-to-day activities in his article, titled "Teamwork in WebSphere Studio."

  • About Brad Van Norne
    Brad Van Horne brings nearly 20 years of enterprise IT sales and product management experience to his role of Integrations Product Manager at MKS (www.mks.com), an enterprise software configuration management vendor. In this role, he is responsible for the integration of MKS's core products with other industry-leading software development tools.

    YOUR FEEDBACK
    Allen Partin wrote: Brad, You captured the requirements very well. Cheers! Ak
    Allen Partin wrote: Brad, You captured the requirements very well. Cheers! Ak
    WEBSPHERE LATEST STORIES . . .
    IBM is going to buy Transitive, the British cross-platform virtualization firm that salvaged legacy Macintosh programs and made Apple's move from IBM to Intel chips as graceful as a prima ballerina’s pirouette. Transitive is clever at running applications written for one kind of micr...
    Emulex has announced that its LightPulse LP21000 family of Fibre Channel over Ethernet (FCoE) Converged Network Adapters (CNAs) have been tested and found to be compatible for use with IBM Systems x3650(7979), x3655(7943) and x3755(7163) series servers. Emulex CNAs enable the consolida...
    Mark Papermaster, the ex-VP of blade development at IBM and the guy that IBM stopped from going to Apple to run its iPod and IPhone development on the strength of the non-compete he signed, has sued his former master looking for a declaratory judgment in his favor.
    A round-up of the many themes and topics of interest to infrastructure architects, developers and IT managers featuring at SYS-CON's Cloud Computing Expo being held November 19-21, 2008 at The Fairmont Hotel in San Jose, California. The conference is expecting a record turnout of senio...
    Okay, here's the deal. When you observe the big software guys and see how quickly they adopt emerging technologies, which will change IT the way we know it today, here is what we see. Larry Ellison invested millions in old SaaS / cloud companies, which gave him zippo in return, and he ...
    "More than a half dozen conferences and events targeting Virtualization and Cloud Computing canceled in the past two months," said Fuat Kircaali, CEO of SYS-CON Media. "We predicted that this would be the outcome for many competing shows due to the current economic conditions," he adds...
    SUBSCRIBE TO THE WORLD'S MOST POWERFUL NEWSLETTERS
    SUBSCRIBE TO OUR RSS FEEDS & GET YOUR SYS-CON NEWS LIVE!
    Click to Add our RSS Feeds to the Service of Your Choice:
    Google Reader or Homepage Add to My Yahoo! Subscribe with Bloglines Subscribe in NewsGator Online
    myFeedster Add to My AOL Subscribe in Rojo Add 'Hugg' to Newsburst from CNET News.com Kinja Digest View Additional SYS-CON Feeds
    Publish Your Article! Please send it to editorial(at)sys-con.com!

    Advertise on this site! Contact advertising(at)sys-con.com! 201 802-3021

    SYS-CON FEATURED WHITEPAPERS

    ADS BY GOOGLE
    BREAKING WEBSPHERE NEWS
    IBM (NYSE: IBM) today announced that the State of Georgia has awarded IBM a contract, valued by the ...