Abstract
This chapter describes the migration of the IT environment in an important financial institution, from a mainframe-centric to a Web-centric environment in which the REST architectural style had a key role in the reference architecture that supported the new software development projects. We will describe how the restrictions imposed by the REST architectural style addressed the most critical constraints as well as some other challenges by means of a real-world, three-year project that is still ongoing at the time of writing. In particular, we will detail how each of the restrictions of the REST architectural style has contributed to address different software architecture requirements, both functional and non-functional, and how they have been materialized in the Java platform. We will detail advantages and compromises, strengths and weaknesses, and areas with the most interesting challenges.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsNotes
- 1.
Atomicity, consistency, isolation, durability (ACID) is a set of properties that guarantee database transactions are processed reliably.
- 2.
A private branch exchange (PBX) is a telephone exchange that serves a particular business or office, as opposed to one that a common carrier or telephone company operates for many businesses or for the general public.
- 3.
Computer telephony integration, also called computer–telephone integration or CTI, is a technology that allows interactions on a telephone and a computer to be integrated or co-ordinated.
- 4.
An Enterprise Resource Planning (ERP) system is an integrated computer-based application used to manage internal and external resources, including tangible assets, financial resources, materials, and human resources.
- 5.
We will see in “Uniform Interface” how the Uniform Interface constraint plays a key role here.
- 6.
Not maintaining server-side session state is a key factor in the low memory usage footprint, but the intense use of singleton objects (via the Spring Framework) is of great help here as well.
- 7.
Use of Accept header is a work in progress.
- 8.
Alquimia will be opensourced in the near future. You can learn more at http://esilog.com/alquimia.
References
Fielding, R.T.: Architectural Styles and the Design of Network-based Software Architectures. Phd Thesis, University of California, Irvine (2000)
Waldo, J., Wyant, G., Wollrath, A., Kendall, S.: A Note on Distributed Computing. Sun Microsystems Laboratories, Inc. (1994)
Taylor, R.N., Medvidovic, N., Dashofy, E.M.: Software Architecture. Foundations, Theory, and Practice. Wiley, NY, USA (2010)
Gamma, E., Johnson, R., Helm, R., Vlissides, J.M., Booch, G.: Design Patterns. Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading, MA (Wokingham, UK) (1994)
Parastatidis, S., Webber, J., Silveira, G., Robinson, I.S.: The Role of Hypermedia in Distributed System Development. WS-REST 2010 (2010)
Fielding, R.T., Gettys, J., Mogul, J., Frystyk, H., Masiner, L., Leach, P., Berners-Lee, T.: RFC 2616. Hypertext Transfer Protocol – HTTP/1.1 (1999) http://www.ietf.org/rfc/rfc2616.txt. Accessed October 2010
Tomayko, R.: Things Caches Do http://tomayko.com/writings/things-caches-do. Accessed October 2010
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2011 Springer Science+Business Media, LLC
About this chapter
Cite this chapter
Fernandez, J., Rodriguez, J. (2011). Practical REST in Data-centric Business Applications: The Case of Cofidis Hispania. In: Wilde, E., Pautasso, C. (eds) REST: From Research to Practice. Springer, New York, NY. https://doi.org/10.1007/978-1-4419-8303-9_15
Download citation
DOI: https://doi.org/10.1007/978-1-4419-8303-9_15
Published:
Publisher Name: Springer, New York, NY
Print ISBN: 978-1-4419-8302-2
Online ISBN: 978-1-4419-8303-9
eBook Packages: EngineeringEngineering (R0)