Many IT departments are facing issues with systems that have grown over the years, and are increasingly complex, running on many different platforms, be it Java and Visual Basic, or Cobol and Natural. The development processes for each technology are vastly different, even though they deliver business functionality in conjunction.

The lifecycle manager solves this problem. It allows running one automated development process across all technologies used within the organization, relying on modern versioning systems to handle source code.

Benefits

  • Centralized control
  • Versioning of code changes for any point in time
  • Management of versions and development processes
  • Complete audit trail of all deployment operations
  • 100% revision controlled program code
  • Use of tracking systems like Jira, Team Foundation Server, etc.
  • Freely defined development environment with any number of environments (development, test, integration, user acceptance, production)

Architecture

lifecycle manager integrates into your existing IT landscape, empowering your existing versioning system for use with all your environments in all your technologies. If, for example, you have existing Java development based on Subversion for source control, lifecycle manager extends the use of that versioning to Natural or Cobol and allows deployment to your test, integration, and production environment.

Figure 1 (above) - Sample architecture shows a sample lifecycle manager installation with Subversion as the versioning system, PostgreSQL as lifecycle manager's database, and 2 environments, development and production.

soa-connector is a middleware that allows exposing code in any language as a service, hence it also exposes lifecycle manager's services. The RequestServer stores all changes to the software system und lifecycle management, including the objects changed, by whom, and when they were deployed where. This gives an organization a full audit trail of the software lifecycle.

The DeploymentServer is a scriptable server that allows running operations on the systems that receive a build. This includes uploading, compiling, and moving code on Natural systems, including object references, or calling Java build scripts like ant or maven. The scripts are built in Beanshell, a scriptable, interpreted version of Java.

The SVN Server is a Subversion version control system. It contains all source code in all languages used in an organization, from Java to C and Natural.

cobolclipse and natclipse are plug-ins to use the Cobol and Natural programming language in the Eclipse IDE. lifecycle manager is another plugin to Eclipse that allows close control and synchronization of a developer's work with the deployment process. It can be scripted (again using Beanshell) to trigger processes in the IDE as a developer works. It can also call scripts on the DeploymentServer via soa-connector to trigger remote actions. Scripting access to APIs exposed from tracking systems like Jira allows for complete integration.

Sample Development Process

Every organization has a unique development process. To illustrate this, imagine a product development company that releases a product once a year. Such an organization will use a more version-based approach to their development process, with large increments in large timeframes. Another development approach may be an insurance company that continuously improves its business software to reflect business process changes or new internal user requirements. Such an organization will release small improvements to their software in very short timeframes. This can be considered a more request-based approach to the software lifecycle. lifecycle-manager supports both approaches and any custom process in between.

The following shows a sample request-based development process:

A business analyst creates a request in the request system. A developer is assigned to the request and starts implementation. In the process, the developer changes, adds, and deletes objects. These objects may be in completely different programming languages, but the lifecycle manager tracks all affected objects inside the Eclipse plug-in (and synchronizes this data with the request server).

When the request is moved to verification, lifecycle manager takes care of deploying the objects to their respective technology and environment (build Java JARs, move Natural object code and references). When a project manager determines that a request is ready for production, the corresponding objects are moved to the next stage in a similar fashion.

This sample process can be adjusted to the actual process your organization wants to run.

lifecycle manager Eclipse plug-in

lifecycle manger comes with an Eclipse plug-in that tracks a developer's work within the IDE. This really enables request-based development.

This screenshot shows the plug-in's view. Every object the developer changes is stored in the request server and displayed in the plug-in. After work on the request has been completed (equivalent to moving the request to 'Ready for Test'), the code that belongs to the request is moved to the respective technology's next environment.

Conclusion

lifecycle-manager allows integrating all separate development processes in IT departments of an organization into one automated process, even across technology barriers. Managers achieve full control of the change process and have a complete audit trail of any changes from when they were deployed all the way down to which line of code was changed by which developer. Reduced manual intervention removes space for errors and allows business to run smoothly.


lifecycle manager Literature:

lifecycle manager Brochure

Contact Treehouse Today!

To receive more information, contact Treehouse Software.

TREEHOUSE SOFTWARE, INC.
2605 Nicholson Road, Suite 230 • Sewickley, PA 15143 USA
Phone: 724.759.7070 • Fax: 724.759.7067


What's New | Products | Services | About Us | Newsletter | Management | Partners | Support
International | Employment | Links | Site Map | Contact TSI | Home

Copyright © 2012 Treehouse Software, Inc.