Versión 1 del API Manager SOFIA2

Con esta nueva release de Sofia2 (la 2.8.0 ya) se incorporan en esta capacidades de API Manager.

Esto permite interactuar con la plataforma a través de APIs REST sin necesidad de manejar los conceptos avanzados de Sofia2 (ontologías, Kps,…), permitiendo además que Sofia2 disponga de un catálogo de APIs REST que permitirá al usuario buscar la información que desea usar para desarrollar sus propias aplicaciones.

El API Manager de Sofia2 permite disponibilizar ontologías como APIs REST y el acceso a ellas a través de un token (por usuario a diferencia de los tokens por KP).

En la interfaz web se dispone ahora de las siguientes opciones:

A través de estas capacidades el propietario de una ontología puede publicar las operaciones sobre una ontología como API REST de forma muy sencilla:

quedando automáticamente registrada su API en el API Manager.

Cada usuario puede gestionar sus APIs (publicar, deprecar,…)

Los usuario pueden buscar APIs publicadas por otros usuarios de forma sencilla

y suscribirse a ellas para usarlas.

El usuario también puede probar las APIs a las que está suscrito a través de un interfaz Web:

Para acceder a las APIS se usa un API Key (X-SOFIA2-APIKey) que se genera para cada usuario y que se pasa por cabecera HTTP en las peticiones.

Versión 1 del API Manager SOFIA2

Un comentario en “Versión 1 del API Manager SOFIA2

  1. Hola,

    el API Manager es muy útil y cómodo, pero cuando se utiliza de forma masiva para la inserción de instancias conviene, si se puede y como es mi caso, insertar más de una instancia por mensaje. El protocolo SSAP sí permite enviar un array de instancias pero, si no estoy equivocado, el API Manager no permite que en el body haya un array de instancias, no?

    Si mando algo así en python:

    “`python
    data = {“WSRAWDATA”:{…}}

    headers = {
    ‘Content-type’: ‘application/json’,
    ‘Accept’: ‘application/json’,
    ‘X-SOFIA2-APIKey’: token
    }
    result = requests.post(url, headers=headers, json=[data,data])
    print(result.text)
    “`

    Obtengo la siguiente salida:

    “`python
    {“@type”:”SSAPBodyReturnMessage”,”data”:null,”version”:”ONE”,”ok”:false,”error”:”javax.validation.ValidationException: {\”level\”:\”error\”,\”schema\”:{\”loadingURI\”:\”#\”,\”pointer\”:\”\”},\”instance\”:{\”pointer\”:\”\”},\”domain\”:\”validation\”,\”keyword\”:\”type\”,\”message\”:\”instance type (array) does not match any allowed primitive type (allowed: [\\\”object\\\”])\”,\”found\”:\”array\”,\”expected\”:[\”object\”]}”,”errorCode”:”PROCESSOR”,”contentType”:null}
    “`
    La instancia que tengo con SOFIA2 soporta 200 mensajes por segundo, por tanto, 200 instancias por segundo. Si se puede mandar más instancias por segundo multiplicaría el número de instancias por segundo que quiero alcanzar (1000).

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s