90 likes | 200 Views
This presentation discusses the evolution of the World Wide Web and its impact on software engineering. It emphasizes the complexity of software as an information product and how technologies developed for web applications can also support other complex information products (CIPs). Key differences between the early and modern web are highlighted, including the influence of software engineering principles and protocols like HTTP/1.1. The discussion extends to future enhancements in web-based developments, distributed change management, and the integration of diverse artifacts within systems of systems.
E N D
Information Access and Connectivity Richard N. TaylorUniversity of California, Irvine taylor@uci.eduhttp://www.ics.uci.edu/~taylor/
Key Insights and Motivator • Software is a complex information product • a web of artifacts, processes, stakeholders • Software is but one kind of complex information product: • the technologies developed to support its creation and evolution can be used and adapted to support other kinds of complex information products (CIPs) • research to support other CIPs can be adapted and extended to support software
Evolution of the World Wide Web • The “Berners-Lee” Web (1989-1994+) • Exponential Web growth threatened the Internet • Protocols assumed a direct connection between browser and server • no awareness of caching, proxies or spiders • no guidance for protocol extensions • The modern WWW (1995-present) • Key differences, reflecting software engineering influences • The model software architecture • HTTP/1.1 • URIs • WebDAV • Key driver in evolution: enabling the Web to support “global software engineering”
Participants, Citations, and Products • HTTP/1.1 protocol specification • Hypertext Transfer Protocol -- HTTP/1.1. (Fielding, Gettys, Mogul, Frystyk, Berners-Lee, Masinter, Leach). Internet Draft Standard RFC 2616, June 1999. Obsoletes RFC 2068. • URI specification • Uniform Resource Identifiers (URI): Generic Syntax. (Berners-Lee, Fielding, Masinter). Internet Draft Standard RFC 2396, August 1998. • Relative Uniform Resource Locators. (Fielding). Internet Proposed Standard RFC 1808, June 1995. • WebDAV protocol specification • HTTP Extensions for Distributed Authoring -- WebDAV. (Yaron Goland, Jim Whitehead, Asad Faizi, Steve Carter, Del Jensen) Internet Draft Standard RFC 2518. February 1999. • WebDAV: IETF Standard for Collaborative Authoring on the Web (E. James Whitehead, Jr., Meredith Wiggins) IEEE Internet Computing, Vol. 2, No. 5, September/October, 1998, pages 34-40. • Apache web server (55% of world market share) • The Apache HTTP Server Project (Fielding, Kaiser). IEEE Internet Computing, 1(4), July-Aug. 1997. • Shared Leadership in the Apache Project. (Fielding). Communications of the ACM, 42(4), April 1999, pp. 42-43.
Allied Fields and Science Base • Software architecture: source of the fundamental model for how the modern WWW is built • “Representational state transfer” • Human-computer interaction: importance of the user’s perception of latency • Hypermedia: source of many core concepts and a primary usage mode • The network protocol stack • Configuration management • CSCW: collaborative authoring; concurrency control • Software engineering environments: data integration; application interoperability
Sample Directions • Near-term: Improved Web-based development of complex information products • Whether for global software engineering, aircraft design, advertising campaigns, curricula, ... • Sample Issues • Linking all artifacts, tools, and processes • Management of artifacts and relationships over time • Distributed change management, awareness, & task coordination • Longer-term: “Next-generation WWW”: • Anytime, anywhere knowledge of what you need to know to accomplish your purposes, and ability to interact in that context.
Anytime, Anywhere Information & Interaction • A software engineering use: software “maintenance” • Integration of • all artifacts involved • all developers • all deployed versions • all users • the usage context • Applied recursively through systems-of-systems • To enable • Awareness, effective update, assessment, monitoring, enhancement, integration, ... • Some non-software engineering uses (with strong overlap in the fundamental issues): • Crisis management systems – Process control • World-wide, just-in-time everything – Logistics • Air traffic control – Medical informatics
Science & Technology Base • Event-based systems/implicit notification • Software architectures • Task models • Protocols • Names & namespaces • Information meta-models • Security • Information Retrieval • Information theory • Performance models • Wireless technologies • Economics: incremental deployment, network effects
A Few Challenges & Contribution Areas • Scale • Large numbers of event sources, event consumers, types of information, amounts of information --- constantly changing • How do you describe this? Reason about it? Deal with it? • Geographical distribution --- latency issues • Observation, experimentation, evaluation • How do you do this, on such a scale, with such dynamism? • Usage • Information description, recognition, search, mining • Interface design; information overload • Assurances: quality, reliability, availability, ... • Public policies • e.g., Taxation, safety, conflicts in nations’ laws