Jim Janson. Agenda Evolution of software architectures 3-tier User interfaces Application servers...

Preview:

Citation preview

Jim Janson

AgendaEvolution of software architectures3-tierUser interfacesApplication serversDatabases

In the beginning, there were mainframes…

Mainframe ArchitectureAdvantages

Simple deploymentSecure

DisadvantagesDumb terminals limited user interfaceAll work performed on server

Client-Server Architecture

Client-server ArchitectureAdvantages

Richer user interfacesProcessing off loaded to PCs

DisadvantagesMultiple copies of software; updates a problemOnly so much horse power on a PC

3-Tier Architecture

3-Tier ArchitectureTier 1: the client contains the presentation

logic “thin client”

Tier 2: application server provides the business processes logic and the data access.

Tier 3: the data server provides the business data.

3-Tier ArchitectureEasier to modify or replace any tier without

affecting the other tiers.

Separating the application and database functionality means better load balancing.

Adequate security policies can be enforced within the server tiers without hindering the clients.

Thin Client = Web BrowserUser interface displayed in a web browserTop web browsers:

Internet Explorer Firefox Safari Opera

Web BrowsersAll browsers interpret HTML and Javascript

Tools for Building Web PagesDreamweaverMicrosoft Expression WebPlus many free sites and tools

Extending the browserActive X Controls/Plug-insAbility to support more than just

HTML/JavascriptPopular extensions:

FlashJavaSilverlight

Some sites to look at:http://www.2advanced.comhttp://demo.northkingdom.com/ihuvudetpatoyota/in

dex_en.htmlhttp://www.stat.sc.edu/~west/javahtml/Histogram.h

tml

Middle tierTies client to dataWeb server

Serves web pages to browserBusiness logic Database access

Database ServerSeparate computer running database

softwarePopular databases

OracleSQL ServerMySQLPostgresSQL

What’s SQL?

DatabasesConsist of tables Each table has columns and rows (records)Each column has different attributes

UserId FirstName LastName Street City

1 Abby Wentworth 3 Park Place

Boston, MA

2 Pete Pierce 34 Glass Ave

Berlin, NH

3 Sam Adams 17 First St Fargo, ND

SQL create table USERS ( userid number(19,0) not null,

firstname varchar(30) , lastname varchar(30), street varchar(100), city varchar(40));

Storing InformationA table can store millions of records Don’t want to duplicate informationUse multiple tablesCommon information in a table

ScenarioTrack purchases at a web siteUser must create an accountUser logs in with account to purchase

Users Table

Purchases

UserId FirstName

LastName

Street City

1 Abby Wentworth

3 Park Place

Boston, MA

2 Pete Pierce 34 Glass Ave

Berlin, NH

3 Sam Adams 17 First St Fargo, ND

PurchaseId

Date Item Price UserId

4234 07/11/2009 Book 19.95 1

4235 09/04/2009 Wii 249.95 3

4236 10/21/2009 Rock Band 49.95 3

Data miningData mining is the process of extracting

patterns from data.Predict trends and behaviorsDiscover unknown patterns

Use in sales Google flu trends

http://www.google.org/flutrends/intl/en_us/

Recommended