Professional Documents
Culture Documents
1
Department of Computer Sciences, Florida Institute of Technology
pbhallamudi2008@fit.edu
2
College of Business, Florida Institute of Technology
stilley@fit.edu
3
Department of Electrical & Computer Engineering, Carnegie Mellon University
aruneshs@cmu.edu
Migrating a legacy system to new service-based These business concerns and technical issues were strong
architecture can be complex, expensive, and time motivation for migrating to a better solution. To mitigate
consuming, so there needs to be strong motivation and these problems, XYZ, in consultation with a software
compelling reasons for carrying out this process. A SOA- consulting company, came up with Service Based
based system may offer many benefits over the old Web Platform (SBP). The next section of the paper describes
application, but before considering the migration it’s the service-based system in detail and also focuses on the
important to understand the issues that lead to migration. benefits of the migration.
Based on the issues, one can decide if SOA is the most
72
3. The Service-Based System Dealer and Inventory Service: This data is also obtained
from an external Web site by querying the Web service.
The XYZ Service-Based Platform (SBP) is based on This data provides detailed information about each
SOA. Using a service-based architecture one can imagine vehicle in the inventory. This service is dependent on the
a system as a collection of different services that config service; hence this service is also a client of the
represents certain business tasks. Similarly, SBP is a config service.
collection of services that provide vehicle information
along with a library to load vehicle data, and tools that Lead Service: This service takes the user-supplied
help to create, manipulate, and test vehicle data. SBP information from the user interface and turns it into a
offers a common simplified data source to all the Web lead. This lead is securely posted to an intermediate lead
sites to pull data from. processing system, after which it is sent to the dealers.
Services are integral part of SBP. One of the major tasks User Interface Client: The user interface for the XYZ
in implementing SOA-based systems is to identify correct retail Web site is hosted on different servers and they are
services to implement. Most of the engines that clients to all the services listed above. It uses an open
represented business functionality now represent services; source JavaScript utility to implement a central JavaScript
these services are RESTful and stateless. Input to the controller that interacts with various user interface
services is passed through the URL parameters, or in the components like flash. The central controller also feeds
POST body. Output from the services is either XML or data to all the components, after it gets the data by
JSON (JavaScript object). Below is the list of a few querying the web services in the backend. Overall the UI
important services that are part of the new system. client itself is built with a SOA style framework.
Config Service: This is the most important service. The A campaign management tool running on the server
legacy application code was stateful, so it stored the allows flexibility to configure the user interface by
previous configuration and then updated it based on part modifying the user interface on the fly. The new system
selection. This service is now stateless (since it is uses open source technology such as Spring and
implemented using Web services); the user interface now Hibernate for the backend, and open source JavaScript
stores the information related to previous configuration utilities for the front end.
and sends it to this service on each request. Config service
provides information related to vehicle configuration.
4. The ROI of Migrating to SOA
There are sub-services of this service, such as Part
Business and technical issues motivated the migration to
Service, that return part names, the Product and Compare
the new service-based platform. The rationale behind
services, which provide configuration related information.
considering SOA as an option for migration was
All these sub-services use the same product data library
influenced by the numerous benefits that SOA offers [3].
and use the same server and code of the core config
Three main ROI benefits were experienced by the
engine, but are exposed as different services.
migration: aligning business needs with IT functionality,
Part Service: This service provides information related to keeping data consistent, and reducing cost.
different parts of the vehicle available for Vehicle/Model.
Product Service: This service provides information 4.1 Aligning Business with IT
related to different models available for given vehicle. For The most important factor that makes migration to SOA a
example, for each vehicle make the service would show most suitable solution is that SOA aligns IT with
different models available. business, and most of the issues faced in this project were
Compare Service: This service provides information due to lack of alignment between business and IT.
related to comparison between two models. XYS’z data management problem was a major business
Incentives and Pricing Service: This service uses an issue and since the software was not aligned with the view
external Web service to get the incentive details. of data in the business world, there existed a lot of
Incentives and pricing service provides information mismatch in business specification and technical
related price of the vehicle and the price of each part. It specification. This can only be reduced using SOA. The
searches for appropriate incentives and schemes to apply service-oriented approach not only helped in getting
to the pricing information for the selected vehicle. Since better specification but also reduced the time required for
this service needs the configuration of the vehicle to find creating final specification, as disagreement between
prices and incentives, it is a client of the config service. business and technical people is now less than what was
earlier. Now the business people know what each service
does, without really knowing the internals of the service.
73
With the new service-based model, implementing changes 5. Summary
or adding new features turned out to be easier. This
enabled making changes to the Web site more rapidly The XYZ Service-Based Platform is success story about
than before. It also made it easier to meet the demands of migration to SOA. It illustrates that SOA is not all hype,
an ever changing business environment, like bringing up but can deliver what it promises. Migrating to the service-
an incentive plan on the website within minutes. This based system helped XYZ to align its IT with business,
approach reduces the time to production; and hence and also helped in achieving business agility. The new
generates business value for XYZ by being able to market service-based system is more adaptable to change; the
incentive schemes around important dates (like 4th July). time to production for isolated small changes has reduced
considerably. Overall the cost of migration was less than
4.2 Consistent Data the estimated cost of re-factoring, and yet SOA provides
more benefits than the traditional framework that existed.
After migration, all XYZ Web sites pull data from a
single source (a Web Service in SBP) and hence are For contract-based development projects, SOA can help
in reducing the risk of development failure. It allows work
always consistent. This shows the benefit of exposing
to be distributed among different contracts as services.
reusable services for this project.
Different development teams can develop consumer
application independently.
4.3 Reduced Cost of Maintenance
As was found in other case studies (e.g., [2]), this
Migrating to new service-based model also helped XYZ
migration was successful because SOA was suitable for
reduce the overall development cost. The modular design
this type of project. For example, in this project all the
and current technology has made outsourcing and division
services are owned by single organization. Due to this
of work easier. Little specialized expertise is now
reason, SOA governance was not a major concern in this
required to maintain the Web site. The testing cost is also
project. Identification of services was rather easy in this
lower in maintenance phase, as isolated changes to the
project as most of the engines in the old system
service require testing only that service and part of the represented some kind of business task. There were also
user interface application that uses this service. Making strong business and technical reasons for migration. If
the services stateless makes finding and fixing bugs
these conditions did not exist, migrating to SOA might
easier, as the bugs do not depend on some state that is
not have been the best choice. But in this case, it was.
reached by a complicated control flow.
The time required for development has also reduced References
because the code is now well documented and aligned
with the business model, making it easier to understand. [1] Hau, T.; Ebert, N.; Hochstein, A.; and Brenner, W.
“Where to Start with SOA: Criteria for Selecting SOA
The SBP and user interface part was developed in Projects.” Proceedings of the 41st Annual Hawaii
parallel, by first fixing the service contract and then using International Conference on System Sciences (HICSS
hardcoded responses for the services in user interface. 2008: Honolulu, HI; Jan. 2008).
This enabled overall development to finish faster.
[2] Kajko-Mattsson, M.; Lewis, G.; and Smith, D.
The new service-based model made it possible to build a “Evolution and Maintenance of SOA-Based Systems at
number of tools for business users to be able to control SAS.” Proceedings of the 41st Annual Hawaii
the Web site. For example, there is a new campaign International Conference on System Sciences (HICSS
admin tool that can reconfigure the XYZ user interface in 2008: Honolulu, HI; Jan. 2008).
minutes, and a new modeling tool for the modelers to [3] Lewis, G. “Service-Oriented Architecture and its
enable them to verify model correctness. Now integrating Implications for Software Life Cycle Activities”. SEI
new models takes only one week, and has further reduced Webinar Series. Online at
the cost of maintenance. http://www.sei.cmu.edu/collaborating/spins/081408webin
ars.html. Last Accessed 04/25/09.
The services approach also scales much better than the
old approach. In the legacy Web application, when more [4] Tilley, S.; Gerdes, J.; Hamilton, T.; Huang, S.; Müller,
H.; Smith, D.; and Wong, K. “On the Business Value and
models added all the servers in Web site were also more
Technical Challenges of Adopting Web Services.”
loaded. Now only the config service gets loaded more and Journal of Software Maintenance and Evolution:
if it leads to performance degradation changing/getting Research and Practice, 16:31-50. John Wiley & Sons,
only one extra server can fix it easily. 2004.
74