25
COMP9321 Web Application Engineering Semester 1, 2015 Dr. Moshe Chai Barukh Service Oriented Computing Group, CSE, UNSW Week 1 M. C. Barukh, S. Venugopal (CSE, UNSW) COMP9321, 15s1 Week 1 1 / 25

COMP9321 Web Application Engineering Semester 1, 2015

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: COMP9321 Web Application Engineering Semester 1, 2015

COMP9321 Web Application EngineeringSemester 1, 2015

Dr. Moshe Chai Barukh

Service Oriented Computing Group, CSE, UNSW

Week 1

M. C. Barukh, S. Venugopal (CSE, UNSW) COMP9321, 15s1 Week 1 1 / 25

Page 2: COMP9321 Web Application Engineering Semester 1, 2015

E-Com Stream Overview

COMP9321 is the first course in the three-part series of e-Commercestream (COMP9321 → COMP9322 → COMP9323)

COMP9321 - the basic infrastructure for building *not so trivial*web applications

main objective is to be comfortable with the idea of building a single,fully functional web application yourself, from scratch

COMP9322 - more advanced infrastructure for supporting businessapplications integration

main objective is to learn how to make separate applications to worktogether as one (without building the integrated system from scratch)

COMP9323 - project

main objective is to practice what you learned in COMP9321 andCOMP9322 by implementing sizeable projects

M. C. Barukh, S. Venugopal (CSE, UNSW) COMP9321, 15s1 Week 1 2 / 25

Page 3: COMP9321 Web Application Engineering Semester 1, 2015

What Are You Going to Learn in COMP9321?

the course title: Web Application Engineering

Let us start with: Web and Application

http://www.w3.org/2004/Talks/w3c10-HowItAllStarted

Sir. Tim Berners-Lee, Inventor of the Web (still veryactive in [email protected])

1989, B-L proposes a global hypertext project called“World-Wide-Web”

Universal “Readership” - anywhere, any machine,same document

1991, started with around 50 Web sites

1993, GUI-browser (Mosaic)

Today, www.internetworldstats.com

http://www.computerhistory.org/internet_history/full_size_images/berners-lee.jpg

M. C. Barukh, S. Venugopal (CSE, UNSW) COMP9321, 15s1 Week 1 3 / 25

Page 4: COMP9321 Web Application Engineering Semester 1, 2015

Basic Web Architecture: Universal Readership ...

M. C. Barukh, S. Venugopal (CSE, UNSW) COMP9321, 15s1 Week 1 4 / 25

Page 5: COMP9321 Web Application Engineering Semester 1, 2015

”It’s software Jim, but not as we know it”

Why are web apps different ?

M. C. Barukh, S. Venugopal (CSE, UNSW) COMP9321, 15s1 Week 1 5 / 25

Page 6: COMP9321 Web Application Engineering Semester 1, 2015

What are we aiming for..

the course title: Web Application Engineering

Now Engineering1 ...

Building a Web site is easy enough: HTML and a Web server ...

Building a Web application requires a greater degree of modeling,more sophisticated tools, and a well defined, repeatable process.

Web Application Architecture:

1http://www.ibm.com/developerworks/ibm/library/it-booch web/M. C. Barukh, S. Venugopal (CSE, UNSW) COMP9321, 15s1 Week 1 6 / 25

Page 7: COMP9321 Web Application Engineering Semester 1, 2015

The importance of Web Application Architecture2

Architecture as encompassing the set of significant decisions about theorganization of a software system, including:

Selection of the structural elements and their interfaces by which asystem is composed

Behavior as specified in collaborations among those elements

Composition of these structural and behavioral elements into largersubsystems

An architectural style that guides this organization

A stable architecture is essential to every successful system:

the creation of a stable architecture helps drive the highest risks outof the project,

the presence of a stable architecture provides the basis upon which thesystem may be continuously evolved with minimal scrap and rework

2http://www.ibm.com/developerworks/ibm/library/it-booch web/M. C. Barukh, S. Venugopal (CSE, UNSW) COMP9321, 15s1 Week 1 7 / 25

Page 8: COMP9321 Web Application Engineering Semester 1, 2015

Web Application Architecture: Layers

Data Access Layer

Business Logic Layer

Presentation Logic Layer

Presentation/GUI

Data Storage

End-User's SystemHTML/Forms, etc.

Physically on the client's system (browser)

Server-side programmingproducing HTML/XML and other content

Server-side programmingBusiness objects and rules,

data manipulation/transformation

Server-side programmingInterface with DB, handles data IO

Database/Storage

M. C. Barukh, S. Venugopal (CSE, UNSW) COMP9321, 15s1 Week 1 8 / 25

Page 9: COMP9321 Web Application Engineering Semester 1, 2015

Web Application Architecture: Client/Server Difference

M. C. Barukh, S. Venugopal (CSE, UNSW) COMP9321, 15s1 Week 1 9 / 25

Page 10: COMP9321 Web Application Engineering Semester 1, 2015

Web Application Architecture: Client/Server Difference

M. C. Barukh, S. Venugopal (CSE, UNSW) COMP9321, 15s1 Week 1 10 / 25

Page 11: COMP9321 Web Application Engineering Semester 1, 2015

Learning Outcomes

At the end of this course, you should be able to:

Design and implement a complete Web application from scratch

Identify and apply design patterns wherever appropriate

Identify performance bottlenecks in your application

Apply techniques to increase the performance and scalability of yourapplication

M. C. Barukh, S. Venugopal (CSE, UNSW) COMP9321, 15s1 Week 1 11 / 25

Page 12: COMP9321 Web Application Engineering Semester 1, 2015

What we WILL teach you

Constructing a web applications using Java Servlets, JDBC and JavaServer Pages (JSPs)

Using XML in Web Applications

Managing users

JDBC and accessing DB from your web applications

Design Patterns (MVC for Web,etc..)

How to measure and analyse the performance of your web application

How to secure your web application

Privacy issues

M. C. Barukh, S. Venugopal (CSE, UNSW) COMP9321, 15s1 Week 1 12 / 25

Page 13: COMP9321 Web Application Engineering Semester 1, 2015

What we WILL NOT teach you

PHP / Perl/ Python

HTML (4 or 5)

Javascript

Java / Object-oriented programming (You need to know)

SQL (You need to know)

Web Application Frameworks

M. C. Barukh, S. Venugopal (CSE, UNSW) COMP9321, 15s1 Week 1 13 / 25

Page 14: COMP9321 Web Application Engineering Semester 1, 2015

Rough Schedule

Date Topic

Week 1 Web FundamentalsWeeks 2-3 Server-Side Programming (Servlets, JSP)Week 4 Data Access in Web Applications (XML, SQL)Week 5,6 Architecture & Design PatternsWeeks 7,8 Performance and ScalabilityWeek 9,10 Web Application Security & PrivacyWeek 11 Cloud Computing (Pt. 1)Week 12 Cloud Computing (Pt. 2), Wrapup, Exam

M. C. Barukh, S. Venugopal (CSE, UNSW) COMP9321, 15s1 Week 1 14 / 25

Page 15: COMP9321 Web Application Engineering Semester 1, 2015

Teaching Philosophy

“Explain and you’ll forget; Demonstrate and you may remember; Practiceand you’ll internalize”

- Ripped from an anonymous proverb :)

M. C. Barukh, S. Venugopal (CSE, UNSW) COMP9321, 15s1 Week 1 15 / 25

Page 16: COMP9321 Web Application Engineering Semester 1, 2015

Course Outline

This course consists of:

12 weeks of lectures

1 individual assignment - 10 marks - due Week 5

1 group assignment - 25 marks (group of 2 max) - due Week 9

1 group assignment - 15 marks (group of 2 max) - due Week 11

1 final exam (50%) - individual

Assignments are graded on Specs, Quality of Demo and Innovation.

M. C. Barukh, S. Venugopal (CSE, UNSW) COMP9321, 15s1 Week 1 16 / 25

Page 17: COMP9321 Web Application Engineering Semester 1, 2015

Assessment Formula

assignments = 50

final_exam = 50

overall_mark = assign_tot + final_exam, if final_exam is >= 22.5

= min(46, (assign_total+final_exam)), otherwise

M. C. Barukh, S. Venugopal (CSE, UNSW) COMP9321, 15s1 Week 1 17 / 25

Page 18: COMP9321 Web Application Engineering Semester 1, 2015

Exam Format (draft)

2 hours

total marks 50

6 main questions (Answer only 5)

No multiple choice questionsI will take the first 5 answers2, 3, and 5 mark subquestions

M. C. Barukh, S. Venugopal (CSE, UNSW) COMP9321, 15s1 Week 1 18 / 25

Page 19: COMP9321 Web Application Engineering Semester 1, 2015

Exam Format (draft)

Factual Question - 2 marks

Counter-factual/ Short answer Question - 3 marks

Essay - 5 marks

M. C. Barukh, S. Venugopal (CSE, UNSW) COMP9321, 15s1 Week 1 19 / 25

Page 20: COMP9321 Web Application Engineering Semester 1, 2015

Support Staff

Lecturer-in-Charge

Dr. Moshe Chai [email protected]: in lecture or by appointment

Tutors / Lab-Demonstrators

and MessageBoard - all questions re: labs and assignments.

Do not email me personally about lab/assignment questions. All questionsshould be openly asked and answered via the Messageboard.

M. C. Barukh, S. Venugopal (CSE, UNSW) COMP9321, 15s1 Week 1 20 / 25

Page 21: COMP9321 Web Application Engineering Semester 1, 2015

COMP9321 Supp Exam Policy

Supplementary examination will only be granted when a student was notable to attend the final exam for reasons beyond the student’s control(eg., sickness), and submitted a special consideration at the StudentCentre within three working days after the examination day.

Note, however, if you attended the final exam, I will interpret that illness,misadventure or other circumstance beyond your control:

has not affected your preparation for the final exam;

has not affected you on the day of the exam

and you will not be considered for supplementary assessment. In otherwords, if your preparational ability to sit the exam has been affected byyour sickness, then do not attend the exam.

M. C. Barukh, S. Venugopal (CSE, UNSW) COMP9321, 15s1 Week 1 21 / 25

Page 22: COMP9321 Web Application Engineering Semester 1, 2015

Other notes

Programming - Java is the base language for this course. Assignmentsmust be carried out in Java. We cannot help you with Java syntax.

Laptop Usage - Laptop use is encouraged during lecture. But, pleasedo not play games. It distracts your neighbours as well.

Group assignments - You will get same mark for the group assignmentirrespective of how the load was shared. If you have problems withthe performance of your team mate, see me early.

Lecture participation - Please try to attend all lectures and participateby asking questions and initiating discussions.

Please check the messageboard regularly to keep up with the materialexplained in class and clarifications for assignment specs.

M. C. Barukh, S. Venugopal (CSE, UNSW) COMP9321, 15s1 Week 1 22 / 25

Page 23: COMP9321 Web Application Engineering Semester 1, 2015

Course evaluation and feedback

This course is evaluated through UNSW’s CATEI (Course AndTeaching Evaluation and Improvement) system.

CATEI is an electronic survey system and is carried out at the end ofthe session

CATEI is anonymous. I will not know the authors of the comments.

However, feel free to suggest improvements during the sessioninformally (I really appreciate these)

I’ll try to address these to the best of my ability

M. C. Barukh, S. Venugopal (CSE, UNSW) COMP9321, 15s1 Week 1 23 / 25

Page 24: COMP9321 Web Application Engineering Semester 1, 2015

Feedback from CATEI 14s2

Automarking of Assignment 1 will be improved.

New and Improved Catch-up Lab Schedule.

Assignment specs will be made more tighter.

M. C. Barukh, S. Venugopal (CSE, UNSW) COMP9321, 15s1 Week 1 24 / 25

Page 25: COMP9321 Web Application Engineering Semester 1, 2015

Course Assessment Statistics

Sem HD DN CR PS FL Tot

11s2 6 25 34 10 10 8712s1 6 18 21 43 13 10512s2 8 20 26 20 17 9213s1 4 5 16 23 10 5813s2 2 11 17 34 15 8314s1 7 10 20 24 11 7814s2 2 13 24 18 18 7515s1 :D :)) :) :/ :( 101

M. C. Barukh, S. Venugopal (CSE, UNSW) COMP9321, 15s1 Week 1 25 / 25