DAIS-WG– Grid Data Service Specification– data: relational dbs; XML dbs; file systems
Eldas (Enterprise Level Data Access Services) commercial quality product:– robust– well documented– easy to use– modular, extensible design
Stephen Rutherford
'Minimally' in so much as this is what is expected from 'commercial quality software'.'
4
www.edikt.orgwww.edikt.org
Problem: Data Access IssuesProblem: Data Access Issues
Additional issues:
1. Machine/Database Independence
2. Dual Compatibility
3. Layered Services
4. Ease of Use
Stephen Rutherford
Additional in so much as this is necessary to ensure take-up of a data access product within the grid community.
Stephen Rutherford
Scientific data is very heterogeneous - different dmbs and file systems. It is also stored on heterogeneous file systems. For take up we must ensure machine and db independence.
Stephen Rutherford
Useful if service is available as both a web and grid service.
Stephen Rutherford
Useful and desirable to build complicated and sophisticated services tailored to specific communities. Want to be able to layer these specific services on top of a core, otherwise we're looking at separate products for separate communities.
Stephen Rutherford
To ensure take-up of a product, it must be as well documented; and easy to install, deploy and use. Otherwise, potential users just won't bother and will look elsewhere.
5
www.edikt.orgwww.edikt.org
Solution: EldasSolution: Eldas
1. Machine/Database Independence
2. Dual Compatibility
3. Layered Services
4. Ease of Use
Stephen Rutherford
Separation of business logic from presentation layer allows invocation using both grid and web services. EJBs facilitate modular separation.
Modular approach, and separation of business logic from presentation layer allows a layered approach to services. There is an Eldas core, upon which more bespoke services can be built with the minimum of effort.
Stephen Rutherford
Eldas is delivering a product above and beyond the software. A large proportion of effort has gone into documentation; and ease of install, deploy and use.
6
www.edikt.orgwww.edikt.org
Web ServicesWeb Services
Web Services– services exposed via platform and language
independent interfaces– interface described using WSDL– communication via SOAP/HTTP
7
www.edikt.orgwww.edikt.org
Web Services and Grid ServicesWeb Services and Grid Services
Web Services
– WSDL interface
– static
– container lifetime
– stateless
Grid Services
– G-WSDL interface
– dynamic
– distinct lifetime
– stateful
Stephen Rutherford
An extension of WSDL (extensible portTypes and SDEs) until such time as extensions are incorporated into WSDL.
8
www.edikt.orgwww.edikt.org
Current J2EE Grid ServicesCurrent J2EE Grid Services
Application Server
Client Web Container
JAX-RPC
GDSF
GDS
SOAPData
(RDBMS, XML
DB, File System)
both presentation and business logic in web container (presentation layer)
Stephen Rutherford
I want to point out that although a J2EE Application Server is being used, all the functionalilty is contained within the presentation layer (in the web container) as opposed to allocating the business logic to the business layer.
Stephen Rutherford
Introduces tight coupling between client-server API and underlying business logic.
9
www.edikt.orgwww.edikt.org
J2EE for Web and Grid ServicesJ2EE for Web and Grid Services
established patterns used throughout– e.g Business Delegate, Data Access Object,
Singleton
GDS is stateful session EJB– one bean per client session– maintains conversational state with client
entity EJBs not used– replaced by DAC
Stephen Rutherford
- business implementation details hidden- business component protected from client- minimises coupling between presentation and business layers- reduces traffic between client and business layer- business layer can handle and tranform exceptions before passing up- allow extension OGSI Service and Skeleton classes (as EJBS cannot do this directly)
projector
15
www.edikt.orgwww.edikt.org
DEMODEMO
Demo– Shows Eldas service created– Query a database in Edinburgh– Display the results
The demarcation between the business and presentation layers allows us to preserve an Eldas core, which can be extended at ease and be used to produce bespoke e-Science applications with the minimum of effort.
Stephen Rutherford
Clearly defined interfaces allow us to include/exclude components with ease.
17
www.edikt.orgwww.edikt.org
Enhanced Data ServicesEnhanced Data Services
ELDAS
DataAnnotation
Service
DataTransform
Service
DB2 DBMySQL DBXindice DB Oracle 9i DB
DataArchiving
Service
DataVersioning
Service
Examples of Enhanced Data Services
Stephen Rutherford
Our experience tells us that scientists in different areas (astronomy, particle physics, bioinformatics) require similar enhanced services.
Stephen Rutherford
Again the componentised extensible approach to Eldas facilitates the production of enhanced data services - with the minimum of effort - on top of the Eldas core.
18
www.edikt.orgwww.edikt.org
BinXBinX
Binary XML Description Language
Eldas
XML JDBC
FileSystem
BinX
Stephen Rutherford
BinX is another product under development at edikt.Specifically it is a library allowing the coupling of a binary file with an XML document which describes the data therein.
Stephen Rutherford
The intention is to incorporate BinX compatibility into Eldas, so that binary date can be accessed just as transparently as XML dbs or rdms.
19
www.edikt.orgwww.edikt.org
SummarySummary
Eldas– commercial quality– machine and data independent– dual compatibility– extensible core allowing bespoke services– easy to use (even our boss managed to install and
use it!)
Future work with e-Science customers– Enhanced Services– BinX
Stephen Rutherford
robust, scalable, well documented, quality assured development procedures
Stephen Rutherford
Java, DAC
Stephen Rutherford
Can be invoked by both Web and Grid Services.
Stephen Rutherford
Modular core. Can extend for specific user-groups with minimum effort.