X informatics i 400 and i 590
This presentation is the property of its rightful owner.
Sponsored Links
1 / 52

X-Informatics I-400 and I-590 PowerPoint PPT Presentation


  • 126 Views
  • Uploaded on
  • Presentation posted in: General

X-Informatics I-400 and I-590. Spring Semester 2002 MW 6:00 pm – 7:15 pm Indiana Time Geoffrey Fox and Bryan Carpenter PTLIU Laboratory for Community Grids. Informatics, (Computer Science , Physics) Indiana University Bloomington IN 47404 [email protected]

Download Presentation

X-Informatics I-400 and I-590

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


X informatics i 400 and i 590

X-InformaticsI-400 and I-590

Spring Semester 2002 MW 6:00 pm – 7:15 pm Indiana Time

Geoffrey Fox and Bryan Carpenter

PTLIU Laboratory for Community Grids

Informatics, (Computer Science , Physics)

Indiana University

Bloomington IN 47404

[email protected]

uri="gxos://ptliu/communitygrid/courses/xinformatics" title="X-Informatics"


Abstract of ptliu spring 2002 introductory lecture

Abstract of PTLIU Spring 2002 Introductory Lecture

  • This Foilset contains introductory material on PTLIU XInformatics Course for Spring 2002

  • Some Aspects of Course Logistics -- all students must go to web site for complete discussion of this as it is rather uncertain at present

    • http://grids.ucs.indiana.edu/courses/xinformatics

  • In this lecture, we give an overview of material covered in the course

  • The course is organized around typical information-based applications and their associated technology

  • The goal is to discuss technologies – not applications – the latter provide requirements and motivation.

uri="gxos://ptliu/communitygrid/courses/xinformatics" title="X-Informatics"


Why is everything internet based

Why is Everything Internet-based

  • The Internet is the mostimportant and by far the largest distributed information processing/publishing/access system and it has spawned the most remarkable and general purpose software ever seen – we will be using Internet/Web Information Technology to address the general Informatics applications – some of which will be Internet based; others Intranets and others could be just on a single PC

    • One machine is a special case of a distributed network!

    • It is best to leverage pervasive technologies – Internet develops best software as biggest market

uri="gxos://ptliu/communitygrid/courses/xinformatics" title="X-Informatics"


Books

Books

  • We will decide on books and references when I have a clearer idea as to student preparation and technical level to aim at

  • In such a broad based course, there is no “single” book

  • Core Technologies are XML and to a lesser extent Java

  • Inside XML, by Steven Holzner, New Riders Publishing; ISBN: 0735710201, November 2000 (4.5 star, #24218 Amazon)

    • This book is slightly out of date as some key concepts (Schema) were not finalized when book went to press

    • There are some 330 XML books at amazon.com – 20% are “not yet published”

uri="gxos://ptliu/communitygrid/courses/xinformatics" title="X-Informatics"


Practical issues books

Practical Issues: Books

  • Core Java 2 is one if the best Java book(s) – chosen from the 1633 available at Amazon. Others are also excellent (e.g. Java How to Program by Paul J. Deitel, Harvey M. Deitel)

    • Volume 1-Fundamentals (4.5 star, #1127 Amazon)

    • Volume 2-Advanced Features(3.5 star, #3134 Amazon)

    • The Sun Microsystems Press Java Series (Prentice Hall)

    • Cay S. Horstmann and Gary Cornell

    • Vol 1: ISBN: 0130894680 5th Edition December 2000

    • Vol 2: ISBN: 0130819344 4th Edition December 1999

uri="gxos://ptliu/communitygrid/courses/xinformatics" title="X-Informatics"


More books

More Books

  • Other specialized books cover JavaScript, Dynamic HTML, Enterprise Javabeans and J2ME (Java 2 Microedition for PDA’s) – for some of this, can use Web

  • JavaScript Bible, 4th Edition, Gold Edition , Danny Goodman, Hungry Minds, Inc; ISBN: 0764547186, January 2001 (3 star, #4606 Amazon)

  • Dynamic Html : The Definitive Reference by Danny Goodman, O'Reilly & Associates; ISBN: 1565924940, August 1998 (4.5 star, #3611 Amazon)

  • Enterprise Javabeans third edition by Richard Monson-Haefel, O'Reilly & Associates; ISBN: 0596002262 , October 2001 (5 star, #872 Amazon)

  • Java 2 Micro Edition (Professional Developer's Guide Series) by Eric Giguere, John Wiley & Sons; ISBN: 0471390658, November 2000 (3.5 star, #40128 Amazon)

uri="gxos://ptliu/communitygrid/courses/xinformatics" title="X-Informatics"


What are we discussing i

What are we discussing I

  • We have a set of core concepts and technologies

    • The Web, the Grid, Objects, Java, XML, MOM …..

    • MOM is message oriented middleware

    • A Grid is a high functionality Web (electricity analogy)

    • Java typifies modern languages – there are others with different capabilities (Python, C#, C++)

  • On top of this we superimpose another layer of “advanced technologies”

    • HTML, JDBC/ODBC, Enterprise Javabeans, WSDL …

  • Together with “legacy ideas”

    • UNIX, Windows, TCP/IP, SQL ….

  • We use to build “applications” which use specializations and enhancements of the above

uri="gxos://ptliu/communitygrid/courses/xinformatics" title="X-Informatics"


What are we discussing ii

What are we discussing II

  • We need to discuss applications which involve “looking up or storing data”

    • Databases (sophisticated managed or structured data)

    • Flat Files (less sophisticated managed and/or unstructured data)

    • Gallimaufry versus Directory – Both needed

  • And “Creation of data” such as by running a computer program

    • This could be a simulation (say of the weather) and usually involves input of lots of data

    • Actually this is just another way of producing data

  • And data describing data (metadata)

  • And looking at results (visualization)

  • We need to aggregate data (Web)

uri="gxos://ptliu/communitygrid/courses/xinformatics" title="X-Informatics"


Distributed objects

Distributed Objects

  • Anything with a digital signature is an object

  • Examples of distributed object

    • Documents or Web Pages

    • "General Programs including database invocations"

      • Old Style Web -- CGI

      • New Style Web – SOAP/WSDL makes server side objects look like HTML tags 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 communicating via messages

    • 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 “managers” of resources like telescopes, satellites, computers, databases, medical devices ….

    • provides flexible grain of decomposition for building complex systems

uri="gxos://ptliu/communitygrid/courses/xinformatics" title="X-Informatics"


Objects the web and grids

Objects; The Web and Grids

  • The four approaches to the Object Grid or Object Web

    • CORBA from the Object Management Group

    • SOAP (Simple Object Access Protocol) and WSDL (Web Services Definition Language) from W3C – the pure Web approach

    • RMI, Enterprise Javabeans (EJB) and Jini – the pure Java approach

    • COM and now .net from Microsoft

  • We will make certain defining assumptions which are not universal today but which I expect to – for instance

  • XML is a universal technology to define (all) Objects and then you make these objects useful by manipulating them with languages like C++ C# and Java and accessing them with portals

  • All Objects are defined by generalized URL’s (URI or URN Universal Resource Identifier/Name)

  • All Objects have metadata

uri="gxos://ptliu/communitygrid/courses/xinformatics" title="X-Informatics"


Today s distributed object web the confusing multi technology real world middleware server layer

Today’s Distributed Object Web: The Confusing Multi-Technology Real World Middleware Server Layer

W

PD

DC

DC

DC

PC

W

T

N

D

W

O

Clients

Middle Layer (Server 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

Third Backend Tier

uri="gxos://ptliu/communitygrid/courses/xinformatics" title="X-Informatics"


Multi tier client server service for data access

Multi-Tier Client Server/Service for Data Access

“Flat” FileSystem

Relational

Database

Object Store

Middle Tier

Servers(Abstract Services)

Back-end Tier

Raw Services

Client Tier

Object Broker

IIOP

HTTP

Web Server

RMI

Specialized Java Server

Web Service

SOAP + WSDL

Old and New Useful Backend Systems

uri="gxos://ptliu/communitygrid/courses/xinformatics" title="X-Informatics"


Object view of running a program

Object View of running a program

PressRunButton

  • Invoking a Simulation is similar to fetching or otherwise manipulating data -- invoking a web page is simplest example of latter

Fortran Program

is an Important

Type of Object

It can be built up from

smaller objects

e.g. Matrix

library could be an

object

Convert GenericRun Request intoSpecific Requeston Chosen Computer

Fortran/C/C++Simulation Codeon Sequential or

Parallel Machine

Object Broker

uri="gxos://ptliu/communitygrid/courses/xinformatics" title="X-Informatics"


Gem portal architecture

GEM Portal Architecture

Geophysical

“Web” Info

Seismic Sensors

Field Data

General

“Web” Info

Databases

(HPCC) Computers

(Java) Interactive Analysis

Client Visualization

Backend Services

Middleware

Bunch of

Web Servers

and Object

Brokers

Collaboration

SecurityLookup

Registration

Agents/Brokers

Application Integration

Visualization Server

Seamless Access

Clients

uri="gxos://ptliu/communitygrid/courses/xinformatics" title="X-Informatics"


Web grid service model

Web/Grid Service Model

  • We used to think of a computer application as a bunch of processes running on a single computer

  • Now process is replaced by services and these run in a middleware “sea” with each service on separate machines (in general) and these machines spread around the “enterprise” (world)

  • Computer science is producing infrastructure – essentially the Web Operating System – to support this

  • ALL current software is “out of date” and must be rewritten – this includes software for a single PC

uri="gxos://ptliu/communitygrid/courses/xinformatics" title="X-Informatics"


Computational science portal the computing service

Computational Science Portal: The Computing Service

MultidisciplinaryControl (WebFlow)

Portal Control

Parallel DBProxy

Database

NEOS ControlOptimization

OptimizationService

Origin 2000Proxy

MPP

NetSolveLinear Alg.Server

Matrix Solver

Agent-basedChoice ofCompute Engine

IBM SP2Proxy

Data AnalysisServer

MPP

uri="gxos://ptliu/communitygrid/courses/xinformatics" title="X-Informatics"


Hybrid distributed object web approach

Hybrid Distributed Object Web Approach

  • 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

Write Software in Java C++ C# but define data and interfaces in XML

uri="gxos://ptliu/communitygrid/courses/xinformatics" title="X-Informatics"


Topic i basic information systems

Topic I: Basic Information Systems

  • Basic Electronic Information Systems

    • Web Pages

    • Database

    • Sketch of Today's Internet including initial architecture

    • XML

    • Distributed Objects

    • Messages

    • Multi-Tiers

    • These features will emerge in greater depth as we go to further topics

  • Motivating Applications

    • Consumer to Business to Science

    • e-Science

uri="gxos://ptliu/communitygrid/courses/xinformatics" title="X-Informatics"


Topic ii advanced information systems

Topic II: Advanced Information Systems

  • These are sophisticated technology and applications but do not have especially complex features – storing and accessing information

  • Technology

    • Distributed Computing

    • Today's Internet in Detail ( including Network Issues)

    • .opennet and .net

    • Web Services WSDL UDDI

    • WebDAV

  • Motivating Applications

    • Enterprise Informatics – EIP (Portals), ERP and support of business processes; workflow

    • Content Management

    • B2B and B2C

    • Object and Component Models of Information and Information Services

    • Health Informatics (patient records)

uri="gxos://ptliu/communitygrid/courses/xinformatics" title="X-Informatics"


Topic iii extracting knowledge from data

Topic III: Extracting Knowledge from Data

  • Technology

    • Data-mining of various sorts

    • Web search Engines

    • Hidden Markov Methods

    • Neural nets etc.

    • Indexes versus “distributed grep”

    • SQL versus XML Query

  • Motivating Applications

    • Geo-Informatics -- Earthquake forecasting

    • Bio-Informatics

    • Financial Applications (Econo-Informatics)

    • What is Knowledge in an application and how is it discovered and represented?

uri="gxos://ptliu/communitygrid/courses/xinformatics" title="X-Informatics"


Topic iv intelligence or emergent knowledge

Topic IV: “Intelligence” or “Emergent Knowledge”

  • “Intuition” or unexpected/unplanned understanding

  • Technology

    • Agents

    • Semantic Web

    • Physical Optimization and Physical Computation

    • Complex Systems

    • Phase Transitions

      • Small worlds

  • Motivating Applications

    • Artificial Intelligence

    • "Digital Brilliance" (Emergent Intelligence in Information Space)

uri="gxos://ptliu/communitygrid/courses/xinformatics" title="X-Informatics"


Topic v multi media services

Topic V: Multi-Media Services

  • Technology

    • Streaming and Conferencing Codecs (MPEG G723 JPEG etc.)

    • SMIL

    • H323 and SIP and “control” as example of general multi-user control unit

    • Instant Messenger Standards SIMPLE and IMPP

  • Motivating Applications

    • Audio-Video Conferencing

    • Digital Media

    • VOIP

    • Instant Messengers (as have similar control issues to multi-point audio/video sessions)

uri="gxos://ptliu/communitygrid/courses/xinformatics" title="X-Informatics"


Topic vi building communities

Topic VI: Building Communities

  • Technology

    • Collaboration as Shared Objects

    • Synchronous and Asynchronous

    • Peer to Peer Systems (Napster, Gnutella, Publius, JXTA etc.)

    • Distributed search revisited (What is model for registering and finding objects) , Security, Accountability, Anonymity

  • Motivating Applications

    • Distance Education

    • Telemedicine

    • Virtual Organizations

    • Collaborative Product Commerce (CPC)

    • Collaborative Engineering and IPPD (Integrated Product and Process Development)

uri="gxos://ptliu/communitygrid/courses/xinformatics" title="X-Informatics"


Topic vii computing and generating information

Topic VII: Computing and Generating Information

  • Technology

    • Computational Grids

      • Analogy with Electrical Grid

    • Storage; Networking; Computing

    • Virtual Data

    • Resource Management

    • Portals

  • Motivating applications

    • High Performance Systems

    • Sensors

    • e-Science Revisited

      • Physics

      • Chemistry

uri="gxos://ptliu/communitygrid/courses/xinformatics" title="X-Informatics"


Topic viii user interfaces and personal environment

Topic VIII: User Interfaces and Personal Environment

  • Technology

    • Information Visualization

    • Human Computer Interfaces

    • Portals

    • SVG, X3D etc.

    • Hand held devices

  • Motivating Applications

    • Interactive Web Pages

    • WebTop / WebOffice

    • New Media Informatics

    • Universal Access

uri="gxos://ptliu/communitygrid/courses/xinformatics" title="X-Informatics"


Typical non microsoft architecture

Typical (non Microsoft) Architecture

  • This is .opennet structure

Persistent Managed resource. Also could be sensor, supercomputer etc.

Database

(Virtual) XML Layer

Resource Object layer

Virtual Machine onServer

Enterprise Javabeans

Java

Control

User (Portal) Object layer

(Virtual) XML Layer

Form Output Page viewed by user

Servlet

uri="gxos://ptliu/communitygrid/courses/xinformatics" title="X-Informatics"


More simply

More Simply

  • And we need to understand role of

    • Clients Servers Resources

    • And their inter-linkage

    • Need to distinguish roles and machines

    • A given machine could have client, server and/or resource role

Resource

Resource

Resource

Server

Server

Server

Client

Client

Client

uri="gxos://ptliu/communitygrid/courses/xinformatics" title="X-Informatics"


Client issues i

Client Issues I

  • Client has display and a CPU – actually CPU is often used in server-like roles (e.g. invoking a resource like Microsoft PowerPoint)

    • Eventually programs like PowerPoint will be viewed as a resource served either locally or afar and with an XML Interface

  • Where should work be done? “client” or “server”

    • JavaScript and Java Applet are client based

    • Java Application; ASP JSP (Active/Java Server Pages) are server control of client display

    • What is network bandwidth – if HIGH then plausible to update client from afar – update time = network transmission time PLUS CPU time

uri="gxos://ptliu/communitygrid/courses/xinformatics" title="X-Informatics"


Client issues ii

Client Issues II

  • Standards for Client Displays

    • In days gone by one used to build custom user interfaces

    • Using browsers as a “universal user interface” is a disruptive technology

    • It doesn’t do some things very elegantly (like animation) but universality and power of world wide links overwhelms these disadvantages

    • XHTML DHTML SVG X3D WML are respectively text, dynamic text, 2D Graphics, 3D Graphics, Wireless standards for browsers

    • The Client – Browser Virtual XML Interface separates XML standards for INFORMATION/KNOWLEDGE (area of greatest potential for further work) from XML display standards including user interface

  • Client standards enable multiple devices and address accessibility by handicapped (W3C WAI Initiative)

    • Note modular design should make it easier to customize for those with disabilities

uri="gxos://ptliu/communitygrid/courses/xinformatics" title="X-Informatics"


Informatics view of architecture

InformaticsView ofArchitecture

Resource

Raw Data

  • Note Server Tier uses lots of subsystems that are themselves separated by XML Interfaces

(Virtual) XML Interface

Processing

Server

Information/Knowledge

(Virtual) XML Interface

Rendering to XML Display Format

Clients

uri="gxos://ptliu/communitygrid/courses/xinformatics" title="X-Informatics"


Server issues i

Server Issues I

  • This does

    • “processing” including data-mining and editing

    • “mapping” client (user) view to resource view

    • “routing” information (as between members of AOL Buddy List)

    • “sharing” as in collaboration

    • Managing use of servers and resources

    • Optimizing performance

    • Replicating and caching information needed by multiple clients

  • Generic capabilities

    • JDBC/ODBC interface to database

    • JMS processes messages

    • Apache Slide manages Content ……….

uri="gxos://ptliu/communitygrid/courses/xinformatics" title="X-Informatics"


Server issues ii

Server Issues II

  • Are there a few large ones; lots of little ones (peer to Peer approach)

  • Where are they: your PC; Middle of the world; scattered around?

  • What is their architecture and implementation?

    • Distributed Object Model

    • .net ?

    • Java ? C++ ? Python?

  • Application Specific Interfaces

    • WSDL/SOAP/RMI is general

    • Each field has its own as for education, workflow, human resources etc.

  • “Everything is universal” at server level whereas resources and clients can be specialized

uri="gxos://ptliu/communitygrid/courses/xinformatics" title="X-Informatics"


Resource issues

Resource Issues

  • These are databases, supercomputers, sensors etc.

  • Each has special ways of storing, creating and updating information

  • What is Syntax of data

    • MathML Mathematics

    • DOM (Document Object Model) Documents

  • All data needs meta-data

    • RDF Resource Description Framework is general approach

    • Dublin Core is for “books” etc.

  • Interface between middle tier and resource

    • JDBC (Java Database Connectivity) for Database resources

    • SLE (Space Link Extension) For Spacecraft Sensors

uri="gxos://ptliu/communitygrid/courses/xinformatics" title="X-Informatics"


Cosmic issues

Cosmic Issues

  • What is the Operating System for the Grid/Web

  • Where should interfaces be defined – or what are the right “components”

    • Build system from interlocking Jigsaw pieces

  • Will system have unexpected/emergent intelligence

  • How do we “register” and “find” clients, resources, servers

    • This has many models and many implementations

    • Register based (Yellow Pages) DNS, LDAP, JNDI (Java Naming and Directory service)

    • Market based with service need and service provider advertisments matched: Jini (failed?) JXTA (Peer to Peer)

uri="gxos://ptliu/communitygrid/courses/xinformatics" title="X-Informatics"


Web technologies in a nutshell xml

Web Technologies in a Nutshell - XML

  • HTML is powerful but does not separate display and form (structure of document component as an object)

  • XML is a generalization of HTML which allows definition of arbitrary tags

  • e.g. <student name=“Jane Doe” class=“CommunityGrids:I400” grade=“…” >Working Hard</student> is more elegant way of capturing information in a reliable fashion than HTML

  • <h2>Students</h2><ul><li>Jane Doe: Working Hard</li><ul><li>Class: I400</li><li>Grade: …</li> …. </ul></ul> with a PERL program to extract data

  • XML allows powerful way of defining dynamic Ascii databases useful for “modest size data” such as people, document citations etc.

  • XML parsers map XML tags into HTML for display or hand to programs to interpret

  • XML can also be used to define extensions to HTML such as special tags for mathematics (MathML) or chemistry (CML) or …..

  • XML defines syntax for “serializing” Web objects and transmitting between clients and servers SOAP

uri="gxos://ptliu/communitygrid/courses/xinformatics" title="X-Informatics"


Example from special edition using xml

Example from Special Edition Using XML

  • HTML Version of Sales Sheet

    • <dl>

    • <!-- Fruit --> <dt>Apples</dt>

    • <!-- Price --> <dd> $1</dd>

    • <!-- Fruit --> <dt> Oranges </dt>

    • <!-- Price --> <dd> $2 </dd>

    • </dl>

  • XML Version of Price list

    • <FruitPriceList>

    • <fruit><fruitname>Apples</fruitname>

    • <Price> $1</Price> </fruit>

    • <fruit><fruitname>Oranges</fruitname>

    • <Price> $2</Price> </fruit>

    • </FruitPriceList>

uri="gxos://ptliu/communitygrid/courses/xinformatics" title="X-Informatics"


Example from special edition using xml1

Example from Special Edition Using XML

  • <bottle>

  • <top> type 3 childsafe </top>

  • <body><body-type> 100 count plastic </body-type>

  • <contents> <count> 100 </count>

  • <content-type> aspirin </content-type>

  • </contents></body>

  • <labeling>

  • <frontlabel> XYZ brand generic </frontlabel>

  • <rearlabel> XYZ directions and warning </rearlabel>

  • </labeling>

  • </bottle>

uri="gxos://ptliu/communitygrid/courses/xinformatics" title="X-Informatics"


Xml topics

XML Topics

  • Syntax and Examples

  • Types of Tools Available

  • How to define well formed and Validated XML – DTDNamespaces and Schema

  • Events in XML and HTML: JavaScript DHTML

  • XSL and CSS Style sheets including XPATH (how to specify location in XML document)

  • Parsing XML from Java and .. (SAX and DOM)

  • XLINK and XPOINTER – XML hyperlinks

  • Applications of XML: XHTML RDF WSDL SMIL SVG Dublin Core

  • Mapping XML to Java: Castor

uri="gxos://ptliu/communitygrid/courses/xinformatics" title="X-Informatics"


Example xml software application descriptor

Example XML Software Application Descriptor

<?xml version=“1.0”?>

<!DOCTYPE application SYSTEM “ApplDescV2.dtd”>

<application id=“disloc”>

<target id=“osprey4.npac.syr.edu”>

<status installed=“Yes”/>

<installed>

<CmdLine command=“/npac/home/webflow/GEM/JAY/dis2loc” />

<input>

<inFile Path=“/npac/home/webflow/GEM/JAY/” Name=“disloc.output”/>

<source Host=“osprey4.npac.syr.edu” Path=“/npac/home/Jigsaw/WWW/tmp” Name=“disloc.out”/ >

</input>

<output>

<outFile Path=“/npac/home/webflow/GEM/JAY/” Name=“simplex.input” />

<dest Host=“osprey4.npac.syr.edu” Path=“/npac/home/webflow/GEM/JAY/simplex/” Name=“s.in” />

</output>

<stdout Host=“aga.npac.syr.edu” Path=“/npac/home/haupt/webflow/history/” Name=“job2001.out” >

<stderr Host=“aga.npac.syr.edu” Path=“/tmp/” Name=“haupt_job2001.err” >

</installed>

</target>

</application>

uri="gxos://ptliu/communitygrid/courses/xinformatics" title="X-Informatics"


Xml applications

XML Applications

  • XHTML: HTML “done correctly” in stricter XML Syntax

  • SMIL: Syntax to specify multimedia data including timing of “parallel” and “sequential” displays

  • MathML: Syntax to specify either content or presentation of Mathematics (TeX in XML)

  • SVG: 2D graphics (compare Java2D)

  • RDF: Specify Information resources

  • WML: Specify how to transmit information to Cell Phones or PDA’s

  • WSDL: Define Grid Services so they can be accessed uniformly

  • CML: Specify chemistry (e.g. molecules)

  • XSIL: Specify Scientific data

    • For instance this can be used as basis of X”weather” to specify data from sensors; X”seismic” for data from Seismic sensors etc.

uri="gxos://ptliu/communitygrid/courses/xinformatics" title="X-Informatics"


Homework i

Homework I

  • Due January 16 Midnight – 3 Parts

  • A) Use the web/local bookstore to investigate appropriate XML books for your knowledge base

    • I400 No Java programming required but if interested could use

    • I590 Java Programming

    • Report your findings

uri="gxos://ptliu/communitygrid/courses/xinformatics" title="X-Informatics"


Homework ii

Homework II

  • B) Choose one of 3 Topics

    • Education (http://www.adlnet.org)

    • Basketball

    • Family Photos/Videos (called Electronic shoebox by Kodak)

    • Design an information architecture and write a 2 page report on it describing resources, server functionality and needed interfaces

  • C) Give 10 areas where you think this approach would be useful and give a couple of sentences as to why that is true

uri="gxos://ptliu/communitygrid/courses/xinformatics" title="X-Informatics"


What is a web client i

What is a Web Client I?

  • Originally we thought of Web Systems as a set of communicating objects with

    • Not much on client linking to UNIX processes invoked by CGI

    • Then we excitedly got balanced client server applications with JavaScript and Java applets on client which was faster as no network traffic for “small” local actions

    • Servlets, Enterprise Javabeans and CORBA provided robust middle tier programming model

    • But browsers never became a good programming environment as actions (say of JavaScript) undefined or quality (of Java virtual machine in browser) poor.

  • So browsers are just display technology and one should use servers or applications for software

    • HTML SVG XHTML WML are used to define what client is to display

uri="gxos://ptliu/communitygrid/courses/xinformatics" title="X-Informatics"


What is a web client ii

What is a Web Client II?

  • Gilders law of the Telecosm (September 2000, Free Press; ISBN: 0684809303, #23297 in Amazon Sales)says network bandwidth is improving 3 times faster than CPU performance

  • One can make dynamic clients with either client side JavaScript (or equivalent) or with server side Java Server Pages (JSP)

  • JSP provides similar functionality to Java Applets with Java running outside browser in a nice robust server

    • This is the old way we built applications done with faster networks and more elegant implementation (we used to invoke Perl CGI scripts to provide dynamic web pages but this was too slow)

    • Gilder’s law supports JSP approach

    • ASP is Microsoft version of JSP

uri="gxos://ptliu/communitygrid/courses/xinformatics" title="X-Informatics"


Palm tops help define client model

Palm Tops help define Client Model

  • There is growing interest in wireless portable displays in the confluence of cell phone and personal digital assistant markets

  • By 2005, 60 million internet ready cell phones sold each year

  • 65% of all Broadband Internet accesses via non desktop applicances

  • One needs to design web systems so they can be accessed from either a PDA or a PC or a Powerwall

  • This implies that only code in browser should be that immediately needed to relay events between user and web system – all “logic” (state) should be outside browser.

uri="gxos://ptliu/communitygrid/courses/xinformatics" title="X-Informatics"


Web technologies in a nutshell java

Web Technologies in a Nutshell -- Java

  • Java -- Objected Oriented version of C/C++ supporting Interactive Distributed Computing.

  • Original Web architecture (e.g. CGI) was server-side. Java allowed design and Implementation of balanced Client Server Applications but this original motivation is less important now

  • Java likely to be a dominant software engineering and Scientific Computing language -- see http://www.javagrande.org

  • This course discusses Java as a language in context of a system building tool

  • Java will probably be preferred language for development of next generation general or custom Web servers and clients

    • Programmers more productive in Java

    • Java has frameworks (libraries) for key Internet functionalities

  • Java can build client side customized GUI's and graphics/image processing but Microsoft JavaScript and DHTML competes here and MOST Industry use of Java is in middle tier

  • New Java 2 has several enhancements including very many specialized API’s

  • Javabeans are (visual) component model for Java applications

  • Enterprise Javabeans are Java middleware containers

  • Jini and RMI allow distributed objects to be found and communicate

uri="gxos://ptliu/communitygrid/courses/xinformatics" title="X-Informatics"


Web technologies in a nutshell javascript

Web Technologies in a Nutshell - JavaScript

  • JavaScript -- only superficially related to Java and was called LiveScript -- is Netscape's (somewhat supported by Microsoft) fully interpreted Client side extension of HTML. This is a good Client Window integration /customization technology where flexibility more important than performance

  • i.e. use JavaScript for Rapid Prototyping of Complex User Interfaces

    • First examples use JavaScript together with frames ( HTML extension) for interactive multi-window technologies

    • JavaScript is roughly equivalent to "Abstract Windowing Toolkit/ Layout Manager" in Java but applied to Browser Frames and not Java windows

    • JavaScript cannot build complex filters or simulations as slow

    • But JavaScript with dynamic HTML is powerful client technology which is often easier and faster than Java -- it is faster as invokes optimized browser functions

    • both Internet Explorer 4 and Netscape have excellent JavaScript support

  • Server side version of JavaScript called LiveWireruns on Netscape Servers -- unsuccessful

  • Originally expected client side use of JavaScript to grow in importance but new view of Web clients limits use of JavaScript to small critical event handling

    • JavaScript on Palmtops called WMLScript

uri="gxos://ptliu/communitygrid/courses/xinformatics" title="X-Informatics"


Web technologies in a nutshell dhtml

Web Technologies in a Nutshell - DHTML

  • There is an emerging DOM or Document Object Model which will be uniform model used by W3C, Netscape, Microsoft

    • It allow you to address individual components of a page e.g. text box, image or collections thereof as separate entities

    • DOM is quite close to IE 5 conventions and is based on XML

  • DOM ought to be critical for publishing industry – Microsoft Word does not use except implicitly in Web export

  • Cascading Style Sheets allow one more powerful ways of assigning properties (such as color fonts etc.) to these components using either name(id) or type (<h2> tag etc.)

  • DHTML or dynamic HTML allows one to address the components of document and change on the fly (without reloading page) the properties of these components

    • This includes not only natural style properties but also position, size and “visibility”

    • DHTML currently handicapped by major differences between IE5 and Netscape 4 -- functionalities are similar but syntax very different

    • JavaScript combined with DHTML allows animations, graphs and replacement of just parts of text

uri="gxos://ptliu/communitygrid/courses/xinformatics" title="X-Informatics"


Web technologies in a nutshell perl

Web Technologies in a Nutshell - PERL

  • PERL is a C like Interpreter with powerful direct access to UNIX system commands and very easy ways of processing text files

  • PERL is a relatively old technology which has being overtaken by Java tidal wave.

  • Still PERL has significantly better Systems and Document handling capability than Java

    • Very good for UNIX as much easier than Shell for system scripts -- PC versions exist but not so well integrated into O/S

    • Wonderful regular expression handling

  • PERL is traditional but not best choice for server CGI extensions and development of filters even for simpler cases involving text documents

    • Python and PHP have replaced PERL

  • PERL5 is object oriented but much less elegant (in my opinion) than Java

    • PERL5 has very useful multidimensional associative and regular arrays

  • Use PERL for UNIX batch jobs to edit text files (e.g. map www.npac.syr.edu to aspen.csit.fsu.edu)and quick simple Web server extensions – Convert latter to Java for production

uri="gxos://ptliu/communitygrid/courses/xinformatics" title="X-Informatics"


Java message service jms in a nutshell

Java Message Service JMS In a Nutshell

  • Supports MOM – Message Oriented Middleware supporting either

    • Point to point: One system sends a message to another system

  • Publish/Subscribe: There is a server with “labeled (by topic) queues”

    • A given queue could contain all messages on “Korean Recipes”

    • A provider sends messages to appropriate queue

    • Any number of subscribers register interest in topics with possible sophisticated “selectors”

    • When a relevant message is generated for a given topic, all subscribers are sent this message. They can do what they like with it

uri="gxos://ptliu/communitygrid/courses/xinformatics" title="X-Informatics"


Web technologies in a nutshell databases

Web Technologies in a Nutshell - Databases

  • The Web provides a convenient integration environment for "mature" technologies migrating from existing computer environments.

  • Object Relational databases are a good example where it is now straightforward in Microsoft Access, Oracle, DB2, Informix, Sybase etc. to provide a Web Interface to access and edit database with Java/JavaScript/Forms based Interfaces

  • Object databases such as Illustra also interfaced to Web but this is wrong way to thing about problem

  • Systems such as Cold Fusion and Dreamweaver provide convenient high level interfaces to Web-linked databases

    • Note Web Authoring “confusion” is another result of unfortunate browser war lost by Netscape

  • Several excellent Java to Database packages becoming available with the JDBC standard based on ODBC -- more powerful but lower level than systems like Cold Fusion

  • CORBA will have good Web and Java Interfaces and in IT2 we will discuss integration of Web CORBA and database technologies

    • CORBA views a database as a managed persistent object

uri="gxos://ptliu/communitygrid/courses/xinformatics" title="X-Informatics"


Web technologies in a nutshell vrml svg

Web Technologies in a Nutshell – VRML/SVG

  • VRML plays same role to 3D worlds that HTML does to documents

  • VRML 1.0 has been widely available and specifies static 3D scenes through which you can navigate. Already provides universal visualization environment and we have examples of use In Geographical Information Systems

    • Note can embed clickable URL's as with ImageMaps which can be used to annotate images to provide interactive resources

  • VRML 2.0 is now the standard with critical enhancements so that individual elements of 3D world are dynamic and can be programmed

    • It is designed to support full interactivity (televirtuality) with texture mapped video, avatars etc.

    • VRML 2.0 could require huge computing resources whether used as the virtual car-dealership / interactivity gaming or more academic uses such as collaboration between teachers and students in 3D virtual classroom

  • Bandwidth and computing needs of VRML are handicapping acceptance and appears that VRML will NOT “make it” -- replacement unclear

    • Microsoft ChromeEffects (XML based) and

    • Java3D address some but not all VRML applications

    • X3D is XML syntax for VRML

    • SVG is XML for Vector Graphics Primitives (much more limited but perhaps more realistic than VRML)

uri="gxos://ptliu/communitygrid/courses/xinformatics" title="X-Informatics"


  • Login