190 likes | 353 Views
Enterprise Java and Data Services. Designing for Broadly Available Grid Data Access Services. Contents. Motivation, Issues and Solution Web and Grid Services J2EE and EJBs Eldas Further work and conclusions. Motivation. DAIS-WG Grid Data Service Specification
E N D
Enterprise JavaandData Services Designing for Broadly Available Grid Data Access Services
Contents • Motivation, Issues and Solution • Web and Grid Services • J2EE and EJBs • Eldas • Further work and conclusions
Motivation • 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
Problem: Data Access Issues Additional issues: • Machine/Database Independence • Dual Compatibility • Layered Services • Ease of Use
Solution: Eldas Machine/Database Independence Dual Compatibility Layered Services Ease of Use
Web Services • Web Services • services exposed via platform and language independent interfaces • interface described using WSDL • communication via SOAP/HTTP
Web Services and Grid Services • Web Services • WSDL interface • static • container lifetime • stateless • Grid Services • G-WSDL interface • dynamic • distinct lifetime • stateful
Application Server Client Web Container JAX-RPC Data (RDBMS, XML DB, FileSystem) GDSF SOAP GDS Current J2EE Grid Services • both presentation and business logic in web container (presentation layer)
J2EE for Web and Grid Services • Scalable, available, reliable, secure, transactional, distributed Presentation Layer JSP/ Servlets Data Layer Typically RDBMS Application or Business Layer Beans, EJB (Web Container) (EJB Container) (External Data) • Separate Presentation, Business and Data layers
EJB Features • J2EE component for multi-tier, distributed applications • server side • business logic only • EJB container manages system level services • benefits of component based engineering
Server Client (command line, browser, GUI) Business layer Web Container (e.g. Tomcat) EJB Container HTTP/SOAP JAX-RPC Entity EJB Web Service Data (RDBMS, XML DB, FileSystem) Presentation layer Session EJB Bean EJBs and Web Services • Web Services API in presentation layer • Business logic in business layer • Client-server objects passed with HTTP/SOAP
Grid Services SOAP / HTTP Service Creation API Interactions GDSF Client create Database GDS
EJB Grid Services Application Server Web Container EJB Container EJB GDSF GDS Client JAX-RPC P R O X Y SOAP Data Data Access Component
Eldas Design Considerations • 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
DEMO • Demo • Shows Eldas service created • Query a database in Edinburgh • Display the results • Xml • Excel format
Bespoke Applications OSAGE Eldas Others BPS BinX Core Eldas e-Science Applications Overview • Plug and Play Concept • Clearly defined interfaces
DataVersioningService DataTransformService DataArchivingService Data AnnotationService Enhanced Data Services • Examples of Enhanced Data Services ELDAS Xindice DB MySQL DB DB2 DB Oracle 9i DB
BinX • Binary XML Description Language Eldas BinX XML JDBC File System
Summary • 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