440 likes | 450 Views
This course introduces the fundamental concepts and technologies for designing and building distributed object web systems. Students will gain practical knowledge and skills in Java, XML, and JavaScript, and will be prepared for careers in distributed systems development or further study in a PhD program.
E N D
CIS 5930-04 Applications of Information Technology II a.k.a. Technologies for an Information Age IIBuilding the Distributed Object Web Spring Semester 2001 MWF 2:30 pm - 3:20 pm Instructors: Geoffrey Fox and Bryan Carpenter Dept. of Computer Science School of Computational Science and Information Technology 400 Dirac Science LibraryFlorida State UniversityTallahassee Florida 32306-4120 http://www.csit.fsu.edu fox@csit.fsu.edu 850-644-4587 dbc@csit.fsu.edu 850-644-0180 CSIT: IT1 Object Web systems http://aspen.csit.fsu.edu/it2spring01
Abstract of CSIT IT2 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/it2spring01/ • Overview of Material covered and relation to other course IT1 starting 8am this morning. • The Internet is the mostimportant 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 CSIT: IT1 Object Web systems http://aspen.csit.fsu.edu/it2spring01
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 CSIT: IT1 Object Web systems http://aspen.csit.fsu.edu/it2spring01
Practical Issues: Homework and Books • Grade will be based on about 7 homework sets. The first of these will be a report and the last a major project which will be larger than for IT1. The rest will involve carious practical activities in Java, XML, JavaScript • Core Java 2 from IT1 is still useful book(s) • Volume 1-Fundamentals (4 star, #17148 Amazon) • Volume 2-Advanced Features ( 3.5 star, #2042 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 • Other specialized books cover XML, JavaScript, Dynamic HTML, Enterprise Javabeans and J2ME (Java 2 Microedition) – for some of this, can use Web CSIT: IT1 Object Web systems http://aspen.csit.fsu.edu/it2spring01
More Books • Inside XML, by Steven Holzner, New Riders Publishing; ISBN: 0735710201, November 2000 (5 star, #681 Amazon) • Special Edition using XML, by Lee Anne Phillips, Que Press August 2000 (2 star, #416,557 Amazon) • JavaScript Bible, 4th Edition, Gold Edition , Danny Goodman, Hungry Minds, Inc; ISBN: 0764547186, January 2001 (4 star, #19,621 Amazon) • Dynamic Html : The Definitive Reference by Danny Goodman, O'Reilly & Associates; ISBN: 1565924940, August 1998 (4.5 star, #1190 Amazon) • Enterprise Javabeans by Richard Monson-Haefel, O'Reilly & Associates; ISBN: 1565928695, March 2000 (4.5 star, #889 Amazon) • Java 2 Micro Edition (Professional Developer's Guide Series) by Eric Giguere, John Wiley & Sons; ISBN: 0471390658, November 2000 (4.5 star, #5488 Amazon) CSIT: IT1 Object Web systems http://aspen.csit.fsu.edu/it2spring01
Grading and Support • Course Assistant is Xi RaoComputational Science and Information TechnologyOffice 477B, Floor 4 of Dirac Science Library. xi@cs.fsu.edu • 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 BalsoyComputational Science and Information TechnologyGraduate Research Assistant(850) 644-7012 Office 481C, Floor 4 of Dirac Science Library. ozgur@csit.fsu.edu CSIT: IT1 Object Web systems http://aspen.csit.fsu.edu/it2spring01
Overview of CSIT Information Technology Courses - I • IT1 assumes good programming skills and familiarity with the Internet/web • It teachs 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 Microsoft-Netscape battle won by MSFT) – Applets, Dynamic HTML and JavaScript (good ideas albeit a victims of battle) CSIT: IT1 Object Web systems http://aspen.csit.fsu.edu/it2spring01
Overview of CSIT Information Technology Course IT2 • XML and some exemplar applications such as SMILMathML and SVG • 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 JMS (Java Message service) on the server; JMS supports asynchronous messages between clients and servers • Interactive Client technologies such as JavaScriptDynamic HTML with W3C (World Wide Web Consortium) Document Object Model • Apply to HTML and more generally XML • Graphics on the Web: SVG (Scalable Vector Graphics) and VRML (X3D) • Security for Java and for heterogeneous Systems (Public Key infrastructure, Kerberos) • Virtual Machines and Java from pico to enterprise editions (Smart Cards to Cell Phones to PC’s to Servers) CSIT: IT1 Object Web systems http://aspen.csit.fsu.edu/it2spring01
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 is 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 CSIT: IT1 Object Web systems http://aspen.csit.fsu.edu/it2spring01
Computational Science and Information Technology (CSIT) • Together cover practical use of leading edge computer science technologies to address “real” applications • There are many technologies in common Computational Sci 1 2: Simulation Track IT 1 2 : Information Track Parallel Algorithms Performance Visualization Fortran90 HPF MPIInterconnectionNetworks Transactions Security Compression PERL JavaScriptMultimedia e-commerce Wide Area Networks (Parallel) I/O Java XMLCollaborationIntegration (middleware)Metacomputing / PSE’sCORBADatabases World Wide Distributed ComputingLoosely Coupled Components Large Scale Parallel ComputingLow latency Closely CoupledComponents CSIT: IT1 Object Web systems http://aspen.csit.fsu.edu/it2spring01
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 CSIT: IT1 Object Web systems http://aspen.csit.fsu.edu/it2spring01
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 CSIT: IT1 Object Web systems http://aspen.csit.fsu.edu/it2spring01
Distributed Object Web Technology Model - I • 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! CSIT: IT1 Object Web systems http://aspen.csit.fsu.edu/it2spring01
Multi-Tier Client Server Service Relational Database Object Store Back-end Tier Services Middle Tier Servers Client Tier Object Broker IIOP HTTP Web Server RMI(IIOP)or Custom Specialized Java Server Old and New Useful Backend Systems Javabean Enterprise Javabean CSIT: IT1 Object Web systems http://aspen.csit.fsu.edu/it2spring01
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 Write Software in Java but define data and interfaces in XML CSIT: IT1 Object Web systems http://aspen.csit.fsu.edu/it2spring01
3-Tier Architecture and Different Object Models ObjectRepository Database • There are several important Object Models: COM, CORBA, Java, Web, Oracle Database …… • But it doesn’t matter!! XMLFile System(Web Site) Request Or Export/Import Information Middle Tier“Business Logic”dissociatesUser and Back End CSIT: IT1 Object Web systems http://aspen.csit.fsu.edu/it2spring01
Emerging Object Web Multi-Server Model Back End Servers and their services Clients andtheir servers Middle Tier Custom Servers CSIT: IT1 Object Web systems http://aspen.csit.fsu.edu/it2spring01
Computational Science Portal: Multi-Server Web Computing System 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 CSIT: IT1 Object Web systems http://aspen.csit.fsu.edu/it2spring01
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 CSIT: IT1 Object Web systems http://aspen.csit.fsu.edu/it2spring01
What is a Web Client II? • Gilders law of the Telecosm (September 2000, Free Press; ISBN: 0684809303, #184 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 CSIT: IT1 Object Web systems http://aspen.csit.fsu.edu/it2spring01
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. CSIT: IT1 Object Web systems http://aspen.csit.fsu.edu/it2spring01
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 CSIT: IT1 Object Web systems http://aspen.csit.fsu.edu/it2spring01
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 CSIT: IT1 Object Web systems http://aspen.csit.fsu.edu/it2spring01
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 CSIT: IT1 Object Web systems http://aspen.csit.fsu.edu/it2spring01
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=“CSIT:IT1” 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: IT1</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 CSIT: IT1 Object Web systems http://aspen.csit.fsu.edu/it2spring01
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> CSIT: IT1 Object Web systems http://aspen.csit.fsu.edu/it2spring01
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> CSIT: IT1 Object Web systems http://aspen.csit.fsu.edu/it2spring01
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 MathML SMIL SVG WML CSIT: IT1 Object Web systems http://aspen.csit.fsu.edu/it2spring01
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> CSIT: IT1 Object Web systems http://aspen.csit.fsu.edu/it2spring01
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 • 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. CSIT: IT1 Object Web systems http://aspen.csit.fsu.edu/it2spring01
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 • 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 CSIT: IT1 Object Web systems http://aspen.csit.fsu.edu/it2spring01
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 CSIT: IT1 Object Web systems http://aspen.csit.fsu.edu/it2spring01
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 CSIT: IT1 Object Web systems http://aspen.csit.fsu.edu/it2spring01
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) CSIT: IT1 Object Web systems http://aspen.csit.fsu.edu/it2spring01
Can Computer Science help Simulation Scientists ? • There are classic computational science areas based high performance parallel computers and the software needed to use them • Cluster of PC’s to Teraflop machines in CSIT or DoD DoE NSF Centers • Nifty algorithms • New languages such as Java (Grande) optimized for performance • Information Technology can benefit simulations in many ways: • XML based scientific (meta)data standards to allow sensor data access to modern tools and support interoperability • Convenient access to multiple (super)computers and technology to integrate diverse simulations and data sources • Portal or “Problem Solving Environment” • Customization of generic portal services like real-time collaboration • We will look at this for a couple of examples CSIT: IT1 Object Web systems http://aspen.csit.fsu.edu/it2spring01
Commodity Portals are Web Interfaces for Consumers Yahoo, NetCenter, Amazon.com, Ebay.com etc. are portals fore-commerce, news etc. We want to use these ideas in building computer interfaces CSIT: IT1 Object Web systems http://aspen.csit.fsu.edu/it2spring01
Portal for Landscape Management Simulation GIS & DEM Soils & Land Use Weather Data Vegetation Data Web Browser WebFlow applet (front-end) Data Wizard WMS interface Toolbar WebFlow middle-tier HTTP IIOP WebFlow server WebFlow server WebFlow server Data Retrieval CASC2D proxy EDYS Internet WMS File Transfer WebFlow modules (back-end) GLOBUS File Transfer High Performance SubSystem CASC2D CSIT: IT1 Object Web systems http://aspen.csit.fsu.edu/it2spring01
Example of a custom WebUser InterfaceLand Management System Navigate and choose an existing applicationto solve the problem at hand.Import all necessary data. Select host Select model Set parameters Run Retrieve data Pre/post-processing Run simulations CSIT: IT1 Object Web systems http://aspen.csit.fsu.edu/it2spring01
Interactive Mesh Generation Portal Data base Data base Middle Tier: Application Servers/Object Brokers MeshExpert(s) ComputationalScientist ComputerConsultant SurfaceMeshEngine1 SurfaceMeshEngine2 VolumeMeshEngine GeometryEngine Parallel Decomposition Collaboration and Planning XML ComputingPortals Interface XML Grid ForumInterface (many such stations) CSIT: IT1 Object Web systems http://aspen.csit.fsu.edu/it2spring01
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 CSIT: IT1 Object Web systems http://aspen.csit.fsu.edu/it2spring01
Services in Computing Portals • Security • Fault Tolerance • Object Lookup and Registration • Object Persistence and Database support (as in EIP’s) • Eventand Transaction Services • Collaborationamong scientists around world • Job Status as in HotPage (NPACI) and myGrid (NCSA) • File Services (as in NPACI Storage Resource Broker) • Support (XML based) computational science specific metadata like MathML, XSIL • Visualization • Programming • Application Integration (chaining services viewed as backend compute filters) • “Seamless Access” and integration of resources between different users/application domains • Parameter Specification Service (get data from Web form into Fortran program wrapped as backend object) AnyPortal CSIT: IT1 Object Web systems http://aspen.csit.fsu.edu/it2spring01
Job Status in High End Computing PortalXML Separates Computer Data and Users Job List in “Ticker” Style Data Counters from NCSA Origin Saved as XML Files anddisplayed as requested by user Details on One Job Job List in “Table” Style CSIT: IT1 Object Web systems http://aspen.csit.fsu.edu/it2spring01
Typical XML Descriptor of Software as an Object <?xml version="1.0"?> <!DOCTYPE application SYSTEM "ApplDescV2.dtd"> <application id=”Casc2d" installable="No"> selected application <target id="aga.npac.syr.edu"> selected host <status installed="Yes"/> <installed> <CmdLine command="/npac/home/haupt/CASC2D/casc2d" /> <input> <inFile Path="/npac/home/haupt/CASC2D/lms/" Name="sand.map"/> <source Host="maine.npac.syr.edu" Path="C:\LMS\fromEdys\" Name="S.map" > </input> <output> <outFile Path="/npac/home/haupt/CASC2D/lms/" Name="sed.out"/> <dest Host="maine.npac.syr.edu" Path="C:\LMS\toEdys\" Name="sed.out" > </output> <stdout Host="aga.npac.syr.edu" Path="/npac/home/haupt/CASC2D/history/" Name="job2001.out" > <stderr Host="aga.npac.syr.edu" Path="/tmp/" Name="haupt_job2001.err" > </installed> </target> </application> how to run it it expects this input file it generates this output file Actual location of the file store it permanently here save stdout and stderr CSIT: IT1 Object Web systems http://aspen.csit.fsu.edu/it2spring01
WAKE UP! WAKE UP! page Caltech ALARM quake location, size -- page disp disloc JPL sorted station potential -- modem Dial Stations(and database) USGS station raw files -- page WAKE UP! GIPSY/auto_p JPL station motions -- JPL disloc simplex JPL Typical Scenario to be supported by GEM Portal --maps for civil authorities single-fault model multi-fault model Virtual_California Boulder (University of Colorado) web simplex JPL --graphics --refined fault model collaboration --graphics --hazard model CSIT: IT1 Object Web systems http://aspen.csit.fsu.edu/it2spring01