R-GMA (Steve Fisher/Bob Byrom) ====== Work in EGEE includes: * Re-engineering R-GMA * Interworking with other information systems and displays Javier: Why mention MonaLisa in particular: Middleton: It's used a lot in the US * Schema coordination (Specifically Service/ServiceStatus/Site) Flexible infrastructure: For each VO, it just looks like a large database. You can publish into many VOs in one operation. Scope: * Information system * Monitoring * Logging (persistent) * Discovery of services * Messaging! Using SQL: Currently use approximately SQL92. Are working on describing exactly what you can use. Mediator: Will be getting some code from OGSADAI which will allow distributed queries. Atm, you can only do joins on tables from the same producer, or just get all information from one table on lots of producers. Three kinds of query: Continuous History (get lots from the past) Latest: Gets what you intuitively think of as being the latest information. This uses the timestamp information on every tuple. Data is not removed when it gets too old, but it no longer figures in Latest Queries. User defines the queries that a Producer supports: all support Continuous. History and Latest are optional. Retention period: For History queries, this is the shortest period after which tuples can be removed from the history tuple store. For Latest queries, On-demand producer: Provides a producer interface to non-relational data sourceds. User has to write their own code to handle SQL. Database Producer: Not the old one Publishes data from an existing database. It handles the fact that other peoples' databases won't have the timestamp tables. For the first example: Creating a Primary Producer ti = terminationInterval - how long after a period of no contact does the producer die hrp = historyRetentionPeriod - how long to keep a history of data lrp = latestRetentionPeriod - how long to keep data for Latest queries. declareTable: declares the tables you're interested in. Secondary producer: This is like an archiver (certainly can be made to look like a secondary producer). For a secondary producer, you don't declare a latestRetentionPeriod, because that will come from the data coming in. Making a query: Latest/history queries will take some arbitary time to execute. Continuous queries will, of course, just continue. When you start a query, you can specify a period between interruptions (or something); however, it will be possible to asynchonously extract all the results so far. Security: Authenticaion implemented Authorisation: based on Views, that is, you assign rights to a VIEW