Abstract
Web systems were initially supported by a client–server architecture and three standards (URL, HTTP, and HTML), and have considerable evolution in the last two decades. Usability, scalability, maintenance, portability, robustness, security, and integration with other systems are the main challenges of this software category. This tutorial presents the history and evolution of Web-based software architectures. We discuss current software architectural styles, patterns, and development platforms based on client-side and server-side technologies. In addition, we also discuss Web 3.0 requirements such as communication protocols, microservices, MV* browser-based frameworks, boilerplates client-side code, asynchronous programming, and integration with cloud computing infrastructures.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
Available at: http://controlesocial.tce.pb.gov.br/.
- 2.
Available at: https://github.com/reduxjs/redux-thunk.
References
Benioff, M.: Welcome to Web 3.0: Now Your Other Computer is a Data Center. TechCrunch. http://techcrunch.com/2008/08/01/welcome-to-web-30-now-your-other-computer-is-a-data-center-2/ (2008). Cited 16 Jul 2019
Berners-lee, T.: WWW: past, present, and future. Computer (1996) https://doi.org/10.1109/2.539724
Boner, J.: Reactive Microservices Architecture. Pearson Education, Sebastopol (2016)
Buregio, V.A.A.: Social machines: a unified paradigm to describe, design and implement emerging social systems. Doctor of Computer Science (PhD): Computer Science, Federal University of Pernambuco, Recife, Brasil (2014)
Burns, B.: Designing Distributed Systems: Patterns and Paradigms for Scalable. O’Reilly Media, Sebastopol (2018)
Chedeau, C.: React’s diff algorithm. Performance Calendar. https://calendar.perfplanet.com/2013/diff/ (2013). Cited 16 Jul 2019
Deitel, P., Deitel, H., Deitel, A.: Internet e World Wide Web: How to Program. Pearson Education, Boston (2012)
Facebook (2018): React – A JavaScript library for building user interfaces. ReactJS. https://reactjs.org. (2019). Cited 23 Jul 2019
Fielding, R., Reschke, J.: Hypertext transfer protocol (http / 1.1): semantics and content. Internet Engineering Task Force (IETF) (2014). https://tools.ietf.org/html/rfc7231. Cited 23 Jul 2019
Fields, D.K., Mark, A.: Web development with JSP. Manning, Shelter Island (2002)
Finnigan, K: Enterprise Java Microservices. Manning Publications, Shelter Island (2019)
Fowler, M.: Patterns of Enterprise Application Architecture. Addison Wesley, Boston (2002)
Fox, R., Hao, W.: Internet Infrastructure. Taylor & Francis Group, New York (2018)
Garrett, J.J.: Ajax: a new approach to web applications. semanticscholar. https://pdfs.semanticscholar.org/c440/ae765ff19ddd3deda24a92ac39cef9570f1e.pdf (2005). Cited 23 Jul 2019
Groef, W.: Client- and Server-Side Security Technologies for JavaScript Web Applications. Doctor of Engineering Science (PhD): Computer Science, Faculty of Engineering Science, Ku Leuven, Leuven (2016)
Hansson, N., Tomas, V.: Effects on Performance and Usability for Cross-Platform Application Development Using React Native (2016)
Holdener, T.: AJAX the Definitive Guide. 1st edn. O’Reilly Media, Sebastopol (2008)
Hunter, J., Crawford, W.: Java Servlet Programming, 2nd edn. O’Reilly Media, Sebastopol (2001)
Mardan, A.: React Quickly: Painless Web Apps with React, JSX, Redux, and GraphQL. Manning Publications Co., Shelter Island (2017)
Masiello, E., Jacob, F.: Mastering React Native. Packt Publishing Ltd., Birmingham (2017)
Maximilien, E.M., Ranabahu, A., Gomadam, K.: An online platform for web APIs and service mashups. IEEE Internet Comput. (2008) https://doi.org/10.1109/MIC.2008.92
Mikowski, M., Powell, J.: Single page web applications: JavaScript end-to-end. Manning Publications Co., Shelter Island (2013)
Newman, S.: Building Microservices. Pearson Education, Sebastopol (2015)
Patterson, D., Fox, A.: Engineering Long-Lasting Software: An Agile Approach Using SaaS and Cloud Computing. Strawberry Canyon LLC (2012)
Raible, M.: Comparing Hot JavaScript Frameworks: AngularJS, Ember.js and React.js. Raible Designs. https://raibledesigns.com/rd/page/publications (2015). Cited 16 Jul 2019
Raible, M.: Front End Development for Back End Developers. Raible Designs. https://raibledesigns.com/rd/page/publications (2017). Cited 16 Jul 2019
Sadalage, P.J., Fowler, M.: Nosql Distilled: A Brief Guide to the Emerging World of Polyglot Persistence, 1st edn, Addison Wesley, Boston (2013)
Scott, Jr. E.A.: SPA Design and Architecture Understanding Single-Page Web Applications, 1st edn. Manning Publications, Shelter Island (2016)
Sommerville, I.: Software Engineering, 10th edn. Pearson Education, London (2015)
Webber, J., Parastatidis S., Robinson I.: REST in Practice: Hypermedia and Systems Architecture. O’Reilly Media, Sebastopol (2010)
Yu, J., Benatallah, B., Casati, F., Daniel, F.: Understanding mashup development. IEEE Internet Comput. (2008). https://doi.org/10.1109/MIC.2008.114
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2020 Springer Nature Switzerland AG
About this chapter
Cite this chapter
Kulesza, R., de Sousa, M.F., de Araújo, M.L.M., de Araújo, C.P., Filho, A.M. (2020). Evolution of Web Systems Architectures: A Roadmap. In: Roesler, V., Barrére, E., Willrich, R. (eds) Special Topics in Multimedia, IoT and Web Technologies. Springer, Cham. https://doi.org/10.1007/978-3-030-35102-1_1
Download citation
DOI: https://doi.org/10.1007/978-3-030-35102-1_1
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-35101-4
Online ISBN: 978-3-030-35102-1
eBook Packages: Computer ScienceComputer Science (R0)