lecture 5a: communication and storage it 202—internet applications based on notes developed by...
Post on 20-Dec-2015
215 views
TRANSCRIPT
Lecture 5A:Communication and Storage
IT 202—Internet ApplicationsBased on notes developed by Morgan Benton
For Today
Two more valuable resources: Communication Services Data Storage (database) Services
Three Important Resources
Processing Power
Bandwidth
Storage Space
These three dictate all or most of the infrastructure and design decisions that you will make
Review
We’ve already covered the use of processing power
In a nutshell processing gets distributed between clients and servers hence the terms: Client-side scripting Server-side scripting
Communication Services
5 Basic forms of communication: Message Message with multiplexing and queuing Message with (mandatory) reply Conversation Broadcast
Protocols and Layering
Various technologies, both software and hardware have been developed to achieve the various types of communication services
You’ve probably heard of them, even if you don’t know what they are.
The Physical Layer
This is the bottom-most layer in the protocol stack and is comprised of actual physical objects that you can touch, like ethernet cables, optical fibers, and other things that carry a signal (including electromagnetic waves)
The IP Layer—or—Data Link/Network Layer
In this layer, signals on a wire get translated into data and vice versa—hence the name data link
Also this layer handles packaging and addressing
TCP/UDP—Transport Layer
This layer manages getting the addressed packages (packets) to and from their destinations in an appropriate mannerThis differs according to the needs of the communicationUDP—lossy, used for multimedia streaming, supports RTP, RTSPTCP—lossless, preserves order, supports IIOP, HTTP
TCP/IP Stack Diagram
A word about protocols…
There are many, many protocols out there. Each of them is designed for a specific purpose. You can find out a lot about them just by surfing the web and reading tutorials. Or you can sign up for a networking class. I highly recommend that you obtain some familiarity with them.
Data Storage
The primary question we are concerned with is where our data gets stored.
There are a number of factors which dictate this such as: Amount of data Sensitivity of the data Duration of relevance Ownership Level of the data (individual vs. aggregate)
DBMS
Data of any significant amount or value is typically stored within a Data Base Management System or DBMSA DBMS can provide: A structured data model Persistence/archiving Transaction support Access control Encapsulation Scalability
The Relational Model
Data is stored in tablesData in some tables is related to data in other tablesThe goal is to minimize the redundancy of stored data while maximizing the performance of systems that rely on the dataThere is a formalized logic that governs data structures and relationships and operations that can be performed on or between tablesThis logic is defined by SQL
SQL—Structured Query Language
SQL is a standardized language, that can be used on its own or together with other programming languages to create and manipulate databases
This is a core competency for any networked application developer
Persistence/Archiving
Frequently it is crucial that organizations maintain very careful records of the transactions that go on within their business
DBMS’s provide a way to store that data and have access to it over long periods of time
An organization’s data archives are frequently one of its most valuable assets
Transaction Support
Data represent the state of the world
The state of the world keeps changing and databases must help us keep track of that
Most advanced DBMS have transaction support, which means that there are algorithms in place to help prevent the corruption of data, and hence disruptions in the state of our world
Access Control
Now more than ever it is crucial that we know who has the ability to access data, to read data, write data, change data, or destroy it
DBMS contain structures which allow us to control access to data—this is one of the most important features they provide
Encapsulation
Some advanced DBMS have algorithms that monitor how data is used and find ways to optimize the way that data is distributed across hosts.
The difference between logical and physical records is important, but complex so can be hidden from the end users using a DBMS
Scalability
What happens when the size of a database grows from just a few hundred or thousand records, to hundreds of thousands or millions, as can happen when a small business suddenly becomes very successful?
DBMS are designed to allow for such growth in a graceful manner
XML
XML stands for eXtensible Markup Language
It was designed primarily for data exchange and NOT for display of information on web pages
XML is:
Text based
Standardized
Universally expressive
Not enough by itself
Largely seen as the replacement for EDI and the key to the interoperability of future systems
For Next Time
We will see how to achieve database connectivity for our applications next class
Next week we will cover XML and interoperability—one of the most crucial topics for the future of networked applications