Web Applications PA 165, Lecture 7 Martin Kuba PA165 - Web Applications 2 Outline ● Architecture of web applications ● Servlet API ● JSP, JSP EL, JSP tags, tag libs, JSTL ● Security (authentication, authorization, main attacks) PA165 - Web Applications 3 Layers in multi-tier application PA165 - Web Applications 4 SaaS Cloud ● web applications are Software-as-a-Service type of cloud service ● provide on-demand access to software ● device independence – PC, notebook, tablet, smartphone, smart TV, … ● web mail, messaging, office suites, media libraries, communication tools, business sw … ● Gmail, Facebook, Google Drive, Dropbox, Spotify, Flickr, YouTube, WebEx, NetSuite ... PA165 - Web Applications 5 Deployment ● SaaS services can be deployed – into Platform-as-a-Service (PaaS) cloud ● Google App Engine, Amazon Elastic Beanstalk, Microsoft Azure Websites, RedHat OpenShift, Heroku, ... – into Infrastructure-as-a-Service (IaaS) cloud ● Google Computing Engine, Amazon Elastic Compute Cloud, Microsoft Azure, ... – locally ● software is provided as – downloadable executable code (i.e. JavaScript, Android app) – callable API on provider's servers (e.g. Google Calendar API) PA165 - Web Applications 6 Client side technologies ● HTML, links, forms, CSS ● cookies ● JavaScript, Document Object Model, AJAX ● HTML 5 features - ,