ISM 50 - Business Information Systems Lecture 10 Instructor: John Musacchio UC Santa Cruz October 27, 2009 Class announcements Midterm Thursday Office Hours modified for today 2-2:50 , 4:15-5:15 Room E2 557 Student Presentation Edward Udarbe Data and information by David G. Messerschmitt Copyright notice ©Copyright David G. Messerschmitt, 2000. This material may be used, copied, and distributed freely for educational purposes as long as this copyright notice remains attached. It cannot be used for any commercial purpose without the written permission of the author. Key concept The key commodity manipulated by information technology is information To be manipulated in a computing/networking environment, information must be represented by data What is information? Information From a user (human) perspective… ….recognizable patterns that influence you in some way (perspective, understanding, behavior…) In the computing infrastructure, information has a somewhat different connotation as structure and interpretation added to data Data A bit is “0” or “1” — the atom of the information economy Data is a collection of bits, like “0101110111010110” “0000011” “111011101011010110101111011011010” Note: the terms data and information are not always used consistently! Representation Take the place of the original Equivalent to, in the sense that the original can be reconstructed from its representation Often the original can only be approximately reconstructed, although it may be indistinguishable to the user e.g. audio or video ASCII Alphabet <7> <8> <9> <:> <;> <<> <=> </>> <?> <At> <A> <B> <C> <D> Hex /x37 /x38 /x39 /x3A /x3B /x3C /x3D /x3E /x3F /x40 /x41 /x42 /x43 /x44 Binary 00110111 00111000 00111001 00111010 00111011 00111100 00111101 00111110 00111111 01000000 01000001 01000010 01000011 01000100 Interpretation Note that this representation is not unique… ….this one happens to be a standard (ANSI X3.110-1983) Structure A picture This picture conveys information This information is represented in this computer, but how? Representation of picture: image An approximation! Expanding a small portion of the picture, we see that it is represented by square pixels…. Structure ….300 tall by 200 wide….. Interpretation ….with a range of 256 intensities per pixel 300 • 200 • 8 bits = 480,000 bits (but it can be compressed) Color picture A color picture can be represented by three monochrome images… At the expense of three times as many bits Terminology Information Information Representation Data Data processing Communicate data to another user or organization Data Slide adapted from slides for Understanding Networked Applications By David G Messerschmitt. Copyright 2000. See copyright notice Representation needs to be standardized Information Information If the representation is not standardized, the information is garbled! Data Communicate data to another user or organization Data Slide adapted from slides for Understanding Networked Applications By David G Messerschmitt. Copyright 2000. See copyright notice Regeneration Make a precise copy of the data (copy bit by bit) If you know the representation, this is equivalent to making a precise copy of the information Each such precise copy is called a generation process is called regeneration Slide adapted from slides for Understanding Networked Applications By David G Messerschmitt. Copyright 2000. See copyright notice Replication of information 0101011010111 1010110110100 1011000000110 1010111101110 1010101110101 0101011010111 1010110110100 1011000000110 1010112101110 1010101110101 0101011010111 1010110110100 1011000000110 1010111101110 1010101110101 0101011010111 1010110110100 0101011010111 1011000000110 1010110110100 1010112101110 1011000000110 1010101110101 1010111101110 1010101110101 0101011010111 1010110110100 1011000000110 0101011010111 1010112101110 1010110110100 1010101110101 1011000000110 1010111101110 1010101110101 0101011010111 1010110110100 1011000000110 1010112101110 1010101110101 Anything that can be regenerated can be replicated any number of times This is a blessing and a curse Analog information cannot be regenerated Analog information can be copied, but not regenerated We will never know exactly what the original of this Rembrandt looked like Discrete information can be regenerated Regeneration can preserve data (but not its original physical form) Regeneration is possible for information represented digitally (which is tolerant of physical deterioration) 0 + noise 0 1 + noise 1 Replication of information requires knowledge of representation Information Information Replication of information also presumes knowledge of its representation Replication Data Data Replication preserves the integrity of the data, but that is not sufficient Every .xxx DOS file is a representation Slide adapted from slides for Understanding Networked Applications By David G Messerschmitt. Copyright 2000. See copyright notice Implications Digitally represented information can be preserved over time or distance in its precise original form by occasional regeneration digital library digital telephony Replication of data is easy and cheap Implications (con’t) Replication of information requires knowledge of the structure and interpretation Standardization or some other means Extreme supply economies of scale You can give away or sell and still retain Unauthorized replication or piracy relatively easy Architecture by David G. Messerschmitt Copyright notice ©Copyright David G. Messerschmitt, 2000. This material may be used, copied, and distributed freely for educational purposes as long as this copyright notice remains attached. It cannot be used for any commercial purpose without the written permission of the author. Slide adapted from slides for Understanding Networked Applications By David G Messerschmitt. Copyright 2000. See copyright notice What is Architecture? How do you architect a solution? Three-tier client/server Application server Client Enterprise data server System integration Architecture ->subsystem implementation -> system integration Bring together subsystems and make them cooperate properly to achieve desired system functionality Always requires testing May require modifications to architecture and/or subsystem implementation Emergence Subsystems are more specialized and simpler functionality Higher-level system functionality arises from the interaction of subsystems Emergence includes capabilities that arise purely from that interaction (desired or not) e.g. airplane flies, but subsystems can’t Why system decomposition? Divide and conquer approach to containing complexity Reuse Consonant with industry structure (unless system is to be supplied by one company) Others? Networked computing infrastructure by David G. Messerschmitt Layering Elaboration or specialization Services Existing layers Example of Layering: networking Application Messages Transport Packets Network Frames Link Bits Physical Signals Software Layering Application Middleware Operating System Operating system functions Graphical user interface (client only) Hide details of equipment from the application Multitasking Resource management Processing, memory, storage, etc etc Middleware Functions Capabilities that can be shared by many applications, but that is not part of OS Hide details of OS from application Example: Database Management System (DBMS) Java Virtual Machine More purposes we’ll talk about later. What’s a database? Database File with specified structure Example: relational table A Database Year 2002 2002 2002 2002 2002 2002 2002 2002 2002 2003 2003 2003 2003 2003 2003 2003 2003 2003 City Oakley Oakley Oakland Oakland Berkeley Berkeley Berkeley Albany Albany Oakley Oakley Oakland Oakland Berkeley Berkeley Berkeley Albany Albany Accommodation Bed&Breakfast Resort Bed&Breakfast Resort Camping Bed&Breakfast Resort Camping Bed&Breakfast Bed&Breakfast Resort Bed&Breakfast Resort Camping Bed&Breakfast Resort Camping Bed&Breakfast Tourists 14 190 340 230 120000 3450 390800 8790 3240 55 320 280 210 115800 4560 419000 7650 6750 Storage Middleware example: DBMS Database Management System (DBMS) Manage Multiple databases Allow multiple applications to access common databases Implement standard data “lookup” (query) functions. The Internet by David G. Messerschmitt Intranet Private internet intranet Often connected to Internet Global Internet Firewall creates a protected enclave Firewall Extranet An Extranet is composed of Intranets connected through an unprotected domain (typically the Internet) Encryption and other security technologies used to protect proprietary information prevent imposters, vandals, etc What is the Internet? An internet is a “network of networks” Interconnect standard for LAN’s, MAN’s, and WAN’s Internet = the major global internet A private internet is called an intranet Client - Server Computing Client Server Example Client Server “I want to see www.google.com ” <html><head><meta http-equiv="contenttype" content="text/html; charset=UTF8"><title>Google</title><style><!-body,td,a,p,.h{font-family:arial,sans-serif;} .h{font-size: 20px;} .q{color:#0000cc;} //--> … Client Server Example – Layers Revealed Server Client Application Application: <html><head><meta http-equiv="content-type" content="text/html; charset=UTF8"><title>Google</title><style><!-body,td,a,p,.h{font-family:arial,sans-serif;} .h{font-size: 20px;} .q{color:#0000cc;} //--> … Internet <html><head><meta http-equiv="content-type" content="text/html; charset=UTF8"><title>Google</title><style><!-body,td,a,p,.h{font-family:arial,sans-serif;} .h{font-size: 20px;} .q{color:#0000cc;} //--> … Infrastructure Infrastructure Packet Packet Packet Packet 3-Tier Client Server Architecture example Application Server Client Clicks, keystrokes Balance $0.50 <head> <title>Bank of America | Online Banking | Accounts Overview</title> <meta name="Description" content="Bank of America Online Banking - Accounts Overview"> <link rel="stylesheet" type="text/css" href="/easdocs/images/win_ie.css"> <script language="JavaScript" type="text/javascript" src="/easdocs/ias_js/scripts.js"></script> <script language="JavaScript" type="text/javascript"> <!-function hover(ref, classRef) { eval(ref).className = classRef; }//--> </script> What is Bob’s balance? $0.50 Shared data 3-Tier Client Server Architecture example Client Application Server Web Server Application Logic Shared data Common Gateway Interchange 3-Tier Client Server Architecture example Client Application Server Web Server Application Logic What is Bob’s Balance? Database Management System (DBMS) Database Shared data Common Gateway Interchange 3-Tier Client Server Architecture example Client Application Server Web Server Java Servlet What is Bob’s Balance? In some implementations Application Logic and Web Server can be put on Different machines. Database Management System (DBMS) Shared data Database Application Logic Relational Database Customer Alice $527 Customer Class Silver Bob $0.50 Bronze Charles Balance $1000000 Gold DBMS Responsibilities Hide Changes in the Database hardware from the Application Standard operations on the data, including searches, such a search is called a query. Separate Database Management from Applications, so that many applications can access the same data. Security, Integrity, Backup, fault tolerance, etc.. 3-Tier Client Server Architecture in General Client Application Server -Takes inputs from client -Decides what to be done next -Decides what shared data to access and manipulates it -Processes shared data -Accept instructions from user -Make requests of server -Display responses of server -Support multiple applications with common data -Protect critical data -Decouple data administration and application administration Shared data Financial institution Book distribution centers Customers books4u.com Consumer Enterprise Inter-enterprise Slide adapted from slides for Understanding Networked Applications By David G Messerschmitt. Copyright 2000. See copyright notice Clients Acquirer bank Customer logic Fulfillment logic Databases Customers Merchandise Orders Slide adapted from slides for Understanding Networked Applications By David G Messerschmitt. Copyright 2000. See copyright notice Book distributors Peer to peer Client Server Server Client Peer Peer Slide adapted from slides for Understanding Networked Applications By David G Messerschmitt. Copyright 2000. See copyright notice Sun Case Sun N-tier case What does Sun make? Workstations Servers Software How Successful had Sun been up to 1998? Founded in 1982 Open Standards Workstation Unix Operating System (Solaris) TCP/IP networking 1988 – Revenues $1 billion 1993 – Market value $3.0 billon 1997 – Jumped from 3rd to 1st in Unix Server Market. How Successful had Sun been up to 1998? 1993 – “The network is the computer.” 1994 – Internet explodes in popularity Microsoft mid to late 90s Dominated Desktop software Users familiar with Windows, Office, etc. NT servers Fine for small intranets, “not industrial strength” Sun N-Tier Case What is Java? Programming Language Portable between computers with different operating systems Easy to write programs in Easier re-use But, programs are slow What problems did the micro era produce? Desktops are expensive to maintain Every PC had a lot of software that had to be maintained TCO for windows PC $9900! Office, Windows, etc… Small differences, like the order in which software is installed, could make different PCs behave differently! In the Networking Era These “bloated” PCs are networked and termed fat clients. But networking of PCs offered the possibility of putting most of the functionality into servers Getting rid of much of the software on the client These clients would be called thin clients. Sun, Oracle, and others saw it as the future. Hardware for thin clients A Network Computer (NC) – a computer with minimal hardware that depends on a network connection to a server to function Be careful not to confuse it with the phrase “networked computer!” Example: Sun’s JavaStation (1996-2000) It is the hardware one would use to implement a thin-client computing model. Another term from that era.. A NetPC was a PC introduced by Microsoft and Intel in 1996 Same software as a normal PC Did not allow users to install their own software NetPC died out Features of it, and Microsoft’s Zero Administration Kit, live on in today’s version of windows. Microsoft Vision Keep “fat-client” model Add some features to Windows to reduce administration costs Sun’s Vision Thin Client model. Application Servers with Applications written in Java. NCs could retrieve applications from application server as needed. Applications compatible with any NC hardware and OS. Applications could be fixed, added, updated at the server level, rather than maintaining each PC. SUN 3 - Tier Sun N-tier Sun N-Tier Sun’s Performance Net Revenue 20000 18000 16000 14000 12000 10000 Net Revenue 8000 6000 4000 2000 0 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2003 2004 2005 2006 2007 Net income 3000 2000 1000 0 -1000 -2000 -3000 -4000 1994 1995 1996 1997 1998 1999 2000 2001 2002 Net income Sun’s Performance 20,000 18,000 16,000 14,000 12,000 total assets 10,000 long term debt 8,000 6,000 4,000 2,000 0 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 Today 3-tier model common. Sun’s version of 4-tier model not-common. N-tier model where Webserver and Application Server on separate equipment also common. Sun’s hardware business not strong. Linux on cheap PCs most common servers Microsoft desktops replacing Sun workstations Today Java Common in Server implementations Often used to push simple applets onto client Not common Example: Java Servlet implementing application logic in a banking application. For “big” desktop applications Office Suite in Java not popular Microsoft is still in business…