36
Lecture 2A: The Big Picture, Application Architecture and Lifecycle IT 202—Internet Applications Based on notes developed by Morgan Benton

Lecture 2A: The Big Picture, Application Architecture and Lifecycle IT 202—Internet Applications Based on notes developed by Morgan Benton

  • View
    214

  • Download
    0

Embed Size (px)

Citation preview

Lecture 2A:The Big Picture,

Application Architecture and Lifecycle

IT 202—Internet ApplicationsBased on notes developed by Morgan Benton

For Today

How this course fits in the CCS curriculaHistory of Networked ApplicationsThe Big PictureSemester RoadmapInformation Technology Systems Architecture Networked Computing Infrastructure The Internet

Application Development Rationale Acquisition Development Lifecycle

How does this course fit in?

Supply Chain Management

Databases

Client-servercomputing

InterfaceDesign/Human Factors

MISBPR

E-commerce

Brief History of Computing

4 Major phases: Centralized Time-shared Decentralized Networked

Two points to get from this: See where we’ve come from Guess where we’re going

What’s an Internet Application?

Three Ingredients:1. Information Technology (e.g. networks)

2. Information Content

3. Applications and Users

Social Applications

Characteristics of User Groups Number of Users Narrowness of purpose Duration of activity Social relationships

Examples of types of groups Individuals Task group/Work group Interest group Citizenry

Styles of Social Applications I

Communication Style Direct vs. Publication dimension (support?) Synchronous (immediate) vs. Asynchronous (deferred) Same place vs. Different place

Synchronous Asynchronous

Same Place Brainstorming, DSS, etc.

Sticky notes

Different Place Chat, videoconferencing

E-mail, message boards

Styles of Social Applications II

Coordination Styles Parallel Pooled Sequential Reciprocal/Reactive

The content of this slide is borrowed from Murray Turoff’s CIS 679 course notes, but based on Coordination Theory which was initially developed by Thomas Malone at MIT’s Sloan School of Business

Types of Social Applications

Remote Conferencing (synchronous)Groupware (async)Discussion Forums/ChatCyberspace Applications Broadcast, mass publication Information Retrieval E-commerce Recommender systems

Information Management

What is information?

Wisdom

Knowledge

Information

Data

Finding Useful Information

Information Search and Retrieval

Push vs. Pull

Automated vs. Personalized

Recommendations

User Control

Information Overload

According to Hiltz and Turoff (1981), users experience the greatest amounts of information overload at intermediate levels of use. New users and more experienced users have lower levels.It is very important to be careful about how information serving is designed

Hiltz, S. R. and Turoff, M. (1981) The Evolution of User Behavior in a Computer Conferencing System. Communications of the ACM 24(11), November 1981

Organizational Applications

Apps are designed to support activity Within departments Across departments, within same organization External to the organization, i.e. with

customers, suppliers, business partners, etc.

Types of Organizational Apps

Transaction Processing Systems (TPS)

Management Information Systems (MIS)

Executive Information Systems (EIS)

Enterprise Resource Planning (ERP)

Decision Support Systems (DSS)

Knowledge Management (KM)

Data Mining (DM)

E-Commerce Framework

Consumer Business Government

Consumer C2C C2B C2G

Business B2C B2B B2G

Government G2C G2B G2G

Steps in a Sale

Matching buyers and sellers

Negotiating terms and conditions

Consummation

Customer Service

Critical Societal Infrastructure

It is important to understand just how important computing and networked applications have become to the smooth operation of our society

What would happen if there was a sudden failure in networked computing?

The Productivity Paradox

Despite the obvious hours and days of effort that are saved by computers, it is often hard to see an impact on measures of productivity—i.e. people are working more than ever, not making significantly much more money, etc.

Roadmap for the Semester

Understanding the theory and practice of implementing Internet applications

By the end of the semester you may be able to identify a niche that you would like to pursue for your own career

Information Technology

“…the suite of computing and communications technologies that empower users and organizations to capture, store, communicate, and manipulate information. These technologies provide an infrastructure—those capabilities not specific to any application, but which support all applications—together with the application-specific software.” (Messerschmitt)

Information Content

Networked applications restricted to transmission of bit-encoded info, but MANY types of info can be encoded

On the internet a mime-type code often tells a client program (e.g. web browser, mail client) how to interpret a given bit stream (for more info see RFC’s 2045-2049)

System Architecture

“…a system is something that puts together building blocks that interact to accomplish some higher-level purpose—a purpose that the building blocks themselves could not individually accomplish. Systems can be social (like an organization) or technical (like a networked computer system).” (Messerschmitt)

Building blocks of a Networked Application Architecture

DatabasesUser

DesktopComputer

The Internet

Server

LAN

Elements of an Architecture

DecompositionFunctionalityInteraction

These elements combine together to form emergent properties—i.e. those properties that only appear because the elements work in unison

Systems Hierarchy

S u b -sys te m A S u b sys te m B S u b sys te m C

S ys tem

Network Infrastructure I

Supports four important capabilities:1. Communication across distance

2. Communication across time

3. Computation and logic

4. Human-Computer Interface

Network Infrastructure II

DatabasesCommunication

AcrossDistance

CommunicationAcrossTime

ComputationAnd

Logic

HumanComputerInterface

Web Host Machine(aka a “server”)

System Layers: An Example

Web Application

Application Server

Web Server

Operating System

e.g. Amazon.com website

PHP, ASP, JSP, ColdFusion, etc.

Apache Web Server, IIS, etc.

Linux, Windows, etc.

…to the Internet…

also relies on other components not shown here,such as a database server, DBMS, etc.

Network Functions

Primarily Communication

Domain Name resolution via DNS (Domain Name Server/Service)

Authorization/Authentication

Reliable packet transmission

Networking Concepts

Topologies Star Mesh Token Ring Combinations

Backbone

Switch

Storage

File Systems

Databases (DBMS) Isolate application from changes in computer

systems Provide standard data handling operations Support multiple applications Provide safety and integrity

Two Different Applications Using the Same Data

Database+

DBMS

SecurityMechanism

ApplicationServers

Intranet/Extranet

SecurityMechanism

= Firewall

So how do these things get built?

Organizations acquire networked applications in one of three ways: Buy them off-the-shelf Outsource them Build them internally (or some combination of these three)

These decisions are quite complex and there are no hard and fast rules that apply

Application Lifecycle

Requirements Analysis

System Design

Implementation

Building and Testing

Deployment

Maintenance

Retirement

What we’ll do this semester

Development Methodologies

There are many: waterfall, spiral, evolutionary, prototyping, XP

Each is more or less suited to different situations

Software development is still a young discipline—some estimates are that as many as 80% of all projects are at least partial failures