Web Application Development Architecture, Process, Technologies Advanced Web-based Systems | Misbhauddin.

Slides:



Advertisements
Similar presentations
Lecture plan Information retrieval (from week 11)
Advertisements

DT228/3 Web Development WWW and Client server model.
Netscape Application Server Application Server for Business-Critical Applications Presented By : Khalid Ahmed DS Fall 98.
© 2010, Robert K. Moniot Chapter 1 Introduction to Computers and the Internet 1.
Master’s course Bioinformatics Data Analysis and Tools Lecture 6: Internet Basics Centre for Integrative Bioinformatics.
Kashif Jalal CA-240 (072) Web Development Using ASP.NET CA – 240 Kashif Jalal Welcome to week – 2 of…
Outline IS400: Development of Business Applications on the Internet Fall 2004 Instructor: Dr. Boris Jukic Server Side Web Technologies: Part 2.
Cloud Computing Lecture #7 Introduction to Ajax Jimmy Lin The iSchool University of Maryland Wednesday, October 15, 2008 This work is licensed under a.
CS CS 5150 Software Engineering Lecture 13 System Architecture and Design 1.
Introduction to Web Based Application. Web-based application TCP/IP (HTTP) protocol Using WWW technology & software Distributed environment.
Interpret Application Specifications
© 2004, Robert K. Moniot Chapter 1 Introduction to Computers and the Internet.
Where Do I Start REFERENCE: LEARNING WEB DESIGN (4 TH EDITION) BY ROBBINS 2012 – CHAPTER 1 (PP. 3 – 14)
What is Web Design The term “web design” has come to encompass a number of disciplines, including: Visual (graphic) design User interface and experience.
INTRO TO MAKING A WEBSITE Mark Zhang.  HTML  CSS  Javascript  PHP  MySQL  …That’s a lot of stuff!
Web Programming Language Dr. Ken Cosh Week 1 (Introduction)
WEB DESIGN SOME FOUNDATIONS. SO WHAT IS THIS INTERNET.
PHP and MySQL Week#1  Course Plan.  Introduction to Dynamic Web Content.  Setting Up Development Server Eng. Mohamed Ahmed Black 1.
Client/Server Architectures
1 Web Database Processing. Web Database Applications Static Report Publishing a report is prepared from a database application and exported to HTML DB.
INTRODUCTION TO WEB DATABASE PROGRAMMING
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
Joel Bapaga on Web Design Strategies Technologies Commercial Value.
Beyond DHTML So far we have seen and used: CGI programs (using Perl ) and SSI on server side Java Script, VB Script, CSS and DOM on client side. For some.
Introduction to ASP.NET. Prehistory of ASP.NET Original Internet – text based WWW – static graphical content  HTML (client-side) Need for interactive.
Copyright © cs-tutorial.com. Introduction to Web Development In 1990 and 1991,Tim Berners-Lee created the World Wide Web at the European Laboratory for.
Databases and the Internet. Lecture Objectives Databases and the Internet Characteristics and Benefits of Internet Server-Side vs. Client-Side Special.
Chapter 1: Introduction to Web
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.
L. Grewe LAMP, WAMP and... Motivaiton Basic Web Systems with Delivery of Static and Dynamic Web Pages html, css, media javascript (“dynamic” on client.
Introduction to Internet Programming (Web Based Application)
11/16/2012ISC329 Isabelle Bichindaritz1 Web Database Application Development.
Chapter 17 - Deploying Java Applications on the Web1 Chapter 17 Deploying Java Applications on the Web.
Information & Decision Management Dept West Texas A&M University
PHP With Oracle 11g XE By Shyam Gurram Eastern Illinois University.
AJAX Making Dynamic Web pages more Dynamic Jim Hendricks April 25th, 2006.
NASRULLAH KHAN.  Lecturer : Nasrullah   Website :
Fundamentals of Database Chapter 7 Database Technologies.
Lecture 19 Web Application Frameworks Boriana Koleva Room: C54
Web Services XML-RPC, SOAP, REST Advanced Web-based Systems | Misbhauddin.
HTML. Principle of Programming  Interface with PC 2 English Japanese Chinese Machine Code Compiler / Interpreter C++ Perl Assembler Machine Code.
Website Design Lecture 1. Outline Introduction to the module Outline of the Assessment Schedule Lecture Static XHTML, client side and server side Why.
_______________________________________________________________________________________________________________ E-Commerce: Fundamentals and Applications1.
1 Welcome to CSC 301 Web Programming Charles Frank.
1 MSCS 237 Overview of web technologies (A specific type of distributed systems)
Overview Web Session 3 Matakuliah: Web Database Tahun: 2008.
WEP Presentation for non-IT Steps and roles in software development 2. Skills developed in 1 st year 3. What can do a student in 1 st internship.
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,
Web Development Process The Site Development Process Site Construction is one of the last steps.
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.
Web Development Technologies Advanced Web-based Systems Advanced Web-based Systems | Misbhauddin.
NASRULLAH KHAN.  Lecturer : Nasrullah   Website :
WEB SERVER SOFTWARE FEATURE SETS
Overview Web Technologies Computing Science Thompson Rivers University.
1/7/2016www.infocampus.co.in1. 1/7/2016www.infocampus.co.in2 Web Development training gives you and all-round training in both the design and the development.
CGS 3066: Web Programming and Design Spring 2016 Introduction to Server-Side Programming.
Web Development. Agenda Web History Network Architecture Types of Server The languages of the web Protocols API 2.
Web Programming Language
Web Technologies Computing Science Thompson Rivers University
PHP / MySQL Introduction
CS5220 Advanced Topics in Web Programming Course Overview
LAMP, WAMP and.. L. Grewe.
Database Driven Websites
Web Browser server client 3-Tier Architecture Apache web server PHP
Lecture 1: Multi-tier Architecture Overview
Secure Web Programming
Database Management Systems
Web Technologies Computing Science Thompson Rivers University
CS5220 Advanced Topics in Web Programming Course Overview
Web Application Development Using PHP
Presentation transcript:

Web Application Development Architecture, Process, Technologies Advanced Web-based Systems | Misbhauddin

Typical Web Application Client-Server Architecture – Browser (Client) and the Web Server (Server) Clients request resources available on the server through HTTP Typical resources are HTML pages Advanced Web-based Systems | Misbhauddin Web Server HTTP Request HTTP Response Browser Resources

HTML HTML – Hyper Text Markup Language Hypertext – Text with Links (as opposed to Linear) Markup – Instructions included with the information HTML markup language represents the static part of a web page HTML is the only language understood by the browser The browser constructs a DOM tree after receiving an HTML Page DOM (Document Object Model) independent model to represent HTML documents Advanced Web-based Systems | Misbhauddin

Web Technology Evolution Web developers wrote every page by “hand” Updating a site means editing the HTML “Redesign” meant doing it from scratch again No Scalability How many pages? Advanced Web-based Systems | Misbhauddin HTML Pages

Static Web Scenario Advanced Web-based Systems | Misbhauddin KFU Server HTTP Request Message HTTP Response Message Client get /ccsit/courses/web-based-systems.html http/1.1 Host: kfu.edu.sa HTTP/1,1 200O OK Date: Fri, 26 Dec :15:14 Server: Apache/ Connection: close ………..

Multi-tiered Web Architectures Need for architectures that support dynamic content generation Three Layers Presentation Layer In-charge of processing requests coming from the client and constructing the HTML page Application Logic Layer Intermediate layer in charge of executing components realizing the application's business logic Resource Management Layer Previously only known as Storage Layer Represents the group of services offered by different systems Access to database systems, transaction processing systems, enterprise information systems or web services Advanced Web-based Systems | Misbhauddin

Application servers Execution environment supporting interlayer communication Advanced Web-based Systems | Misbhauddin Client / Visitor Three Layer Model Web Server Application Server Database Server Presentation Layer Application Layer Storage Layer

Web Technology Evolution CGI – Common Gateway Interface Webpages were intended as resources Rise of the Server-Side Technologies Difficult to reuse code Lots of boilerplate code High Learning Curve Advanced Web-based Systems | Misbhauddin HTML PagesCGI Scripting

CGI Scenario Advanced Web-based Systems | Misbhauddin Web Server HTTP Request HTTP Response Client exec w/environ stdout CGI Program SQL Database print ‘ ’; print ‘ CGI Page ’; print ‘ ; print ‘ ’;

Web Technology Evolution PHP – HyperText Pre-Processor Very easy to learn Server-side mixed with HTML No security mechanism provided Bunch of HTML, Code and SQL …….. all together Advanced Web-based Systems | Misbhauddin HTML PagesCGI ScriptingPHP-Like Lang.

PHP Scenario Advanced Web-based Systems | Misbhauddin Web Server HTTP Request HTTP Response Client exec w/environ html PHP Compiler SQL Database SAME AS CGI <?php $con = mysqli_connect($host, $user, $pwd, $db); $query = “SELECT name FROM user”; $result = mysqli_query($con,$query); $name = mysqli_fetch_array($result)[0]; ?> Test PHP Page Welcome Mr. ……. Presentation + Business Logic + Data (SQL) = All messed up

Web Technology Evolution RIA – Rich Internet Applications Desktop like web applications JavaScript ( and AJAX intensive apps) Advanced Web-based Systems | Misbhauddin HTML PagesCGI ScriptingPHP-Like Lang.RIA

RIA Scenario Advanced Web-based Systems | Misbhauddin Web Server XMLHTTP Request XML Response Browser QUERY_STRING XML Data Server-Side Technology SQL Database JavaScript Update (HTML) Presentation & Visualization Business Logic Data & Models

Web Services Web services allow an application to effortlessly integrate and reuse application logic that runs on remote servers Web services typically return data (e.g., text, a list of products, pictures) “Web services are self-describing, self-contained software modules that are accessed via a network, such as the Internet, complete tasks, solve problems, or conduct transactions on behalf of a user or application”. Request HTML Page Client Web Server Request Data Client Web Service

Web Service (Types) Web services support four types of operations: Request-response operation: invokes the service and expects an answer back One-way operation: invokes the service and does not expect any answer back Solicit-response operation: is initiated by the service (e.g., the service calling another service) and expects an answer back Notification operation: is initiated by the service and does not expect any answer back Request-Response and Solicit Response implement a Synchronous Communication Pattern One-way and Notification implement an Asynchronous Pattern

Web Development Process Advanced Web-based Systems | Misbhauddin

Software Development Process Software development process is organized into some basic activities Requirements engineering: aims at understanding the problem Design: aims at planning a solution to the problem Implementation: translates the plan into running application code Testing and evaluation: aims at identifying coding errors or inconsistencies between the collected requirements and their implementation Deployment: brings the solution to the customers Maintenance: aims at monitoring a running system and keeping it healthy and running Evolution: aims at improving the developed solution over time, providing new input to the development process in the form of new requirements Different Process Models Waterfall Model; Spiral Model, Rational Unified Model……. Advanced Web-based Systems | Misbhauddin

Web-Specific Software Development Processes Special instance of generic software application development Specialized model that is suited only for web application dev. Online Evolution Model Five activities Advanced Web-based Systems | Misbhauddin Req. Analysis Design Implementation Testing & Evaluation Maintenance & Evolution Offline prototype Online Web application Dismissal Business Req. Deployment

Web-Specific Actors Includes all actors as required by traditional software development Requirement Analyst Architect {Data, Application} Developer Administrator Includes two more specialized actors Graphic Designers (Front-End Developers) Webmasters Advanced Web-based Systems | Misbhauddin

Web Developers Front-End Developer / Designer Back-End Developer / Web Programmer Full Stack Developer

Front-End Developer Focuses on look and feel of a website Uses HTML, CSS, and JavaScript Is competent in color scheming, graphic design, and information flow Creates a great user experience Is right-brained: Strong intuition, creativity, & imagination HTML CSS JavaScript

Back-End Developer Creates the inner workings of a website Is competent in programming languages (PHP,.NET, Python, C, Ruby) Is left-brained: logic, linear thinking, technical Hands-on coding experience is required.NET PYTHON C# JAVA PERL NODEJS PHP RUB Y

Full Stack Developer Comfortable working with both back-end and front- end technologies. Work with Databases PHP/Python/.Net/Ruby/Java HTML CSS JavaScript and everything in between

What is a Full Stack? System Administration Shell Scripting (Linux) Cloud Computing (Amazon, Rackspace) Search Engine Integration (ElasticSearch, Sphinx) Caching Monitoring

What is a Full Stack? Web Development Tools Version Control (Git, Mercurial) Virtualization (VirtualBox, Vagrant, Docker)

What is a Full Stack? Back-end Technologies Web Servers (Apache, Nginx) Programming Languages (PHP, NodeJS, Ruby) Databases (MySQL, PostgreSQL, MongoDB, Redis) – General (SQL, JSON, XML)

What is a Full Stack? Front-end Technologies HTML / HTML5 Semantic Web CSS / CSS3: LESS, SASS, Media Queries JavaScript: JQuery, AngularJS, … Browser Compatibility Responsive Design AJAX, JSON, XML, WebSocket

What is a Full Stack? Design Convert design to front-end code (PHP- HTML/CSS) User Interface (UI) User Experience (UX)

Engineering Web Applications © Springer 2009 Sven Casteleyn, Florian Daniel, Peter Dolog, Maristella Matera Reference