Lecture 5A: Communication and Storage IT 202—Internet Applications Based on notes developed by...

Preview:

Citation preview

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

Recommended