soen 387 web-based enterprise application design

21
SOEN 387 Web-based Enterprise Application Design Stuart Thiel Introduction Web Enterprise Applications SOEN 387 Web-based Enterprise Application Design Stuart Thiel Concordia University Department of Computer & Software Engineering Fall, 2014 1/19

Upload: others

Post on 17-Oct-2021

6 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: SOEN 387 Web-based Enterprise Application Design

SOEN 387Web-basedEnterprise

Application Design

Stuart Thiel

Introduction

Web EnterpriseApplications

SOEN 387 Web-based EnterpriseApplication Design

Stuart Thiel

Concordia UniversityDepartment of Computer & Software Engineering

Fall, 2014

1/19

Page 2: SOEN 387 Web-based Enterprise Application Design

SOEN 387Web-basedEnterprise

Application Design

Stuart Thiel

Introduction

Web EnterpriseApplications

Outline

Introduction

Web Enterprise Applications

2/19

Page 3: SOEN 387 Web-based Enterprise Application Design

SOEN 387Web-basedEnterprise

Application Design

Stuart Thiel

Introduction

Web EnterpriseApplications

Credit Where Due

I Notes based on a course developed collaboratively withDr. Patrice Chalin

I I’ll occassionally borrow his slides

3/19

Page 4: SOEN 387 Web-based Enterprise Application Design

SOEN 387Web-basedEnterprise

Application Design

Stuart Thiel

Introduction

Web EnterpriseApplications

A Quick BIO: Stuart Thiel

I Currently working on a PhD in sorting

I P. Eng.I Masters Thesis

I will be used as reference for this courseI offers improvements over techniques described in other

course text (Fowler)

I SoenEAI Main authorI Will be used in the course, simplifies implementation of

WEAs

4/19

Page 5: SOEN 387 Web-based Enterprise Application Design

SOEN 387Web-basedEnterprise

Application Design

Stuart Thiel

Introduction

Web EnterpriseApplications

General Experience

I Over a decade of consulting in WEA development

I Active WEA development

I Currently working on a PhD (Sorting Algorithms)

I Pursuing an interest in game studies

5/19

Page 6: SOEN 387 Web-based Enterprise Application Design

SOEN 387Web-basedEnterprise

Application Design

Stuart Thiel

Introduction

Web EnterpriseApplications

Syllabus Course Web Site

I http://users.encs.concordia.ca/~sthiel/soen387/

I http:

//users.encs.concordia.ca/~sthiel/soen387/CourseOutline.pdf

6/19

Page 7: SOEN 387 Web-based Enterprise Application Design

SOEN 387Web-basedEnterprise

Application Design

Stuart Thiel

Introduction

Web EnterpriseApplications

Tutorials

I They Are Mandatory!

I Tutorial Material Appears on Exams

I THEY START NEXT WEEK!

I An important aspect of the material covered

I Material on Tutorials is fair game for midterm and final!

7/19

Page 8: SOEN 387 Web-based Enterprise Application Design

SOEN 387Web-basedEnterprise

Application Design

Stuart Thiel

Introduction

Web EnterpriseApplications

About the Course

I Previously taught in architecture and design courses

I Developed a web-specific course over a decade

I Mature course material

I You will see the material in industry

8/19

Page 9: SOEN 387 Web-based Enterprise Application Design

SOEN 387Web-basedEnterprise

Application Design

Stuart Thiel

Introduction

Web EnterpriseApplications

Course Context

I SOEN 287 Intro to Web Programing

I SOEN 387 Web Application Design

I SOEN 487 Web Application & Services

I You’ve learned about client-side web stuff

I You’ve learned about database stuff

I You’ve seen a bit of server-side

I This course will teach you the server side in detail

I . . . including making use of a lot of that database stuff

I The next course teaches server communication

9/19

Page 10: SOEN 387 Web-based Enterprise Application Design

SOEN 387Web-basedEnterprise

Application Design

Stuart Thiel

Introduction

Web EnterpriseApplications

Course Context

I SOEN 287 Intro to Web Programing

I SOEN 387 Web Application Design

I SOEN 487 Web Application & Services

I You’ve learned about client-side web stuff

I You’ve learned about database stuff

I You’ve seen a bit of server-side

I This course will teach you the server side in detail

I . . . including making use of a lot of that database stuff

I The next course teaches server communication

9/19

Page 11: SOEN 387 Web-based Enterprise Application Design

SOEN 387Web-basedEnterprise

Application Design

Stuart Thiel

Introduction

Web EnterpriseApplications

Pre-requisites

I COMP 353I learned enough basic SQL for simple queriesI have a vague understanding of a transactionI be able to build simple tables

I SOEN 287I learned html/js/css, which we won’t touch muchI learned how web pages are requestedI learned how servers respond to web requests

I COMP 354 or SOEN 341I learned about software processI learned how to manage a small software development

processI learned about good practices, like TDD/revision

control/DocumentationI learned how to take requirements and move them to

design, then implementation

10/19

Page 12: SOEN 387 Web-based Enterprise Application Design

SOEN 387Web-basedEnterprise

Application Design

Stuart Thiel

Introduction

Web EnterpriseApplications

Web in the Beginning?

I University/research web sites

I Personal web pages

I Some business Web Pages

I Mostly static content

I Was complex design needed?

11/19

Page 13: SOEN 387 Web-based Enterprise Application Design

SOEN 387Web-basedEnterprise

Application Design

Stuart Thiel

Introduction

Web EnterpriseApplications

Web in the Beginning?

I University/research web sites

I Personal web pages

I Some business Web Pages

I Mostly static content

I Was complex design needed?

11/19

Page 14: SOEN 387 Web-based Enterprise Application Design

SOEN 387Web-basedEnterprise

Application Design

Stuart Thiel

Introduction

Web EnterpriseApplications

Modern Web?

I Social MediaI FacebookI TwitterI Google

I SearchI GoogleI BingI Yahoo

I E-CommerceI AmazonI EbayI KijijiI Newegg. . .

I GamesI GoogleI World of WarcraftI Eve Online . . .

I Business ApplicationsI Google (Google Apps)I Microsoft (Azure)I Amazon (Amazon Cloud)

12/19

Page 15: SOEN 387 Web-based Enterprise Application Design

SOEN 387Web-basedEnterprise

Application Design

Stuart Thiel

Introduction

Web EnterpriseApplications

Cloud Computing

I 21% estimated world-wide increase in 2009 (Gartner) toreach 56,3 billion $

I June 2010 Gartner estimates will surpass $68 billion

I Stopped checking statistics, all you hear about is theweb

13/19

Page 16: SOEN 387 Web-based Enterprise Application Design

SOEN 387Web-basedEnterprise

Application Design

Stuart Thiel

Introduction

Web EnterpriseApplications

Modern Design

I Do we need complex design now?

I Do we need to be more explicit in describing things?

14/19

Page 17: SOEN 387 Web-based Enterprise Application Design

SOEN 387Web-basedEnterprise

Application Design

Stuart Thiel

Introduction

Web EnterpriseApplications

Enterprise Application Characteristics

I Lots of data

I Lots of concurrent access

I Everyone is trying to hack you all the time

15/19

Page 18: SOEN 387 Web-based Enterprise Application Design

SOEN 387Web-basedEnterprise

Application Design

Stuart Thiel

Introduction

Web EnterpriseApplications

WEA Examples

I Bank Websites (online banking)I CIBCI Bank of Montreal (uses Servlets)I Desjardins

I Amazon

I Kijiji

16/19

Page 19: SOEN 387 Web-based Enterprise Application Design

SOEN 387Web-basedEnterprise

Application Design

Stuart Thiel

Introduction

Web EnterpriseApplications

Obligatory RUP Diagram

I Where does this course fit in the SE (RUP) disciplines?

17/19

Page 20: SOEN 387 Web-based Enterprise Application Design

SOEN 387Web-basedEnterprise

Application Design

Stuart Thiel

Introduction

Web EnterpriseApplications

SOEN 387 - RUP Context

The other disciplines are very involved in Web Applications,but outside the scope of this course.

18/19

Page 21: SOEN 387 Web-based Enterprise Application Design

SOEN 387Web-basedEnterprise

Application Design

Stuart Thiel

Introduction

Web EnterpriseApplications

Tools Base Technology

I Base TechnologyI Java Servlets & JSP

I Excellent for developing robust WEAs

I ToolsI Eclipse 4.x (some current version. . . Luna?)

I Web Tools Platform (WTP (3.4?))

I Tomcat 7 or 8I Firefox & Firebug or Chrome and Chrome’s web-dev

toolsI JUnit, SoenEA, various Apache/java libraries

19/19