atlas-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Madhan Neethiraj (JIRA)" <j...@apache.org>
Subject [jira] [Created] (ATLAS-1171) Structured, high-level public APIs
Date Wed, 14 Sep 2016 16:57:20 GMT
Madhan Neethiraj created ATLAS-1171:
---------------------------------------

             Summary: 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


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)

Mime
View raw message