Maritz Travel Speeds Customer Site Creation by Converting from J2EE to C# and ASP.NET
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

Business Situation
Customer Profile
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.
Business Situation
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.
Solution
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#.
Benefits
- New sites quicker to build
- Components boost reuse
- Reduced operating costs
- Higher site functionality
- JLCA had 88% conversion rate
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.
Situation
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".
Solution
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."
Benefits
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 re9
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 two9server 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 object9oriented 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."
