You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@atlas.apache.org by Jean-Baptiste Onofré <jb...@nanthrax.net> on 2016/03/31 16:09:26 UTC
[PROPOSAL] Java/Scala API on top of the REST API ?
Hi guys,
I like the Atlas REST API, and the way it's documented.
In some case, to simplify the integration of Atlas in third party
applications, maybe it would be great to provide a Java and Scala APIs
on top of the REST API (wrapping the transport, and adding some
"control" and DataObject/JSON).
For instance, I'm PoCing some shell & Karaf commands to manipulate Atlas
(as we did in Falcon for instance). In that case, even if REST API is
convenient, it's not as straight forward as a turnkey API.
For instance, it's what we did in Syncope: we provide syncope-client on
top of the Syncope REST API.
Thoughts ?
Regards
JB
--
Jean-Baptiste Onofré
jbonofre@apache.org
http://blog.nanthrax.net
Talend - http://www.talend.com
Re: [PROPOSAL] Java/Scala API on top of the REST API ?
Posted by Venkata R Madugundu <ve...@in.ibm.com>.
Here is the Swagger JIRA - https://issues.apache.org/jira/browse/ATLAS-328
By the way, per my last observation, the Atlas REST documentation is a bit
dated. To keep it really upto date, generating a Swagger driven
documentation which builds off the Java REST API definition will always
keep it in sync. For now, to know the exact REST end point, I have only
been consulting the Atlas code (java REST resources like
TypesResource.java, EntityResource.java, MetadataDiscoveryResource.java,
HiveLineageResource.java etc.,)
To see what all clients Swagger can generate, go to
http://editor.swagger.io/#/ and click on the menu "Generate Client" on the
very top. It shows you 30 odd languages in which a client can be generated,
and Java/Scala/Python/Javascript are few among them.
Thanks
Venkat
From: Jean-Baptiste Onofré <jb...@nanthrax.net>
To: dev@atlas.incubator.apache.org
Date: 31/03/16 08:39 PM
Subject: Re: [PROPOSAL] Java/Scala API on top of the REST API ?
Hi Venkata,
tanks, I missed this when taking a look on the code.
I will test the integration then, and I will work on the Swagger
integration. I don't find a Jira about that, should I create one ?
Thanks !
Regards
JB
On 03/31/2016 04:59 PM, Venkata R Madugundu wrote:
> There is an AtlasClient.java which wraps around the REST API if you want
> to take a look at.
> \client\src\main\java\org\apache\atlas\AtlasClient.java
>
> Also take a look at
> \webapp\src\main\java\org\apache\atlas\examples\QuickStart.java to see
> how AtlasClient can be used.
>
> There is a JIRA open for Swagger integration so that one can generate
> typed API bindings to interact with Atlas REST API.
> As Atlas REST is JAX RS compliant, one can actually make Swagger
> generate bindings for different languages (atleast we did
> it for Javascript and Python)
>
> For java based REST calls, we have used google gson for JSON
> serialization/deserialization and Apache HttpClient to dispatch REST
> requests.
>
>
> Inactive hide details for Jean-Baptiste Onofré ---31/03/2016 07:44:31
> PM---Hi guys, I like the Atlas REST API, and the way it'sJean-Baptiste
> Onofré ---31/03/2016 07:44:31 PM---Hi guys, I like the Atlas REST API,
> and the way it's documented.
>
> From: Jean-Baptiste Onofré <jb...@nanthrax.net>
> To: dev@atlas.incubator.apache.org
> Date: 31/03/16 07:44 PM
> Subject: [PROPOSAL] Java/Scala API on top of the REST API ?
>
> ------------------------------------------------------------------------
>
>
>
> Hi guys,
>
> I like the Atlas REST API, and the way it's documented.
>
> In some case, to simplify the integration of Atlas in third party
> applications, maybe it would be great to provide a Java and Scala APIs
> on top of the REST API (wrapping the transport, and adding some
> "control" and DataObject/JSON).
> For instance, I'm PoCing some shell & Karaf commands to manipulate Atlas
> (as we did in Falcon for instance). In that case, even if REST API is
> convenient, it's not as straight forward as a turnkey API.
> For instance, it's what we did in Syncope: we provide syncope-client on
> top of the Syncope REST API.
>
> Thoughts ?
>
> Regards
> JB
> --
> Jean-Baptiste Onofré
> jbonofre@apache.org
> http://blog.nanthrax.net
> Talend - http://www.talend.com
>
>
>
--
Jean-Baptiste Onofré
jbonofre@apache.org
http://blog.nanthrax.net
Talend - http://www.talend.com
Re: [PROPOSAL] Java/Scala API on top of the REST API ?
Posted by Jean-Baptiste Onofré <jb...@nanthrax.net>.
Hi Venkata,
tanks, I missed this when taking a look on the code.
I will test the integration then, and I will work on the Swagger
integration. I don't find a Jira about that, should I create one ?
Thanks !
Regards
JB
On 03/31/2016 04:59 PM, Venkata R Madugundu wrote:
> There is an AtlasClient.java which wraps around the REST API if you want
> to take a look at.
> \client\src\main\java\org\apache\atlas\AtlasClient.java
>
> Also take a look at
> \webapp\src\main\java\org\apache\atlas\examples\QuickStart.java to see
> how AtlasClient can be used.
>
> There is a JIRA open for Swagger integration so that one can generate
> typed API bindings to interact with Atlas REST API.
> As Atlas REST is JAX RS compliant, one can actually make Swagger
> generate bindings for different languages (atleast we did
> it for Javascript and Python)
>
> For java based REST calls, we have used google gson for JSON
> serialization/deserialization and Apache HttpClient to dispatch REST
> requests.
>
>
> Inactive hide details for Jean-Baptiste Onofré ---31/03/2016 07:44:31
> PM---Hi guys, I like the Atlas REST API, and the way it'sJean-Baptiste
> Onofré ---31/03/2016 07:44:31 PM---Hi guys, I like the Atlas REST API,
> and the way it's documented.
>
> From: Jean-Baptiste Onofré <jb...@nanthrax.net>
> To: dev@atlas.incubator.apache.org
> Date: 31/03/16 07:44 PM
> Subject: [PROPOSAL] Java/Scala API on top of the REST API ?
>
> ------------------------------------------------------------------------
>
>
>
> Hi guys,
>
> I like the Atlas REST API, and the way it's documented.
>
> In some case, to simplify the integration of Atlas in third party
> applications, maybe it would be great to provide a Java and Scala APIs
> on top of the REST API (wrapping the transport, and adding some
> "control" and DataObject/JSON).
> For instance, I'm PoCing some shell & Karaf commands to manipulate Atlas
> (as we did in Falcon for instance). In that case, even if REST API is
> convenient, it's not as straight forward as a turnkey API.
> For instance, it's what we did in Syncope: we provide syncope-client on
> top of the Syncope REST API.
>
> Thoughts ?
>
> Regards
> JB
> --
> Jean-Baptiste Onofré
> jbonofre@apache.org
> http://blog.nanthrax.net
> Talend - http://www.talend.com
>
>
>
--
Jean-Baptiste Onofré
jbonofre@apache.org
http://blog.nanthrax.net
Talend - http://www.talend.com
Re: [PROPOSAL] Java/Scala API on top of the REST API ?
Posted by Venkata R Madugundu <ve...@in.ibm.com>.
There is an AtlasClient.java which wraps around the REST API if you want to
take a look at.
\client\src\main\java\org\apache\atlas\AtlasClient.java
Also take a look at \webapp\src\main\java\org\apache\atlas\examples
\QuickStart.java to see how AtlasClient can be used.
There is a JIRA open for Swagger integration so that one can generate typed
API bindings to interact with Atlas REST API.
As Atlas REST is JAX RS compliant, one can actually make Swagger generate
bindings for different languages (atleast we did
it for Javascript and Python)
For java based REST calls, we have used google gson for JSON
serialization/deserialization and Apache HttpClient to dispatch REST
requests.
From: Jean-Baptiste Onofré <jb...@nanthrax.net>
To: dev@atlas.incubator.apache.org
Date: 31/03/16 07:44 PM
Subject: [PROPOSAL] Java/Scala API on top of the REST API ?
Hi guys,
I like the Atlas REST API, and the way it's documented.
In some case, to simplify the integration of Atlas in third party
applications, maybe it would be great to provide a Java and Scala APIs
on top of the REST API (wrapping the transport, and adding some
"control" and DataObject/JSON).
For instance, I'm PoCing some shell & Karaf commands to manipulate Atlas
(as we did in Falcon for instance). In that case, even if REST API is
convenient, it's not as straight forward as a turnkey API.
For instance, it's what we did in Syncope: we provide syncope-client on
top of the Syncope REST API.
Thoughts ?
Regards
JB
--
Jean-Baptiste Onofré
jbonofre@apache.org
http://blog.nanthrax.net
Talend - http://www.talend.com