190 likes | 364 Views
QuakeWatch System CISN Display Client. Technology used for Rapid and Reliable “Push” of Earthquake Information to Critical Users. July 9, 2003 Paul Friberg, ISTI. QuakeWatch Overview. Design requirements Server technology Server details CISN Display details Demonstration.
E N D
QuakeWatch SystemCISN Display Client Technology used for Rapid and Reliable “Push” of Earthquake Information to Critical Users July 9, 2003 Paul Friberg, ISTI
QuakeWatch Overview • Design requirements • Server technology • Server details • CISN Display details • Demonstration
General System Design Requirements • Replace the legacy CUBE/REDI system • Rapidly & Reliably push data to end users • Operate on any platform (both client & server) • Use Internet standards (TCP, CORBA, XML) • Push earthquake info & any related data products (expandable protocol) • Scalable server • High-end GIS-based client • Provide an open platform for expansion
Quake Products Quake Data RapidNS Plug-in your Plug-in QDDS Plug-in Message Channel 1 Message Channel 2 Plug-in API Message Channel N QuakeWatch Server Core Client Services (API), XML HTTP CISN clients CORBA XML XML QuakeWatch Server Technology • Written in Java • CORBA IDL for services • CORBA Notification Service for messaging • XML message format • “Plug-in” feeder modules • Scalable architecture • FTP/HTTP for “out of band” product retrieval
CORBA: What is it? • Common Object Request Broker Architecture (distributed component computing) “the glue” • Backed by over 800 companies (See www.omg.org) • Well developed (since 1994) standard middleware technology used by Banking, E-commerce, Aerospace, Communications, and Manufacturing • American Airlines, Raytheon, Boeing, SABRE, Weather Channel, Wells Fargo, Chase Manhattan, Credit Suisse, Bank of America, and AT&T • See www.corba.org for more details.
QuakeWatch CORBA Usage • OpenOrb open-source (See www.openorb.org) • Bi-Directional IIOP (firewall penetrating) • IIOP Standard Internet Protocol • CORBA Interface Definition Language (IDL) • QuakeWatch Server CORBA Services • Login/Authentication • Request missing Event/Product messages • Client/Server versioning information • Alternative Server listing • Client redirect to another server • Messaging using the CORBA Notification Service
CORBA Notification Service • Rapid Push (best effort delivery via TCP) • Middleware software Message Channel • All clients subscribed to Message Channel receive messages. • Server alive messages are sent to clients in addition to Quake related messages. • Message Channels can be distributed. • Unlimited number of Message Channels.
QuakeWatch XML messages <?xml version="1.0" encoding="US-ASCII"?> <!-- QWmessage VERSION 0.06 June 26, 2002 --> <!-- A message for event and product notification --> <!ELEMENT QWmessage (StatusMessage|DataMessage)+ > <!ATTLIST QWmessage MsgNumber CDATA #REQUIRED MsgVersion CDATA #IMPLIED ServerID CDATA #IMPLIED TimeGenerated CDATA #IMPLIED MsgSource CDATA #IMPLIED CreatedSource CDATA #IMPLIED Signature CDATA #IMPLIED> <!-- MsgNumber = ID number for message --> <!-- MsgVersion = version number for message --> <!-- ServerID = ID/revision info for QW server --> <!-- TimeGenerated = when was this message created --> <!-- MsgSource = what server did QWserver receive message from --> <!-- CreatedSource = where did it get built --> <!-- Signature = XML security signature --> <!ELEMENT StatusMessage EMPTY> <!ATTLIST StatusMessage Command CDATA #REQUIRED Value CDATA #IMPLIED> <!-- Command = server to client command (ALIVE, TERMINATING, SECURITY) --> <!-- Value = optional data value for the command --> <!ELEMENT DataMessage (Event|Product)+ > <!ATTLIST DataMessage Action CDATA #REQUIRED TimeReceived CDATA #REQUIRED> <!-- Action = NEW, UPDATE, DELETE --> <!-- TimeReceived = when was this message received at server --> <!ELEMENT Identifier EMPTY> <!ATTLIST Identifier EventIDKey CDATA #REQUIRED DataSource CDATA #REQUIRED Authoritative (Y|N) #IMPLIED Version CDATA #IMPLIED> Continued………….. • XML - eXtensible Markup Language • Standard Internet data distribution format • Changes to messages do not break clients • Events and Products • Clearly defined schema • Document Type Definition
RapidNS Plug-in QDDS Plug-in your Plug-in XML Plug-in API QuakeWatch Server Core Client Services (API), XML QuakeWatch Server “Plug-in” New Data QuakeData • Written in Java • Well defined Application Programmer Interface • QDDS modifications were trivial to make it a plug-in • QWS is an end-user of QDDS not a competitor • XML formatter of event data and products • Data suppliers can provide custom products
QW Server Performance • Latest Beta tests have shown excellent reliability and stability. • QuakeWatch Server uptime 46 days as of July 7 • Running on stock Intel hardware RedHat 9 OS • Tested with 10’s of clients • Tested over numerous Internet connections (dial-up, cable modem, satellite) • Tested behind firewalls/NAT.
Client/Server Services Interaction Connection Requested QWServer Portal Authentication & Referral CISN Display Client QWMessage Channel Internet Connect to Message Channel
Messaging Interaction Message! Message Channel Server Client Internet Fetch additional Content automatically via HTTP/FTP Product Server (Web content, ShakeMap, CIIM Reports etc.)
CISN Display Overview • Replicates CUBE/REDI app. & USGS “Recent Quakes” web • GIS capable via OpenMap • Uses USGS QDM filter • Fully user configurable • Automatic download and display of ShakeMap GIS files • Settable alarms to alert users • Install wizard for easy installation • Firewalls not a problem • Tested under Windows, Mac OS, Linux, and Solaris • Commercial support available
GIS capability with OpenMap • Free Java-based mapping engine from BBN (well supported) • Expandable since it is open-source • Provides input of standard GIS layers (ESRI, MapInfo) • Permits basic GIS operations (e.g. ArcView) • Allows end-user to include any number of possible layers. • Nationwide and global mapping capability.
Current Developments • New server plug-in’s • New client applications (PDA) • End-user authentication mechanism improvements • User documentation
Recap of QuakeWatch System Goals • Earthquake notification system for critical users • Quick • Reliable • Expandable • Easy to install and use • Gateway to earthquake products on the web • Platform for future development and expansion • Entirely open-source system • Replaces legacy CUBE/REDI display systems