Download Network Computing - Systems and Computer Engineering

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
Network Computing
Course Information & Overview
Babak Esfandiari
[email protected]
(original slides provided by Qusay Mahmoud)
1
Copyright © 2001 Qusay H. Mahmoud
Goals






2
This is not a theory course
It is a SKILLS course
Understand the basics of networking
Learn about the different technologies that can
be used to develop distributed applications
Work effectively in groups to develop a
significant distributed application
If it is your first course in networking, you will
develop an idea of where to go next
Copyright © 2001 Qusay H. Mahmoud
Course Content









3
Networking Basics
Sockets
RMI
CORBA
Agents and Mobile Code
CGI, Servlets, JSP
Middleware and XML
Jini, JavaSpaces, WebServices
Security Issues
Copyright © 2001 Qusay H. Mahmoud
Limitations





4
Broad set of related technical topics
We will not be able to cover all topics in details
For some topics, the course is more like an eye
opener
Do not expect to become an expert in every
single topic that we will cover
It is almost impossible to master all the
technologies we will cover in the course
Copyright © 2001 Qusay H. Mahmoud
Course Info

URL: http://eureka.sce.carleton.ca:8080/cgibin/networkcomputing.cgi


5
Lectures: Mon & Wed 5:30 – 7:00 ME 3380
Book: Distributed Programming with Java
Copyright © 2001 Qusay H. Mahmoud
Grading



Assignments (30%)
In-class Exam (30%)
Group Project (40%)
–
–
–
–
–
6
Project difficulty
Design
Implementation, documentation, and functionality
Presentation
Final paper
Copyright © 2001 Qusay H. Mahmoud
In Class
7

I will post notes in advance if possible. Check
the web site often!

Discuss concepts

Ask questions
Copyright © 2001 Qusay H. Mahmoud
Outside Class


Read
Explore
–
–

Homework
–

Programming
Project
–
8
Experience writing distributed Java-based
applications
Appreciate the beauty of Java 
Coordinate work with group members
Copyright © 2001 Qusay H. Mahmoud
Course Outline

9
See course homepage
Copyright © 2001 Qusay H. Mahmoud
Why Network Computing?

The evolution of computing?
–
–
–
–
–
10
Stand-alone computers
Mainframes
PCs
Networked Computing
C/S computing

The Internet (and Web) factor

The Java factor
Copyright © 2001 Qusay H. Mahmoud
Stand-alone computers
11

Start with a single processor used exclusively
by one user

Users have to share the computer by
competing for time slots
Copyright © 2001 Qusay H. Mahmoud
Mainframes



12
A single computer used by many users
Every user has a terminal
Processing is done at the mainframe computer
Copyright © 2001 Qusay H. Mahmoud
PCs




13
Relatively cheap computers used by one user
Stand-alone model describes today’s home
users
Programs delivered on disks (floppy, CDs, etc)
The Internet is now delivering content, both
data and programs
Copyright © 2001 Qusay H. Mahmoud
Networked Computers



14
More users rely on computers to do their jobs
Terminals substituted with PCs & workstations
Data communication is important as programs
are brought to a local processor for execution
Copyright © 2001 Qusay H. Mahmoud
Client/Server Computing


Users have to share data
Monolithic programs are divided into two parts:
–


15
Client & Server
Client applications run on local machines
Server applications run on centralized
machines
Copyright © 2001 Qusay H. Mahmoud
Convergence (networks &
computers)





16
Applications that run on corporate computers
require the presence of servers
Users share storage and processing resources
“The network is the computer”! (Sun)
Initially closed, homogeneous environments
(e.g. Unix, NFS, Windows, etc)
CORBA for heterogeneous environments….
Copyright © 2001 Qusay H. Mahmoud
The Internet factor




17
Attempts to connect all private and public
networks
DARPA’s IP is the de-facto standard for
exchanging data between different networks
TCP is the de-factor standard transport
protocol over IP (combo as TCP/IP)
The ease of exchanging via e-mail, file transfer,
etc. catches the eyes of the big industry
players
Copyright © 2001 Qusay H. Mahmoud
The Web factor





18
What is the most useful piece of software of
the 90’s? The Web browser!
The browser is becoming an operating system
for many users
Traditional network applications (e.g. email)
have been incorporated in the browser
New business opportunities emerged (ecommerce)
New technologies to address arising
challenges(e.g. search engines, agents)
Copyright © 2001 Qusay H. Mahmoud
The Java factor






19
Portability
Platform independent
Java bytecodes can be executed on any
computer with a JVM
Web browsers implement the JVM
Possible to enhance Web pages (applets)
Remote objects can be upgraded online by
pushing new bytecodes to the hosting JVM
Copyright © 2001 Qusay H. Mahmoud
Applications

System management
–
–

Network management
–
–
–
–
20
Plug ‘n play components
Software distribution and upgrading
Fault diagnosis
Error recovery
Network and service discovery
Plug ‘n play networks
Copyright © 2001 Qusay H. Mahmoud
Applications….

Electronic commerce
–
–
–
–

Remote control
–
–
–
21
Buying agents (brokers)
Selling agents
Investment
Secure communication protocols
Remote operation
Robots
Soft bots
Copyright © 2001 Qusay H. Mahmoud
Applications….

Remote expertise
–
–
–

Multimedia distribution
–
–
–
22
Medical
Legal & counseling
Distance learning
Personalized news
Intelligent targeting of ads
Video on demand
Copyright © 2001 Qusay H. Mahmoud
Applications….

Cooperative problem solving
–
–
–

Data mining
–
–
23
Distributed planning
Resource allocation
Scheduling
Filtering based on mobile agents (collectors,
reporters)
Filtering info at the source (e.g. stock market)
Copyright © 2001 Qusay H. Mahmoud
Applications….

Others….
–
–
–
24
Explore the use of XML for middleware
Anything interesting that involves distribution
(Sockets, RMI, CORBA, Mobility, Jini, EJB, etc)
Think of something compelling and innovative
Copyright © 2001 Qusay H. Mahmoud
Overview of Topics
25

Will give you an idea and a flavor of the topics

We may slightly deviate from these topics if
something more interesting comes up! (this
field moves very quickly…)
Copyright © 2001 Qusay H. Mahmoud
Basics of Internetworking


Network Layer: IP: Internet Protocol
Transport Layer:
–
–

Session Layer:
–


26
TCP: Transmission Control Protocol
UDP: User Datagram Protocol
RPC: Remote Procedure Call
Presentation Layer: XDR, XML?
Application Layer: http, ftp, smtp…
Copyright © 2001 Qusay H. Mahmoud
Sockets



Analogous to telephones – provide the user
with an interface to the network
Think of a socket as an end point of a Unix
pipe
Used in the same way as a file descriptor:
–
–
–

27
Creation (open socket)
Read/write (receive/send to socket)
Destruct (close socket)
Types: SOCK_STREAM, SOCK_DGRAM,
SOCK_RAW
Copyright © 2001 Qusay H. Mahmoud
RMI (Remote Method Invocation)



28
RMI is a core package of Java 1.1+
The power of Java interfaces (no protocols)
Methods can be invoked from JVMs, possibly
running on remote hosts
Copyright © 2001 Qusay H. Mahmoud
CORBA



29
Common Object Request Broker Architecture
A specification for creating and using
distributed objects
It is not a programming language
Copyright © 2001 Qusay H. Mahmoud
CORBA vs.






30
Interfaces in IDL
Language-independent
Heterogeneous
language environment
Garbage collector (No)
In, out, inout parameters
Pass by reference






RMI
Interfaces in Java
Java-based
Homogenous language
environment
Garbage collector (Yes)
No such parameters
Pass by copy (local
objects), by reference to
stub (remote objects)
Copyright © 2001 Qusay H. Mahmoud
Agents

An agent is an entity that:
–
–
–
31
Acts on behalf of others in an autonomous fashion
Situated, Reactive, Proactive
Also desirable: Adaptive (learning), Sociable
(cooperation), Mobile
Copyright © 2001 Qusay H. Mahmoud
CGI (Common Gateway Interface)





Server-side technology
Mainly used to interpret fill-out forms
CGI scripts can be written in any language
Acts as a gateway between output/input
Environment variables:
–
–
–

32
REMOTE_HOST, REMOTE_ADDR
CONTENT_TYPE, CONTENT_LENGTH
QUERY_STRING
Stateless
Copyright © 2001 Qusay H. Mahmoud
Servlets



Server-side technology
Designed to overcome some limitations of
existing technologies (e.g. CGI is stateless)
Characteristics:
–
–

33
A light-weight task that can be executed as a thread
A servlet can remain in memory (a CGI script
terminates when it finished)
Advantages:
–
A servlet can service multiple client requests
–
Can handle multiple clients without reloading/reinitialization
Copyright © 2001 Qusay H. Mahmoud
JSP (Java Server Pages)





34
Server-side technology
Enables you to embed Java code within an
HTML document
JSP documents have the extension .jsp
When an HTTP request is received, the
compilation engine converts the JSP document
into a Java Servlet then the servlet will be
loaded
Java code is embedded between <% and %>
Copyright © 2001 Qusay H. Mahmoud
XML (eXtensible Markup Language)



In essence, it is about meaningful annotation
HTML can be thought of as deriving from XML
XML documents can be:
–
–

Extends HTML linking capabilities:
–
–
–
35
Well-formed (conforms to the XML syntax)
Valid (conforms to its DTD or Schema)
Xlink: how two documents can be linked
Xpointer: enables addressing of individual parts
Xpath: used by Xpointer to describe location paths
Copyright © 2001 Qusay H. Mahmoud
Jini



36
Pronounced “Gee-nee”
A network infrastructure on top of Java to
create a “federation” of virtual machines
Discovery/Join/Lookup Protocols
Copyright © 2001 Qusay H. Mahmoud
Security

JDK1.0 security model:
–

JDK1.1 security model:
–

Sandbox + signed code
JDK1.2 (Java 2) security model:
–
–
37
Sandbox (SecurityManager)
Protection domains (security policies)
Sandbox (compatible with JDK1.0 JDk1.1)
Copyright © 2001 Qusay H. Mahmoud
Questions?

38
See you next week
Copyright © 2001 Qusay H. Mahmoud