Abstract
Software as a Service (SaaS) solutions have gained a significant momentum in the past few years. They promise to vastly simplify the long way from identifying the need for a new software system until its successful operation at a customer. Essentially, SaaS solutions have to face two potentially conflicting requirements: On one hand, customers expect that the software they use in the cloud can be customized smoothly to solve their specific business needs and requirements. On the other hand, they need to exploit the economy of scale principle by employing an architecture that handles all customers uniformly. This article examines these and a number of other requirements to SaaS systems and will shed some light on architectural concepts addressing these requirements. It illustrates some of the concepts with examples from a Java based SaaS solution for customer relationship management (CRM) and provides some lessons learned gained during the development and the first few years of offering the product on the market.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
Validating user input should actually be implemented both on the client side (for providing quick user feedback) and on the server side (for keeping things secure).
References
Anderson, C. (2004). The long tail. In Wired Magazine. Issue 12.10 (pp. 170–177). New York: Conde Nast Publications.
Barth, W. (2008). Nagios: System and network monitoring. San Francisco: No Starch Press.
Buschmann, F., Meunier, R., Rohnert, H., Sommerlad, P., & Stal, M. (1996). Pattern-oriented software architecture (A system of patterns, Vol. 1). Chichester: Wiley.
Chong, F., & Carraro, G. (2006). Architecture strategies for catching the long tail.: MSDN Library, Microsoft Corporation.
Hicks, D.L., Tochtermann K., Rose, T., & Eich, S. (1998). Using metadata to support customization. In: Metadata’99: Proceedings of the Third IEEE Computer Society Metadata Conference, Bethesda, Maryland, USA, April 5-6, 1999.
Johnson, R., Höller, J., Arendsen, A., Risberg, T., & Sampaleanu, C. (2005). Professional Java development with the spring-framework. Indianapolis: Wiley.
Lange, F. (2008). Eclipse rich ajax platform: Bringing rich client to the web. Berkeley: Apress.
McAffer, J., Paul, W., & Archer, S. (2010). OSGi and equinox: Creating highly modular Java Systems. Upper Saddle River: Addison-Wesley Professional.
Mell, P., & Grance, T. (2011). The NIST definition of cloud computing. NIST Special Publication 800-145 (pp. 2–3). Gaithersburg, Maryland: National Institute of Standards and Technology.
OWASP Project. (2012). The open web application security project. https://www.owasp.org.
Pichler, R. (2008). Agile product management with scrum: Creating products that customers love. Upper Saddle River: Addison-Wesley.
Roy, R. (2008). Shard – A database design. http://technoroy.blogspot.de/2008/07/shard-database-design.html.
Salesforce. (2009). The force.com multitenant architecture. Whitepaper. Salesforce.com, http://www.developerforce.com/media/ForcedotcomBookLibrary/Force.com_Multitenancy_WP_101508.pdf.
Tulach, J. (2008). Practical API design: Confessions of a Java framework architect. Berkeley: Apress.
Walls, G. (2009). Modular Java with OSGi and spring. Raleigh: Pragmatic Bookshelf.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2012 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Bauer, M. (2012). Lessons Learned in the Development of a CRM SaaS Solution. In: Maedche, A., Botzenhardt, A., Neer, L. (eds) Software for People. Management for Professionals. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-31371-4_15
Download citation
DOI: https://doi.org/10.1007/978-3-642-31371-4_15
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-31370-7
Online ISBN: 978-3-642-31371-4
eBook Packages: Business and EconomicsBusiness and Management (R0)