220 likes | 607 Views
Software Architecture in Practice. RiSE’s Seminars Bass’s at all Book :: Chapters 13 Fred Durão. Summary. The world wide web – A case study in Interoperability (Chapter 13) The original requirements Architectural Solution The evolution of web based e-commerce architecture
E N D
Software Architecturein Practice RiSE’s Seminars Bass’s at all Book :: Chapters 13 Fred Durão
Summary • The world wide web – A case study in Interoperability (Chapter 13) • The original requirements • Architectural Solution • The evolution of web based e-commerce architecture • The architectural business cycle today
The World Wide Web :: Chapter 13 History • Tim Berners Lee and CERN members seen the need of creating a information network; • In 1989, Tim Berners Lee created a document named “Information Management: A proposal”; • In 1990, a reformulated version of his document became a project named World Wide Web
The World Wide Web :: Chapter 13 The www original requirements • Remote access across networks • Heterogeneity • Noncentralization • Access to existing data • Ability for users to add data • Private links • Bells and whistles – the data display was on 24 x 80 character ASCII Terminal • Data analysis • Live links – given that information changes all the time • Some non requirements became requirements like SSL (Secure Socket Layer) and HTTPS (HttpSecure)
The World Wide Web :: Chapter 13 Internet Statistics Source: Used with permission of Matthew Gray of the Massachusetts Institute of Technology
The World Wide Web :: Chapter 13 Internet Growth Internet Backbones in the USA 1996 • Web has been doubling in size every 3 to 6 year months • From 130 sites in 6/1993 to more that 230.000 sites in mid-1996 • and 27 million in early 2001
The World Wide Web :: Chapter 13 Architectural Solution • Based on client and servers and wwwLibs • - compact, portable library that can be built on to create Web-based applications such as clients, servers, databases, and Web Spiders
The World Wide Web :: Chapter 13 libWWW layers Support a set of application functionalities for writing applications Support a set of network-protocol-aware modules, like HTTP, FTP, TELNET Provides the abstraction of stream of all data transported Provides standard interfaces to Web Applications Portability layer that provide platform-independent function
The World Wide Web :: Chapter 13 Lessons learned from libWWW • Formalized application programming interfaces (APIs) are required; • Functionality and the API’s that present it must be layered; • The library must support a dynamic, open-ended set of features; • Processes built on the software must be thread safe;
The World Wide Web :: Chapter 13 An Early Client-Server Architecture using libWWW • WWW Client • External Viewer • HTTP Client • UI Manager, Cache Manager and more… • WWW Server • CGI • HTTP Server • Stream Manager, Access Control and more…
The World Wide Web :: Chapter 13 Common Gateway Interface - CGI • CGI is one of the most important requirement driving the evolution of Web software • CGI scripts allowed dynamic request information to be returned to clients • The most common use of CGI were create dynamic HTML document and return it to users • CGI allowed users “put” information into the web, in contrast to “get” operation that servers normally provide. E.g. add info on databases by filling out a form
The World Wide Web :: Chapter 13 How the WW Achieved Quality Goals
The World Wide Web :: Chapter 13 The Evolution of Web-Based E-Commerce Architectures • The new requirements: • High performance • Customer will not tolerate the site simply refusing their requests; • High availability • The Web Sites have to be available 24/7; • Scalability • Possibility of growth to maintain acceptable levels of customer service. • Security • Adapt mechanisms for avoiding stealing or modifying data. • Modifiability • Ability for changes Customer
The World Wide Web :: Chapter 13 A typical e-commerce system
The World Wide Web :: Chapter 13 E-Commerce Architecture achieving qualities • Web Browsers claim forMODIFIBILITY • HTTPS claims forSECURITY • Proxy Servers claim forPERFORMANCE • Reuters and Firewalls claim forSECURITY • Load Balancing claims forSCALABILITY and AVAILABILTY
The World Wide Web :: Chapter 13 E-Commerce Architecture achieving qualities • Web Servers claim forPERFORMANCE • Databases claim forPERFORMANCE, SCALABILITY and AVAILABILITY • Application Servers claim forPERFORMANCE, MODIFIABILITY and SCALABILITY
The World Wide Web :: Chapter 13 The Architecture Business Cycle Today • Several types of organization provide the technical environment: Service providers and Data providers • A number of open-source projects have increased • E.g. Apache Project • Web-enable languages, particularly Java, are changing the way functionality is developed over the Web • The emergence of the Web as a distributed development environment has given rise to several new organizations and products
The World Wide Web :: Chapter 13 References • Bass L., Clements P. and Kazman R. Software Architecture in Practice. Second Edition, 2003. “o mundo pode esperar”