The course focuses on the design and development of internet applications with emphasis on web applications. The course presents the architecture and the infrastructure of the World Wide Web as well as the architecture of client/server applications with emphasis on the architecture of multi-tier web applications. The covered topics include the following knowledge areas and technologies: Functionality of Web servers and browsers. HTTP protocol. HTML5/CSS languages. Javascript/Typescript languages. Relational Database Management Systems with internet access (MySQL) NoSQL database systems (MongoDB). Backend technologies: Servlets, RESTful Web Services, Object-relational mapping software frameworks, Connection Pooling. Frontend technologies: Javascript, Angular 5. Web Architectural Models (Model 1, Model-View Controller). Web Security (SSL/TLS, JSON Web Token). Programming Project: Design and Development of a complete Web Application including a subsystem for the provision of personalized recommendations.
Official course textbooks (Eudoxos)
- R. Connoly, R. Hoar, Web Programming, Μ. Γκιούρδας, 2015.
- H.M. Deitel, P.J. Deitel, JAVA Programming, 10th edition, Εκδόσεις Μ. Γκιούρδας, 2015.
Additional sources (in English):
- L. Shklar, R. Rosen, Web Application Architecture: Principles, Protocols and Practices, 2nd Edition, Wiley, 2009.
- N.S. Williams, Professional Java for Web Applications, Wrox, 2014.
- Angular Development guise (https://angular.io/guide)
Powerpoint / pdf presentations are provided for all the technologies taught in the course.