CS5220 Advanced Topics in Web Programming Course Overview

Slides:



Advertisements
Similar presentations
Model-View Controller
Advertisements

Introduction to ASP.NET. 2 © UW Business School, University of Washington 2004 Outline Static vs. Dynamic Web Pages.NET Framework Installing ASP.NET First.
Introduction to Web Base Multimedia Application. Web base application TCP/IP (HTTP) protocol Using WWW technology & software Distributed environment.
Multiple Tiers in Action
Introduction to Web Based Application. Web-based application TCP/IP (HTTP) protocol Using WWW technology & software Distributed environment.
CS 290C: Formal Models for Web Software Lecture 1: Introduction Instructor: Tevfik Bultan.
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.
Java Server Team 8. Overview What is a Java Server? History Architecture Advantages Disadvantages Current Technologies Conclusion.
TimeTracker 2, Take 1  Servlets Web Interface (jsp) Servlet (business logic and processing) App Engine Datastore Form Submit R/W.
INTRO TO MAKING A WEBSITE Mark Zhang.  HTML  CSS  Javascript  PHP  MySQL  …That’s a lot of stuff!
1 CS428 Web Engineering Lecture 18 Introduction (PHP - I)
Apache Jakarta Tomcat Suh, Junho. Road Map Tomcat Overview Tomcat Overview History History What is Tomcat? What is Tomcat? Servlet Container.
UNIT-V The MVC architecture and Struts Framework.
Overview of JSP Technology. The need of JSP With servlets, it is easy to – Read form data – Read HTTP request headers – Set HTTP status codes and response.
Windows.Net Programming Series Preview. Course Schedule CourseDate Microsoft.Net Fundamentals 01/13/2014 Microsoft Windows/Web Fundamentals 01/20/2014.
ISE 390 Dynamic Web Development Introduction. Who am I? Richard McKenna Phone: Office: CS Room 1436 Office.
CSCI 6962: Server-side Design and Programming Course Introduction and Overview.
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
Introduction to ASP.NET. Prehistory of ASP.NET Original Internet – text based WWW – static graphical content  HTML (client-side) Need for interactive.
Introduction to Internet Programming (Web Based Application)
Chapter 17 - Deploying Java Applications on the Web1 Chapter 17 Deploying Java Applications on the Web.
Lecture 19 Web Application Frameworks Boriana Koleva Room: C54
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.
MVC Design Pattern Web Developer at Crimshield, Inc Application Developer at IBM Present - Delta Developer at Tides.
Introducing ASP.NET 2.0. Internet Technologies WWW Architecture Web Server Client Server Request Response Network HTTP TCP/IP PC/Mac/Unix + Browser (IE,
C# AND ASP.NET What will I do in this course?. MAJOR TOPICS Learn to program in the C# language with the Visual Studio IDE (Interactive Development Environment)
ASP (Active Server Pages) by Bülent & Resul. Presentation Outline Introduction What is an ASP file? How does ASP work? What can ASP do? Differences Between.
Web Development Process The Site Development Process Site Construction is one of the last steps.
Markus Hjort Reaktor Innovations Java Web Development T WWW-palvelun HUT
Web Technologies Lecture 8 Server side web. Client Side vs. Server Side Web Client-side code executes on the end-user's computer, usually within a web.
The basics of knowing the difference CLIENT VS. SERVER.
Albert F. Cervantes, M.S. California State University, Los Angeles
JSP / Servlets and Beans
Introduction to ASP.NET development. Background ASP released in 1996 ASP supported for a minimum 10 years from Windows 8 release ASP.Net 1.0 released.
Apache Struts Technology A MVC Framework for Java Web Applications.
ASP.NET WEB Applications. ASP.NET  Web application framework developed by Microsoft  Build dynamic data driven web applications and web services  Subset.
CS320 Web and Internet Programming Web Application and MVC Chengyu Sun California State University, Los Angeles.
Introduction to Node.js® Jitendra Kumar Patel Saturday, January 31, 2015.
Presented by Alexey Vedishchev Developing Web-applications with Grails framework American University of Nigeria, 2016 Intro To MVC Architecture.
CS320 Web and Internet Programming Introduction to Web Application Development Chengyu Sun California State University, Los Angeles.
Dive into web development
Web Technologies Computing Science Thompson Rivers University
Chengyu Sun California State University, Los Angeles
Platform as a Service.
CMPE 280 Web UI Design and Development October 26 Class Meeting
Haritha Dasari Josue Balandrano Coronel -
Chengyu Sun California State University, Los Angeles
Web App vs Mobile App.
LAMP, WAMP and.. L. Grewe.
A Quick Overview of ASP.NET Core 1.0
Lecture 1: Multi-tier Architecture Overview
Introduction to Servlets
Google App Engine Ying Zou 01/24/2016.
CS320 Web and Internet Programming MVC Architecture
Chengyu Sun California State University, Los Angeles
Secure Web Programming
Chengyu Sun California State University, Los Angeles
Chengyu Sun California State University, Los Angeles
Back end Development CS Programming Languages for Web Applications
Architecture of the web
Chengyu Sun California State University, Los Angeles
CS4961 Software Design Laboratory Understand Aquila Backend
Chengyu Sun California State University, Los Angeles
Web Technologies Computing Science Thompson Rivers University
ASP.NET MVC Imran Rashid CTO at ManiWeber Technologies.
CS5220 Advanced Topics in Web Programming Course Overview
Chengyu Sun California State University, Los Angeles
Back end Development CS Programming Languages for Web Applications
Chengyu Sun California State University, Los Angeles
CS122B: Projects in Databases and Web Applications Winter 2019
Presentation transcript:

CS5220 Advanced Topics in Web Programming Course Overview Chengyu Sun California State University, Los Angeles

Static Web Page

How the Web Works http://sun.calstatela.edu/cs5220.html Browser HTTP Server HTTP request HTTP response Client /var/www/html cs5220.html Server

Dynamic Content Web search results Shopping cart … Anything that need to be generated on the fly based on user request

Produce Dynamic Content Browser Application Server HTTP request HTTP response input output Client program Server

CGI – Perl #!/usr/bin/perl print "Content-type:text/html\n\n"; print '<html>'; print '<head>'; print '<title>Hello</title>'; print '</head>'; print '<body>'; print '<h2>Hello World in CGI!</h2>'; print '</body>'; print '</html>';

Embed Code in HTML – JSP <!DOCTYPE html> <html> <body> <% if( Math.random() < 0.5) { %> <h1>Have a nice day!</h1> <% } else { %> <h1>Have a lousy day!</h1> <% } %> </body> </html>

Embed Code in HTML – ASP <!DOCTYPE html> <html> <body> <% If hour(time) <  10 Then   response.write("Good morning!") Else   response.write("Have a nice day!") End If %> </body> </html>

Embed Code in HTML – PHP <!DOCTYPE html> <html> <body> <?php if (date("H") < "20") { echo "Have a good day!"; } else {      echo "Have a good night!"; } ?> </body> </html>

The Problem with “Page with Code” Mixing presentation with processing – makes the application hard to read, test, reuse, or maintain

GUI Components + Event Handling Approach …

… GUI Components + Event Handling Approach ASP.NET, GWT, JSF Advantages: Pre-built GUI components Visual Designer Similar to developing desktop applications Disadvantages: see Advantages

The MVC Architecture model controller browser view Client Server

MVC Web Frameworks Spring, Struts for Java ASP.NET MVC for C# and VB Zend for PHP Express for JavaScript Django for Python Rails for Ruby

RESTful Web Service + Client Desktop Application RESTful Web Service Mobile App Web Application Single Page Application (SPA)

Benefits of REST + Client One backend serves multiple types of frontend RESTful web service is more scalable than traditional web applications

Course Overview Frontend SPA UI Lib Project Management & Collaboration REST API Security Deployment Web Framework Data Modeling & Access

Project Management and Collaboration Build and build tools Make, Ant, Maven, NPM Version control Git and GitHub

Data Modeling and Access … Relational Database PostgreSQL/MySQL NoSQL Database MongoDB ORM and ODM JPA, Hibernate, Mongoose

… Data Modeling and Access Full Text Search (FTS) Database-provided FTS PostgreSQL/MySQL, MongoDB Standalone solutions Lucene, Elasticsearch

Web Services Traditional web services RESTful web services SOAP, WSDL, UDDI RESTful web services

Web Frameworks Frameworks Spring (Java) Express (Node.js) Implementing RESTful web services (a.k.a REST API) Other common tasks Logging, testing, validation, file upload, email …

Frontend Single Page Application UI libraries Angular Bootstrap, Materialize/Angular Material

Security and Deployment Web application security Spring Security (Spring) Passport (Express) JWT Deployment Deployment on servers and cloud services