Uploaded image for project: 'Atlas'
  1. Atlas
  2. ATLAS-1171

Structured, high-level public APIs

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • 0.8-incubating
    • None
    • None

    Description

      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.

      "jsonClass": "org.apache.atlas.typesystem.json.InstanceSerialization$_Reference"
      

      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.

      Attachments

        1. ATLAS-1171.1.patch
          84 kB
          Madhan Neethiraj

        Issue Links

          Activity

            People

              madhan Madhan Neethiraj
              madhan Madhan Neethiraj
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: