Back end Development CS Programming Languages for Web Applications

Slides:



Advertisements
Similar presentations
3 Copyright © 2005, Oracle. All rights reserved. Designing J2EE Applications.
Advertisements

HTTP Request/Response Process 1.Enter URL ( in your browser’s address bar. 2.Your browser uses DNS to look up IP address of server.com.
Lecture 6/2/12. Forms and PHP The PHP $_GET and $_POST variables are used to retrieve information from forms, like user input When dealing with HTML forms.
Servlets and a little bit of Web Services Russell Beale.
DATABASE APPLICATION DEVELOPMENT SAK 3408 The Web and DBMS.
Lecture 2 Web application architecture. Themes Architecture : The large scale structure of a system, especially a computer system Design choice: The need.
Liang, Introduction to Java Programming, Sixth Edition, (c) 2005 Pearson Education, Inc. All rights reserved Chapter 34 Servlets.
Apache Tomcat Server – installation & use Server-side language-- use Java Server Pages Contrast Client-side languages HTML Forms Servers & Server-side.
Multiple Tiers in Action
1 CS6320 – Why Servlets? L. Grewe 2 What is a Servlet? Servlets are Java programs that can be run dynamically from a Web Server Servlets are Java programs.
Application Architectures Vijayan Sugumaran Department of DIS Oakland University.
INTRO TO MAKING A WEBSITE Mark Zhang.  HTML  CSS  Javascript  PHP  MySQL  …That’s a lot of stuff!
SE-2840 Dr. Mark L. Hornick1 Java Servlet-based web apps Servlet Architecture.
Web Application Architecture: multi-tier (2-tier, 3-tier) & mvc
Christopher M. Pascucci Basic Structural Concepts of.NET Browser – Server Interaction.
Sys Prog & Scripting - HW Univ1 Systems Programming & Scripting Lecture 15: PHP Introduction.
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
CHAPTER 12 COOKIES AND SESSIONS. INTRO HTTP is a stateless technology Each page rendered by a browser is unrelated to other pages – even if they are from.
Server-side Scripting Powering the webs favourite services.
Basics of Web Databases With the advent of Web database technology, Web pages are no longer static, but dynamic with connection to a back-end database.
Lecture 7 Interaction. Topics Implementing data flows An internet solution Transactions in MySQL 4-tier systems – business rule/presentation separation.
Chapter 6 Server-side Programming: Java Servlets
Introduction to ASP.NET1. 2 Web applications in general Web applications are divided into two parts –The server part –The client part The server part.
3-Tier Web Application Architecture. Simple Log-in public String button1_action() { // TODO: Process the button click action. Return value is a navigation.
_______________________________________________________________________________________________________________ E-Commerce: Fundamentals and Applications1.
STATE MANAGEMENT.  Web Applications are based on stateless HTTP protocol which does not retain any information about user requests  The concept of state.
INTRODUCTION TO WEB APPLICATION Chapter 1. In this chapter, you will learn about:  The evolution of the Internet  The beginning of the World Wide Web,
CS1001 Lecture 9. Overview Security Security HTML HTML.
GOAL User Interactive Web Interface Update Pages by Club Officers Two Level of Authentication.
Saving State on the WWW. The Issue  Connections on the WWW are stateless  Every time a link is followed is like the first time to the server — it has.
2007cs Servers on the Web. The World-Wide Web 2007 cs CSS JS HTML Server Browser JS CSS HTML Transfer of resources using HTTP.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
1 Copyright © 2004, Oracle. All rights reserved. Oracle Application Development Framework.
1 State and Session Management HTTP is a stateless protocol – it has no memory of prior connections and cannot distinguish one request from another. The.
The basics of knowing the difference CLIENT VS. SERVER.
1 Java Server Pages A Java Server Page is a file consisting of HTML or XML markup into which special tags and code blocks are inserted When the page is.
PHP: Further Skills 02 By Trevor Adams. Topics covered Persistence What is it? Why do we need it? Basic Persistence Hidden form fields Query strings Cookies.
Dive into web development
Web Programming Language
Web Technologies Computing Science Thompson Rivers University
Netscape Application Server
Web Development Web Servers.
Server Concepts Dr. Charles W. Kann.
Web Software Model CS 4640 Programming Languages for Web Applications
Unit 6-Chapter 2 Struts.
AJAX.
PHP / MySQL Introduction
Dynamic Web Pages (Flash, JavaScript)
Introduction to Web Applications
Design and Maintenance of Web Applications in J2EE
Web Systems Development (CSC-215)
Chapter 26 Servlets.
Web Systems Development (CSC-215)
Distributed System Using Java 2 Enterprise Edition (J2EE)
Lecture 1: Multi-tier Architecture Overview
Serpil TOK, Zeki BAYRAM. Eastern MediterraneanUniversity Famagusta
One EPIC Place Website Scheduler
J2EE Lecture 1:Servlet and JSP
Architecture of the web
State Handling CS 4640 Programming Languages for Web Applications
Web Technologies Computing Science Thompson Rivers University
UFCEUS-20-2 Web Programming
Client-Server Model: Requesting a Web Page
[Based in part on SWE 432 and SWE 632 materials by Jeff Offutt, GMU]
Web Software Model CS 4640 Programming Languages for Web Applications
Back end Development CS Programming Languages for Web Applications
State Handling CS 4640 Programming Languages for Web Applications
[Based in part on SWE 432 and SWE 632 materials by Jeff Offutt, GMU]
Web Application Development Using PHP
CGS 3066: Web Programming and Design Fall 2019
Presentation transcript:

Back end Development CS 4640 Programming Languages for Web Applications

How User Interact With Web Apps revisit How User Interact With Web Apps Web server Web application http://www.virginia.edu/ PHPs Web component1 Web component2 Web componentn HTTP Request Usability Request DB or persistent data Web client HTML JS CSS Response HTTP Response

Web Development (General View) UI/UX design, usability Web design Responsive design Full-Stack Development $38k - $142k, avg = $87k Variety of skills (both front end and back end) Horizontal technology development (+) Not expert in particular skill (-) Front End Development Client side HTML, CSS, JS (and JS libraries, frameworks) Fixed huge amount of data, no database interaction $42k - $108k, avg = $67k https://www.payscale.com/research/US/Job Server side Speed, performance, scalability, security, availability, accessibility, reliability Business logic Java, PHP, Python, Ruby on Rails, and back end frameworks Database interaction Back End Development $38k - $117k, avg = $70k Server administration Database, data science [ Salaries reference: PayScale ]

How the Web Software Works Browser To server form-handler.php To client Browser

Server Side Processing revisit Server Side Processing Server Client UI implemented and rendered in a browser Web server Database server Container engine Program components HTTP Request HTTP Response data HTML XAMPP PHPs

HTTP client-server communication is connectionless (stateless) Execution Overview Response back to requestor Incoming request Server 1 8 HTTP Request HTTP Response 2 7 Web server Request / Response Objects 3 Modified Response Object 6 Container engine Create thread / call method 4 Return 5 Program component HTTP client-server communication is connectionless (stateless) As soon as the request is made and fulfilled, the connection is terminated

We will come back to this later … Session Management How can servers keep track of state of different clients? Session : A single coherent use of the system by the same user Example : shopping carts Cookies : A string of characters that a web server places on a browser’s client to keep track of a session Usually used as an index into a table (dictionary) on the server Most dictionaries expire after a period of time (15 to 30 minutes) Additional mechanisms URL rewriting Hidden form control We will come back to this later …

Additional Web Features User’s ability to control web application via web browser features index login browse record_add submit a form post (userid , password) redirect record_insert post (name, category, content) back component simple link transition form link transition redirect transition operational transition

Additional Web Features (2) Communication among web components depending on requests through the HTTP index login browse record_add submit a form post (userid , password) redirect record_insert post (name, category, content) back component simple link transition form link transition redirect transition operational transition get

Additional Web Features (3) Control connections: forward, include, redirect index login browse record_add submit a form post (userid , password) redirect record_insert post (name, category, content) back component simple link transition form link transition redirect transition operational transition forward

Back End Component and Page-centric Design Server Web client Main component (Client requests are intercepted here) Component (data) Uses or instantiates Request Response Web client Database Web client Requests are made to a main component and the main component response to clients

Back End Component and Dispatcher (N-tier) Design Web client Server Web client Request Response Dispatcher Database Component presentation Data Business processing Web client Usually use forward Component presentation Data Component presentation Requests are sent to a dispatcher that then forward the requests to another component (using forward or redirect control connection)

Back End Component and Model View Controller method calls data structures HTML / JSP / frontend Components Model events Encapsulates application state Responds to state queries Exposes application functionality Notifies views of changes state change state query change notification View Controller view select Renders the model Requests updates from the model Sends user inputs to controller Allows controller to select view Defines application behavior Maps user actions to model updates Selects a view for response One view for each function user input [Graphic from Designing Enterprise Applications with the Java 2 Platform, Enterprise Edition, Nicholas Kassem et al., October 2000]