Chapter 7 by David G. Messerschmitt Understanding Networked Applications:

advertisement
Understanding Networked Applications:
A First Course
Chapter 7
by
David G. Messerschmitt
Understanding Networked Applications:
A First Course
Industry
by
David G. Messerschmitt
Components
Component: A
subsystem
purchased “as is”
from an outside
vendor
A component
implementation
is encapsulated
(although often
configurable)
Understanding Networked Applications
3
A First Course
Examples of components
•
•
•
•
•
•
•
Computer
Why is a component
Disk drive
implementation
encapsulated?
Network
Network router
Operating system
Integrated circuit
Database management system
Understanding Networked Applications
4
A First Course
Interoperability
• Components are interoperable when they interact
properly to achieve some desired functionality
• Increasingly component interoperability cannot be
dependent on integration, or is dependent on enduser integration
– PC and peripherals
– Enterprise, inter-enterprise, consumer applications
– Role for standardization
Understanding Networked Applications
5
A First Course
Outsourcing
Outsourcing: A
subsystem design
is contract to an
outside vendor
Responsibility is
delegated
Understanding Networked Applications
6
A First Course
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
Understanding Networked Applications
7
A First Course
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?
Understanding Networked Applications
8
A First Course
Components
Component: A
subsystem
purchased “as is”
from an outside
vendor
A component
implementation
is encapsulated
(although often
configurable)
Understanding Networked Applications
9
A First Course
Examples of components
•
•
•
•
•
•
•
Computer
Why is a component
Disk drive
implementation
encapsulated?
Network
Network router
Operating system
Integrated circuit
Database management system
Understanding Networked Applications
10
A First Course
Interoperability
• Components are interoperable when they interact
properly to achieve some desired functionality
• Increasingly component interoperability cannot be
dependent on integration, or is dependent on enduser integration
– PC and peripherals
– Enterprise, inter-enterprise, consumer applications
– Role for standardization
Understanding Networked Applications
11
A First Course
Two ways to design a system
System
requirements
Decomposition from
system requirements
Understanding Networked Applications
Available
components
Requirements
Assembly from available
components
12
A First Course
Outsourcing
Outsourcing: A
subsystem design
is contract to an
outside vendor
Responsibility is
delegated
Understanding Networked Applications
13
A First Course
Three types of software
Application
•Components and frameworks:
What is in common among applications
•Infrastructure:
Basic services (communication, storage,
concurrency, presentation, etc.)
Understanding Networked Applications
14
A First Course
Understanding Networked Applications:
A First Course
Standardization
by
David G. Messerschmitt
Outline
•
•
•
•
Motivation for standards
Elements of a standard
Types of standards
Process to develop a standard
Understanding Networked Applications
16
A First Course
Network effects
• The value of a product to the adopter
depends on the number of other adopters
– Direct
• e.g. fax machine
– Indirect, through common content or software
• e.g. Windows, CD music
Understanding Networked Applications
17
A First Course
Lock-in
• Consumer:
– Switching costs make consumer reluctant to
adopt a new product
• Supplier:
– Switching costs or cannibalization of existing
products make supplier reluctant to pursue new
product opportunity
Understanding Networked Applications
18
A First Course
Consumer lock-in
• Prevalence increases as the industry fragments,
and consumer has to purchase complementary
products to get a “complete solution”
– Switching costs discourage moving to complete new
solution
– Supplier with a “better mousetrap” can’t penetrate
market unless product is compatible with existing
complementary product
Understanding Networked Applications
19
A First Course
Purpose of a standard
• Infrastructure:
– Allow products or services from different
suppliers or providers to be interoperable
• Application:
– Enable applications to run across uncoordinated
administrative domains
Understanding Networked Applications
20
A First Course
Scope of a standard
• Included:
–
–
–
–
architecture (reference model)
interfaces (physical, electrical, information)
formats and protocols (FAP)
compliance tests (or process)
• Excluded:
– implementation
– (possibly) extensions
Understanding Networked Applications
21
A First Course
Reference model
• Decide decomposition of system
– where interfaces fall
• Defines the boundaries of competition and
ultimately industrial organization
–
–
–
–
competition on the same side of an interface
complementary suppliers on different sides
hierarchical decomposition at the option of suppliers
(possibly) optional extensions at option of suppliers
Understanding Networked Applications
22
A First Course
Some issues
• Once a standard is set
– becomes possible source of industry lock-in;
overcoming that standard requires a major
(~10x?) advance
– may lock out some innovation
• In recognition, some standards evolve
– IETF, CCITT (modems), MPEG
– backward compatibility
Understanding Networked Applications
23
A First Course
Types of standards
• de jure
– Sanctioned and actively promoted by some organization
with jurisdiction, or by government
• de facto
– Dominant solution arising out of the market
• Voluntary industry standards body
• Industry consortium
• Common or best practice
Understanding Networked Applications
24
A First Course
Examples
• de jure
– Ada, VHDL
• de facto
– Hayes command set, Windows API, Pentium instruction set,
Ethernet
• Voluntary industry standards body
– OMG/CORBA, IAB/IETF, IEEE
• Industry consortium
– W3C/XML, SET
• Best practice
– Windowed GUI
Understanding Networked Applications
25
A First Course
The changing process
• As technology and industry move more quickly, the global
concensus standards activity has proven too unwieldy
– e.g. ISO (protocols, SGML)
• “New age” standards activities are more informal, less
consensus driven, a little less political, more strategic,
smaller groups
– e.g. OMG, IETF, ATM Forum, WAP
• Programmable/extensible approaches for flexibility
– e.g. XML, Java
Understanding Networked Applications
26
A First Course
Old giving way to the new
Understanding Networked Applications
27
A First Course
Reasons for change
• From government sanction/ownership to
market forces
– Increasing fragmentation
– Importance of time to market
• Greater complexity
– Less physical/performance constraint for either
hardware or software
Understanding Networked Applications
28
A First Course
Lock-in
• (Particularly open) standards reduce consumer
lock-in
– Consumers can mix and match complementary
products
– e.g. IBM (in their day) and Microsoft are perceived to
be lock-in problems, other agendas in addition to
pleasing customers
• Increase supplier lock-in
– Innovation limited by backward compatibility
– e.g. IP/TCP, x86, Hayes command set
Understanding Networked Applications
29
A First Course
Question
• What are some examples of open standards
that reduce consumer lock-in?
– Intranet applications
• WWW, newsgroups, calendar, etc
– Linux
– PC peripherals
• ISA, serial/parallel port, etc
– Others?
Understanding Networked Applications
30
A First Course
Network effects
• Standards can harness network effects to the
industry advantage
– Revenue = (market size) x (market share)
• Increases value to customer
• Increases competition
– Only within confines of the standard
– But forces customer integration or services of a
system integrator
Understanding Networked Applications
31
A First Course
Question
• What are examples of standards that serve
to tame network effects?
–
–
–
–
–
Internet protocols
XML
CORBA
DVD
others?
Understanding Networked Applications
32
A First Course
Why standards?
• de jure are customer driven to reduce confusion and cost
• de facto standards are sometimes the result of positive
feedback in network effects
• Customers and suppliers like them because they
– increase value
– reduce lockin
• Governments like them because they
– promote competition in some circumstances
– May believe they can be used to national advantage
Understanding Networked Applications
33
A First Course
Voluntary standards process
Sanctioning organization(s)
Ongoing
committees
Participating
companies
Understanding Networked Applications
34
A First Course
Approaches
• Consensus
– ISO
• Collaborative design
– MPEG
• Competitive “bake off”
– ITEF
• Coordination of vendors
– OMG
Understanding Networked Applications
35
A First Course
Why companies participate
• Pool expertise in collaborative design
– e.g. MPEG
• Have influence on the standard
• Get technology into the standard
– Proprietary, with expectation of royalties
– Non-proprietary
• Reduced time to market
Understanding Networked Applications
36
A First Course
Download