API Connector

improve this page | report issue

Visión general

Las aplicaciones de Mobile Foundation pueden invocar el microservicio o el servicio de fondo de empresa utilizando los adaptadores de Mobile Foundation. La escritura del adaptador requiere comprender la infraestructura del adaptador de Mobile Foundation. Como alternativa, Mobile Foundation facilita llamadas seguras al microservicio o servicio de fondo de empresa sin la participación de adaptadores mediante API Connector de Mobile Foundation. API Connector, como adaptador, garantiza invocaciones seguras basadas en el mecanismo OAuth 2.0 de Mobile Foundation. Con API Connector, el administrador de Mobile Foundation puede configurar y desplegar los detalles del microservicio o servicio de fondo en Mobile Foundation. La configuración desplegada la utiliza el tiempo de ejecución de Mobile Foundation para invocar de forma segura las solicitudes del microservicio o servicio de fondo desde una aplicación móvil.

Ventajas

El uso de API Connector de Mobile Foundation API tiene las ventajas siguientes.

  • Servicio de fondo ligeramente acoplado para su integración con microservicios.
  • Análisis detallado de aplicaciones y API.
  • Integración sin fisuras con los patrones BFF (Backend for Frontend) para las arquitecturas entre canales (web, móviles u otras) con una única capa de microservicios.
  • Ajuste de rendimiento mejorado en canales y servicios de fondo.
  • Menos dependencia en conocimientos tecnológicos del adaptador de Mobile Foundation.
  • Gestión de aplicaciones listas para usar.
  • Tiempo de ejecución ligero.
  • Tiempo de ejecución ligero y escalable sin código de usuario.

Utilización de API Connector

Para utilizar API Connector, debe realizar los dos pasos siguientes.

  • Definir y desplegar la configuración del microservicio o servicio de fondo en el servidor de Mobile Foundation.
  • Modificar la aplicación de cliente para invocar los métodos del microservicio o servicio de fondo mediante la configuración desplegada.

Flujo

Como se muestra en el diagrama, el primer paso es configurar y desplegar el microservicio o servicio de fondo de empresa en el servidor de Mobile Foundation utilizando la API de gestión de administración. El tiempo de ejecución de Mobile Foundation invoca las solicitudes de cliente de forma segura para el microservicio o servicio de fondo de empresa utilizando la configuración desplegada.

El mecanismo de seguridad OAuth basado en Mobile Foundation se asegura de que un cliente de la aplicación legítimo lleve a cabo la invocación. El SDK de cliente de Mobile Foundation y el servidor de autorización de Mobile Foundation oculto, valida la solicitud realizada por la aplicación. El servicio de fondo de empresa se invoca para las validaciones de seguridad correctas.

Flujo de API Connector

Definir y desplegar la configuración de microservicios o servicios de fondo de empresa

Se puede utilizar la API de gestión de administración de Mobile Foundation para configurar y desplegar los detalles del microservicio o servicio de fondo de empresa con el que se ha de conectar la aplicación de cliente. La API de gestión que se utiliza con este fin es,

http://<host>:<port>/mfpadmin/management-apis/2.0/runtimes/mfp/backend-services-config

Están disponibles los métodos siguientes para la API de configuración para gestionar los detalles del servicio de fondo desde Mobile Foundation.

  1. Utilizar POST para desplegar configuraciones del servicio de fondo.
  2. Utilizar GET para recuperar configuraciones del servicio de fondo desplegado.
  3. Utilizar DELETE para suprimir las configuraciones desplegadas previamente.

La API POST toma los detalles de configuración del servicio en formato JSON. La siguiente es la sintaxis JSON de la configuración.

{
"backendServices" : [
    {
        "service": "resorts",
        "baseUrl":"http://mybluemix.net/resorts",
        "auth" : {
            "type" : "basic",
            "credential" : {
                "username" : "user",
                "password" : "pass"
            }
        },
        "ConnectionProperties" : {
            "maxConnetions" : "50",
            "connectionTimeoutInMilliseconds" : "20000",
            "socketTimeoutInMilliseconds" : "20000"
        }
    }
]
}

En las líneas siguientes se describen las claves que se utilizan en JSON.

  1. service: Nombre de servicio lógico para identificar el microservicio o el servicio de fondo de empresa. Debe ser un nombre único para el servicio específico en la lista de servicios que se configura en el servidor de Mobile Foundation utilizando la API de gestión.
  2. baseurl: El URL base del microservicio o servicio de fondo de empresa. Este es el URL completo del microservicio que expone los métodos que puede invocar la aplicación de cliente. El nombre del método lo puede proporcionar la aplicación de cliente.
  3. auth: Los detalles de autenticación que se han de utilizar para acceder al servicio de fondo de empresa.
    • type: Mobile Foundation da soporte a los tres tipos siguientes:
      • ‘basic’ – Autenticación básica junto con la sección ‘credentials’ para configurar el nombre de usuario y la contraseña. Por ejemplo,
         "credential" : {
             "username" : "hello",
             "password" : "hello"
         }
        
      • apikey: Para la autenticación basada en claves de API, se da soporte a una variedad de esquemas diferentes, en función del tipo de política. La siguiente es la sintaxis de apikey.
         "type" : "apikey",
         "credential" : {
             "apikey" : "abcdefg",
             "policy" : "basic",
             "name" : "apikey"
         }
        

        La política puede ser header, query o basic, en función de cómo espera el servicio de fondo que se le presente la clave de API (apikey). El valor de política header enviará apikey en la cabecera de solicitud con el nombre de cabecera que indica name. La política query envía apikey como parámetro de consulta y la política basic envía apikey como autorización básica.

      • mfpauth: En este type, el microservicio se puede beneficiar del mecanismo de seguridad basado en OAuth de Mobile Foundation OAuth. La sección credentials no es necesaria para el tipo mfpauth y no necesita formar parte del JSON de configuración.

      El servicio de fondo puede estar protegido por el ámbito de seguridad, el servidor de autorización y el servidor de autorización de Mobile Foundation. Antes de proporcionar acceso al servicio de fondo, el mecanismo de autorización de Mobile Foundation se asegura de que la solicitud incluya la señal de acceso válida con el ámbito necesario. Cuando el servidor de autorización de Mobile Foundation confirma la validez de la señal de acceso presentada durante la introspección, se concede el acceso al servicio de fondo. Para obtener más detalles acerca de cómo configurar el servicio de fondo para utilizar el servidor de autorización de Mobile Foundation, consulte aquí.

      • extauth: Este tipo se puede utilizar para dar soporte a microservicios de fondo utilizando el servidor de autorización externo o de terceros. El cliente de la aplicación debe pasar la señal de acceso que espera el servicio de fondo como una cabecera especial con el nombre ext-token. API Connector enviará la señal de acceso recibida como parte de la cabecera ext-token desde el cliente de la aplicación como la cabecera Authorization al microservicio de fondo. La sección de credenciales no es necesaria en el caso del tipo extauth y no es necesario que forme parte del JSON de configuración. La introspección de la señal externa y la renovación después de que caduque la señal, la ha de manejar el cliente de la aplicación y el microservicio de fondo. El mecanismo de seguridad de Mobile Foundation para validar el cliente de la aplicación continúa siendo el mismo.
  4. Se puede utilizar ConnectionProperties para configurar los parámetros de conexión entre el servidor de Mobile Foundation y los microservicios de fondo. Estos parámetros son opcionales y si no se proporcionan, se utilizarán los valores predeterminados. La siguiente es la sintaxis para ConnectionProperties.
     "ConnectionProperties" : {
         "maxConnetions" : "50",
         "connectionTimeoutInMilliseconds" : "20000",
         "socketTimeoutInMilliseconds" : "20000"
     }
    

    Los siguientes son los valores predeterminados para los parámetros de conexión individuales.

    • maxConnetions => 20
    • connectionTimeoutInMilliseconds => 30000 (es decir, 30 segundos)
    • socketTimeoutInMilliseconds => 30000 (es decir, 30 segundos)

La siguiente es la sintaxis de los mandatos curl de la API de administración.

  1. POST para desplegar las configuraciones.
     curl -X POST -u admin:admin 'http://<host>:<port>/mfpadmin/management-apis/2.0/runtimes/mfp/backend-services-config' --header 'Content-Type: application/json' --data-binary  @config.json
    

    Donde config.json es el archivo JSON con configuraciones similares a la sintaxis JSON anterior.

  2. GET para capturar las configuraciones existentes.
     curl -X GET -u admin:admin 'http:// <host>:<port>/mfpadmin/management-apis/2.0/runtimes/mfp/backend-services-config'
    
  3. DELETE para eliminar las configuraciones desplegadas.
     curl -X DELETE -u admin:admin 'http:// <host>:<port>/mfpadmin/management-apis/2.0/runtimes/mfp/backend-services-config'
    

Una vez desplegada la configuración del microservicio o del servicio de fondo en Mobile Foundation, puede utilizar el SDK del cliente de Mobile Foundation para invocar el servicio de fondo de empresa. Para obtener más información sobre la API SDK del cliente, consulte aquí.

Inclusive terminology note: The Mobile First Platform team is making changes to support the IBM® initiative to replace racially biased and other discriminatory language in our code and content with more inclusive language. While IBM values the use of inclusive language, terms that are outside of IBM's direct influence are sometimes required for the sake of maintaining user understanding. As other industry leaders join IBM in embracing the use of inclusive language, IBM will continue to update the documentation to reflect those changes.
Last modified on July 07, 2020