Top Banner
www.edikt.org [email protected] www.edikt.org [email protected] Enterprise Java Enterprise Java and and Data Services Data Services Designing for Broadly Available Grid Data Access Services
19

Www.edikt.org [email protected] Enterprise Java and Data Services Designing for Broadly Available Grid Data Access Services.

Mar 28, 2015

Download

Documents

Juan Hahn
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Www.edikt.org info@edikt.org Enterprise Java and Data Services Designing for Broadly Available Grid Data Access Services.

www.edikt.org [email protected] www.edikt.org [email protected]

Enterprise JavaEnterprise Javaandand

Data ServicesData Services

Designing for Broadly Available

Grid Data Access Services

Page 2: Www.edikt.org info@edikt.org Enterprise Java and Data Services Designing for Broadly Available Grid Data Access Services.

2

www.edikt.orgwww.edikt.org

ContentsContents

1. Motivation, Issues and Solution

2. Web and Grid Services

3. J2EE and EJBs

4. Eldas

5. Further work and conclusions

Page 3: Www.edikt.org info@edikt.org Enterprise Java and Data Services Designing for Broadly Available Grid Data Access Services.

3

www.edikt.orgwww.edikt.org

MotivationMotivation

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'.'
Page 4: Www.edikt.org info@edikt.org Enterprise Java and Data Services Designing for Broadly Available Grid Data Access Services.

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.
Page 5: Www.edikt.org info@edikt.org Enterprise Java and Data Services Designing for Broadly Available Grid Data Access Services.

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.
Stephen Rutherford
Java ensure machine independence. Modular approach allows dac module, ensuring db independence.
Stephen Rutherford
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.
Page 6: Www.edikt.org info@edikt.org Enterprise Java and Data Services Designing for Broadly Available Grid Data Access Services.

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

Page 7: Www.edikt.org info@edikt.org Enterprise Java and Data Services Designing for Broadly Available Grid Data Access Services.

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.
Page 8: Www.edikt.org info@edikt.org Enterprise Java and Data Services Designing for Broadly Available Grid Data Access Services.

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.
Page 9: Www.edikt.org info@edikt.org Enterprise Java and Data Services Designing for Broadly Available Grid Data Access Services.

9

www.edikt.orgwww.edikt.org

J2EE for Web and Grid ServicesJ2EE for Web and Grid Services

Separate Presentation, Business and Data layers

PresentationLayer

JSP/ Servlets

Data Layer

Typically RDBMS

Application or Business

Layer

Beans, EJB

Scalable, available, reliable, secure, transactional, distributed

(Web Container) (EJB Container) (External Data)

Stephen Rutherford
web pages and user interfaces on the server
Stephen Rutherford
Should contain application and business logic, separate from presentation layer.
Stephen Rutherford
database, typically rdbms -could be XML etc
Page 10: Www.edikt.org info@edikt.org Enterprise Java and Data Services Designing for Broadly Available Grid Data Access Services.

10

www.edikt.orgwww.edikt.org

EJB FeaturesEJB Features

J2EE component for multi-tier, distributed applications– server side– business logic only– EJB container manages system level

services– benefits of component based engineering

Stephen Rutherford
state management, data/object persistence, security, transactional scalability, tried and tested industry-strength robustness
Page 11: Www.edikt.org info@edikt.org Enterprise Java and Data Services Designing for Broadly Available Grid Data Access Services.

11

www.edikt.orgwww.edikt.org

EJBs and Web ServicesEJBs and Web Services

Server Client(command line, browser, GUI)

Data(RDBMS, XML

DB, File System)

Web Container

(e.g. Tomcat)

JAX-RPC

HTTP/SOAP

Web Service

Bean

EJB Container

Session EJB

Entity EJB

Presentation layer

Business layer

Web Services API in presentation layer Business logic in business layer

Client-server objects passed with HTTP/SOAP

Stephen Rutherford
Want to make the point here that the business logic can be moved to the business layer - a considerable part of which can be put in the EJB container.
Page 12: Www.edikt.org info@edikt.org Enterprise Java and Data Services Designing for Broadly Available Grid Data Access Services.

12

www.edikt.orgwww.edikt.org

Grid ServicesGrid Services

GDS Database

GDSF

Client

SOAP / HTTP

Service Creation

API Interactions

crea

te

Stephen Rutherford
Clear correspondence between EJB architecture and behaviour of grid service factories and grid services.
Page 13: Www.edikt.org info@edikt.org Enterprise Java and Data Services Designing for Broadly Available Grid Data Access Services.

13

www.edikt.orgwww.edikt.org

Application Server

EJB Grid ServicesEJB Grid Services

Client

Web Container

JAX-RPC

SOAP

Data

PROXY

EJB Container

EJBGDSFGDS

Data Access Component

Stephen Rutherford
There is minimal functionality in the presentation layer, the majority being in the business layer.
Page 14: Www.edikt.org info@edikt.org Enterprise Java and Data Services Designing for Broadly Available Grid Data Access Services.

14

www.edikt.orgwww.edikt.org

Eldas Design ConsiderationsEldas 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

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
Page 15: Www.edikt.org info@edikt.org Enterprise Java and Data Services Designing for Broadly Available Grid Data Access Services.

15

www.edikt.orgwww.edikt.org

DEMODEMO

Demo– Shows Eldas service created– Query a database in Edinburgh– Display the results

Xml Excel format

Page 16: Www.edikt.org info@edikt.org Enterprise Java and Data Services Designing for Broadly Available Grid Data Access Services.

16

www.edikt.orgwww.edikt.org

e-Science Applications Overviewe-Science Applications Overview

Plug and Play Concept– Clearly defined interfaces

OSAGE

BPS

BinX

Others Eldas

Core Eldas

Bespoke Applications

Stephen Rutherford
BPSBio-Pathway Simulator
Stephen Rutherford
Ontology-Based Species Atlas for Gene Expression
Stephen Rutherford
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.
Page 17: Www.edikt.org info@edikt.org Enterprise Java and Data Services Designing for Broadly Available Grid Data Access Services.

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.
Page 18: Www.edikt.org info@edikt.org Enterprise Java and Data Services Designing for Broadly Available Grid Data Access Services.

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.
Page 19: Www.edikt.org info@edikt.org Enterprise Java and Data Services Designing for Broadly Available Grid Data Access Services.

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.
Stephen Rutherford
Well documented, easy to install, deploy and use.