Computers & Architecture
Required Resources:
Outline:
The Web for Absolute Beginners:
The Web is a series of documents, joined together by links. These links (which can take the form underlined text, text labels or images) can be followed by simply being selected or clicked. These documents can originate from almost anywhere in the world.
Hypertext - a term that significantly predates the Web, referring to a collection of documents (or "nodes") containing cross-references or "links" which, with the aid of an interactive browser program, allow the reader to move easily from one document to another.
Hypermedia - The extension of hypertext to include other media - sound, graphics, and video - has been termed "hypermedia."
Web documents - Unlike text documents, Web pages can be dynamic and interactive: their contents can change in response to the reader or user's actions. Most dynamic Websites (www.amazon.com, www.blogger.com, www.cbc.ca) use information stored in databases to provide textual, numeric and other types of content for these pages.
A Browser - A browser (Internet Explorer, Firefox or another system) is the software used to view and interact with Web documents.
Client and Server - There are two basic categories of computers associated with the Web and the Internet.
The client computer is used to view Web pages with a browser and an Internet connection of some kind. When you (or your students) access WebCT from home, office, a computer lab, or a classroom, you will be using a client compu
ter.
The server computer stores Web documents and "serves" their contents across the Web. The special capabilities of the Web server allow WebCT to be dynamic and interactive. Server computers can be located anywhere in the world, but must be connected to the Web using a permanent, high-speed link.
Software that makes Websites interactive and dynamic is generally located on the server. This means that for most types of Web-based interactivity, a standard Web browser is sufficient.
Flash & Java Applets are examples of technologies that provide interactivity by being downloaded to and operating on the client computer.
Document Locations or Web Addresses
Each page or document on the Web has a unique address. This address identifies every important element involved in accessing the document, including:
- the protocol or set of technical rules used to transmit the document
- the organization providing the server that hosts the document on the Web
- the nature or nationality of the organization
- the part of the server accessed (port number)
- the computer directories or folders in which the Web page is stored (optional)
- the name of the Web page file
Computer and Network Architecture:
In connection with computers, the word "architecture" is both very ambiguous and useful. In general, it refers to an birds eye view of how the components of a system are defined and connected together. However, there are many ways in which this definition and inter-connection can be understood. For example, these terms can be understood on the level of the physical pieces of the computer or network, the administration of the same, or the encoding or formatting of data that is processed by the computer or transmitted in the network.
Computer Architecture: the theory behind the design of a computer. In the same way as a building architect sets the principles and goals of a building project as the basis for the draftsman's plans, so too, a computer architect sets out the computer architecture as a basis for the actual design specifications.
One important feature of computer architecture is that it uses components that are both modular and interdependent, and that can be either physical or abstract in nature. These components are modular in the sense that each serves a different, and clearly-defined function. For example, if the windows and contents of your computer screen suddenly appear strange or jumbled, this is likely due to a problem with the video component or the operating system. However, this problem may render your computer unusable, illustrating the interdependence of these components.
The "bare machine" in the diagram on the right corresponds to the physical components or hardware constituting the computer's architecture. The other components in this diagram are abstract in nature.
Together, these components constitute a "stack," with the hardware at the bottom, and the applications/utilities at the top. In between are numerous, separate but interdependent layers --from those whose only function is to manage the hardware, through the operating system, to those that manage the code for user applications (and many more).
Network Architecture: (Wikipedia: Network Architecture)
- The design principles, physical configuration, functional organization, operational procedures, and data formats used as the bases for the design, construction, modification, and operation of a communications network.
- The structure of an existing communications network, including the physical configuration, facilities, operational structure, operational procedures, and the data formats in use.
Five Generations of Network and Computer Architecture
First Generation: Early Computing
- Technology: vacuum tubes
- Interaction: Batch processing (wait to access, wait for processing to complete)
- Interface: computer card punch/readers, teletype machines
- Network: none
Second & Third Generation: Mainframe computing:
- Time: 1960's to mid 1970's
- Technology: transistors (second) and integrated circuits (third generation)
- Interaction: time sharing, fairly direct interaction when time available (usually just at night for individual users)
- Network: computer accessed through terminals (just a keyboard and screen)
- Many early Internet technologies (e.g. FTP, Kerberos authentication, derived from mainframe networks)
- Associated with research institutions and large businesses
Fourth Generation: Personal computing, local and remote networks:
- Timeframe: early 1980's to the present
- Technology: microprocessor
- Interaction: direct, in real time, personal; one person to one computer
- Network: personal computer shares processing tasks wither server
- One local server used to share information and tasks among PCs in local area network
- A transition made to multiple, remote servers sharing information among PCs in the Internet
Fifth Generation
- Since the early success of the PC in the 1980's, many have predicted the advent of a fifth generation of computing, with associated forms of interaction, hardware and network configurations. These include mobile computing connected with servers providing Web services of various sorts:
- The PC is replaced by portable devices and information appliances, that have less computing power, but that are cheaper and easier to use. (This is in some ways a return to network architecture of the second and third generation.)
- Servers use Web Services, exchanging and operating on messages containing either document-oriented or procedure-oriented information.
- Other visions for the Fifth Generation of computing have given a central role to things like:
- artificial intelligence, allowing for interaction via everyday language
- ubiquitous or environmental computing: devices that sense changes in their environment and to automatically adapt and act based on these changes and on user needs and preferences
- grid or distributed computing, like Web services, but emphasizing the sharing of computer processing tasks by servers connected to the Internet all the time (like the many interconnected PCs that are used to power the Google search engine).
Food for Thought: Fifth generation computing
After viewing the video clip from PBS documentary, "Triumph of the Nerds" (or reading the relevant excerpt from the online transcript), consider the future of computing. The predictions about information or computing appliances that Larry Ellison makes in this clip are now basically 10 years old. Has he been right, or will he still be right? What will the fifth generation of computing be like?
Quicktime; [ large 37 Mb ; small 4 Mb]
Databases on the Web: An important example of Internet/PC Architecture
To make the contents of a database accessible over the Web, it is necessary to make use of special software that resides on a server. Special software forms the middle component or tier in what is commonly known as a three-tier system. This simple "stack" architecture is comprised of:
- Database Tier: the data or database file residing on the server. Also known as the database server.
- Middle Tier: database connectivity software making the database securely available on the web.
- Client Tier: the client or browser used to search and modify database records.
As pictured in the figure, data is passed back and forth between these tiers or components, basically in the form of search requests and results. The task of the middle tier is to act as an interpreter, translating information into the different languages or protocols understood by the browser and database. Typically, this connectivity software receives a query from a web page form, coded in a web protocol. It usually translates this query into a simple but powerful Structured Query Language (SQL) statement, which can be understood by almost any type of database. Next, the connectivity software receives the results from the database as pieces of text that it must then format as a web document using HTML (HyperText Markup Language).
NOTE: A similar, three-tier architecture is also used in Web services.
Web Services
Web Service: a collection of protocols and standards used for exchanging data between applications or systems. Software applications written in various programming languages and running on various platforms can use web services to exchange data over computer networks like the Internet. (Wikipedia)
SOAP: a standard for exchanging XML-based messages over a computer network, normally using HTTP. SOAP forms the foundation layer of the web services stack, providing a basic messaging framework that more abstract layers can build on. SOAP originally
was an acronym for Simple Object Access Protocol, but is now used as a word in its own right. (Wikipedia)
UDDI: an acronym for Universal Description, Discovery, and Integration – A platform-independent, XML-based registry for businesses worldwide to list themselves on the Internet. UDDI is an open industry initiative (sponsored by OASIS) enabling businesses to discover each other and define how they interact over the Internet. (Wikipedia). UDDI can be thought of as a kind of online yellow pages or online business card
WSDL: The Web Services Description Language, is an XML for describing network services as a set of endpoints operating on messages containing either document-oriented or procedure-oriented information. Generally pronounced "wiz-dill."