Lecture 6z Case Study Interoperability

Slides:



Advertisements
Similar presentations
COM vs. CORBA.
Advertisements

The road to reliable, autonomous distributed systems
Technical Architectures
Web Caching Schemes1 A Survey of Web Caching Schemes for the Internet Jia Wang.
Web Server Hardware and Software
Interpret Application Specifications
What is adaptive web technology?  There is an increasingly large demand for software systems which are able to operate effectively in dynamic environments.
July 16 th, 2005 Software Architecture in Practice RiSE’s Seminars Bass’s at all Book :: Chapters 13 Fred Durão.
Course Instructor: Aisha Azeem
Web application architecture
Christopher M. Pascucci Basic Structural Concepts of.NET Browser – Server Interaction.
Client/Server Architectures
Introduction SOAP History Technical Architecture SOAP in Industry Summary References.
Chapter 7: Architecture Design Omar Meqdadi SE 273 Lecture 7 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Databases and the Internet. Lecture Objectives Databases and the Internet Characteristics and Benefits of Internet Server-Side vs. Client-Side Special.
Quality Attributes of Web Software Applications – Jeff Offutt By Julia Erdman SE 510 October 8, 2003.
XHTML Introductory1 Linking and Publishing Basic Web Pages Chapter 3.
COM vs. CORBA Computer Science at Azusa Pacific University September 19, 2015 Azusa Pacific University, Azusa, CA 91702, Tel: (800) Department.
11/16/2012ISC329 Isabelle Bichindaritz1 Web Database Application Development.
1 Apache. 2 Module - Apache ♦ Overview This module focuses on configuring and customizing Apache web server. Apache is a commonly used Hypertext Transfer.
Unit – I CLIENT / SERVER ARCHITECTURE. Unit Structure  Evolution of Client/Server Architecture  Client/Server Model  Characteristics of Client/Server.
1 MSCS 237 Overview of web technologies (A specific type of distributed systems)
By Ruizhe Ma, Avinash Madineni Sidoine Lafleur Kamgang Nov,
Electronic Commerce Semester 1 Term 1 Lecture 7. Introduction to the Web The Internet supports a variety of important tools, such as file transfer, electronic.
Chapter 8 E-Commerce Technologies Introduction to Business Information Systems by Mark Huber, Craig Piercy, Patrick McKeown, and James Norrie.
Distributed Systems Architectures. Topics covered l Client-server architectures l Distributed object architectures l Inter-organisational computing.
4.01 How Web Pages Work.
4.01 How Web Pages Work.
CS122B: Projects in Databases and Web Applications Spring 2017
CX Introduction to Web Programming
CS122B: Projects in Databases and Web Applications Winter 2017
Web Programming Language
Tonga Institute of Higher Education IT 141: Information Systems
Lecture 4z Case Study A-7E Avionics System
Web Engineering CS-4513 Prepared By: Junaid Hassan Lecturer at UOS M.B.Din Campus
CS 325: Software Engineering
CIIT-Human Computer Interaction-CSC456-Fall-2015-Mr
WWW and HTTP King Fahd University of Petroleum & Minerals
Netscape Application Server
Web Development Web Servers.
Ad-blocker circumvention System
Browsing and Searching the Web
E-commerce | WWW World Wide Web - Concepts
Web Software Model CS 4640 Programming Languages for Web Applications
E-commerce | WWW World Wide Web - Concepts
Software Design and Architecture
Distributed web based systems
CSC 480 Software Engineering
Processes The most important processes used in Web-based systems and their internal organization.
CHAPTER 3 Architectures for Distributed Systems
Ch > 28.4.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 2 Database System Concepts and Architecture.
Navigating The World Wide Web
An example design for an Amadeus APIv2 Web Server Application
Chapter 27 WWW and HTTP.
Tonga Institute of Higher Education IT 141: Information Systems
CS122B: Projects in Databases and Web Applications Winter 2018
Lecture 1: Multi-tier Architecture Overview
Chapter 6 – Architectural Design
CS122B: Projects in Databases and Web Applications Spring 2018
Software models - Software Architecture Design Patterns
An Introduction to Software Architecture
Tonga Institute of Higher Education IT 141: Information Systems
MORE ON ARCHITECTURES The main reasons for using an architecture are maintainability and performance. We want to structure the software into reasonably.
Planning and Storyboarding a Web Site
APACHE WEB SERVER.
Chapter 5 Architectural Design.
4.01 How Web Pages Work.
Web Servers (IIS and Apache)
4.01 How Web Pages Work.
Presentation transcript:

Lecture 6z Case Study Interoperability CSCE 742 Software Architectures Lecture 6z Case Study Interoperability Topics Case Study Interoperability Architecture for the system May 24, 2017

Architecture Deja Vu Rediscovering principles laid out a quarter of a century ago by Brooks, Dijkstra, Parnas Fred Brooks – 1969 “architecture” of a computer system as “conceptual view of a computer … as seen by the programmer” “Mythical Man-Month” essays on Software engineering Dijkstra told us to be concerned with modularity layered approach CSP Parnas – foundational contributions to SE field Information hiding for maintainability and reusability 1972 Exception handling 1979 Viewing program as member of family; abstracting qualitites Software Architecture in Practice 2nd Ed Bass, Clements, Kazman

Example of System with emphasis on Interoperability Software Architecture in Practice 2nd Ed Bass, Clements, Kazman

Architecture Business Cycle for X Stakeholders Management Developing Organization Researcher Technical Environment Heterogenous distributed computing Architect’s experience hypertext networking Requirements (Qualities) Remote Access Interoperability Extensibility Scalability Architecture library Client Server Architect System x Software Architecture in Practice 2nd Ed Bass, Clements, Kazman

Original Requirements Remote access across networks. Any information had to be accessible from any machine on a network. Heterogeneity. The system could not be limited to run on any specific hardware or software platform. Noncentralization - there could not be any single source of data or services. Access to existing data. Existing databases had to be accessible. Ability for users to add data. Users should be able to “publish” their own data using the same interface used to read others’ data. Private links. Links and nodes had to be capable of being privately annotated. Bells and whistles. The only form of data display originally planned was display on a 24 × 80 character ASCII terminal. Graphics were considered optional. Software Architecture in Practice 2nd Ed Bass, Clements, Kazman

Original Requirements (continued) Private links. Links and nodes had to be capable of being privately annotated. Bells and whistles. The only form of data display originally planned was display on a 24 × 80 character ASCII terminal. Graphics were considered optional. Data analysis. Users should be able to search across the various databases and look for anomalies, regularities, irregularities, and so on. Live links. Given that information changes all the time, there should be some way of updating a user’s view of it. This could be by simply retrieving the information every time the link is accessed or (in a more sophisticated fashion) by notifying a user of a link whenever the information has changed. Software Architecture in Practice 2nd Ed Bass, Clements, Kazman

Architectural Solution client and server Special protocol for communication for transferring documents a library to hide machine dependencies Software Architecture in Practice 2nd Ed Bass, Clements, Kazman

What system are we talking about? Protocol Software Architecture in Practice 2nd Ed Bass, Clements, Kazman

Software Architecture in Practice 2nd Ed Bass, Clements, Kazman

Software Architecture in Practice 2nd Ed Bass, Clements, Kazman

LESSONS FROM libWWW Formalized application programming interfaces (APIs) are required. Functionality and the APIs 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 Software Architecture in Practice 2nd Ed Bass, Clements, Kazman

It turns out that libWWW does not support all of these goals as well as it might. For example, the libWWW core makes some assumptions about essential services, so not all features can be dynamically replaced. Furthermore, libWWW is meant to run on many different platforms, and so it can not depend on a single thread model. Thus, it has implemented pseudothreads, which provide some, but not all, of the required functionality. Finally, most current Web applications do not support dynamic feature configuration; they require a restart before new services can be registered. Software Architecture in Practice 2nd Ed Bass, Clements, Kazman

Software Architecture in Practice 2nd Ed Bass, Clements, Kazman

COMMON GATEWAY INTERFACE Most information returned by a server is static, changing only when modified on its home file system. CGI scripts, on the other hand, allow dynamic, request specific information to be returned. CGI has historically been used to augment server functionality: for input of information, for searches, for clickable images. The most common use of CGI, however, is to create virtual documents—documents that are dynamically synthesized in response to a user request Software Architecture in Practice 2nd Ed Bass, Clements, Kazman

ACHIEVING INITIAL QUALITY GOALS Software Architecture in Practice 2nd Ed Bass, Clements, Kazman

Another Cycle through the ABC: The Evolution of Web-Based E-Commerce Architectures Quality Attributes for E-commerce on web? Software Architecture in Practice 2nd Ed Bass, Clements, Kazman

Quality Attributes for E-commerce on web High performance. A popular Web site will typically have tens of millions of “hits” per day, and users expect low latency from it. Customers will not tolerate the site simply refusing their requests. High availability. E-commerce sites are expected to be available “24/7.” They never close, so must have minimal downtime—perhaps a few minutes per year. Scalability. As Web sites grow in popularity, their processing capacity must be able to similarly grow, to both expand the amount of data they can manage and maintain acceptable levels of customer service. Security. Users must be assured that any sensitive information they send across the Web is secure from snooping. Operators of Web sites must be assured that their system is secure from attack (stealing or modifying data, rendering data unusable by flooding it with requests, crashing it, etc.). Modifiability. E-commerce Web sites change frequently, in many cases daily, and so their content must be very simple to change. Software Architecture in Practice 2nd Ed Bass, Clements, Kazman

An e-commerce reference architecture Software Architecture in Practice 2nd Ed Bass, Clements, Kazman

Software Architecture in Practice 2nd Ed Bass, Clements, Kazman

Summary of tactics WEB BROWSERS FOR MODIFIABILITY HTTPS FOR SECURITY PROXY SERVERS FOR PERFORMANCE ROUTERS AND FIREWALLS FOR SECURITY LOAD BALANCING FOR PERFORMANCE, SCALABILITY, AND AVAILABILITY WEB SERVERS FOR PERFORMANCE APPLICATION SERVERS FOR MODIFIABILITY, PERFORMANCE, AND SCALABILITY DATABASES FOR PERFORMANCE, SCALABILITY, AND AVAILABILITY Software Architecture in Practice 2nd Ed Bass, Clements, Kazman

Software Architecture in Practice 2nd Ed Bass, Clements, Kazman

Software Architecture in Practice 2nd Ed Bass, Clements, Kazman

Further Reading Readers interested in discovering more about hypertext should see [Bush 45] and the special issue of the CACM devoted to hypertext [CACM 88]. Information on the Web’s history and growth can be found primarily on the Web [Berners-Lee 96a], [Gray (http://www.mit.edu/people/mkgray/net)], [Zakon (http://www.zakon.com/robert/internet/timeline)]. Much of the detail about libWWW comes from the W3C Reference Library at http://www.w3.org/pub/WWW/Library. Software Architecture in Practice 2nd Ed Bass, Clements, Kazman

For a good general discussion of network security issues and cryptography, including all aspects of Web security, see [Stallings 99]. A good discussion of performance issues in e-commerce systems may be found in [Menasce 00] The architectural style used in Web-based applications is treated in [Fielding 96]. A comparison of modern Web server patterns may be found in [Hassan 00], from which we adapted the client-server architecture shown in Figure 13.5. Netcraft’s May 2001 survey of Web server usage can be found at http://www.netcraft.com/survey/. Software Architecture in Practice 2nd Ed Bass, Clements, Kazman