CSIT IT1 Introduction - University of Macedonia

Download Report

Transcript CSIT IT1 Introduction - University of Macedonia

5/2/2020

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 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 distributed computer system the largest 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 Internet Technologies and 5/2/2020 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

5/2/2020 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

– – – – – –

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 5/2/2020 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]

5/2/2020 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 use of language and use Internet examples to illustrate

Course could be useful even if you know Java – we will emphasize topics like

– –

Servlets RMI – Simple way of building Java Server side applications – 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)

5/2/2020 We will NOT discuss the beat up client side (in Microsoft Netscape battle won by MSFT) – Applets , Dynamic HTML JavaScript (good ideas albeit a victims of battle) CSIT: IT1 Introduction http://aspen.csit.fsu.edu/it1spring01 and 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 Object Web that underlies all modern distributed systems ideas – the IT1 will be basic 3 tier systems Server Side with core Client technologies – Java, JavaScript and 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) 5/2/2020 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) 5/2/2020 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 taken IT1 is needed for IT2 if you have not 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 if needed database or CORBA knowledge and will review basic material such as SQL CSIT provides servers for you to access Oracle databases and other needed core resources You need a UNIX Windows workstation or a PC running 5/2/2020 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. Browser e.g. Netscape or Microsoft interpreting XML, HTML Java etc.

Viewer and helper Applications for MPEG, VRML etc.

Basic Services URL (location of desired information) or info to invoke server side program HTTP Web Server HTTP protocol / MIME format written in C++ Or Java with HTML or XML RMI or IIOP for Java/CORBA CGI Interface HTML Documents CGI Program (e.g. PERL becoming Java) 5/2/2020 CSIT: IT1 Introduction http://aspen.csit.fsu.edu/it1spring01 10

Distributed Object Web Technology Model - I

• • • • • •

Basic Vision: The current incoherent but highly creative Web merging with distributed object technology is in a multi-tier client server-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 object technology is 100% pure Java distributed 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!

5/2/2020 CSIT: IT1 Introduction http://aspen.csit.fsu.edu/it1spring01 11

Client Tier

Multi-Tier Client Server Service

Middle Tier Servers Back-end Tier Services Object Broker IIOP Object Store HTTP Web Server 5/2/2020 RMI(IIOP) or Custom Specialized Java Server Relational Database Javabean Enterprise Javabean 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 last and what will For example develop Web-based databases with Java objects standard JDBC (Java Database Connectivity) interfaces

using 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 Do this programming in backend Java

And this implied that Oracle or the won the client database battle as they got model correct and supplied an appropriate backend database with functionality added through middle tier extensions 5/2/2020 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 takes care of the object model automatically!!

Object Repository Request XML File System (Web Site) Or Information Middle Tier “Business Logic” dissociates User and Back End Export/Import Database 5/2/2020 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 New Style Web -- CGI -- 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 5/2/2020 CSIT: IT1 Introduction http://aspen.csit.fsu.edu/it1spring01 15

Two Database Web Linkages

5/2/2020 CSIT: IT1 Introduction http://aspen.csit.fsu.edu/it1spring01 16

Two More 3 Tier Web Database Links

5/2/2020 CSIT: IT1 Introduction http://aspen.csit.fsu.edu/it1spring01 17

2 Tier and CORBA Models

2 Tier Model 5/2/2020 CSIT: IT1 Introduction http://aspen.csit.fsu.edu/it1spring01 18

Comparison of 2 3 and 4 Tier Models

Client Java Query+ JDBC Java Query (form) HTML Query (form) Thin Client Middle Tiers Enterprise Javabean JDBC Servlet Enterprise Javabean JDBC Back End 5/2/2020 Relational Database Relational Database 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 Object n using data objects Databas e Current Approach: Use a Relational Database and business logic in EJB Applicatio n using data objects Enterprise Javabean mapping user object to backend persistent data model Middle Tier Backend relational database such as Oracle 5/2/2020 CSIT: IT1 Introduction http://aspen.csit.fsu.edu/it1spring01 20

Today’s Distributed Object Web: The Confusing Multi Technology Real World Middleware Server Layer Clients Middle Layer (Server Tier) W PD DC DC DC PC W T N D W O Third Backend Tier 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 5/2/2020 CSIT: IT1 Introduction http://aspen.csit.fsu.edu/it1spring01 21

Emerging Object Web Multi-Server Model

Clients and their servers Middle Tier Custom Servers Back End Servers and their services 5/2/2020 CSIT: IT1 Introduction http://aspen.csit.fsu.edu/it1spring01 22

Computational Science Portal: Multi-Server Web Computing System 5/2/2020 Parallel DB Proxy Database NEOS Control Optimization Optimization Service Portal Control Agent-based Choice of Compute Engine Origin 2000 Proxy NetSolve Linear Alg.

Server IBM SP2 Proxy Data Analysis Server CSIT: IT1 Introduction http://aspen.csit.fsu.edu/it1spring01 MPP

Matrix Solver

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) solution by Sun - single language

– – –

CORBA COM - all languages solution by OMG - 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 5/2/2020 CSIT: IT1 Introduction http://aspen.csit.fsu.edu/it1spring01 24