The Java functionality ... was developed ... over 5 years and hundreds of sites. The Visual Studio .NET tools and ... C# made it possible to convert all of that functionality in ten calendar months.
Scott Loos, Director of Internet Development, Maritz Travel
Maritz Travel is the global leader in meeting, event and incentive travel management. It helps companies achieve results through management of business meetings, special events, product launches, and user conferences. The company found that it was spending too much time creating new J2EE sites for customers, primarily because the code from existing J2EE sites was not very reusable. As a result, it was becoming difficult to meet clients’ deadlines in peak periods. Maritz decided to implement its new sites with Microsoft® ASP.NET. With the help of partner ArtinSoft and the automated Microsoft Java Language Conversion Assistant, Maritz converted its hotel booking module to C#. Maritz also rewrote its registration module manually in C#. Using the Microsoft .NET Framework, new customer sites are quicker to build. ASP.NET components and inheritance make it easy to reuse functionality from one site on another.
St. Louis based Maritz Travel, the global leader in meeting, event and incentive travel management, specializes in helping FORTUNE 100 companies achieve targeted business results through management of business meetings, special events, product launches and user conferences. Maritz Travel has offices or affiliates in some 1,600 locations in sixty countries.
Part of the service provided by Maritz is the creation of customized registration and hotel booking Web sites for customer events – for example, Maritz did this for the recent Microsoft® Professional Developer's Conference in Los Angeles, and is doing it for the upcoming DevDays 2004 event (see Figure). Maritz Travel handles over 2,000 meeting and incentive travel programs a year, although not all of them require Web sites.
In the past, the sites were developed in J2EE. Unfortunately, Maritz found that it was difficult to reuse J2EE functionality developed for one site on another site.
The pain was in creating a new site and incorporating functionality developed for other sites into it," Scott Loos, Director of Internet Development at Maritz Travel, ex9 plains. "Clients only want to pay for development efforts one time, and expect it to be at no cost to implement in future sites.
The original architecture was developed with the business logic embedded in the presentation layer, which required the developers to copy sites and customize existing code, or to start over new for each site. When sites were copied, any new functionality developed after it was copied had to be duplicated. This increased our costs and forced us to focus resources on duplicating code rather than enhancing functionality. Maintenance efforts continued to increase as we struggled to support multiple instances of the same code, especially if it had bugs.
Our busiest time of the year is fall and winter, preparing sites for our clients' spring and summer meetings, conferences and incentive trips. We would pull programming resources from other teams to meet the needs during this time, slowing our other projects and product9enhancement development efforts.
Continuing the way we had done things for years, we began to compromise quality to meet deadlines. This negatively affected our client relationships and reputation. We couldn’t develop new functionality to improve services, and the changes we made to improve productivity were not timely enough to compete with other vendors. We began to see repeat business from long time clients being lost, due to cost and to stale functionality.
The licensing cost of the J2EE software was also an issue. "We use a commercial servlet engine and application server software," says Loos. "The licenses are fixed costs".
Maritz Travel solved its problem by implementing new customer sites with Microsoft ASP.NET in C#, using a SQL Server™ 2000 database. They moved their development to Microsoft Visual Studio® .NET development system. Loos' team considered using J# because J# brings the Java language to the Microsoft .NET Framework, and their developers wouldn't have to learn another language. Microsoft Consulting Services (MCS) and GA Sullivan (now Avanade) advised them that C# would be easy enough for their JSP/Java developers to pick up that training would not be a major issue. The .NET Framework is an integral Microsoft Windows® component that supports building and running the next generation of applications and Web services.
MCS also suggested that they use the Microsoft Java Language Conversion Assistant (JLCA), part of Visual Studio .NET, to speed the initial migration steps, and that they contract with ArtinSoft to analyze the code prior to migration and to manually complete the migration of code that fell outside the scope of the JLCA. ArtinSoft developed the JLCA for Microsoft. Maritz did this with the hotel9booking module, which already had the desired architecture.
ArtinSoft began with an analysis of Maritz Travel's Java hotel booking module to study its features, construction, dependencies, IT architecture, and programming practices.
ArtinSoft then used the JLCA to migrate the J2EE code, Enterprise Java Beans, and Java Server Pages. The JLCA provided roughly an 88 percent automatic conversion rate from Java to C#, and ArtinSoft’s consultants migrated the remaining 12 percent. ArtinSoft also made slight modifications to the code to make it conform to Maritz Travel’s standard programming practices. The involvement of ArtinSoft in the migration and off9site testing of the Microsoft .NET application allowed Maritz Travel to focus on its core business objectives, rather than be concerned with the technicalities of the migration.
ArtinSoft was able to facilitate a complete migration of the hotel9booking module for Maritz Travel, while retaining the look and feel of the original application. Had Maritz Travel decided to migrate the hotel9booking module manually, the migration process would have taken an estimated 200 percent longer than with ArtinSoft’s migration solution.
ArtinSoft’s demonstrated professionalism throughout the project, its understanding of our goals and technology, and its ability to help our application seamlessly scale to our current and future needs, provides ample proof as to why ArtinSoft is one of Microsoft’s preferred providers of migration to the .NET Framework," says Loos.
Maritz Travel's existing Java registration module did not have the architecture desired for the .NET version. "Registration was not 'straight code' converted due to the architecture issues we did not want duplicated," says Loos. "The hotel booking module was developed as a reusable component initially, so it was acceptable as a straight code conversion."
How fast was the conversion in terms of effort? Loos: "The Java functionality that was converted was developed incrementally over 5 years and hundreds of individual sites. The Visual Studio .NET development tools and conversion to C# made it possible to convert all of that functionality in ten calendar months. Since the requirements were clearly defined, the cost was 30% of the labor invested in the old architecture.
The .NET architecture project gave us the opportunity to develop reusable components. Since the .NET Framework supports the ability to create levels of abstraction, we created an architecture that put more functionality outside of the presentation layer than we had in our JSP sites. This allows other sites to incorporate the functionality more easily and quickly, and limits maintenance to a single point. This has reduced the lead9time we need to build a site with existing functionality by 40% of the time it took under the old architecture.
We use the same hardware for either environment. Our Web response times were acceptable in the old environment, but the .NET load tests showed approximately a 20% increase in speed. "Our lead9time to create a site is now less, although we still must customize based on client requests. The cost to create functionality as a reusable component is about 25% higher than just coding it, but when we do reuse the code, the re-implementation labor and cost savings is much greater than the original extra effort."
Converting to the .NET Framework has reduced a site's fixed costs to the cost of the hardware, the operating system and the Visual Studio development tools. "The software savings for the current two-server cluster over our existing Java platform is approximately $10,450 per year," says Loos.
Reliability has been outstanding. We’ve had no down time associated with the .NET Framework or the operating system.
Architecture definition and development was easier for the .NET Framework than for J2EE. The .NET architecture is comparable to J2EE without the hassle of multiple vendors, tools, installation and architecture configuration mishaps.
The Visual Studio development tools, debugging capabilities and single source vendor made it extremely easy to get started. In my personal opinion, the .NET architecture and Microsoft (finally) provide object-oriented application tools that are robust, scalable and able to meet large company enterprise system needs.
Our transition was short and painless. Our retraining costs were limited to some books, and personal mentoring by MCS and GA Sullivan.
We continue to add functionality to our .NET sites at client request. The development team continues to speak highly of the ability and ease in which they can develop in the Visual Studio .NET environment.
Visual Studio .NET gives us everything in one place: HTML editing, application code, SQL Server database access, and ability to create SQL procedures and queries. The debugger is excellent, providing the ability to track from the presentation/web layer all the way through to the application layer.
The development team can no longer live without Visual Studio .NET's auto syntax and object browser capabilities. Right clicking to drill down deeper to the linked object class definition within the application layer is a great way to evaluate code. The integration with third party utilities like NUnit was critical to the success of the project development we did. The team also has a lot of praise for the support they get from the MSDN® Web site and newsgroups.
The team found that it was very easy to transition from JAVA and JSP development to C# and ASP.NET. They gained a comfort level very quickly with no formal training.
The .NET Framework needs minimal time for architecture setup. In contrast to J2EE development, there are no complicated class path changes, and no additional tool installations to get it running. From the developer desktop to the production servers, all environments are easily kept in sync and maintained."
Maritz Travel is the global leader in business travel management. Maritz helps companies achieve results through management of business meetings, special events, product launches, and user conferences.
Maritz found it was spending too much time creating new J2EE sites for customers. The code from existing sites was not very reusable, and it was difficult to meet clients’ deadlines in peak periods.
Maritz decided to implement its new sites with Microsoft® ASP.NET. With the help of partner ArtinSoft and the Microsoft JLCA, Maritz converted its hotel booking module to C#.
- New sites quicker to build
- Components boost reuse
- Reduced operating costs
- Higher site functionality
- JLCA had 88% conversion rate
Learn more about our solutions to modernize legacy apps.
For more information about computer aided software modernization products and services from Mobilize.Net, or to request information on migrating your applications, contact us and a software modernization professional will get back to you. Please send an email to email@example.com