CSIT IT1 Introduction - University of Macedonia

Download Report

Transcript CSIT IT1 Introduction - University of Macedonia

CIS 5930-04 Applications of Information Technology I
a.k.a.
Technologies for an Information Age I
Web Architecture and Technologies
Spring Semester 2001 MWF 8:00 AM -8:50 AM
Instructors: Geoffrey Fox and Bryan Carpenter
Dept. of Computer Science
School of Computational Science and Information Technology
400 Dirac Science Library
Florida State University
Tallahassee
Florida 32306-4120
http://www.csit.fsu.edu
[email protected] 850-644-4587
[email protected] 850-644-0180
7/7/2015
CSIT: IT1 Introduction http://aspen.csit.fsu.edu/it1spring01
1
Abstract of CSIT IT1 Spring 2001 Introduction
• This Foilset contains introductory material on CSIT/CS Course
IT1 for fall 2000
• Some Aspects of Course Logistics -- all students must go to web
site for complete discussion of this
– http://aspen.csit.fsu.edu/it1spring01/
• Overview of Field and Material covered and relation to other
course IT2 starting 2.30pm this afternon
• The Internet is the most important and by far the largest
distributed computer system and it has spawned the most
remarkable and general purpose software ever seen
• So in studying the Internet, we study distributed computing
(hardware and software)
• After IT1 and IT2, Students should be able to design and build
any distributed system
• We will give a summary of Base Distributed Object Web and
Internet Technologies
7/7/2015
CSIT: IT1 Introduction http://aspen.csit.fsu.edu/it1spring01
2
Leave Now Unless ……
• You are practically minded and wish to learn how
to write real software to solve real distributed
systems
– Your software should work and be documented!
• At the end of IT1 you will have basic knowledge
for a .com/Oracle/Microsoft/Sun job
• At the end of IT2 and a good grade, you will be
top applicant for such a job and well prepared to
think about a PhD
7/7/2015
CSIT: IT1 Introduction http://aspen.csit.fsu.edu/it1spring01
3
Practical Issues
• Grade will be based on about 6 homework sets. The first
of these will be a report and the last a modest project.
The rest will be largely Java oriented programming
tasks
• The Books are:
• Core Java 2
–
–
–
–
–
–
7/7/2015
Volume 1-Fundamentals
Volume 2-Advanced Features
The Sun Microsystems Press Java Series (Prentice Hall)
Cay S. Horstmann and Gary Cornell
ISBN 0-13-081933-6
ISBN 0-13-081934-4
CSIT: IT1 Introduction http://aspen.csit.fsu.edu/it1spring01
4
Grading and Support
• Course Assistant is Xi Rao Computational Science and
Information Technology
Office 477B, Floor 4 of Dirac Science Library.
[email protected]
• We will use a web-linked database (built by previous
students of this class sequence at Syracuse using
technologies you are learning)
• Contact for database: Ozgur Balsoy Computational
Science and Information Technology
Graduate Research Assistant
(850) 644-7012
Office 481C, Floor 4 of Dirac Science Library.
[email protected]
7/7/2015
CSIT: IT1 Introduction http://aspen.csit.fsu.edu/it1spring01
5
Overview of CSIT Information Technology Courses - I
• IT1 assumes good programming skills and familiarity
with the Internet/web
• It will teach Java and use Internet examples to illustrate
use of language
• Course could be useful even if you know Java – we will
emphasize topics like
– Servlets – Simple way of building Java Server side applications
– RMI – Foundation of pure Java distributed objects and
systems built in these terms
– JDBC (Java Database Connectivity) – Universal interface
between Java and databases
– Java Server Pages (how to build client software if you sell
servers and don’t like MSFT)
– We will NOT discuss the beat up client side (in MicrosoftNetscape battle won by MSFT) – Applets, Dynamic HTML and
JavaScript (good ideas albeit a victims of battle)
7/7/2015
CSIT: IT1 Introduction http://aspen.csit.fsu.edu/it1spring01
6
Overview of CSIT Information Technology Courses - II
• We will try to cover basic concepts of distributed
systems and use the most elegant technology to illustrate
– we will generalize to other approaches which could be
best to use in a particular application
– Servlets illustrate Server side application where you can of course use Perl,
C++, JavaScript, Fortran, Machine Language or what have you
– RMI illustrates the integration of Internet and distributed object ideas – the
Object Web that underlies all modern distributed systems
• IT1 will be basic 3 tier systems with core Client and
Server Side technologies – Java, JavaScript and
Dynamic HTML
• IT2 will assume IT1 (including mastery of Java) and
cover remaining core technologies such as XML,
Enterprise Javabeans, CORBA, JavaScript, J2ME (Java
for handheld devices and settop boxes), Jini (how to
support dynamic mobile objects)
7/7/2015
CSIT: IT1 Introduction http://aspen.csit.fsu.edu/it1spring01
7
Overview of CSIT Information Technology Courses - III
• Provisional IT2 Syllabus
– XML and some exemplar applications such as MathML
– More on IT1 technologies such as Dynamic HTML with W3C (World
Wide Web Consortium) Document Object Model
– Virtual Machines and Java from pico to enterprise editions (Smart
Cards to Cell Phones to PC’s to Servers)
– Security for Java and for heterogeneous Systems (Public Key
infrastructure, Kerberos)
– The four approaches to the Object Web
• CORBA from the Object Management Group
• SOAP (Simple Object Access Protocol) from W3C – the pure web
approach
• RMI, Enterprise Javabeans (EJB) and Jini – the pure Java approach
• COM from Microsoft
– Component and event based programming – Javabeans on the client;
CORBA and EJB on the server
– Graphics on the Web: SVG (Scalable Vector Graphics) and VRML
(X3D)
7/7/2015
CSIT: IT1 Introduction http://aspen.csit.fsu.edu/it1spring01
8
Some Course Prerequisites
• We will assume Basic Web Browsing and HTML
expertise and programming experience
– Permission of Instructor is needed for IT2 if you have not
taken IT1
• You should be familiar with either PC or UNIX
environment and program in at least one real
language including Java
– Perl is still widely used, but not taught here as Java builds
most robust system and language of choice in industry
• We will not assume any database or CORBA
knowledge and will review basic material such as SQL
if needed
• CSIT provides servers for you to access Oracle
databases and other needed core resources
• You need a UNIX workstation or a PC running
Windows
7/7/2015
CSIT: IT1 Introduction http://aspen.csit.fsu.edu/it1spring01
9
Original 1995 Structure of World Wide Web
• Universal machine independent interfaces – Success of Web as
much to with standards as software/hardware
• CGI Programs were originally usually written in PERL but can
be essentially any Process and so do simulation, database access
(this is JDBC), advanced document processing etc.
Basic Services
Browser
e.g. Netscape
or Microsoft
interpreting
XML, HTML
Java etc.
Viewer and
helper
Applications
for MPEG, VRML
etc.
7/7/2015
HTML
Documents
URL (location of desired
information) or info to invoke
server side program
HTTP Web
Server
written in C++
HTTP protocol / MIME format
Or Java
with HTML or XML
RMI or IIOP for Java/CORBA
CGI Interface
CSIT: IT1 Introduction http://aspen.csit.fsu.edu/it1spring01
CGI
Program
(e.g. PERL
becoming
Java)
10
Distributed Object Web Technology Model - I
• Basic Vision: The current incoherent but highly creative Web is
merging with distributed object technology in a multi-tier clientserver-service architecture with Java based combined Web
Servers and Object Brokers
• Need to abstract entities (Web Pages, database entries,
simulations) and services as objects with methods(interfaces)
– CORBA .. XML is “just” CGI done right
• COM(Microsoft) and CORBA(world) are competing cross
platform and language object technologies
– Every Netscape4 browser has a Visigenic ORB built in
• Javabeans plus RMI and JINI is 100% pure Java distributed
object technology
• W3C says you should use XML and SOAP which defines a cleaner
IDL and perhaps an object model -- certainly does for documents
• How do we do this while technology is still changing rapidly!
7/7/2015
CSIT: IT1 Introduction http://aspen.csit.fsu.edu/it1spring01
11
Multi-Tier Client Server Service
Middle Tier
Servers
Client Tier
Back-end Tier
Services
Object Broker
IIOP
Object Store
HTTP
Web Server
RMI(IIOP)
or Custom
Javabean
7/7/2015
Specialized
Java Server
Enterprise Javabean
Relational
Database
Old and New
Useful Backend
Systems
CSIT: IT1 Introduction http://aspen.csit.fsu.edu/it1spring01
12
Distributed Object Web Technology Model - II
• Need to use mix of approaches -- choosing what is good and what will
last
• For example develop Web-based databases with Java objects using
standard JDBC (Java Database Connectivity) interfaces
– Oracle, DB2, Informix, Sybase, Lotus Notes, Object database choice
becomes an issue of performance/robustness NOT functionality
• Use CORBA (C++) or Java as software to wrap existing applications
with XML as syntax to define these distributed objects
• Note Middle tier insulates client from backend -- can use one object
model for user level (object functionality) and different one for backend
(object access and persistent store)
– specialized object databases getting “overwhelmed” by multi-tier
approach with Oracle etc. traditional backends
• Program the server not the backend or the client
– Do this programming in Java
– And this implied that Oracle won the database battle as they got
model correct and supplied an appropriate backend database with
functionality added through middle tier extensions
7/7/2015
CSIT: IT1 Introduction http://aspen.csit.fsu.edu/it1spring01
13
3-Tier Architecture and Different Object Models
• There are several important Object Models: COM,
CORBA, Java, Web, Oracle Database ……
• But it doesn’t matter as middle tier
Object
takes care of the object model
Repository
automatically!!
XML
File System
(Web Site)
Request
Or
Export/Import
Information
Middle Tier
“Business Logic”
dissociates
User and Back End
7/7/2015
Database
CSIT: IT1 Introduction http://aspen.csit.fsu.edu/it1spring01
14
Distributed Objects
• Examples of current object technologies
– Documents -- URL
– "General Programs including database invocations"
• Old style Web -- CGI
• New Style Web -- XML makes server side objects look like
applets as far as invocation goes
• CORBA and COM -- special "interface definition
language" (IDL) defines invocation in C++ like syntax
• RMI uses Java language as IDL language
• Benefits of distributed objects
– allows objects written in different languages to communicate
seamlessly via standardized messaging protocols embodied by
middleware.
– Higher levels of transparency of interoperability
– Objects can be “self-managing” of resources
– provides flexible grain of decomposition for building complex
systems
7/7/2015
CSIT: IT1 Introduction http://aspen.csit.fsu.edu/it1spring01
15
Two Database Web Linkages
7/7/2015
CSIT: IT1 Introduction http://aspen.csit.fsu.edu/it1spring01
16
Two More 3 Tier Web Database Links
7/7/2015
CSIT: IT1 Introduction http://aspen.csit.fsu.edu/it1spring01
17
2 Tier and CORBA Models
2 Tier Model
7/7/2015
CSIT: IT1 Introduction http://aspen.csit.fsu.edu/it1spring01
18
Comparison of 2 3 and 4 Tier Models
Client
Java
Query+
JDBC
Middle
Tiers
Back
End
7/7/2015
Relational
Database
Java
Query
(form)
HTML
Query
(form)
Enterprise
Javabean
JDBC
Servlet
Relational
Database
Thin Client
Enterprise
Javabean JDBC
Relational
Database
CSIT: IT1 Introduction http://aspen.csit.fsu.edu/it1spring01
19
Two ways of Implementing Data Objects
• Old way: Use an Object Database
Applicatio
n using
data
objects
Object
Databas
e
• Current Approach: Use a Relational Database and
business logic in EJB
Enterprise Javabean
mapping user object to
backend persistent data
model
Applicatio
n using
data
objects
Middle Tier
7/7/2015
Backend relational
database such as
Oracle
CSIT: IT1 Introduction http://aspen.csit.fsu.edu/it1spring01
20
Today’s Distributed Object Web: The Confusing MultiTechnology Real World Middleware Server Layer
Clients
Middle Layer (Server Tier)
W
PD
DC
DC
DC
Third Backend Tier
7/7/2015
PC
W
T
N
D
W
O
W is Web Server
PD Parallel Database
DC Distributed Computer
PC Parallel Computer
O Object Broker
N Network Server e.g. Netsolve
T Collaboratory Server
CSIT: IT1 Introduction http://aspen.csit.fsu.edu/it1spring01
21
Emerging Object Web Multi-Server Model
Clients and
their servers
7/7/2015
Middle Tier Custom Servers
CSIT: IT1 Introduction http://aspen.csit.fsu.edu/it1spring01
Back End
Servers and
their services
22
Computational Science Portal: Multi-Server Web Computing System
Parallel DB
Proxy
NEOS Control
Optimization
Portal
Control
Optimization
Service
Origin 2000
Proxy
Agent-based
Choice of
Compute Engine
NetSolve
Linear Alg.
Server
MPP
Matrix
Solver
IBM SP2
Proxy
Data Analysis
Server
7/7/2015
Database
CSIT: IT1 Introduction http://aspen.csit.fsu.edu/it1spring01
MPP
23
Summary of Pragmatic Object Web
• 3-(or more)-tier architecture - Web browser front-ends, legacy
(e.g. databases, HPC modules) backends; fat middleware
• Use as appropriate the alternative / competing Middleware
models:
– Java RMI+ EJB (Enterprise Javabean) - single language
solution by Sun
– CORBA - all languages solution by OMG
– COM - multi-language solution by Microsoft
– SOAP/XML - emergent solution by the Web Consortium
• Each model has different tradeoffs (most elegant, powerful,
fastest, simplest)
• POW attempts to integrate various models and services in terms
of multi-protocol middleware servers
• Note Java is often the best language to build middleware whether
this is Java or some other distributed object model
– Most commercial Java activity is on Server not Client
7/7/2015
CSIT: IT1 Introduction http://aspen.csit.fsu.edu/it1spring01
24