From Mainframes to Client-Server to Network Computing
Session 12 Evolving IT Architectures: From Mainframes to Client-Server to Network Computing
© 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 • Database Server technology • Client Software technology (e.g., Powerbuilder) • The "Web" as a client-server environment • Implications of client-server – Cost vs. Owner trends – Emergence of Network Computing & Java – 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) Computer 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/Unix 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 operating system • 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 Internet • 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 ??? HOST/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] "Thin Client" "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 Application Server SQL HTML IMPLICATIONS OF CLIENT-SERVER
• New Architectures • Distributed Computing • Distributed Databases • 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 Spreadsheet 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 Java Applet
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; j
This simple applet example draws a sine wave. Web page
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 computers
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 form, Network Computer is valuable if not critical for large organizations
12/ 27