Refactoring the EarthGrid SOAP API to REST style and implementing it to Metacat Serhan Akın Ph.D....
-
Upload
barnaby-wells -
Category
Documents
-
view
232 -
download
3
Transcript of Refactoring the EarthGrid SOAP API to REST style and implementing it to Metacat Serhan Akın Ph.D....
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
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
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
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
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
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
RESTful Earthgrid API: RESTful Earthgrid API: Get Get Service ExampleService Example
URL Resource
Data ManagementServer URL
7
Data Object ID
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
Earthgrid API Earthgrid API ImplementationImplementation
9
Data Provider Server
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
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
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
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
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
Thanks!
15