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

Refactoring the EarthGrid SOAP API to REST style and implementing it to Metacat Serhan Akın Ph.D. candidate in Earth System Sciences Institute of Earth

Embed Size (px)

Citation preview

Page 1: Refactoring the EarthGrid SOAP API to REST style and implementing it to Metacat Serhan Akın Ph.D. candidate in Earth System Sciences Institute of Earth

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 Serhan Akın Ph.D. candidate in Earth System Sciences Institute of Earth

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 Serhan Akın Ph.D. candidate in Earth System Sciences Institute of Earth

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 Serhan Akın Ph.D. candidate in Earth System Sciences Institute of Earth

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 Serhan Akın Ph.D. candidate in Earth System Sciences Institute of Earth

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 Serhan Akın Ph.D. candidate in Earth System Sciences Institute of Earth

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 Serhan Akın Ph.D. candidate in Earth System Sciences Institute of Earth

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 Serhan Akın Ph.D. candidate in Earth System Sciences Institute of Earth

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 Serhan Akın Ph.D. candidate in Earth System Sciences Institute of Earth

Earthgrid API Earthgrid API ImplementationImplementation

9

Data Provider Server

Page 10: Refactoring the EarthGrid SOAP API to REST style and implementing it to Metacat Serhan Akın Ph.D. candidate in Earth System Sciences Institute of Earth

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 Serhan Akın Ph.D. candidate in Earth System Sciences Institute of Earth

VDC API and Earthgrid REST APIVDC API and Earthgrid REST API

Eartgrid API services cover these VDC

APIs

Authentication Service - Authentication API

Authenticated Query/ Get Service -

Authorization API

Put Service - CRUD API

Query / Get Services - Query API

11

Page 12: Refactoring the EarthGrid SOAP API to REST style and implementing it to Metacat Serhan Akın Ph.D. candidate in Earth System Sciences Institute of Earth

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 Serhan Akın Ph.D. candidate in Earth System Sciences Institute of Earth

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 Serhan Akın Ph.D. candidate in Earth System Sciences Institute of Earth

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 Serhan Akın Ph.D. candidate in Earth System Sciences Institute of Earth

Thanks!

15