Spitfire Overview Gavin McCance
Outline Review of 1.something What’s different in 2.1? Spitfire Components Status
What is it? Lets you use remote relational database (RDBMS) Over WAN Uses Grid certificates for authentication Cool authorization (configurable roles)
What was there before? Release 1.something Based on the XSQL servlet from Oracle Defined a server-side template SQL instruction whose blanks were filled in by the parameter’s from the client’s HTTP request. SELECT LFN FROM REPCAT WHERE PFN={@pfn}
What was there before? This filled-in template was executed on the back-end database (e.g. MySQL) and the resultset returned to the client in some suitable format. Either plain XML Or piped through a XSL transform to turn it into a nice webpage first.
What happened in-between? All the cool security bits factored out Authentication Trustmanager Authorization AuthorizationManager Jwget HTTPClient Repackaging. Immense Spitfire ‘bundle’ unravelled; we don’t ship Java with it now…
New in version 2.something Current release is 2.1.0 Went down web-services road Client API defined for a Remote Procedure Call web service Based on the major SQL operations that you’d like to run against a relational database plus some others for accessing the database meta-data
Three APIs defined SpitfireBase (~DML stuff) Insert, Update, Delete, Select SpitfireAdmin (~DDL stuff) Create, Drop, Modify(alter) SpitfireInfo (basic meta-data) ShowTables, Show ColumnTypes
Web Service Implementation Same as replica web services Apache Axis Running inside Tomcat Exposing the API in a standard WSDL format Client API libraries auto-generated from the WSDL Java JAR and gSOAP C++ static library
Components (available as RPMs) The previous version (XSQL) retained as edg-spitfire-browser Web services version packaged as edg-spitfire-server Common configuration of browser + server for EDG environment edg-spitfire-config Clients packaged as edg-spitfire-client-java and edg-spitfire-client-c++
edg-spitfire-server + client RDBMS Axis RPCHandler Spitfire Server Trustmanager WAN SOAPHandler Authorization Manager Spitfire Axis Client App Servlet engine
edg-spitfire-browser RDBMS XSQL Servlet Trustmanager WAN AuthzServlet Authorization Manager Web Browser Servlet engine
Status v2.1.0 of server + java client made available end of January v2.1.0 of browser available very soon v2.1.0 of C++ client available very soon Documentation is still a bit rough…
In CVS ‘edg-spitfire-server’ ‘edg-spitfire-client’ ‘ant release’ will build ‘edg-spitfire-server’ RPM + tarball ‘edg-spitfire-config’ RPM + tarball ‘edg-spitfire-java-client’ RPM + tarball ‘edg-spitfire-client’ ‘edg-spitfire-client-c++’ RPM + tarball Any others we might like
In CVS ‘edg-spitfire-browser’ ‘ant release’ will build ‘edg-spitfire-browser’ RPM + tarball ‘spitfire’ and ‘edg-spitfire-interface’ are dead modules