Quick viewing(Text Mode)

From Mainframes to Client-Server to Network Computing

From Mainframes to Client-Server to Network Computing

Session 12 Evolving IT Architectures: From Mainframes to -Server to Network

© S. Madnick, 1998 12/ 1

Outline • Stages of System Architectures – Components: Data Management, Business Logic, Presentation • Mainframe era PC era • Stages of Client-Server Evolution • Server technology • Client technology (e.g., Powerbuilder) • The "Web" as a client-server environment • Implications of client-server – Cost vs. Owner trends – Emergence of Network Computing & – Two-tier vs. Three-tier

Acknowledgment: Some of the material is based upon lecture notes prepared by Dr. Michael Siegel, Principal Research Scientist, MIT Sloan School of Management 12/ 2 Stages of System Architectures 2 Batch-Processing Mainframe (1960’s) Sharing Server

Shared files & application processing

Shared files & printers

Time Terminal

3 Time-shared Mainframe PC’s (1970’s) 5 Networked PC’s (1990’s) Client 1 Early Single-user Mainframe 4 Personal 6 Client/Server (1950’s) Autonomy/ (1980’s) Local control Client-Server Evolution 12/ 3

Key Components – Data Management – Business Logic – Presentation Data Management Presentation

Business Logic

12/ 4 Mainframe Era

Mainframe

Data Management Business Logic Presentation Terminal (Dumb)

Focus: Shared Technology and Information 12/ 5

PC Era

Data Management Data Management Data Management Business Logic Business Logic Business Logic Presentation Presentation Presentation Focus: User Control 12/ 6 Mainframe Meets PC Order Status DEC Customer Balance (VT-100) Terminal PC Order Analysis

(3270) Terminal IBM

Focus: 1. Consolidate terminals and PC’s (virtual terminals) User 2. Both local and shared information (avoid “sneaker-net”)

12/ 7

Early Stages of Client-Server Evolution

a. Terminal Emulation (or stand-alone PC)

PC IBM

(No Intelligence on PC) DEC

b. File Download Mainframe PC Disk Disk

(All Intelligence on PC) 12/ 8 Example: GUI Interface

12/ 9

2 Powerbuilder Powerbuilder Example Master Census 1 Census Window Copy Window Master PC Lab • HP/ N LA Camera • Files

3 Video Clips

MIT Backbone Powerbuilder Network PC Lab • IBM PC/Windows E40 LAN • Sequent/Windows NT • Files Presentation & 5 Camera Most Logic 4 Census data

Data Mgt. E40 E40 • Sequent/Unix • IBM PC/Windows • Oracle DBMS 12/ 10 Brief Overview of Relational Database (RDBMS) Technology

• Relational Database Terminology 2 Column (Domain)

1 Table (Relation) Census State Year Cars Drivers Population ••• ••• Mass 1991 2462 2643 5946 3 Row Mass 1992 2484 2708 5998 (Tuple) ••• Nevada 1991 528 642 1248 Nevada 1992 532 633 1266 •••

• Structured Query Language (SQL)

Select state, year, population 2 Columns from census 1 Table(s) where year = 1992 3 Row criteria and state = "Massachusetts"} order by state, year desc. - Additional capabilities: "join" multiple tables together, etc. 12/ 11

Powerbuilder Example (Revisited) Select state, year, population (SQL) from census MA pop where year = 1992 92 and state = "Massachusetts" order by state, year desc. o o o

standards: ODBC, TCP/IP Disk (10 GB) PC Lab 5998 (Answer) E40 Client Server • IBM PC computer • Sequent Symmetry computer • MS Windows • UNIX operating system • Powerbuilder (GUI) S/W • Oracle (relational DBMS) S/W • Processing: Presentation, Graphing • Processing: Data lookup, sorting

12/ 12 The “Web” as a "2-tier" Client-Server System

Browser Software Server (Netscape)

Page

Client • Presentation New York e.g., “Electronic Mall” Server • Simple data [static Web pages] • Business logic (cgi scripts) with access to data (often RDBMS) [dynamic Web pages]

Detroit e.g., Ford 12/ 13

Definition

Client-Server forms a subset of distributed computing systems where data management, application (e.g., business) logic, and presentation functions are separated by predefined interfaces that enable them to be distributed and operate, in real-time, as if they were a single program on a single computer...

12/ 14 Client-Server Computing As a Technology Shift

1980s 1990s ??? /TERMINAL CLIENT/SERVER COMPUTING DISTRIBUTED

MAINFRAME Server Data Management Data Management Data Management Data Management Data Management Data Management Business Logic Business Logic ORACLE Business Logic cgi programs Network Presentation & RDBMS K NETWOR Business Logic

Data Management POWERBUILDER Network NETSCAPE Business Logic Business Logic Business Logic

Client Presentation Presentation Presentation Presentation Presentation

Dumb Terminal Legacy [Balanced] PC LAN [Distributed (Web) (Powerbuilder) Data] "" "Fat Client" "3-tier" client-server "2-tier" client-server

Question: Where does Java fit into this? Source: Gartner Group 12/ 15

SAMPLE APPLICATION ILLUSTRATING SEPARATION OF COMPONENTS Presentation Business Logic Data Management

Get Name STU - Name - Type from Type FIXED (FIXED, VARIABLE) VARIABLE - Amount

Amount 4000 Acctbal= select balance Select balance from accounts from accounts ( where custname=“STU” ) where custname=“$name”

Custname balance STU 200 If balance > amount then (200) Display smile else No Loan Display frown

Thin client Server HTML } 2-tier Fat client SQL Server client Data Server } 3-tier SQL HTML IMPLICATIONS OF CLIENT-SERVER

• New Architectures • Distributed Computing • Distributed • Increased Heterogeneity • Increased Network and Connectivity Requirements • Challenges “managing the transition” • User-ownership vs. Central-ownership • Hardware •Networks • Configuration Management • User-Support •Data • Application Development 12/ 17

COST VS OWNERSHIP TRENDS

MAINFRAME ------> EARLY CLIENT-SERVER ------> MATURE CLIENT-SERVER HW

AD DA HW - Hardware NW - Network C AD - Application O Development S US - User Support T DA - Data CM - Configuration Management

CM US NW

Centralized USER - OWNERSHIP Local Distributed Decentralized 12/ 18 Traditional “Fat Client” Situation

Excel 5.0 App1 Win 95

Server Database Excel 4.0 Network App2 Win 3.1

• Problems (“total cost of ownership high”) – “Expensive” hardware (hard disk) – Software investment (esp. if infrequent use) – Updating software – System management (software conflicts/incompatibilities) – Proprietary software

12/ 19

Network Computer Concept App1 App2 program Common Applets/ Win 95 Core { Applications

Server Common Network Core { ? Database “Stateless” Thin Clients

• Solutions – Minimal hardware (usually no hard disk) – Software downloaded as needed (possibly only portions) – No persistent “state” / freshest software loaded each time – Minimal client-side system management (all identical) – Movement toward “open” standards

12/ 20 Java

• Highly interactive – Traditional Web - application software runs on server – Java applets dynamically downloaded and run on client (e.g., input data validation) • “Nice” programming language – Simpler than C/C++ – Object-oriented • Secure programming environment – Strong typing (array checking) – Interpreter • Portable (“write once, run anywhere”) – Based on Java byte-code interpreter

12/ 21

Java Operation Servers

S Internet D Sun/UNIX J

• Static pages (S) • Dynamic pages (D) • Java applets (J) Windows 3.1 Mac OS

Java HTML Java HTML same page applet page applet }

Windows 95 HMTL Java HMTL Java Interpreter interpreter Interpreter interpreter

Netscape (Win 95) Netscape (Mac OS) different Windows 95 OS Mac OS } PC Hardware PowerMac Hardware Client environments 12/ 22 Sample

import java.awt.*; import java.applet.*;

Sample Java public class Wave extends Applet { int n = 1 applet that draws public void paint(Graphics g) a sine wave { double y=0.0, oy=0.0; for(int x=0; x < size().width; oy=y, y=0, x++) {for (int j=0; j0) g.drawLine(x, (int)(oy*size().height), x+1, (int) (y*size().height)); } } public boolean mouseDown (java.awt.Event evt, int x, int y) { n = n < 15 ? n+1 : 1; repaint (); return true; } }

This simple applet example draws a sine wave. Web page


embedded

Browser display of wave applet being executed 12/ 23

Java Reality Check / Challenges

• Highly interactive or too slow (interpretive) • “Nice” programming language or too limited • Secure environment or (1) not secure enough or (2) too secure (restrictive) • Portable only if Java interpreter available (Java “dialects”)

12/ 24 Three-Tier Strategy (Distributed Processing) MIDDLEWARE DATA SERVERS VIRTUAL DATA MODEL CLIENT & FUNCTION SERVERS DATA & LEGACY SYSTEMS On-line Broker/ Connectivity Naming Server LEGACY PRESENTATION Application Security e.g. IMS Mainframe Function Functionality e.g., Server • Oracle Card • Visual Basic Connectivity e.g. Oracle, • ODE Card Sybase • Powerbuilder • C++ Client Management Database Server • Motif Server NEW DATA ADVANTAGES/ADDITIONAL CAPABILITIES:

Management Flexibility

Centralized (MF) Decentralized (C/S)

12/ 25

Flexible Distributed IT Architecture 1. Hong Kong 2. New York 3. London 4. Paris

Other nets and

El 1 E22 E2 3 El4

MC MC MC1 MC2 3 4

TP IP AS TP IP AS 2 2 2 3 3 AS3 4

DC2 DC3 DC4

SDR 2 SDR 3 SDR 2

Minimal Distributed Mainframe Partial installation system approach installation approach

12/ 26 Summary

• Client-Server is an unstoppable force (a la PC’s) – If you can't fight it, need to manage it. – Benefits not automatic, have to exploit new capabilities. – Client-server development requires significant training and culture changes. – Forces of “open” vs. “proprietary” complex • Network PC (and Java) may be over-hyped – but, may be self-fulfilling prophecy – In some , Network Computer is valuable if not critical for large organizations

12/ 27