Introduction: Information Technology and Context

Download Report

Transcript Introduction: Information Technology and Context

INFM 603: Session 1
Information Technology and
Organizational Context
Paul Jacobs
The iSchool
University of Maryland
Thursday, Sept. 1, 2016
This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 United States
See http://creativecommons.org/licenses/by-nc-sa/3.0/us/ for details
Today’s Topics

Overview of course

History and physical infrastructure of computing

Course administration

Introduction to Internet infrastructure
Course overview
Physical
infrastructure
Course
administration
Intro to the
Web/HTML
iSchool
Course Overview

Fundamentals of Information Technology

IT in the Organizational Context

How the Internet and World Wide Web Work



Introduction to Programming

Course overview

Physical
infrastructure

Course
administration
Intro to the
Web/HTML
Basics of Internet architecture
Creating pages: HTML/CSS and tools
Object-oriented principles and design
Client-side example: Javascript
Server-side example: PHP

Data and Content Management Issues

Putting IT all Together
iSchool
Why Do You Need this Class?
Course overview
Physical
infrastructure
Course
administration
Intro to the
Web/HTML
iSchool
A Brief History of
Computing
…and why we care
Source: Wikipedia
iSchool
Source: Wikipedia
iSchool
Source: Wikipedia
iSchool
Source: Wikipedia
iSchool
Source: Wikipedia
iSchool
What Story Does This Tell?

Certain fundamentals remain the same



What’s changed?



Course overview
Physical
infrastructure
Course
administration
Digital representations and computations
Basics of computing and computer architecture

Devices are much, much smaller and faster (Moore’s
Law, more to come later)
Computing is ubiquitous
“The network is the computer” – more and more
bandwidth limiting
Layers, environments, virtualization, encapsulation
(hiding of complexity)
Intro to the
Web/HTML
iSchool
Fundamentals

The digital computer is the first and only
significant machine whose functionality is
determined after manufacture.


… by software later.
This versatility is achieved by representing or
approximating information and logic in the
language of digital computers (binary data)
Course overview
Physical
infrastructure
Course
administration
Intro to the
Web/HTML
iSchool
Information, data, and life
wisdom
Course overview
knowledge
Physical
infrastructure
information
Course
administration
Intro to the
Web/HTML
data
data
iSchool
Examples – How We Use Data

Data


Information




Physical
infrastructure
Course
administration
Intro to the
Web/HTML

“The letter ‘A’ ”
My bank balance
Knowledge

Course overview
1000001
“When you make a withdrawal, you subtract the
withdrawal amount from your account balance”
“A person’s age must be lower than that of his/her
biological mother”
Wisdom


“Neither a borrower nor a lender be”
“Spend less than thou earnst”
iSchool
Data

A bit is an entity that takes the values “0” or “1”;
the smallest piece of digital information

Data is a collection of bits, such as



Course overview
Physical
infrastructure

“0101110111010110”
“0000011”
“111011101011010110101111011011010”
Note: the terms data and information are not
always used consistently!
Course
administration
Intro to the
Web/HTML
iSchool
Information

From a user (human) perspective…
….recognizable patterns that influence you in some way
(perspective, understanding, behavior…)
Course overview
Physical
infrastructure

In the computing infrastructure, information has a
somewhat different connotation as structure and
interpretation added to data

The ability to ascribe meaning to data is often
called representation
Course
administration
Intro to the
Web/HTML
iSchool
Representation Example

How do we represent the state “Alabama” in a
database (i.e., in a computer)?


Course overview
Physical
infrastructure

A unique code based on the alphabetical sequence of
states? (e.g., “000001”; Wyoming would be “110010”)
A 2-letter code based on standard (e.g., Post Office)
abbreviations (“AL” would be “0100000101001100”;
“WY” would be “0101011101011001”)
Just the coded sequence of characters in “Alabama”
(e.g. “01000001010011000100000101000010….) [it’s
56 bits long]
Course
administration
Intro to the
Web/HTML
Wait – why is everything zeros and ones?
iSchool
ASCII Representation
Course overview
Physical
infrastructure
Alphabet
Hex
Octal
HTML
Binary
<7>
\x37
\67
&#55
00110111
<8>
\x38
\70
&#56
00111000
<9>
\x39
\71
&#57
00111001
<:>
\x3A
\72
&#58
00111010
<;>
\x3B
\73
&#59
00111011
<<>
\x3C
\74
&#60
00111100
<=>
\x3D
\75
&#61
00111101
<>>
\x3E
\76
&#62
00111110
<?>
\x3F
\77
&#63
00111111
<@>
\x40
\100
&#64
01000000
<A>
\x41
\101
&#65
01000001
Course
administration
<B>
\x42
\102
&#66
01000010
Intro to the
Web/HTML
<C>
\x43
\103
&#67
01000011
<D>
\x44
\104
&#68
01000100
Interpretation
Data
iSchool
Picture Representation (e.g., GIF or JPG)
Expanding a small portion of the
picture, we see that it is
represented by square pixels….
….300 tall by 200 wide…..
….with a range of 256 intensities
per pixel.
Course overview
Physical
infrastructure
Course
administration
Intro to the
Web/HTML
An approximation!
300 • 200 • 8 bits = 480,000 bits (but it can be compressed.)
iSchool
How a Digital Computer Works
Program
counter
Program code
Course overview
Physical
infrastructure
Course
administration
Intro to the
Web/HTML
Binary instructions Interpretation Effect
00110111
Load a register
Get deposit
amt.
10111000
…
00111111
…
00111010
…
10001001
Add two registers
00111100
…
00101101
…
Add to account
00111110
…
balance
00111111
Store the result
01000000
…
01011001
…
01000010
…
01011011
…
01000100
…
Program memory (data)
Binary data
00110111
10111000
00111111
00111010
10001001
00111100
00101101
00111110
00111111
01000000
01011001
01000010
01011011
01000100
Type
…
ASCII chars
…
…
integer
…
…
…
integer
…
…
…
…
…
Structure
iSchool
Interpretation
Name
Account #
Balance
Rough Computer Organization
Processor
Course overview
Physical
infrastructure
Course
administration
Network
Intro to the
Web/HTML
iSchool
Memory
Rough Computer Architecture
Keyboard
Sound
Card
Video
Card
Mouse
Input
Controller
System Bus
Front Side Bus
Course overview
Physical
infrastructure
Course
administration
L2
CPU
L1
RAM
Hard
Drive
CD/
DVD
Cache
Intro to the
Web/HTML
Motherboard
iSchool
USB Port
Why computers work as well as
they do

Moore’s Law, and the power of brute force

Ability to build on what’s been done before

Ability to hide information

Introducing:
Course overview
Physical
infrastructure

Course
administration
Intro to the
Web/HTML


abstraction (of data and program) and
encapsulation (hiding complexity)
modularity (separating building blocks by
function) also reuse
layering (building more powerful capabilities
on top of existing blocks)
iSchool
Moore’s Law

Processing speed doubles every 18 months


Cost/bit for RAM drops 50% every 12 months


Less need for “virtual memory”
Cost/bit for disk drops 50% every 12 months
Course overview
Physical
infrastructure
Faster CPU, longer words, larger cache, more cores

But transfer rates don’t improve much
Course
administration
Intro to the
Web/HTML
iSchool
iSchool
What’s that?
iSchool
Units of (Memory) Size
Unit
Abbreviation
Size (bytes)
bit
b
1/8
byte
B
1
kilobyte
KB
210 = 1024
megabyte
MB
220 = 1,048,576
Course overview
gigabyte
GB
230 = 1,073,741,824
Physical
infrastructure
terabyte
TB
240 = 1,099,511,627,776
Course
administration
petabyte
PB
250 = 1,125,899,906,842,624
Intro to the
Web/HTML
iSchool
Frequency
Unit
Abbreviation Cycles per second
hertz
kilohertz
megahertz
gigahertz
Hz
KHz
MHz
GHz
1
103 = 1,000
106 = 1,000,000
109 = 1,000,000,000
Time
Course overview
Physical
infrastructure
Course
administration
Intro to the
Web/HTML
Unit
Abbreviation
Duration (seconds)
second
sec/s
1
millisecond
microsecond
nanosecond
picosecond
ms
10-3 = 1/1,000
10-6 = 1/1,000,000
10-9 = 1/1,000,000,000
10-12 = 1/1,000,000,000,000
ms
ns
ps
iSchool
Some Memory Tradeoffs
Type
Speed
Size
Cost
Registers
~300 ps
256 B
Very
expensive
Cache
~1 ns
4 MB
Expensive
Course overview
RAM
~10 ns
1 GB
Cheap
Physical
infrastructure
Hard drive
~10 ms
100 GB
Very
cheap
Course
administration
Intro to the
Web/HTML
iSchool
Why Do We Care?

From a user/business point of view, everything revolves
around applications (software and systems that help to get
something done)




Course overview
Physical
infrastructure

The evolution of computing (e.g., Moore’s Law, the Internet
and Web, and ubiquitous computing) has enabled and
transformed applications

Evolving infrastructure changes the cost, management, and
practicality of applications
Course
administration
Intro to the
Web/HTML
Commerce (esp. buying and selling things)
Customer management/communications
“Supply chain” (helping to build/move things)
Zillions of others (news, learning, navigation, social and
community, etc., etc.)
iSchool
Big software companies 10
years ago ($’s in 1000s)
Company
Microsoft Corp.
Oracle Corp.
SAP AG
First Data Corp.
Automatic Data Processing Inc.
Fiserv Inc.
CA, Inc.
Symantec Corp.
Amdocs Ltd.
Infosys Technologies Ltd.
Adobe Systems Inc.
IMS Health Inc.
BMC Software Inc.
Total System Services Inc.
McAfee Inc.
Citrix Systems, Inc.
Cognizant Technology
Revenue
($mm)
Revenue
($mm)
CY 2004
CY 2005
$38,474.00 $41,359.00
$10,557.00 $12,888.00
$10,135.99 $9,955.35
$9,338.20 $9,932.80
$7,644.46 $8,402.10
$3,729.75 $4,059.48
$3,537.00 $3,746.00
$2,426.61 $3,617.51
$1,814.97 $2,156.12
$1,440.00 $2,014.00
$1,666.58 $1,966.32
$1,569.05 $1,754.79
$1,468.00 $1,485.60
$956.62 $1,289.79
$910.54
$987.30
$741.16
$908.72
$586.67
$885.83
Growth%
YOY
Revenue
7.50%
22.10%
-1.80%
6.40%
9.90%
8.80%
5.90%
49.10%
18.80%
39.90%
18.00%
11.80%
1.20%
34.80%
8.40%
22.60%
51.00%
iSchool
Big software companies 2
years ago ($’s in 1000s)
$62,000.00
$28,700.00
$28,700.00
$16,900.00
$6,400.00
$5,400.00
$5,000.00
$4,200.00
$4,300.00
$2,900.00
$65,700.00
$29,600.00
$29,100.00
$18,500.00
$6,400.00
$5,600.00
$4,900.00
$4,800.00
$4,200.00
$3,800.00
YOY
Revenue
6.00%
3.40%
1.40%
9.50%
-0.80%
4.90%
-2.70%
14.10%
-2.60%
33.30%
$506.47
$685.55
35.40%
CY 2012
Microsoft Corp.
Oracle Corp.
IBM
SAP AG
Symantec Corp.
EMC
HP
VMWare
CA, Inc.
Salesforce.com
Mercury Interactive Corp.
CY 2013
iSchool
Course
Administration and
Logistics
Course Administration and Logistics

General expectations

Requirements

Grading

Other
Course overview
Physical
infrastructure
Course
administration
Intro to the
Web/HTML
iSchool
What you can expect from me

Practical focus




Desire that everyone should succeed



Course overview
If it’s not useful, we won’t worry about it too much
Emphasis on concepts
Consideration for how it’s done in the “real world”
Set clear and concrete objectives where possible
Work together to learn/to achieve goals
Listen and respond to questions/objections, flexibility
Physical
infrastructure
Course
administration
Intro to the
Web/HTML
iSchool
What I’ll expect from you

Preparation




Participation



Course overview

Physical
infrastructure
Course
administration

Do readings
Turn in work on time
“Fill in the blanks”
Bring a computer to class and be ready to try things
Ask when things are unclear
Give examples/tell stories
Help with programmatics
Honesty across the board
Intro to the
Web/HTML
iSchool
Teaching Philosophy

Emphasis on users


Emphasis on synthesis


… mirroring real-life case studies
Emphasis on group work
Course overview
Physical
infrastructure
… not rote learning
Emphasis on projects


… but with a grounding in technology

… but individual competence must be demonstrated
Course
administration
Intro to the
Web/HTML
iSchool
Major Course Components

In class sessions and discussion (ungraded)

Homework assignments

Design projects

Final project and presentation

Final exam
Course overview
Physical
infrastructure
Course
administration
Intro to the
Web/HTML
iSchool
Exam questions/notional example (1)
1. In the early days of computers,
a)
b)
c)
d)
computers did not do binary arithmetic
machines of comparable power were less expensive than they are today,
because inflation has made them more costly over the years
a computer could run only a single program at a time
programmers entered all their programs by typing long sequences of “0” or “1”
on a cathode ray screen.
2. Moore’s Law tells us that computers will continue to become more powerful because
a)
b)
c)
Course overview
Physical
infrastructure
d)
programmers are better educated
modularity and decomposition make progress faster
more people are using them
there will continue to be advances in the underlying technology, circuits and
other hardware that makes them smaller, faster, and more economical
Course
administration
Intro to the
Web/HTML
iSchool
Exam questions/notional example (2)

Match the concepts on the left with descriptions
on the right:
21. Encapsulation
22. Decomposition
23. Abstraction
Course overview
Physical
infrastructure
24. Layering
25. Modularity
Course
administration
Intro to the
Web/HTML
26. Reuse
a. A representation of a complex entity that
simplifies the entity, capturing only what an
application might need for a certain use
b. The ability to adapt components of
applications to new applications
c. Dividing a complex application into
functional units
d. A representation of a complex entity that
simplifies the entity, capturing only the
interfaces needed to make use of that entity
e. Designing and/or building a complex
application by “divide and conquer”, breaking a
task into smaller and more manageable subtasks
f. Achieving broader and more complex
functionality in applications by taking
advantage of standards, infrastructure, and
simpler modules
iSchool
Course Themes

Design


Technology



Principles of information technology
Constraints on what is possible
How to do it, building on what’s available
Processes

Course overview

Physical
infrastructure

Figuring out what to build
Actually building it
Figuring out if you’ve done it right
Course
administration
Intro to the
Web/HTML
iSchool
Focus on Group Work

Why? You rarely work alone in the real world

Three is the best number, but we’ll have groups
of 4-5

Advice:



Course overview
Physical
infrastructure

Coordination takes more effort than you expect
Plan first
Take advantage of individual strengths
Use collaborative technologies: don’t let distance be a
hindrance or excuse
Course
administration
Intro to the
Web/HTML
iSchool
Course Logistics

This course has been taught many times before, but it’s
rapidly changing

Check the course homepage often
terpconnect.umd.edu/~psjacobs/INFM603_f16.htm

Powerpoint slides will be on-line Wednesday (at the latest)

Typical class structure


Course overview

Physical
infrastructure

Course
administration

1.5 hour session
Short break
Logistics/administration
One hour session
Email me: I’m available by appointment
Intro to the
Web/HTML
iSchool
How the Internet and
WWW Work
Intro to the Web

Basics of Internet architecture





Applications are built on top of this architecture

Course overview
Physical
infrastructure
Course
administration
Building blocks
Servers and addresses
How computers communicate data: TCP/IP and HTTP
Role of data representation: HTML and XML

Web browsers (built from the start on TCP/IP, HTTP,
and HTML) and web clients (built on Web browsers,
with Java, Javascript, AJAX, etc.)
“Cloud-based” applications and interfaces (Amazon,
webmail, etc.)
Intro to the
Web/HTML
iSchool
Some building blocks
Application software
Data
User
Infrastructure software
Course overview
Physical
infrastructure
Course
administration
Intro to the
Web/HTML
Desktop
computer
(Client)
Local-area
network
Server
Global
network
(Internet)
iSchool
Client
Web
browser
Web
server
Course overview
Physical
infrastructure
Course
administration
Intro to the
Web/HTML
Application
logic
Databases
and DBMS
Application partition
iSchool
Common
gateway
interface
IP Addresses

Every “node” (e.g., host, router, device) is
identified by an “Internet Protocol” (IP) address

32 bit number, divided into four “octets” (8 bits
expressed as a decimal):
128.8.11.33
216.239.39.99
199.181.132.250
Course overview
Physical
infrastructure
Examples: point your browser at http://54.84.241.99/
Type “IP address” into Google
Course
administration
Intro to the
Web/HTML

Note: This is IPv4, IPv6 has 128-bit addresses,
like: FE80:0000:0000:0000:0202:B3FF:FE1E:8329
iSchool
An Internet Protocol (IP)
Address
Identifies a network
IP address:
54.84.241.99
Identifies a specific computer
Course overview
Physical
infrastructure
Course
administration
Intro to the
Web/HTML
iSchool
Dynamic IP Addresses

Dynamic Host Configuration Protocol (DHCP)
Course overview
Physical
infrastructure
Course
administration
Intro to the
Web/HTML
iSchool
Networks of Networks

Local Area Networks (LAN)


Wide Area Networks (WAN)

Course overview
Connections within a room, or perhaps a building
Provide connections between LANs
Physical
infrastructure
Course
administration
Intro to the
Web/HTML

Internet

Collection of WANs across multiple organizations
iSchool
The Internet

Global collection of public “IP” networks


Independent


Course overview
Physical
infrastructure
Course
administration
Intro to the
Web/HTML
Private networks are often called “intranets”
Each organization maintains its own network
Cooperating




Internet Protocol (IP) address blocks
Domain names (ICANN)
World-Wide Web Consortium (W3C)
Computer Emergency Response Team (CERT)
iSchool
A Short History of the Internet

1969: Origins in government research



Advanced Research Projects Agency (ARPAnet)
Key standards: UDP, TCP, DNS
1983: Design adopted by other agencies


Created a need for inter-network connections
Key standards: IP
Course overview
Physical
infrastructure

1991: World-Wide Web added point-and-click
Course
administration

Intro to the
Web/HTML

Now ~1 billion Internet “hosts” (January 2014)
Key standards: HTTP, URL, HTML, XML
iSchool
What Changed in 1994?
600,000,000
Internet Hosts
500,000,000
400,000,000
300,000,000
200,000,000
100,000,000
0
1980
1985
1990
1995
2000
iSchool
2005
2010
Hands On: TraceRoute

See how packets get from South Africa to you (doesn’t
work with Chrome, try IE or Firefox)


Use http://services.truteq.com/
Look at the same data visually

http://www.monitis.com/traceroute/
iSchool
The TCP/IP “Protocol Stack”

Link layer moves bits


Network layer moves packets


Physical
infrastructure
Course
administration

IP
Transport layer provides services to applications

Course overview
Ethernet, cable modem, DSL
UDP, TCP
Application layer uses those services

DNS, SFTP, SSH, …
Intro to the
Web/HTML
iSchool
TCP/IP layer architecture
Application
Application
Virtual network service
Transport
Transport
Virtual link for end to end packets
Network
Network
Course overview
Virtual link for packets
Network
Network
Physical
infrastructure
Course
administration
Link
Link
Link
Link
Link
Link
Intro to the
Web/HTML
Link for bits
Link for bits
Link for bits
iSchool
Ports

Well-known ports







Course overview
Physical
infrastructure

Intro to the
Web/HTML
Registered Ports

Course
administration

22 Secure Shell (for SSH and SFTP)
25 Simple Mail Transfer Protocol (SMTP)
53 Domain Name System (DNS)
68 Dynamic Host Configuration Protocol (DHCP)
80 Hypertext Transfer Protocol (HTTP)
143 Internet Message Access Protocol (IMAP)
554 Real-Time Streaming Protocol (RTSP)
8080 HTTP server run by ordinary users
Ephemeral Ports
iSchool
Domain Name Service (DNS)

“Domain names” improve usability



Each “name server” knows one level of names
Course overview

Physical
infrastructure

Course
administration

Intro to the
Web/HTML
Easier to remember than IP addresses
Written like a postal address: specific-to-general

“Top level” name servers know .edu, .com, .mil, …
.edu name server knows umd, umbc, stanford, …
.umd.edu name server knows glue, ischool, ttclass, …
.glue.umd.edu name server knows x, y, z, …
iSchool
IP Addresses and Domain
Names
IP address:
54.84.241.99
Course overview
Physical
infrastructure
Course
administration
Domain Name: www.umd.edu
Intro to the
Web/HTML
iSchool
Uniform Resource Locator (URL)
Domain name
File name
http://terpconnect.umd.edu:80/~psjacobs/INFM603_f16.htm
Course overview
Physical
infrastructure
Protocol
Port
Path
Course
administration
Intro to the
Web/HTML
What’s the relationship between a URL and an IP address?
iSchool
Transmission Control Protocol
(TCP)

Most common for the transport layer of the Internet
(transports data packets from one address to another)

Guarantees delivery all data

Course overview

Physical
infrastructure
Retransmits missing data
Guarantees data will be delivered in order

“Buffers” subsequent packets if necessary
Course
administration
Intro to the
Web/HTML

No guarantee of delivery time

Long delays may occur without warning
iSchool
File Transfer Program (FTP)

Used to move files between machines


Upload (put) moves from client to server
Download (get) moves files from server to client

Both visual and command line interfaces
available

Normally requires an account on the server
Course overview
Physical
infrastructure
Course
administration
Intro to the
Web/HTML

Userid “anonymous” provides public access
iSchool
Internet  Web

Internet: collection of global networks

Web: way of managing information exchange (i.e.,
using a browser)

There are many other uses for the Internet
Course overview
Physical
infrastructure
Course
administration
Intro to the
Web/HTML


File transfer (FTP)
Email (SMTP, POP, IMAP)
iSchool
The World-Wide Web
My
Browser
Local copy of
Page requested
Requested Page
(HTML)
Proxy Server
Fetch Page
Course overview
Physical
infrastructure
Send Request
(http)
Course
administration
Intro to the
Web/HTML
Remote
Sever
Internet
iSchool
“The Web”
HTML
HTTP
Email FTP RTSP
URL
URL
(e.g.,http://www.foo.org/snarf.html)
Web
Server
File System
Course overview
Physical
infrastructure
Course
administration
HTML
(data/display)
Internet
communication
protocols
Intro to the
Web/HTML
HTTP
(transfer)
iSchool
HyperText Transfer Protocol
(HTTP)

Send request
GET /path/file.html HTTP/1.0
From: [email protected]
User-Agent: HTTPTool/1.0

Course overview
Physical
infrastructure
Course
administration
Intro to the
Web/HTML
Server response
HTTP/1.0 200 OK
Date: Fri, 31 Dec 1999 23:59:59 GMT
Content-Type: text/html
Content-Length: 1354
<html><body> <h1>Happy New Millennium!</h1> …
</body> </html>
iSchool
HyperText Markup Language
(HTML)

Simple document (page) structure language for Web

Historically based on SGML (Standard Generalized
Markup Language, for publishing)

Advantages
Course overview

Physical
infrastructure
Course
administration
Intro to the
Web/HTML


Adapts easily to different display capabilities
Widely available display software (browsers)
Disadvantages


Does not directly control layout
Does not formally specify data structures (ergo XML)
iSchool
Wrap-up

What’s the class about?



Course overview
Physical
infrastructure
Course
administration
Intro to the
Web/HTML
What is information technology?
What type of IT do we focus on?
Why do we care about organizational context?

What are some Internet basics (e.g., IP, TCP,
URLs); how do they fit together?

What kinds of things will we learn in the class?

How will we work together?

What are the requirements and expectations?

What should we do for next week?

Any other questions?
iSchool