SDK Java

El SDK en Java es el mas mantenido y más utilizando dentro de la plataforma, dado que todos los desarrollos de canales de la empresa se encuentran en dicho lenguaje.

Configuración

La siguiente configuración describe los parámetros de acceso del SDK.

#ISB SDK Properties
isb.http.url=http://localhost:9091/isb/
#isb.http.url=https://localhost:9091/isb/
isb.http.timeout=60
isb.exception.package=com.sysone.exception

#Authentication parameters
isb.auth.user=USER
isb.auth.password=PASSWORD

El Software Developer Kit de SysOne provee un mecanismo de manejo de excepciones de manera tal que lleguen al canal de manera controlada y entendible por el mismo. Cada recurso expuesto vía REST tiene la posiblidad de capturar excepciones de negocio generadas por los servicios y en caso de queres enviarla al canal como tal deberá seguir el siguiente circuito.

  • Capturar la excepción dentro del recurso. Por ejemplo:
    try {//something} 
        catch (Exception e){
            throw exceptionFactory.create(ExceptionCode.UNKNOWN_EXCEPTION,"Server error.");
            }
  • El servicio “exceptionFactory” obtendrá los detalles de la excepción en el lenguage adecuado, acorde al código provisto por la clase estática “ExceptionCode”.

  • El servicio “exceptionFactory” buscará la descripción en la tabla de modelo denominada SYSTEM_EXCEPTION.

  • Con todos los datos recuperados serializará hacia el canal una excepción controlada con el mensaje recuperado desde la tabla del modelo de datos.
  • Todas las excepciones para que sean claramente identificadas deberán extender de una clase genérica llamada “ISBException”, de esta manera podremos aislar e identificar aquellas provenientes de dicha plataforma.

Para poder compartir las excepciones entre los servicios y el SDK existe un proyecto que contiene a todas ellas “isb-exceptions”. Para que el SDK las pueda lanzar en forma dinámica se deberá configurar en las propiedades el paquete donde se encuentran las mismas.

isb.exception.package=com.sysone.exception

results matching ""

    No results matching ""