Full HTML for

Basic foilset Case Studies in Internetics-- Introductory Material

Given by Geoffrey C. Fox at CPS714 Computational Science Information Track on May 23 99. Foils prepared May 23 99
Outside Index Summary of Material


This Foilset contains introductory material on CPS714 course for summer 1999
Some Aspects of Course Logistics -- all students must go to web sites for complete discussion of this
Overview of Field and Material covered and relation to other courses CPS606 CPS616 CPS640
Summary of Base Pragmatic Object Web and Multi Tier Software Model
Summary of major topics to be covered and some of the things that we will try to teach you

Table of Contents for full HTML of Case Studies in Internetics-- Introductory Material

Denote Foils where Image Critical
Denote Foils where Image has important information
Denote Foils where HTML is sufficient

1 CPS714 Case Studies in Internetics Introductory Material http://www.npac.syr.edu/users/gcf/cps714master99 http://www.npac.syr.edu/projects/cps714summer99
2 Abstract of CPS714-99 Introductory/Administrative Set
3 Overview of CPS Web/Information Technology Courses
4 Some Course Prerequisites
5 Course Curriculum -- I
6 Course Curriculum -- II
7 Approximate Timeline of Initial Lectures
8 Due Dates for Homeworks
9 The 1998 3(Multi)-Tier Information System Architecture
10 Pragmatic Object Web Technology Model - I
11 Multi-Tier Client Server Service
12 Pragmatic Object Web Technology Model - II
13 Functionality of layers
14 Proxy -- Proxy -- Backend Capability
15 Basic Multi Tier architecture
16 Emerging Object Web Multi-Server Model
17 Some caveats and comments
18 What does it take to Implement This
19 More details on the implementation
20 Implementation Continued I
21 Implementation Continued II
22 Databases versus XML?
23 Implementation Continued III
24 XML used as a Template
25 Architecture of WebWisdomDB
26 XML Templates -- Example I
27 Resultant HTML Rendering
28 XML Templates -- Example II
29 Implementation Architecture
30 What and Why is in the Course? Portals
31 Portals -- Continued
32 Building a Portal
33 Portal Programming Models I
34 JavaBean Communication and Event Model
35 JavaBean Communication Model II
36 Portal Programming Models II
37 Portal Building Blocks I
38 Portal Building Blocks -- Security
39 Portal Building Blocks -- Distributed Object Support
40 Special Portals -- Computing I
41 Basic 3 Tier Computing Model
42 Object View of running a program
43 Special Portals -- Computing II
44 Portal to Earthquake Science 3-Tier Computing Architecture
45 Multi-Server Web Computing System or Portal to Computing

Outside Index Summary of Material



HTML version of Basic Foils prepared May 23 99

Foil 1 CPS714 Case Studies in Internetics Introductory Material http://www.npac.syr.edu/users/gcf/cps714master99 http://www.npac.syr.edu/projects/cps714summer99

From Case Studies in Internetics-- Introductory Material CPS714 Computational Science Information Track -- May 23 99. *
Full HTML Index
Instructor: Nancy McCracken
teamed with Geoffrey Fox and many others from NPAC
Syracuse University
NPAC
111 College Place
Syracuse NY 13244 4100
Phone: 3154432163

HTML version of Basic Foils prepared May 23 99

Foil 2 Abstract of CPS714-99 Introductory/Administrative Set

From Case Studies in Internetics-- Introductory Material CPS714 Computational Science Information Track -- May 23 99. *
Full HTML Index
This Foilset contains introductory material on CPS714 course for summer 1999
Some Aspects of Course Logistics -- all students must go to web sites for complete discussion of this
Overview of Field and Material covered and relation to other courses CPS606 CPS616 CPS640
Summary of Base Pragmatic Object Web and Multi Tier Software Model
Summary of major topics to be covered and some of the things that we will try to teach you

HTML version of Basic Foils prepared May 23 99

Foil 3 Overview of CPS Web/Information Technology Courses

From Case Studies in Internetics-- Introductory Material CPS714 Computational Science Information Track -- May 23 99. *
Full HTML Index
CPS606 Taught is basic Java and Perl (CGI Scripts) and introduction to RMI (Remote Method Invocation). It will be taught Fall 99
CPS616 is critical leading edge distributed object and web software system and application building technologies including JavaScript, Advanced Java Capabilities, Web-linked Databases, CORBA, Dynamic HTML, Introduction to XML and Security. It will be taught Spring 00
CPS616 contains core software technologies needed to build world wide distributed systems -- this is the key challenge today in computer science
CPS714 is new and specialized topics in the same area as CPS616 and is set up as a mix of lectures and a project course It is taught Summer 00
CPS640 is Multimedia and Network Systems including digital video -- it is the hardware and network technologies needed for world wide distributed systems. It will be taught Fall 99
CPS690 are introductory research projects with Geoffrey Fox and NPAC staff

HTML version of Basic Foils prepared May 23 99

Foil 4 Some Course Prerequisites

From Case Studies in Internetics-- Introductory Material CPS714 Computational Science Information Track -- May 23 99. *
Full HTML Index
We will assume that everybody has taken CPS616 with success or through divine inspiration knows material listed below well ....
  • Java
  • CORBA
  • Web-linked databases SQL
  • RMI
  • JavaScript and Dynamic HTML
NPAC provides servers for you to access Oracle databases and other needed core resources
You need a UNIX workstation or a PC running Windows (95,98 or NT)

HTML version of Basic Foils prepared May 23 99

Foil 5 Course Curriculum -- I

From Case Studies in Internetics-- Introductory Material CPS714 Computational Science Information Track -- May 23 99. *
Full HTML Index
We will continue the theme of CPS616 -- software and standards (interfaces) for construction of (potentially) large scale distributed systems
This is object web or the combination of distributed object and web technologies
We will cover a few ( about 5) topics in detail
The course grade will be based on
  • Modest sized survey articles prepared by student on the above subjects -- total value 40% of grade
  • One project counting for 60% of grade
You can collaborate on both survey articles and project but naturally a collaborative effort should meet higher standards (in completeness if not brilliance) than that of an individual
Students will need to prepare proposal for project and to present completed project in class
We will start by surveying topics so you can choose project and then go into topics in detail

HTML version of Basic Foils prepared May 23 99

Foil 6 Course Curriculum -- II

From Case Studies in Internetics-- Introductory Material CPS714 Computational Science Information Track -- May 23 99. *
Full HTML Index
XML and its application to portals in business education and scientific research
Distributed Object Security and its application to Internet Commerce, portals and computing
and so we had better discuss portals
  • Business Intranet
  • Virtual Universities
  • Computational Problem Solving Environments
Distributed Object registration and lookup services including Jini and LDAP
Computing including discussion of web servers and
  • Distributed but coordinated networks of web servers and distributed object brokers a.k.a. computational grids
  • Some projects in detail such as WebFlow (NPAC) and Ninja (UC Berkeley)

HTML version of Basic Foils prepared May 23 99

Foil 7 Approximate Timeline of Initial Lectures

From Case Studies in Internetics-- Introductory Material CPS714 Computational Science Information Track -- May 23 99. *
Full HTML Index
May 24: Course Structure and Overview of Topics
May 27: Introduction to Portals
June 2: Security
June 7: Internet Infrastructure
  • Internet Registration from DNS LDAP to Jini
June 9: XML Basics and Tools
June 14: XML Examples such as MathML
June 16: Computing using Web/Distributed Objects
June 21: WebFlow as an Example of Web/Distributed Object based Computing
June 23: Discuss Project Proposals,
  • and Best of JavaOne (Report from Java Developers Conference June 15-18 99)

HTML version of Basic Foils prepared May 23 99

Foil 8 Due Dates for Homeworks

From Case Studies in Internetics-- Introductory Material CPS714 Computational Science Information Track -- May 23 99. *
Full HTML Index
June 7: Report on Portals
June 16: Report on Security
June 22: Project Proposal
July 7: Report on Internet Infrastructure including object registration etc.
July 14: Report on XML
July 21: Report on Web based Computing
July 28, August 2, August 4: Student Project Presentations in class

HTML version of Basic Foils prepared May 23 99

Foil 9 The 1998 3(Multi)-Tier Information System Architecture

From Case Studies in Internetics-- Introductory Material CPS714 Computational Science Information Track -- May 23 99. *
Full HTML Index

HTML version of Basic Foils prepared May 23 99

Foil 10 Pragmatic Object Web Technology Model - I

From Case Studies in Internetics-- Introductory Material CPS714 Computational Science Information Track -- May 23 99. *
Full HTML Index
Basic Vision: The current incoherent but highly creative Web will merge with distributed object technology in a multi-tier client-server-service architecture with Java based combined Web-ORB's
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 which defines a better IDL and perhaps an object model -- certainly does for documents
How do we do this while technology is still changing rapidly!

HTML version of Basic Foils prepared May 23 99

Foil 11 Multi-Tier Client Server Service

From Case Studies in Internetics-- Introductory Material CPS714 Computational Science Information Track -- May 23 99. *
Full HTML Index
Client Tier
Javabean Enterprise Javabean
Old and New Useful Backend Systems
Back-end Tier
Services
Middle Tier
Servers

HTML version of Basic Foils prepared May 23 99

Foil 12 Pragmatic Object Web Technology Model - II

From Case Studies in Internetics-- Introductory Material CPS714 Computational Science Information Track -- May 23 99. *
Full HTML Index
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 confusion becomes an issue of performance/robustness NOT functionality
Use XML to record small databases in flat files
Use CORBA to wrap existing applications
Use COM to access components of major PC applications such as Microsoft Excel and Word
Use Jini and Java to implement dynamic registration of objects
Use HTML to render everything

HTML version of Basic Foils prepared May 23 99

Foil 13 Functionality of layers

From Case Studies in Internetics-- Introductory Material CPS714 Computational Science Information Track -- May 23 99. *
Full HTML Index
1)Rendering of (Multiple) Objects 2)Proxy to some backend capability used to render
input and output to and
from service
Database
MPP
Telescope
File System
1)Server acts as a broker
and control layer
2)Same software as client
but higher performance
multi-user
3)Again service represented
as proxy used as a token for
control logic
Services with
specialized software
and capabilities

HTML version of Basic Foils prepared May 23 99

Foil 14 Proxy -- Proxy -- Backend Capability

From Case Studies in Internetics-- Introductory Material CPS714 Computational Science Information Track -- May 23 99. *
Full HTML Index
The Proxies and actual instantiation are linked by messages whose semantic content is defined (best) in XML
The lower system level format can be HTTP RMI IIOP or ...
The client proxy is for rendering input and output including specification of object
The middle tier proxy allows choice of backend provider and functional integration (the user can specify integration at client proxy level)
Real Capability
XML
XML

HTML version of Basic Foils prepared May 23 99

Foil 15 Basic Multi Tier architecture

From Case Studies in Internetics-- Introductory Material CPS714 Computational Science Information Track -- May 23 99. *
Full HTML Index
Objects (at "logical backend") can be on client of course
Front end can define a generic (proxy for a) object. The middle control tier brokers a particular instantiation
Broker or Server
XML
Result
XML Query
Rendering Engine
Browser
Rendering Engine
HTML
Universal Interfaces
IDL or Templates
XML Request for service
followed by return of XML result

HTML version of Basic Foils prepared May 23 99

Foil 16 Emerging Object Web Multi-Server Model

From Case Studies in Internetics-- Introductory Material CPS714 Computational Science Information Track -- May 23 99. *
Full HTML Index
Clients and their servers
Middle Tier Custom Servers
Back End Servers and
their services

HTML version of Basic Foils prepared May 23 99

Foil 17 Some caveats and comments

From Case Studies in Internetics-- Introductory Material CPS714 Computational Science Information Track -- May 23 99. *
Full HTML Index
Need version 5 browsers with good XML support to properly implement this
We draw three tier as minimum architecture but as previous diagram suggests, one is likely to build a more structured system with middle tier having more layers
Network computer breaks client tier into two with simple HTML at user and Java servlets providing heavier weight capability on a different machine
  • Here user is at a WebTV or Palm Pilot or similar low-end device

HTML version of Basic Foils prepared May 23 99

Foil 18 What does it take to Implement This

From Case Studies in Internetics-- Introductory Material CPS714 Computational Science Information Track -- May 23 99. *
Full HTML Index
Well you need some hardware -- that is either an Internet or Intranet
  • Internet is the world running object web software
  • Intranet is a dedicated network (for a company, university department, PC cluster) running object web software
You need some software
You need some standards and capabilities expressed in these standards
You need some capabilities common to many applications
You a specific system to solve a particular problem

HTML version of Basic Foils prepared May 23 99

Foil 19 More details on the implementation

From Case Studies in Internetics-- Introductory Material CPS714 Computational Science Information Track -- May 23 99. *
Full HTML Index
Note the hardware can be as little as 1 PC on your desk
More interestingly it is your 64 PC Linux or Windows NT Cluster up to the cluster of 64 128 node SGI Origin's at Los Alamos
  • i.e. a parallel computer is by definition a special case of an Intranet
Software divides into several types
Fortran Program
PLSQL Database
or .....
HTML Rendering
Java/CORBA/WIDL Wrapper
Style Sheets and Page Design
"Glue" with (multiple) tier servers and XML inter tier communication

HTML version of Basic Foils prepared May 23 99

Foil 20 Implementation Continued I

From Case Studies in Internetics-- Introductory Material CPS714 Computational Science Information Track -- May 23 99. *
Full HTML Index
The backend software can be parallel or sequential and simulation or information based
  • It can be COBOL, Fortran, C++, Perl ...
For purposes here, we need only to define its interface needed to
  • run it
  • set its parameters -- i.e. its input mechanisms
  • get its output -- numbers or visualization
This backend interface is defined as an XML file e.g. <program type="physics"> <run domain="npac" machine="maryland" type="pcnt" > c:\myprogs\a.out</run> <input type="htmlform" > <name>userinput</name> <field default="10" >iterations</field> .......... </input> <output> ...</output> </program>

HTML version of Basic Foils prepared May 23 99

Foil 21 Implementation Continued II

From Case Studies in Internetics-- Introductory Material CPS714 Computational Science Information Track -- May 23 99. *
Full HTML Index
For this example (running a physics program), we could use a specific machine as defined on previous foil (the Windows NT PC maryland) or a generic machine <run domain="any" machine="any" type="pcnt" >
In this case, middle tier broker, would look in a database (XML file) to find what machines were available and either automatically or with user input choose one.
Note databases and an XML files are logically equivalent
JDBC can access either Oracle (Microsoft) database or XML ASCII file
More generally XML can be thought of as general object serialization
  • A database table is one type of object

HTML version of Basic Foils prepared May 23 99

Foil 22 Databases versus XML?

From Case Studies in Internetics-- Introductory Material CPS714 Computational Science Information Track -- May 23 99. *
Full HTML Index
The XML File <machines domain="npac" > <machine os="nt" cpu="pentium2" memory="128" >maryland</machine> <machine os="nt" cpu="pentium3" memory="256" >georgia</machine> <machine os="95" cpu="mmx" memory="128" >foxport1</machine> ..... </machines> <machines domain="cis" > <machine os="solaris" cpu="sparcXX" >top</machine> ..... </machines>
is equivalent to database tables such as

HTML version of Basic Foils prepared May 23 99

Foil 23 Implementation Continued III

From Case Studies in Internetics-- Introductory Material CPS714 Computational Science Information Track -- May 23 99. *
Full HTML Index
The front end is some document consisting of a mix of HTML or XML
  • The HTML is whatever you want to make a nice page
  • The XML is converted into some variant of HTML by
    • Browser default or
    • XSL style sheet
    • User Program -- logically in middle tier
  • Note HTML can include Java applets either directly or invoked from XSL style sheets
We will NOT discuss either how to code backend in PLSQL or Fortran or how to compose final rendered document in HTML

HTML version of Basic Foils prepared May 23 99

Foil 24 XML used as a Template

From Case Studies in Internetics-- Introductory Material CPS714 Computational Science Information Track -- May 23 99. *
Full HTML Index
Example comes from WebWisdomDB for storing training and education curricula objects -- PowerPoint, HTML, Photos ..
XML embedded as part of HTML "Web Page"
URL of Web Page invokes Servlet
e.g. http://witch.npac.syr.edu/servlet/TDLServlet/witch/index.tdl?USID=67
Servlet leaves HTML untouched but calls Java Methods to process XML tags
This Servlet processes <WW_... tags -- others are left for other servers or browser

HTML version of Basic Foils prepared May 23 99

Foil 25 Architecture of WebWisdomDB

From Case Studies in Internetics-- Introductory Material CPS714 Computational Science Information Track -- May 23 99. *
Full HTML Index
Educational Objects i.e.
Data Defining Curricula Material at all levels from "University" to "foil"
Server side
Java(JDBC)
XML Parser
Servlet
Metadata
WebWisdom XML Template Server
Conventional XML/HTML Pages
Dynamically Generated
(IMS/ADL) Metadata
Streaming Audio/Video
Cross Disability Shared Choice of CSS
Templates Defining in XML How educational data stored in Pages
Share with TangoInteractive
JavaScript API

HTML version of Basic Foils prepared May 23 99

Foil 26 XML Templates -- Example I

From Case Studies in Internetics-- Introductory Material CPS714 Computational Science Information Track -- May 23 99. *
Full HTML Index
<!-- WW_CONNECT is a tag that establishes a connection to the database. Connection string may be supplied in the CONNECTION attribute, or if it is omitted (empty string) the default connection string is taken from configuration file for current template.-->
<WW_CONNECT CONNECTION=""/>
<html> <head> <title> Separate IMAGE for LOCAL foil
<!-- WW_FOILNUMBER tag takes the position of the current foil in the current presentation. -->
<WW_FOILNUMBER PARENTID="${PID}" FOILID="${FID}"/>
<!-- WW_TITLE is a tag that allows to insert title of a presentation or foil. The presentation/foil is identified by an ID supplied in FOILID attribute. PARENTID is not currently used by the WW_TITLE tag, but can be later used, e.g. to check the formatting properties, which can be defined on the presentation level. FID and PID were supplied by the servlet from query attributes of the URL -->
Yellow is ordinary HTML, Green XML, White Comments

HTML version of Basic Foils prepared May 23 99

Foil 27 Resultant HTML Rendering

From Case Studies in Internetics-- Introductory Material CPS714 Computational Science Information Track -- May 23 99. *
Full HTML Index
So this mix of HTML and XML is processed by a special Java Server and XML is translated as shown in green
The yellow HTML is passed throuigh untouched
The URL handed to servlet uniquely specifies page in this case. Better one could pass an XML specification of page
<html> <head> <title> Separate IMAGE for LOCAL foil 17 while this part came from database</title>
<body bgfile="whatyouwant.gif" >
<tt><a href="#image">Image</a><a href="#buttons"> Buttons</a> </tt> <b>
<a href="currenthelp.html"> HELP!</a> * GREY=local</b><tt> LOCAL IMAGE version of Foils prepared
May 23 1999 </tt>

HTML version of Basic Foils prepared May 23 99

Foil 28 XML Templates -- Example II

From Case Studies in Internetics-- Introductory Material CPS714 Computational Science Information Track -- May 23 99. *
Full HTML Index
<WW_TITLE FOILID="${FID}"/>
</title> </head>
<!-- WW_BODYIMAGE inserts a 'body' HTML tag with background image typical for foil files. -->
<WW_BODYIMAGE/>
<tt><a href="#image">Image</a><a href="#buttons"> Buttons</a> </tt> <b>
<WW_LINK FILENAME="temphelp.tdl" ATTR="">HELP!</WW_LINK> * GREY=local</b><tt> LOCAL IMAGE version of Foils prepared
<!-- WW_MODIFICATIONDATE inserts modification date of the current foil -->
<WW_MODIFICATIONDATE FOILID="${FID}"/> </tt>
...... And So On!

HTML version of Basic Foils prepared May 23 99

Foil 29 Implementation Architecture

From Case Studies in Internetics-- Introductory Material CPS714 Computational Science Information Track -- May 23 99. *
Full HTML Index
So between XML/HTML document and backend Fortran is a bunch of servers linked by XML Messages
This glue (business logic) is topic of this course
Servers can either be commercial Web Servers (Apache with servlets), CORBA brokers or custom Servers
  • Servers will be written typically in C++ or Java
Java/CORBA/WIDL Wrapper
Style Sheets and Page Design

HTML version of Basic Foils prepared May 23 99

Foil 30 What and Why is in the Course? Portals

From Case Studies in Internetics-- Introductory Material CPS714 Computational Science Information Track -- May 23 99. *
Full HTML Index
So we will start with Portals. These are essentially the name for the whole system where it is designed to address a particular application
Portal to Syracuse University is by definition http://www.syr.edu
Portal to NPAC is http://www.npac.syr.edu
Portal to the world is http://www.yahoo.com/ or http://my.netscape.com/
Portal to latest news is http://www.cnn.com
Portal to computational chemistry is http://www.osc.edu/~kenf/theGateway/PSEactivities/CCM.html
Portal to stock trading is http://quote.yahoo.com/

HTML version of Basic Foils prepared May 23 99

Foil 31 Portals -- Continued

From Case Studies in Internetics-- Introductory Material CPS714 Computational Science Information Track -- May 23 99. *
Full HTML Index
http://www.npac.syr.edu/restricted/ is a portal to NPAC internal information
http://www.ibm.com is the external portal to IBM for customers. There will also be an internal portal for IBM employees used to "run the company"
http://www.amazon.com is a portal to books (and more)
Kodak is interested in portals to family memorabilia
More generally a portal is a web entrance to a set of resources and consists of a mix of information, computer simulations and various services
For businesses portals generalize the concept of a a company Intranet and encompass domain of IBM main frames, Lotus Notes etc.
For computing, portals are called Problem Solving Environments

HTML version of Basic Foils prepared May 23 99

Foil 32 Building a Portal

From Case Studies in Internetics-- Introductory Material CPS714 Computational Science Information Track -- May 23 99. *
Full HTML Index
We can identify a set of tools that enable the construction of portals
These are roughly equivalent to the tools needed to build a general application based on "object web technologies"
There is also an architecture (explained ad nauseam before) implying multi-tier systems with standard compliant interfaces
A common portal architecture means that portals can be conveniently linked together
  • e.g. the 3 portals to biology, chemistry, and physics naturally form portal to science

HTML version of Basic Foils prepared May 23 99

Foil 33 Portal Programming Models I

From Case Studies in Internetics-- Introductory Material CPS714 Computational Science Information Track -- May 23 99. *
Full HTML Index
Historically us Fortan programmers built systems from subroutines and libraries linked by COMMON blocks and argument lists
Languages like Java support this type of linkage with some changes through methods.
  • COMMON blocks have almost gone ....
However there are other features in portal programming
  • portal components tend to be distributed and loosely coupled
  • Fortran main and subroutine doit were tightly coupled on the same machine
Linkage between portal components is often best done through event signals with listeners and observers
  • This is slower of course but supports necessary asynchronous linkage and acceptable in most cases

HTML version of Basic Foils prepared May 23 99

Foil 34 JavaBean Communication and Event Model

From Case Studies in Internetics-- Introductory Material CPS714 Computational Science Information Track -- May 23 99. *
Full HTML Index
JavaBeans use the same event model as the AWT to communicate between Beans. This involves an indirect structure with Listeners acting as a bridge or broker between Sources (of information) and Sinks or what is synonymous observers.
Source Bean
Listener
Sink Bean
2) Notification of need to communicate
1)
Source Bean
Sink Bean
3) Communicate

HTML version of Basic Foils prepared May 23 99

Foil 35 JavaBean Communication Model II

From Case Studies in Internetics-- Introductory Material CPS714 Computational Science Information Track -- May 23 99. *
Full HTML Index
In the simplest case when one combines sink with listener, then one typically finds cycle (with any number of sinks)
  • sink instantiates listener object and passes it to source
  • source calls back listener object which creates some actions in sink module

HTML version of Basic Foils prepared May 23 99

Foil 36 Portal Programming Models II

From Case Studies in Internetics-- Introductory Material CPS714 Computational Science Information Track -- May 23 99. *
Full HTML Index
Although Javabeans exhibit this model, one needs it throughout the portal and a distributed object system should have some sort of event service and messaging service
  • In fact one will have multiple such services (on clients and different subsets of servers running disparate pragmatic object web services) and they need to be federated together
The messaging service needs support appropriate queuing and other constraints
Software is built using Design patterns and other software engineering techniques
Note modules in Portal Programming are larger (coarse grain) than the modules that make up say a typical Java program
Large modules imply looser synchronization constraints and the asynchronous communication model we described
  • parallel computing involves tight synchronization and messaging between smaller modules with less geographical distribution

HTML version of Basic Foils prepared May 23 99

Foil 37 Portal Building Blocks I

From Case Studies in Internetics-- Introductory Material CPS714 Computational Science Information Track -- May 23 99. *
Full HTML Index
So we currently have languages (Java ..) distributed object support and standards (CORBA ...), interface standards (XML), transport protocols (HTTP, TCP/IP) at various levels, rendering standard(HTML).
We have web clients and servers
We need certain capabilities in common to many portals. These include
  • security
  • collaboration
  • visualization (for computing portals)
  • persistence, registration, look-up (part of most distributed object infrastructure)

HTML version of Basic Foils prepared May 23 99

Foil 38 Portal Building Blocks -- Security

From Case Studies in Internetics-- Introductory Material CPS714 Computational Science Information Track -- May 23 99. *
Full HTML Index
So in this course, we will discuss security as it is a common service needed by many portals
  • It can be implemented simply as a user name / password but there are several special features
  • Encryption -- keeping information secret
  • Authentication -- identifying and authorizing individuals to access particular capabilities
  • Different technical approaches -- especially Kerberos and Public Key Infrastructure
And a discussion of special difficulties as seen by spate of stories about viruses, hackers and security leaks of computer information from government facilities

HTML version of Basic Foils prepared May 23 99

Foil 39 Portal Building Blocks -- Distributed Object Support

From Case Studies in Internetics-- Introductory Material CPS714 Computational Science Information Track -- May 23 99. *
Full HTML Index
Although CORBA for instance provides (by definition) most key distributed object services such as persistence, this is not sufficient as we will inevitably mix object models and further these services are still being developed
So as one part of this course we will discuss "discuss distributed object" and "internet" (software) infrastructure
with special attention to issues of naming, registering, looking up (yellow pages) and addressing objects
  • Remember a web page is most common object and every Java program is an object
We need to contrast classical hierarchy of naming as in DNS and web URL's as implemented in LDAP with much more intriguing dynamic model in Sun's Jini and UCB's Ninja which are suitable for mobile ephemeral objects

HTML version of Basic Foils prepared May 23 99

Foil 40 Special Portals -- Computing I

From Case Studies in Internetics-- Introductory Material CPS714 Computational Science Information Track -- May 23 99. *
Full HTML Index
So we will discuss some special portals
  • Business Enterprise Intranets
  • Virtual University and Training
  • Science and Engineering Computing Environments
The latter include several projects aimed at harnessing the power of the web to do computing
  • These can be divided into those that harness web clients
  • And those than make networks of Web or distributed object servers
NPAC has focussed on networks of web servers and these fit the portal model well
However there is most computing power in collections of web clients

HTML version of Basic Foils prepared May 23 99

Foil 41 Basic 3 Tier Computing Model

From Case Studies in Internetics-- Introductory Material CPS714 Computational Science Information Track -- May 23 99. *
Full HTML Index
A server accepts input and produces output
  • A Web Server accepts HTTP request and returns a web page
  • a Database Server accepts a SQL request and returns records selected from database
  • An Object Broker accepts IIOP requests to invoke methods of an "object" (e.g. run a program)
IIOP and HTTP are two common protocols (formats of control data) for inter program messages
A Web browser (Netscape or Microsoft) can access any server at "the click of a button" with data from user refining action

HTML version of Basic Foils prepared May 23 99

Foil 42 Object View of running a program

From Case Studies in Internetics-- Introductory Material CPS714 Computational Science Information Track -- May 23 99. *
Full HTML Index
Similar to invoking a web page
"CORBA" or "WIDL" (pure XML CGI specification) is just CGI done right ......
Object Broker
Fortran Simulation Code on Sequential or
Parallel Machine
Convert Generic Run Request into Specific Request on Chosen Computer
Fortran Program
is an Important
Type of Object
It can be built up from
smaller objects
e.g. Matrix
library could be an
object

HTML version of Basic Foils prepared May 23 99

Foil 43 Special Portals -- Computing II

From Case Studies in Internetics-- Introductory Material CPS714 Computational Science Information Track -- May 23 99. *
Full HTML Index
But perhaps more interestingly computing portals involve building a web based problem solving environment to link together all the capabilities needed to compute
run programs and access dynamically status of jobs and computers -- in particular allow a uniform interface to running a given job on one of many backend compute servers
compile and debug programs
link diverse data sources with computations run on multiple backend machines
visualize results
web-based help systems and collections of related scientific papers
computational steering i.e. interacting with a job (change parameters) based on dynamic results such as visualized results
See http://www.osc.edu/~kenf/theGateway/ and http://www-fp.mcs.anl.gov/~gregor/datorr/

HTML version of Basic Foils prepared May 23 99

Foil 44 Portal to Earthquake Science 3-Tier Computing Architecture

From Case Studies in Internetics-- Introductory Material CPS714 Computational Science Information Track -- May 23 99. *
Full HTML Index
Application Integration
Visualization Server
Seamless Access
Collaboration
Security Lookup
Registration
Agents/Brokers
Backend Services
Middleware
Bunch of
Web Servers
and Object
Brokers

HTML version of Basic Foils prepared May 23 99

Foil 45 Multi-Server Web Computing System or Portal to Computing

From Case Studies in Internetics-- Introductory Material CPS714 Computational Science Information Track -- May 23 99. *
Full HTML Index

© Northeast Parallel Architectures Center, Syracuse University, npac@npac.syr.edu

If you have any comments about this server, send e-mail to webmaster@npac.syr.edu.

Page produced by wwwfoil on Sun May 23 1999