|
As enterprise IT organizations seek to bring greater visibility and
efficiencies to software development, management, and acquisition processes,
they are increasingly turning to software packages that enable them to govern
the activities of software organizations. Enterprises who employ IT governance
and portfolio management software such Mariner, Serena Software's
industry leading IT governance solution, are able to realize substantial
savings in identifying where investments can improve business operations as
well as software development and management practices.
Mariner is a sophisticated Web-based application intended for enterprise use in
providing management visibility into project and application portfolio
practices. It enables enterprise IT management to select and plan promising
software development and infrastructure projects based on their value to the
business, and to manage the cost, schedule, and quality of those projects
during execution. Based on the .NET platform, it incorporates a highly advanced
AJAX-based user interface that improves response time and provides a native
application look and feel. Mariner consists of nearly a million lines of C#,
JavaScript, and HTML code.
Business opportunity
In 2003, Serena Software (then called Pacific Edge Software) made the strategic decision to re-architect
Mariner using the Microsoft® .NET platform and the C# language.
While this implementation met the immediate technical and performance goals of
its customer base, the company has since entered into partnerships with other
software vendors whose solutions are Java-based.
Decision process
According to John Scumniotales, Vice President of Products for Serena
Software, the company's options for interfacing with their partners'
applications were limited. "We looked at implementing our product as a set of
Web services to interface in a loosely-coupled manner with our partners'
applications, but that didn't meet some of our key technical requirements, such
as the need for tight integration at the user interface level, as well as high
performance of the application as a whole. Our only other alternative was to
completely rewrite Mariner as a Java application."
Rewriting was technically feasible, but at a high cost. Scumniotales estimated
that a full rewrite would take nearly ten man-years of development effort, in
addition to hiring a new team of Java developers and integrating them into the
existing development organization. More importantly, doing so delayed the
market opportunity of an early introduction. There would likely be lost sales
during the years it would take to re-implement Mariner on the Java platform.
And maintaining both code bases going forward would be an ongoing burden. It
would require duplicating every new feature development for both the Java and
the .NET version and would double on-going development costs.
Solution
Scumniotales, who was familiar with Mainsoft's software and services from a
previous position at Rational Software (now IBM), chose to port Mariner to a
Java application using Mainsoft. This
cross-platform solution enables development teams to work entirely within the
Visual Studio IDE using Microsoft technologies, and recompile C# or Visual
Basic code seamlessly into Java bytecode.
He also engaged Mainsoft's professional services to expedite the port. Mainsoft
and Serena worked closely to define the success criteria of the project,
primarily focused around performance and scalability. Given the complexity of
the Mariner product, Serena wanted to complete the project in three
months, keep the budget low, and maintain acceptable performance and
scalability.
Following a five-step methodology, Mainsoft's cross-platform experts worked
closely with Serena Software to complete the project in 2.5 months. "The
Mainsoft engineers worked almost as an extension of my own development team,"
Scumniotales said. Among the challenges faced during the port were ensuring
that performance remained consistent and working around and replacing
platform-specific technologies. Mariner leverages platform specific
technologies like Microsoft Message Queue for queuing, the Dundas charting
control for .NET, and the file system for Mariner's document management system.
Working with Serena's engineering team, the Mainsoft team replaced these
components with non-Microsoft technologies on the Java platform.
The new Mariner software currently runs on Red Hat Linux running on the Java EE
platform. It has been tuned to deliver approximately equivalent performance on
Java EE and .NET, and it meets its customers' scalability requirements.
Perhaps the most significant advantage moving forward is that Serena
Software still only has to maintain a single code base - the .NET code.
Maintaining a single source code base to provide platform options for its
customers and partners saves considerable expense and complexity of maintaining
two functionally equivalent code bases. As Scumniotales noted, "Using Mainsoft, Serena is able to simultaneously develop and target
Microsoft .NET, Linux, and Java EE server platforms. In the past, this would
have required costly and time-consuming software porting projects."
Conclusion
This project could have been accomplished using traditional porting and
software support techniques, but at a significant higher initial and ongoing
cost, and with the loss of near- term market opportunities. Scumniotales states
that using Mainsoft reduced a multi-year development effort to just a few
months of effort.
Mainsoft's software and services enabled Serena Software to quickly meet
its business need to run on Java and to support Java, Linux, and ultimately
WebSphere moving forward, all from the .NET code base.
|