Desarrollo de aplicaciones multiinquilino en la plataforma SAP Cloud en Neo, Parte 1

Nuestra plataforma en la nube de SAP ofrece la capacidad de desarrollar y ejecutar aplicaciones de múltiples inquilinos. Las aplicaciones de múltiples inquilinos le permiten atender por separado a varios clientes de diferentes organizaciones en el marco de una solución provista por el proveedor. Cada cliente se llama inquilino. Accede a la aplicación a través de la URL asignada de un inquilino en particular, de esta manera los usuarios están aislados unos de otros.


En varios artículos cubriremos los siguientes temas:

Parte 1. Multi-inquilinos en el escenario de la plataforma SAP Cloud Descripción general
Parte 2. Cargar la solución MTAR a la plataforma, vincular la base de datos y crear suscripciones para inquilinos, configurar la subcuenta del proveedor
Parte 3. Servicio de persistencia: inicialización y aislamiento de datos
Parte 4. Gestión de autenticación de identidad: configuración del inquilino del servicio
Parte 5. SAP Cloud Connector: configuración y configuración de un servicio para conectarse a un sistema local
Parte 6. Configurar el servicio de conectividad y probar una aplicación multiinquilino
Parte 7. Fiori Launchpad: uso del servicio Portal, configuración de mosaico para la aplicación multiempresa

Nota:

Este artículo utiliza la cuenta global (productiva) de SAP Cloud Platform. Para ejecutar el script, los siguientes servicios deben estar conectados adicionalmente en la cuenta:

  1. Para la subcuenta del proveedor de la aplicación, SAP HANA, SAP Cloud Platform Portal, debe asignarse al menos una cuota para iniciar una aplicación Java (cuota Java);
  2. Para subcuentas de clientes: SAP Cloud Platform Portal, SAP Cloud Platform Identity Authentication.

Parte 1. SCP multi-arrendamiento y revisión de la solución

SAP Cloud Platform es una plataforma para el desarrollo y el lanzamiento de aplicaciones en la nube, incluidas las aplicaciones con muchos inquilinos, por lo que sus servicios admiten la tenencia múltiple.

¿Cree que los clientes estarán contentos si los datos que almacenan en su aplicación SaaS están disponibles para otros clientes? Esta es una clara violación del aislamiento de datos.

Este problema se resuelve proporcionando a cada cliente una identificación de inquilino única. Dado que la aplicación se implementa directamente desde el proveedor, el cliente debe estar suscrito a esta aplicación para obtener acceso a ella. Esto significa que el cliente no necesita copiar la aplicación en su cuenta, solo suscribirse, después de lo cual el cliente recibe una URL especial para un inquilino en particular. Por lo tanto, cuando la aplicación se inicia a través de esta URL dedicada, el usuario se identifica mediante un identificador único de inquilino.

Beneficios de las aplicaciones multiempresa:

  • Menor costo total de propiedad (TCO): al compartir los recursos informáticos y los costos operativos entre los clientes, se reduce el costo total de propiedad de dicha aplicación. Los ahorros de costos aumentan a medida que aumenta el número de clientes atendidos por la aplicación multiinquilino;
  • Eficiencia operativa: las actualizaciones de la aplicación y las correcciones de errores se aplican a todos los inquilinos actualizando la instancia de la aplicación del proveedor;
  • Escalabilidad: Servicio al cliente rápido. Para acceder a la aplicación, el nuevo cliente solo necesita crear una suscripción;
  • Configurabilidad: permite a los clientes configurar su propia reserva de usuarios que pueden usar la aplicación, sus propios servicios de back-end, etc., según lo requiera la aplicación.

Considere la diferencia entre las subcuentas de cliente y proveedor dentro de una cuenta SCP global:



Como se muestra en el diagrama, se implementan dos subcuentas dentro de la cuenta SCP global: la subcuenta del proveedor y la subcuenta del cliente.

La subcuenta del proveedor contiene la lógica empresarial de la aplicación, su interfaz, así como una base de datos que almacena los datos de los clientes aislados unos de otros. Las aplicaciones realmente se ejecutan en esta cuenta.

Como ya se mencionó, el cliente accede a la aplicación suscribiéndose a ella. Tenga en cuenta que las aplicaciones no se copian ni inician dentro de la cuenta de usuario. Dentro de la subcuenta del cliente, es posible agregar configuraciones que se aplican solo a este consumidor. Por ejemplo, puede configurar el proveedor de identidad como un repositorio de usuarios para aplicaciones de plataforma en la nube. O bien, configure rutas de destino que puedan apuntar a servicios internos que se ejecutan en el entorno del cliente (por ejemplo, puede acceder a datos en el sistema local).

Ahora hablemos de la tenencia múltiple en los servicios SCP.

a) Servicio de persistencia

Hay tres formas de lograr la tenencia múltiple en este servicio:



1. Columna separadora. Este método utiliza una columna específica en la tabla para garantizar el aislamiento de datos. En este caso, los usuarios pueden usar el mismo esquema. Pero los datos se distinguen utilizando un identificador de inquilino dedicado para cada cliente. Para garantizar el intercambio de datos en la aplicación, cada instrucción SQL debe incluir un identificador de inquilino.

2. Tabla (s) en un diseño. Este método permite a los clientes de aplicaciones aislar sus datos en una o más tablas de inquilinos específicos. Esto se logra creando una tabla o esquema en la base de datos para cada cliente. El discriminador de la tabla del cliente determina cómo distinguir estas tablas de las tablas de otros clientes. Las tablas pueden estar en el mismo patrón y usar un prefijo o sufijo para distinguirlas; o pueden estar en un esquema separado usando el discriminador de cliente de tabla del esquema.

3. La separación de los esquemas. El aislamiento de los datos del cliente en este caso se logra almacenando tablas en diferentes esquemas.

b) Autenticación de identidad



Identity Authentication es una solución basada en la nube para administrar el ciclo de vida de las aplicaciones SCP y, si es necesario, las aplicaciones locales. Le permite configurar la autenticación, el inicio de sesión único para los usuarios, etc. Cuando se conecta el servicio, el administrador de la cuenta recibe un inquilino, dentro del cual se configura la aplicación y se administra la autorización del usuario. Este servicio proporciona un proveedor de identidad para SCP.

La subcuenta del cliente se configura para un proveedor específico, dentro del cual se definen los usuarios, se configuran los roles y se configura el acceso a la aplicación del proveedor a la que está suscrito el cliente. Los roles se describen en la aplicación del proveedor. Por lo tanto, se logra el aislamiento de los usuarios.

c) conectividad



El cliente puede configurar el acceso a los datos en el sistema local. Con una herramienta como SAP Cloud Connector, puede conectarse de forma segura a una aplicación o sistema local que proporciona ciertos datos. Dentro de su subcuenta, el cliente configura la ruta de destino al sistema local descrito en Cloud Connector. El nombre de la ruta de destino se indica en la aplicación del proveedor; por lo tanto, cuando el cliente accede a la aplicación, los datos del sistema local del cliente se transfieren a la aplicación y se visualizan.

Pasamos a la revisión del escenario, cuya descripción de la implementación ocurrirá en el marco de este artículo.

SAP tiene una empresa asociada confiable que se especializa en brindar soluciones para la industria del petróleo y el gas. Lo llamaremos ITeLO Consulting. Esta compañía utiliza la plataforma SAP Cloud para construir y lanzar sus aplicaciones en la nube. ITeLO Consulting prefiere proporcionar sus aplicaciones como SaaS. En este modelo, el software se proporciona como un servicio y está disponible para los clientes a través de Internet.

La compañía ha desarrollado un panel de monitoreo de contaminación que ayuda a las compañías de petróleo y gas a comparar los niveles de contaminación del aire en una planta y en una ciudad. Esta decisión despertó el interés de algunas compañías de petróleo y gas que desean tomar medidas para prevenir la contaminación.

ABC PetroCorp y XYZ EnergyCorp son dos compañías de petróleo y gas que compran esta solución de ITeLO.

Robert ITE, quien es el arquitecto de este proyecto, trabaja en ITeLO Consulting. La compañía compró un paquete de SAP Cloud Platform con los servicios necesarios para crear esta aplicación. El escenario de Robert es desarrollar una aplicación SaaS multiinquilino y ponerla a disposición de sus clientes: ABC PetroCorp y XYZ EnergyCorp ". Emily es una empleada de TI de ABC PetroCorp. Ella es asignada para trabajar en este proyecto con Robert.

La arquitectura de la solución se presenta a continuación:



La subcuenta del proveedor en este caso será ITeLO Consulting, y las subcuentas de los clientes que se suscriban a la aplicación serán ABC PetroCorp y XYZ EnergyCorp. La configuración dentro de las subcuentas del cliente será similar, por lo tanto, solo consideraremos la configuración para el cliente ABC PetroCorp.

Descripción de la cuenta:

1) ITeLO Consulting: la cuenta del proveedor en la que se ejecutan las aplicaciones de la base de datos, la lógica empresarial y la interfaz de usuario.

Base de datos:

La información sobre la contaminación del aire de cada planta se almacena en la base de datos SAP HANA. Los datos de diferentes clientes se almacenan por separado utilizando la función de aislamiento de inquilinos proporcionada por JPA.

Lógica de negocios:

La lógica empresarial se define en una aplicación Java que se ejecuta en la subcuenta del proveedor. Una instancia de aplicación Java es utilizada por diferentes clientes. Cada usuario se suscribe a esta aplicación Java y recibe una URL única para acceder a la aplicación. Dado que se accede a la aplicación utilizando esta URL, SCP recupera el identificador de inquilino que se utiliza en la lógica de la aplicación.

Interfaz de usuario:

La lógica de la interfaz de usuario se define en la aplicación HTML5 que se ejecuta en la subcuenta del proveedor. Al igual que con una aplicación Java, se ejecuta una instancia de la aplicación HTML5 para diferentes clientes. El acceso del cliente a la aplicación se lleva a cabo utilizando una URL única para acceder a la aplicación.

2) ABC PetroCorp: una subcuenta de cliente en la que se crean suscripciones, se crean configuraciones específicas de un proveedor de identidad (IdP) y se proporciona acceso a servicios locales.

Las aplicaciones Java y HTML5 no se implementan ni copian en esta cuenta.

Gestión de identidad y acceso:

El acceso a la aplicación debe estar restringido a los empleados de ABC PetroCorp. ABC PetroCorp tiene su propio proveedor de autenticación de identidad (autenticación de identidad de SAP), que contiene información sobre los empleados de la empresa (nombre, correo electrónico, organización, función, etc.). Está especialmente configurado para la subcuenta ABC PetroCorp, de modo que solo los empleados pueden acceder a las aplicaciones a las que están suscritos.

Servicios de conectividad:

ABC PetroCorp ha lanzado servicios locales que brindan información sobre sus plantas: el número de empleados en la planta, la ubicación de la planta, etc. Toda esta información debe extraerse de su paisaje y proporcionarse a la aplicación utilizando SAP Cloud Connector.

Parte 2. Cargar la solución MTAR a la plataforma, vincular la base de datos y crear suscripciones para inquilinos, configurar la subcuenta del proveedor

Una aplicación multiinquilino debe estar ejecutándose en la subcuenta del proveedor. Robert de ITeLO Consulting es el administrador de la cuenta y debe completar los siguientes pasos para instalar la aplicación:

  1. Cree un archivo de aplicación que contenga todos sus artefactos;
  2. Descargue el archivo de la aplicación en su cuenta de ITeLO Consulting;
  3. Suscríbase al cliente ABC PetroCorp a la aplicación que se ejecuta en la subcuenta del proveedor;
  4. Establecer la ruta a un servicio abierto que se ejecuta en Internet.

Presets:

  1. Tienes Java 8 instalado;
  2. Eclipse Neon instalado con complementos para SAP CP ;
  3. Eclipse tiene instalado el complemento EGit ;
  4. Descargue y desempaquete la última versión de SAP CP Java Web Tomcat 8 SDK ;
  5. Descargue e instale MTA Archive Builder ;
  6. La base de datos SAP HANA está conectada a la cuenta SCP (para la subcuenta del proveedor);
  7. En la subcuenta del proveedor ITeLO Consulting, se ha asignado una cuota para iniciar aplicaciones Java (al menos una unidad de computación no utilizada, más sobre la asignación de una cuota aquí ).

Nota: no es posible crear varias subcuentas dentro de una cuenta SCP global para una cuenta de prueba (prueba).

Para instalar una aplicación multiétnica, este artículo utilizará una función SCP como "Soluciones" (soluciones de descarga). Alternativamente, puede cargar módulos de aplicación individualmente en la plataforma.

El código fuente de la aplicación Monitoreo de la contaminación se encuentra en GitHub .

Primero, clonamos el proyecto y lo subimos al espacio de trabajo de Eclipse. Después de una instalación exitosa, el proyecto aparecerá en el espacio de trabajo, su estructura se verá así:



La aplicación consta de varios módulos desarrollados utilizando diversas tecnologías. Estos módulos deben instalarse en diferentes entornos de tiempo de ejecución (por ejemplo, Java, HTML5). En lugar de crear y cargar módulos por separado, SCP admite la creación de una sola aplicación que contiene diferentes módulos en un archivo.

Como se muestra en la arquitectura de la aplicación, la lógica empresarial se define en una aplicación Java, y la lógica de la interfaz de usuario se define en una aplicación HTML5. Y ahora, en la persona de Robert, crearemos un archivo de una aplicación (MTA) de múltiples módulos (o multipropósito) para empacar la aplicación en un formato conveniente para descargar en la plataforma.

Para crear un archivo con varios módulos de aplicación, debe descargar "mta.jar" y configurar "MTA Archive Builder" (el enlace a la descripción de la instalación de "MTA Archive Builder" se especifica en el preajuste anterior).

Los módulos de aplicación multipropósito se describen en el archivo descriptor MTA (mta.yaml), este archivo se encuentra en la carpeta raíz del proyecto.



El archivo mta.yaml contiene información sobre los módulos Java y HTML5 que se crearán durante el proceso de compilación de la aplicación. Abra el archivo y vincule la base de datos SAP HANA a la aplicación Java especificando el identificador de la base de datos en el campo id.



Aquí id es el identificador de la base de datos que se ejecuta en la subcuenta del proveedor. Se puede encontrar en el panel de control SCP de la cuenta ITeLO Consulting en Persistencia -> Sistemas de bases de datos.



En nuestro caso, el identificador de la base de datos en "mta.yaml" se indicará de la siguiente manera:



Guardamos los cambios y, abriendo la línea de comando, vamos a la carpeta con el proyecto de monitoreo de contaminación e ingresamos el siguiente comando:

java -jar [  mta.jar] –build-target=NEO build 



Este comando iniciará el proceso de compilación de la aplicación en el archivo MTA.
Después de un ensamblaje exitoso, el archivo de archivo MTA (contaminacionmonitoring.mtar) se generará en la carpeta del proyecto.



El siguiente paso es instalar el archivo MTA (contaminacioncontrol.mtar) en la subcuenta ITeLO Consulting. Esto se puede hacer utilizando la función "Soluciones" que se proporciona en el panel de control de SCP. Para hacer esto, vaya a la pestaña "Soluciones" y haga clic en el botón "Implementar".



En el cuadro de diálogo que aparece, vaya a la ubicación del archivo contaminante monitorización.mtar haciendo clic en el botón Examinar en el campo Archivo MTA y selecciónelo, luego haga clic en Implementar.



Después de descargar con éxito el archivo MTA en el panel de control de la cuenta de ITeLO Consulting, verá lo siguiente:

• En la pestaña “Aplicaciones Java” aparecerá la aplicación Java en ejecución “monitoreo de contaminación”;



• La base de datos se vinculará automáticamente a la aplicación Java. Para verificar, vaya a la aplicación Java y seleccione la pestaña “Configuración” -> “Enlaces de recursos de datos”;



• En la pestaña "Aplicaciones HTML5", aparecerá la aplicación HTML5 "monitorización de contaminación" en ejecución.



Ahora Robert necesita crear una subcuenta llamada ABC Petro Corp para el cliente.

Vaya a su cuenta SCP global y seleccione "Nueva subcuenta" en la pestaña "Subcuentas".



En el cuadro de diálogo que aparece, ingrese el nombre de la subcuenta, seleccione el entorno (Neo) y la región en la que se encuentra la cuenta global y, en consecuencia, la subcuenta del proveedor. Luego haga clic en "Crear".



Ahora aparecerá otra subcuenta en la cuenta global: la subcuenta del cliente.
El siguiente paso es crear una suscripción dentro de la cuenta del cliente de ABC Petro Corp para aplicaciones que se ejecutan en la cuenta del proveedor. Para hacer esto, use el cliente de consola para el entorno Neo. Cómo instalarlo se describe aquí.

En el cliente de consola para Neo, ingrese el siguiente comando:

 neo subscribe –account <<  ABC_PetroCorp>> -application <<  ITeLO_consulting>>:pollutionmonitoring -user << >> -host << >> 

El ID de subcuenta se puede encontrar en la pestaña "Descripción general" -> "Información de subcuenta".



La ID de usuario se indica en la pestaña "Información del usuario", que se encuentra en el menú desplegable en la esquina superior derecha del panel de control de SCP.



Los hosts para todas las regiones del entorno Neo se describen en la documentación .

Para suscribirse a la aplicación HTML5, use el panel de control de SCP. Vamos a la subcuenta del cliente ABC Petro Corp y seleccionamos la pestaña "Suscripciones" -> "Nueva suscripción" (para HTML5).



En el cuadro de diálogo, seleccione la subcuenta del proveedor y la aplicación HTML5 que contiene, luego haga clic en "Guardar".



Ahora el cliente está suscrito a las aplicaciones Java y HTML5 proporcionadas por el proveedor, y esto se muestra en el panel de control de la cuenta de ABC Petro Corp.



Una aplicación para monitorear la contaminación le permite mostrar datos sobre la contaminación de la planta y la ciudad.

Los datos de contaminación de la planta se encuentran en el sistema local del cliente. La información sobre el nivel de contaminación en la ciudad se puede obtener a través del servicio de código abierto, disponible a través de Internet. Tal servicio podría ser OpenAQ. Una aplicación de monitoreo de contaminación puede acceder a este servicio describiendo la ruta de destino en el panel de control de SCP.

ABC Petro Corp y otros clientes potenciales utilizarán este servicio, por lo que la dirección de destino se agregará a la cuenta del proveedor ITeLo Consulting.

Para una aplicación Java, la ruta de destino llamada openaq - api - dest se describe en el archivo web.xml.



Esta ruta de destino se indica en la clase "PollutionDataService" (archivo "PollutionDataService.java").



Una vez completada la búsqueda de la ruta de destino, todas las llamadas del código Java al servicio OpenAQ se inician a través de él.

El archivo "open-api-dest" de la ruta de destino se encuentra dentro de la carpeta "Destinations-Provider" ubicada dentro del proyecto de "control de la contaminación".



Este archivo contiene la URL del servicio OpenAQ.



Esta ruta de destino debe cargarse en la subcuenta del proveedor de ITeLo Consulting. Para hacer esto, vamos a la subcuenta ITeLo Consulting, vamos a la pestaña "Aplicaciones Java" y seleccionamos la aplicación "monitoreo de contaminación".

A continuación, seleccione la pestaña "Configuración" → "Destinos" y haga clic en el botón "Importar destino".



En el cuadro de diálogo que aparece, especifique la ruta al archivo "open-api-dest". Después de eso, la ruta de destino se configurará en el panel de control de SCP. Haga clic en el botón "Guardar". La ruta de destino se verá así en una plataforma en la nube:



Este servicio está disponible a través de https, por lo que debe establecer una conexión segura. Esto se puede hacer utilizando el servicio de "almacenamiento de claves" para SCP. El proyecto de monitoreo de la contaminación, descargado de GitHub, ya tiene archivos con claves: jssecacerts.jks y cacerts.jks. Deben cargarse en la subcuenta del cliente ABC Petro Corp.

Para hacer esto, nuevamente usamos el cliente de consola para el entorno Neo.

En el cliente de consola para Neo, ingrese los siguientes comandos:

 neo upload-keystore –account <<  ABC_PetroCorp>> –user << >> –location <<   jssecacerts.jks>> –host << >> 

 neo upload-keystore –account <<   ABC_PetroCorp >> –user <<   >> –location <<    cacerts.jks>> –host <<   >> 

Estos archivos ("jssecacerts.jks" y "cacerts.jks") se encuentran en la carpeta "Servicios KeyStore" del proyecto "monitoreo de la contaminación".

Parte 3. Servicio de persistencia: inicialización y aislamiento de datos

Varios clientes están interesados ​​en la aplicación de ITeLO Consulting. Esta aplicación multiinquilino debe garantizar que los datos de ABC PetroCorp estén completamente aislados de los datos de otros clientes en la base de datos (por ejemplo, datos de XYZ EnergyCorp). Esto es muy importante para garantizar la seguridad de los datos de clientes y aplicaciones.

Robert de ITeLO Consulting quiere que su aplicación aísle el almacenamiento de datos de sus clientes, y está interesado en cómo se puede lograr esto.

Para lograr el aislamiento de datos, necesitamos determinar el grado de aislamiento, es decir. aislamiento a nivel de tabla (almacenar datos en diferentes tablas en un esquema), a nivel de esquema (almacenar datos de clientes en diferentes esquemas), a nivel de inquilino (almacenar datos de clientes en diferentes inquilinos de bases de datos). SAP Cloud Platform Persistence Service, junto con JPA (Java Persistence API) y EclipseLink, admite la implementación de estos métodos de aislamiento de datos.

Hay tres formas de lograr la tenencia múltiple en el nivel de la base de datos. Examinamos estos métodos en la parte 1.

En la segunda parte, nos centraremos en un método llamado "separador de columna". Será él quien será utilizado por Robert para aislar datos a nivel de base de datos en su decisión.

Usando una columna de separación:

En este enfoque, un esquema de base de datos se distribuye entre todos los usuarios de la aplicación. La identificación del inquilino se puede usar como el valor en la columna delimitador. El fragmento de código se presenta a continuación.



Como paso preparatorio, también inicializamos los datos que se utilizarán en la aplicación de monitoreo de contaminación.

Paso 1: Verifique la descripción de la columna del separador en el código de la aplicación

En esta etapa, veremos cómo se utiliza el modelo de datos de la aplicación para proporcionar multicliente en el nivel de la base de datos.

Para hacer esto, veamos el proyecto descargado de GitHub , que ya está cargado en el espacio de trabajo de Eclipse.

A continuación, veremos algunos archivos de proyecto. Puede hacerlo a través del entorno Eclipse, o descargar el proyecto, descomprimirlo en un lugar conveniente para usted y abrir los archivos por separado. Utilizaremos la segunda opción.

Un proyecto descomprimido es el siguiente:



Accederemos al archivo "BaseObject.java" del proyecto ubicado en la ruta "/pollutionmonitoring/java/src/main/java/com/sap/hana/cloud/samples/pollutionmonitoring/model/BaseObject.java" y lo abriremos usando el editor (por ejemplo, Notepad ++).



En este archivo verificamos la descripción del método de "columna de separación". Así es como se ve:



Ahora pasamos al archivo "web.xml" ubicado a lo largo de la ruta "/pollutionmonitoring/java/src/main/webapp/WEB-INF/web.xml".



Asegúrese de que la fuente de datos (base de datos) esté conectada a la aplicación como una fuente estándar (base de datos predeterminada). En el archivo web.xml, se ve así:



Este ejemplo muestra cómo se implementa la tenencia múltiple en una aplicación de monitoreo de contaminación.

Paso 2: Verifique la configuración del servlet de inicialización de datos

Robert sabe que los clientes de su aplicación necesitarán descargar datos para usarlos. Entonces creó un servlet para inicializar datos que los clientes (como Emily) pueden usar para ingresar datos en una aplicación de monitoreo de contaminación.

En este punto veremos cómo se configura la publicación del servlet de inicialización de datos.

El servlet se describe en el archivo "DataInitializationServlet.java", que se encuentra en el proyecto a lo largo de la ruta "/pollutionmonitoring/java/src/main/java/com/sap/hana/cloud/samples/pollutionmonitoring/api/DataInitializationServlet.java" .



El método de publicación se indica en el archivo "web.xml" ( "/ contaminacioncontrol / java / src / main
/webapp/WEB-INF/web.xml " ).



Abra este archivo y asegúrese de que el servlet para cargar datos en la aplicación de monitoreo de contaminación se haya publicado utilizando la URL "/ initialize". Se ve así:



Paso 3. Usar el servlet para inicializar los datos de contaminación para ABC PetroCorp (cliente)

Emily de ABC PetroCorp puede acceder a la aplicación de monitoreo de contaminación utilizando la suscripción creada.

La aplicación Monitoreo de la contaminación utiliza dos tipos de datos:

Datos de contaminación: leídos de fuentes como API externas, sensores de contaminación, etc.

Los datos de la planta generalmente se leen de los sistemas locales del cliente, como los sistemas ERP.

1) En esta etapa, crearemos datos de contaminación utilizando el servlet de inicialización de datos ubicado en el proyecto. Estos datos se almacenarán en la base de datos de HANA en SAP CP, que está vinculada a la aplicación en la cuenta del proveedor.

2) La aplicación lee los datos de la planta desde el sistema local, es decir, no se almacenan en la base de datos de HANA en SAP CP. Esto se discutirá en la quinta parte del artículo "SAP Cloud Connector - Configuración y configuración del servicio para conectarse al sistema local".

En este punto, cargamos los datos de contaminación en la aplicación "por suscripción". Para esto, se utilizará el servlet "Inicialización de datos", que se encuentra en el proyecto y se puede utilizar para ingresar datos preparados en la base de datos de HANA.

Veamos cómo se ven los datos preparados y cómo se pueden inicializar utilizando el servlet. Para hacer esto, volvemos al archivo "DataInitializationServlet.java", que se encuentra en el proyecto a lo largo de la ruta "/pollutionmonitoring/java/src/main/java/com/sap/hana/cloud/samples/pollutionmonitoring/api/DataInitializationServlet.java" , y ábrelo.

Aquí podemos ver los datos preparados para ABC PetroCorp y otro cliente (XYZ EnergyCorp).



Inicializamos los datos de contaminación para ABC PetroCorp llamando al servlet de inicialización de datos.

Iremos al panel de control de la subcuenta de cliente de ABC PetroCorp. En nuestro caso, la cuenta global se encuentra en la región de Europa (Rot), el acceso se realiza a través de este enlace .



En el panel de control de la subcuenta, vaya a la pestaña "Aplicaciones -> Suscripciones" y seleccione la aplicación Java a la que está suscrito el cliente.



En la pestaña "Descripción general", se indicará la aplicación URL, cópiela.



Abra una nueva ventana del navegador, pegue la URL de la aplicación copiada y agregue “/ initialize? Company = ABC PetroCorp”. Después de eso, se completará la inicialización y los datos deberían aparecer en la pantalla, que se enviarán a la aplicación.


Ahora hemos inicializado los datos de contaminación para ABC PetroCorp en la aplicación de monitoreo de contaminación de ITeLO.

En el próximo artículo, hablaremos sobre la administración de identidades utilizando Autenticación de identidad: configuración del servicio de inquilinos.

Source: https://habr.com/ru/post/es415351/


All Articles