150 likes | 393 Views
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).
E N D
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’ • ‘ant release’ will build • ‘edg-spitfire-server’ RPM + tarball • ‘edg-spitfire-config’ RPM + tarball • ‘edg-spitfire-java-client’ RPM + tarball • ‘edg-spitfire-client’ • ‘ant release’ will build • ‘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