You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@atlas.apache.org by "David Radley (JIRA)" <ji...@apache.org> on 2016/09/15 13:20:20 UTC

[jira] [Comment Edited] (ATLAS-1171) Structured, high-level public APIs

    [ https://issues.apache.org/jira/browse/ATLAS-1171?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15493293#comment-15493293 ] 

David Radley edited comment on ATLAS-1171 at 9/15/16 1:19 PM:
--------------------------------------------------------------

I wonder if you could include ATLAS-1054 in this Jira 


was (Author: davidrad):
I wonder if you are addressing ATLAS-1054 in this fix. 

> Structured, high-level public APIs
> ----------------------------------
>
>                 Key: ATLAS-1171
>                 URL: https://issues.apache.org/jira/browse/ATLAS-1171
>             Project: Atlas
>          Issue Type: Bug
>            Reporter: Madhan Neethiraj
>            Assignee: Madhan Neethiraj
>         Attachments: ATLAS-1171.1.patch
>
>
> Many Atlas APIs use opaque JSON strings (or HTTP request/response contents that are not defined in the interface) to pass details of types/entities - for example here are some APIs:
>  - TypesResource.submit(HttpServletRequest request)
>  - TypesResource.update(HttpServletRequest request)
>  - Response getDefinition(HttpServletRequest request, String typeName)
>  - Response.getTypesByFilter(HttpServletRequest request, String typeCategory, String superType, String notSuperType)
>  - EntityResource.submit(HttpServletRequest request)
>  - EntityResource.updateEntities(HttpServletRequest request)
>  - Response LineageResource.inputsGraph(String guid)
>  - Response LineageResource.outputsGraph(String guid)
>  - Response LineageResource.schema(String guid)
>  - ..
> Also, some APIs expose unnecessary details in the interface, like the one shown below. These look like implementation details which is better not exposed in the interface.
> {code}
> "jsonClass": "org.apache.atlas.typesystem.json.InstanceSerialization$_Reference"
> {code}
> A structured API, with explicit details of the parameters and return value contents, would make it easier to understand the Atlas APIs and create applications that use Atlas services.
> I will shortly add a patch that shows the first-cut of this API. Please review and provide your feedback. The initial patch does not include bunch of APIs - like lineage, search, REST, Java API, etc; but it should give a pretty good idea of the data-structures that will be used in the APIs.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)