Refactoring the EarthGrid SOAP API to REST style and implementing it to Metacat

15
Refactoring the EarthGrid SOAP API Refactoring the EarthGrid SOAP API to REST style and implementing to REST style and implementing it to Metacat it to Metacat Serhan Akın Ph.D. candidate in Earth System Sciences Institute of Earth Sciences Istanbul Technical University Mentors: Matt Jones, Mark Servilla Cyberinfrastructure Summer Internships 2009 1

description

Refactoring the EarthGrid SOAP API to REST style and implementing it to Metacat. Cyberinfrastructure Summer Internships 2009. Serhan Ak ı n Ph.D. candidate in Earth System Sciences Institute of Earth Sciences Istanbul Technical University Mentors: Matt Jones, Mark Servilla. - PowerPoint PPT Presentation

Transcript of Refactoring the EarthGrid SOAP API to REST style and implementing it to Metacat

Page 1: Refactoring the  EarthGrid  SOAP API  to  REST style and  implementing  it to  Metacat

Refactoring the EarthGrid SOAP API Refactoring the EarthGrid SOAP API to REST style and implementing to REST style and implementing

it to Metacatit to Metacat

Serhan AkınPh.D. candidate in Earth System SciencesInstitute of Earth SciencesIstanbul Technical University

Mentors: Matt Jones, Mark Servilla

Cyberinfrastructure Summer Internships 2009

1

Page 2: Refactoring the  EarthGrid  SOAP API  to  REST style and  implementing  it to  Metacat

MotivationMotivationDevelopment of open source eco-informatics

technologies such as Earthgrid API and Metacat which have high value for ecological community by providing flexible and accessible storage systems for data and metadata.

In particular this project will make Earthgrid API more straightforward and so more desirable.

Working with the people who is developing such technologies will be a good step in my academic career.

2

Page 3: Refactoring the  EarthGrid  SOAP API  to  REST style and  implementing  it to  Metacat

Earthgrid API (a.k.a. Earthgrid API (a.k.a. EcogridEcogrid))A SEEK project that allows diverse

environmental data systems to interoperate

◦Provides lightweight interfaces on top of complex data management systems

◦Similar to EML data standardization, need for standard APIs

◦ Integrate diverse data networks from different fields

3

Page 4: Refactoring the  EarthGrid  SOAP API  to  REST style and  implementing  it to  Metacat

Earthgrid APIEarthgrid API

Search metadata and data, return result sets

Retrieve data objects by Identifier

Data object creation and modification

Verify user identity

Provide management on

data object identifiers 4

Page 5: Refactoring the  EarthGrid  SOAP API  to  REST style and  implementing  it to  Metacat

Earthgrid APIEarthgrid APIExisting Earthgrid API is a SOAP

API which means all communications are based on standard XML message envelopes.

Using “RESTful” technology instead of SOAP based will provide some significant benefits.

5

Page 6: Refactoring the  EarthGrid  SOAP API  to  REST style and  implementing  it to  Metacat

REST vs SOAPREST vs SOAPREST stands for Representational

State Transferan "architectural style" that basically

exploits the existing technology and protocols of the Web◦SOAP based web services are often

complex to implement and use, ◦REST style architecture that provides

human readable URLs, easiness to build lightweightness

6

Page 7: Refactoring the  EarthGrid  SOAP API  to  REST style and  implementing  it to  Metacat

RESTful Earthgrid API: RESTful Earthgrid API: Get Get Service ExampleService Example

URL Resource

Data ManagementServer URL

7

Data Object ID

Page 8: Refactoring the  EarthGrid  SOAP API  to  REST style and  implementing  it to  Metacat

Interoperability GainsInteroperability GainsA standard and straightforward

interface to access multiple servers

Hides complexities of underlying systems

Easy to implement and maintain for data providers:◦Apache AXIS tool is needed in

Metacat for the SOAP API.

8

Page 9: Refactoring the  EarthGrid  SOAP API  to  REST style and  implementing  it to  Metacat

Earthgrid API Earthgrid API ImplementationImplementation

9

Data Provider Server

Page 10: Refactoring the  EarthGrid  SOAP API  to  REST style and  implementing  it to  Metacat

Earthgrid API Earthgrid API ImplementationImplementationCompleted implementation of REST

API to Metacat is a prototype to explore its effectiveness

It can be implemented to the other systems like Mercury and Dryad.

It will also be a basis for the first prototypes of VDC REST API which is currently being developed.

10

Page 11: Refactoring the  EarthGrid  SOAP API  to  REST style and  implementing  it to  Metacat

VDC API and Earthgrid REST APIVDC API and Earthgrid REST APIEartgrid API services cover these VDC

APIsAuthentication Service - Authentication API Authenticated Query/ Get Service -

Authorization APIPut Service - CRUD API Query / Get Services - Query API

11

Page 12: Refactoring the  EarthGrid  SOAP API  to  REST style and  implementing  it to  Metacat

VDC API and Earthgrid REST VDC API and Earthgrid REST APIAPIHowever, VDC API has a quite

different server side architecture◦Member / Coordinating nodes◦Server Authentication API◦Replication API◦Capabilities API◦State of Health API

12

Page 13: Refactoring the  EarthGrid  SOAP API  to  REST style and  implementing  it to  Metacat

Future WorksFuture WorksEarthgrid API should be

implemented to the other systems and it should be revised regarding needs for further features.

Also, should be enhanced to cover all VDC API functionalities.

13

Page 14: Refactoring the  EarthGrid  SOAP API  to  REST style and  implementing  it to  Metacat

ConclusionConclusionLearnt code base of Metacat.Gained experience on several

tools such as JUnit, SVN and Apache Axis.

Met with new people developing eco-informatics technologies and benefited from their valuable experiences.

14

Page 15: Refactoring the  EarthGrid  SOAP API  to  REST style and  implementing  it to  Metacat

Thanks!

15