Networked Applications
A Guide to the New Computing Infrastructure
- 1st Edition - January 11, 1999
- Latest edition
- Author: David G. Messerschmitt
- Language: English
Understanding the rich conjunction of networking and computing is essential for anyone involved in the formulation and implementation of new application ideas, whether in bu… Read more
Purchase options
Understanding the rich conjunction of networking and computing is essential for anyone involved in the formulation and implementation of new application ideas, whether in business, education, or government. This book offers nonexperts an accessible, thoughtful introduction to the applications and infrastructure in networked computing, providing you with the information to make the right technological and organizational decisions as you work with developers to design or acquire effective computing solutions.
On a bookshelf dominated by either lightweight primers or heavyweight treatises, Networked Applications: A Guide to the New Computing Infrastructure stands apart: a smart book for smart people seeking the knowledge to meet new needs and to improve organizational processes.
* Uses plain English to explain important networked computing terminology and concepts, such as security, middleware, and electronic payments.
* Empowers managers and other users with the knowledge required to shape the application development process.
* Offers frank and enlightening discussions of general application categories, hardware and software infrastructure, up-and-coming communication technologies, and policy issues-social, economic, and governmental-affecting the future of networked computing.
Preface
Chapter 1 Introduction
1.1 A Historical Perspective
1.1.1 Technology View
1.1.2 User and Organization View
1.1.3 Unrelenting Change
1.2 Computing in the Future
Electrification: Lessons from an Earlier Technological Advance
1.3 Bits are the "Atoms" of the Information Economy
1.4 Roadmap to the Book
Any Information Can Be Represented By Bits
Further Reading
Chapter 2 The Applications
2.1 Users, Organizations, and Applications
2.1.1 Before Networking
2.1.2 After Networking
2.2 Application Building Blocks
2.3 Social Applications
2.3.1 Characteristics of User Groups
2.3.2 Styles of Social Applications
2.3.3 Remote Conferencing with Shared Workspace
2.3.4 Groupware
Collaborative Authoring
2.3.5 Discussion Forums
Calendar and Scheduling
Newsgroups
2.3.6 Cyberspace Applications
World Wide Web
2.3.7 Back to the Big Picture
2.4 Information Management
2.4.1 Finding Useful Information
2.4.2 Autonomous Information Sources
2.5 Education and Training
Role of Push and Pull in Work Groups
2.6 Business Applications
2.6.1 Departmental Applications
2.6.2 Enterprise Applications
SAP: Largest ERP Vendor
Data Warehouses and Data Mining
2.6.3 Cross-Enterprise Applications: Electronic Commerce
Legacy Applications and the Year 2000 Problem
Dell Computer and Mass Customization
2.6.4 Consumer Applications
2.7 Similarity of Social Systems and Networked Computing
amazon.com: On-Line Merchant
2.8 Open Issues
2.8.1 The Productivity Quandary
2.8.2 How Are New Business Applications Invented and Developed?
2.8.3 The Glut of Information and Communications
2.8.4 Accommodating Change
Further Reading
Chapter 3 Computers, Networks, and Organizations
3.1 Computing Systems
3.1.1 The System Architecture
3.1.2 Decomposition of Systems
3.1.3 Hosts and the Network
3.2 Client/Server Computing
3.2.1 Two-Tier Client/Server
3.2.2 Three-Tier Client/Server
3.2.3 Thin and Ultrathin Clients
3.2.4 The Future of Client/Server
Data Warehouses and OLAP
An Ultrathin Client: The Network Computer (NC)
3.3 Internet, Intranet, Extranet
3.3.1 Intranets
3.3.2 Extranets
3.3.3 Internet Applications
3.4 Networked Computing and the Organization
3.4.1 Rationale for Networked Computing
3.4.2 The Application Life Cycle
3.5 Open Issues: What Lies beyond Client/Server Computing?
Further Reading
Chapter 4 Software Architecture and Standardization
4.1 What Makes a Good Architecture
4.1.1 Decomposition and Modularity
4.1.2 Granularity and Hierarchy
4.1.3 Interfaces: The Module's Face to the World
4.1.4 Abstraction
Example of Abstraction: The Flora
4.1.5 Encapsulation
4.1.6 Modularity and Interfaces in Computing
4.2 Architecture of the Software Infrastructure
4.2.1 Goals of the Infrastructure
4.2.2 Layering
A Layered View of the Life and Social Sciences
4.3 Standardization
4.3.1 Reference Models and Interfaces
Standardization within Applications
4.3.2 Organization of the Standardization Process
International Organization for Standardization (ISO)
4.3.3 Control and Enforcement of Standards
Internet Engineering Task Force (IETF)
Chapter 5 Industry and Government
5.1 Participants, Products, and Services
5.1.1 Types of Suppliers
5.1.2 Types of Consumers
5.1.3 Types of Information Goods
5.1.4 Types of Software Goods
5.1.5 Equipment: The Component Model
5.2 Changes in Industry Structure
5.2.1 From Stovepipe to Layering
5.2.2 Less Vertical Integration and More Diversification
Dell as Subsystem Integrator
Information Appliances
5.2.3 Venture Capital and Start-up Companies
5.2.4 Computing/Communications Convergence
5.3 Obstacles to Change
5.3.1 The Network Effect
5.3.2 Lock-In
The Success of the Web
The Value of Consumer Lock-In to a Supplier
5.3.3 Path-Dependent Effects
Microsoft vs. Everybody Else
5.4 Challenges for Suppliers
5.4.1 Properties of Information
5.4.2 How Software Differs from Information
5.4.3 Protecting Investments with Intellectual Property
5.4.4 Selling Content and Software
Are Shrink-Wrapped Applications Poor Quality and Overfeatured?
5.5 Government Roles
5.5.1 Protecting Intellectual Property
Intellectual Property as a Strategic Tool
5.5.2 Government Policies and Laws
Patents and Standardization
5.6 Open Issues
5.6.1 How Is the Industry Organized?
5.6.2 Sovereignty and the Global Internet
5.6.3 The Language of the Internet
5.6.4 Archiving Digital Information
5.6.5 A New Partnership
Further Reading
Chapter 6 Application Software
6.1 Some Overriding Issues
6.1.1 Software Complexity
6.1.2 Acquiring an Application
6.1.3 Development Methodology: Decomposition vs. Assembly
6.1.4 Software Reuse
Component Standards
6.1.5 Location of Data and Computation
6.2 Tightly Coupled Data and Processing Models
6.2.1 Object-Oriented Programming
Modeling and Representation
6.2.2 Software Components and Frameworks
Components, Frameworks, and the Industrial Revolution
6.3 Loosely Coupled Data and Processing
6.3.1 Database Management
Extending Databases to Objects: ORDBMS and ODBMS
6.3.2 Document Management: XML
eXtensible Markup Language (XML)
Further Reading
Chapter 7 Communications Support for Applications
7.1 Algorithms, Protocols, and Policies
7.2 Abstract Communication Services
7.2.1 Message Service
The Hypertext Transfer Protocol (HTTP)
Is a Message Delivered for Sure?
7.2.2 Message with Reply Service
7.2.3 Timing and Concurrency
7.2.4 The Session
7.2.5 The Broadcast
7.3 Internet Communication Services
7.3.1 Internet Protocol (IP)
7.3.2 User Datagram Protocol (UDP)
7.3.3 Transmission Control Protocol (TCP)
RMI Is Layered on Messages
7.3.4 Internet Inter-ORB Protocol (IIOP)
7.3.5 Multimedia Sessions
Internet Streaming Message Protocols
Further Reading
Chapter 8 Trustworthiness: Reliability and Security
8.1 The Facets of Trustworthiness
8.1.1 Program and System Correctness
Diversity, Reliability, and Security
8.1.2 Security: Countering External Threats
Uses of Data Replication
Availability, Security, and the Market
Computer Viruses
8.2 Computer and Network Security Measures
8.2.1 Encryption Ensures Confidentiality
8.2.2 Authentication
Certificates and a National Identity Card
8.2.3 Message Integrity and Nonrepudiation
8.2.4 Combining Techniques
8.2.5 Security Policies
Legal Sanctions
8.3 Electronic Payments
8.3.1 On-Line Credit Card Systems
Questions about Digital Cash
8.4 Open Issues
Privacy and Anonymous Digital Cash
8.4.1 How Do We Deal with Increasing vulnerability?
8.4.2 National Security and Law Enforcement Needs
8.4.3 Individual Privacy
8.4.4 Theft and Piracy of Software and Information
Further Reading
Chapter 9 Middleware Can Assist the Application
9.1 Message-Oriented Middleware as an Aid to Workflow
9.2 Transaction Processing
9.2.1 Example of the Challenges: Travel Reservations
9.2.2 What Is a Transaction?
9.2.3 Transaction Processing Architecture
The ACID Properties of Transactions
Open Transaction Processing Standards
9.3 Mobile Code and Mobile Agents
9.3.1 Interactivity and Scalability
Mobile Code, Agents, and Objects
9.3.2 Interoperability
Mobile Code and Network Effects
9.3.3 Mobile Agents
9.3.4 Mobile Code and Agent Middleware
Java and Information Appliances
9.4 Distributed Object Management
Java as a De Facto Standard
9.4.1 One DOM Standard: CORBA
Java and Security
9.4.2 Services Offered by DOM
Competing Distributed Object Visions: DCOM and CORBA
9.4.3 Interoperability among ORBs: IIOP
9.5 Open Issue: Are Middleware Service Providers Needed?
The OMG Process
Further Reading
Portability vs. Interoperability
Chapter 10 Performance and Quality
10.1 Performance and Quality Metrics
10.1.1 Performance
10.1.2 Quality
10.1.3 Factors in Performance and Quality
10.2 The Role of Concurrency
10.2.1 Concurrency with Multiple Hosts
10.2.2 Concurrency in a Single Host
Different Forms of Multitasking
10.2.3 Resource Conflicts and Transactions
Why Networks Use Packets
10.3 Scalability
Scalability in Production
10.3.1 Blocking
10.3.2 Duplicated Work
10.3.3 Faulty Load Balancing
10.3.4 Congestion
10.3.5 The Role of Application Architecture in Scalability
10.3.6 Mobile Code and Scalability
Today's Operating Systems
10.4 Operating Systems
Operating Systems and Winner-Take-All Effects
Further Reading
Chapter 11 Networks
11.1 Functions of a Network
11.1.1 Sharing: Statistical Multiplexing
Origins of the Internet
11.1.2 Packet Forwarding and Routing
11.1.3 Name Services
Simulcast and Multicast
11.1.4 Flow Control
11.1.5 Congestion Control
The Value of a Name
11.2 Quality of Service (QoS)
Congestion and Network Externalities
11.2.1 The Internet Transport Protocols and QoS
Cost of a Congestion Control Infrastructure
11.2.2 Integrated Services
11.2.3 Pricing Network Services
The Evolution of the Internet
11.3 Network Security
11.3.1 Secure and Insecure Authentication
11.3.2 Security Flaws in Public Servers
11.3.3 Firewalls and Packet Filtering
Today's Internet Pricing
Firewalls Limit Innovation
11.3.4 Where to Use Encryption and Authentication
11.4 Open Issues
11.4.1 The Future of the Internet
11.4.2 Making Money on the Internet
Further Reading
Chapter 12 Communications
12.1 Communications Service Providers
12.1.1 Communications Regulation
12.2 Current Developments in Data Communications
12.2.1 Broadband Network Access for Residences
12.2.2 Nomadic and Untethered Internet Access
Internet Roaming
12.2.3 IP Telephony
Wireless Access Protocol (WAP)
12.2.4 Integrated IP Networks
12.3 Impact of a Communications Link
12.3.1 Impact on Message Latency
Fiber Optics and Optical Networking
12.3.2 Mitigating Communications Bottlenecks
Caching and Copyright Law
12.4 Open Issues
12.4.1 Is Communications Regulation Needed?
12.4.2 Regulation of the Internet
Further Reading
JPEG and MPEG
Glossary
References
- Edition: 1
- Latest edition
- Published: January 11, 1999
- Language: English
DM
David G. Messerschmitt
David G. Messerschmitt is the Roger A. Strauch Chaired Professor of Electrical Engineering and Computer Sciences at the University of California at Berkeley. From 1993-96 he served as Chair of EECS, and prior to 1977 he was with AT&T Bell Laboratories in Holmdel, N.J. He received a Ph.D. from the University of Michigan, is a Fellow of the Institute of Electrical and Electronic Engineers, a member of the National Academy of Engineering, and is the 1999 recipient of the IEEE Alexander Graham Bell Medal recognizing "exceptional contributions to the advancement of communication sciences and engineering".
Messerschmitt's current research interests include wireless access to packet networks, network management, the role of mobile code in network infrastructure, the convergence of computing and communications, and the economics of networks.
Messerschmitt is active in new curriculum development bringing highly relevant social science concepts to engineering students and educating a broader crossection of students in information technology. He has initiated both undergraduate and graduate courses in networked applications and computing aimed at social science and business students, and Networked Applications is an outgrowth of this effort. With Hal R. Varian, he also initated a graduate course in the non-technical factors contributing strongly to the success or failure of new high-technology products. Networked Applications is also used in this course, which is taught to a mixture of engineering and business students.
Messerschmitt is a co-founder and Director of TCSI Corporation, and a Director of Coastcom Inc. He is on the Advisory Board of the Fisher Center for Management & Information Technology in the Haas School of Business, the Kawasaki Berkeley Concepts Research Center, and the Directorate for Computer and Information Sciences and Engineering at the National Science Foundation. In the University of California Academic Senate, he