""

Tomcat Actualización de la versión 5 a 6 en BOXI 3 .x: cierre el riesgo de seguridad

Esta publicación le guiará a través de los pasos sobre cómo realizar con éxito la actualización de su Tomcat de la versión 5 a 6 en BOXI 3 .x para eliminar el riesgo producido por un agujero de seguridad. El proceso se realizó en un entorno con Windows Server, SAP BusinessObjects Enterprise XI 3.1 SP3 y Apache Tomcat 5.5. El nuevo Apache Tomcat utilizado fue la versión 6.0. 36.

Resolución y pasos

Todas las instrucciones a continuación utilizan rutas predeterminadas para las instalaciones de SAP BusinessObjects y Tomcat 6 en un sistema Windows donde los archivos se colocan en "C: Archivos de programa"; Usted puede cambiar substituya estas carpetas con sus los propios.

1) Descargue Tomcat 6.0 .x instalador de servicio (Donde la x es la versión que desea).

2) Este paso sólo es necesario si la instalación de SAP BusinessObjects no tiene instalado el Java JDK:

2 a) Descargue la JDK 5.0 Actualización 22.

2 b) Instale el paquete JDK  5.0 Update 22.

3) Ejecute e instale el ejecutable de Tomcat 6.0 .x. Aparecerá la pantalla de bienvenida. Haga clic en Siguiente.

4) Haga clic en "Acepto" en la pantalla Contrato de licencia.

5) Seleccione el tipo de instalación en el cuadro desplegable y haga clic en Siguiente.

6) Introduzca la carpeta de destino donde se instalará Tomcat 6. Haga clic en Siguiente

7) Introduzca el nombre de usuario y la contraseña para iniciar sesión en el administrador y haga clic en Siguiente.

8) Introduzca la ruta mencionada a continuación que señale a JRE suministrada con BOE XI 3.1 (o el JDK en "C: Program FilesJavajdk1. 5.0 _22" que se instaló en el paso 2). Haga clic en Instalar.

9) Desactive la casilla de verificación "Mostrar Léame". Haga clic en Finalizar.

10) Tomcat comenzará ahora. Habrá un icono pequeño en la bandeja del sistema como se muestra a continuación.

Icono de Tomcat en la bandeja del sistema
Icono de Tomcat en la bandeja del sistema

11) En caso de que su sistema sea 64 bit, puede descargar los binarios de bit de Tomcat 6.0 .x 64. Necesita los archivos tomcat.exe y tomcat6.exe.

11 a) Detenga Tomcat y luego sobrescriba los archivos tomcat.exe y tomcat6.exe en el directorio donde instaló Tomcat a "C: Programa FilesApache Software FoundationTomcat 6.0 bin" después de realizar una copia de seguridad de los archivos actuales.

11 b) Inicie el servicio Tomcat nuevamente.

12) Haga clic con el botón derecho en el icono y haga clic en Configurar.

13) Aparecerá la pantalla Propiedades de Apache Tomcat. Haga clic en la pestaña Java.

Pantalla Propiedades de Apache Tomcat
Pantalla Propiedades de Apache Tomcat

14) Añade la ruta de acceso "C: Program FilesBusiness Objectsjavasdklibtools.jar" en el campo Java Classpath después de la entrada existente separada por un punto y coma (;).

15) Añade el valor 1024 (el valor depende de tu RAM) en el campo Mínimo y Máximo de agrupación de memoria.

16) Agregue los siguientes valores en el campo Opciones de Java.

-Dbobj.enterprise.home = C: / Archivos de programa / Business Objects / BusinessObjects Enterprise 12.0 / -Xrs -XX: MaxPermSize = 512 M -Dbusinessobjects.olap.bin = -Dbusinessobjects.olap.stylesheets = C: / Archivos de Programa / Objetos de NegocioOrganización de Inteligencia de Negocios 12.0 / stylesheets / -Djava.awt.headless = true -Daf.configdir = C: / Archivos de Programa / Business Objects / Dashboard and Analytics 12.0

17) Haga clic en Aplicar, OK y reinicie el servicio Tomcat.

18) Abra el archivo config.tomcat6 en el Bloc de notas. Puede ubicarse en la carpeta "C: Program FilesBusiness Objectsdeployment".

19) Descomente la variable "as_service_name".

20) Asigne los siguientes valores a las variables respectivas:

  • As_dir =
  • as_instance = localhost
  • As_service_name = Tomcat6

21) El archivo debería verse así:

##

Utilidad de configuración de Business Objects

##

# as_dir: el directorio de instalación del servidor de aplicaciones

As_dir = C: Archivos de programaApache Software FoundationTomcat 6.0

# As_instance: la instancia del servidor de aplicaciones para implementar en (representa el nombre de una carpeta en el directorio conf / Catalina)

as_instance = localhost

# as_service_name: en windows, el nombre del servicio tomcat cuando tomcat está instalado como un servicio

As_service_name = Tomcat6

# as_service_key: en windows, cuando tomcat está instalado como un servicio, el nombre de la clave donde se almacenan los parámetros de inicio de java

# (generalmente no hay necesidad de tocar esto)

As_service_key = HKLMSOFTWAREApache Software FoundationProcrun 2.0 $ {as_service_name} ParámetrosJava

# As_service_key_value: nombre del valor String donde se almacenan los parámetros de inicio de java, en la clave apuntada por as_service_key

# (generalmente no hay necesidad de tocar esto)

As_service_key_value = Opciones

22) Guarda y cierra el archivo.

23) Abra el archivo tomcat6.xml en el Bloc de notas. Puede ubicarse en la carpeta "C: Program FilesBusiness Objectsdeployment".

24) Asegúrese de que el archivo tenga la ruta correcta al ejecutable Tomcat6. 0 .x. Este es el camino donde se instaló Apache Tomcat.

25) Asigne el valor correcto a la variable respectiva en caso de que no la tenga.

26) Guarda y cierra el archivo.

27) En el directorio "C: Program FilesApache Software FoundationTomcat 6.0 conf" cree una carpeta llamada Catalina. Dentro de la carpeta Catalina cree otra carpeta llamada localhost

"C: Archivos de programaApache Software FoundationTomcat 6.0 confCatalinalocalhost"

28) Abra el símbolo del sistema (siempre como administrador) haciendo clic en Inicio, Ejecutar, escriba "cmd" y haga clic en Aceptar.

29) Cambie el directorio de despliegue dentro de la ruta de instalación de SAP BusinessObjects instalada ("C: Program FilesBusiness Objectsdeployment").

30) Ejecute el comando "wdeploy tomcat6 deployall".

31) Un mensaje BUILD SUCCESSFUL aparecerá una vez que el despliegue de todos los archivos WAR tenga éxito. Si no es así, debe revisar los errores y corregirlos según sea necesario.

32) Apache Tomcat 6.0 .x se implementa y se configura para su uso con SAP BusinessObjects Enterprise XI 3.1 SP3.

33) Ahora puede utilizar la herramienta de administración de Windows Services o la herramienta de configuración de Tomcat para configurar Tomcat para que se inicie automáticamente en el inicio del sistema si lo desea.

Con esta guía sencilla para la actualización debe estar todo listo para su instalación. Esperamos que esto ayude a hacer una transición rápida para sus aplicaciones cerrando el riesgo de seguridad.

Si tiene alguna pregunta o algo que añadir para ayudar a mejorar este post, no dude en dejar sus comentarios.

Administración de dependencias ETL con BusinessObjects Data Services (Parte 1)

¿Está satisfecho con la forma en que actualmente gestiona las dependencias en su ETL? Las dependencias entre trabajos (o partes de trabajos) son un aspecto importante de la gestión de ETL. Se refiere a preguntas como: ¿Desea ejecutar el trabajo B si el trabajo A falló? Imagine que tiene un trabajo C con subtarea 1 (tiempo de ejecución habitual: 3 horas) y subproceso 2 (tiempo de ejecución habitual: 2 minutos). Si el subproceso 1 ha sido satisfactorio y ha fallado el subproceso 2, ¿puede reiniciar el trabajo C sin reiniciar el subproceso 1?

Tan pronto como tenga más de 1 trabajo simple, tendrá que administrar sus dependencias. En este artículo (parte 1 de una serie de artículos sobre el manejo de dependencias de ETL) enumeraré primero algunas de las características que busco en un sistema de administración de dependencia ideal. A continuación, echaré un vistazo a algunas de las posibilidades ofrecidas por SAP Data Services 4. En la parte 2 (mi siguiente post), voy a proponer la arquitectura de un posible sistema de gestión de dependencias. En la parte 3, entraré en los detalles de la implementación en Data Services. Terminaré con la parte 4 diciéndole cómo fue la implementación, y si algunas mejoras son posibles.

El sistema de gestión de dependencias ideal

En este post voy a usar la palabra "proceso" para diseñar una serie de ETL operaciones que tienen un significado juntos. Ejemplo: extraer una tabla de origen, crear una dimensión o actualizar una tabla de hechos. El objetivo aquí es administrar las dependencias entre los procesos: la actualización de una tabla de hechos probablemente sólo debería permitirse si la actualización de las dimensiones correspondientes fue exitosa.

Un sistema de gestión de dependencias debería tener al menos las siguientes características:

  • Ejecutar un proceso sólo si sus prerrequisitos se han ejecutado correctamente
  • Después de un error, ofrezca la opción de volver a ejecutar todos los procesos o sólo los procesos que fallaron
  • Trace el resultado de cada proceso (se ejecutó correctamente, falló, no se ejecutó)
  • Ejecutar dinámicamente procesos dependientes (en vez de estaticamente, es decir, basados ​​en fecha / hora)

Las posibilidades

Vamos a enumerar algunas de las posibilidades ofrecidas por Data Services, con sus respectivos pros y contras.

1) Un trabajo con todos los procesos dentro. Esto es muy fácil de implementar, dinámico en términos de tiempos de ejecución, pero no permite las ejecuciones simultáneas. Lo que es más importante, significa que los fallos tienen que ser gestionados de manera que el fallo de un proceso no detenga todo el trabajo.

2) Un proceso por trabajo, con trabajos programados en momentos específicos. Esto es muy fácil de implementar, permite ejecuciones simultáneas, pero no es lo suficientemente dinámico. Si las duraciones del proceso aumentan con los meses / años, los trabajos pueden superponerse.

3) One main job calling other jobs (for example with execution commands or Web Services).

4) Un proceso por trabajo, todos los trabajos se están programando en momentos específicos, pero la comprobación en una tabla de control si los pre-requisitos funcionaban bien. De lo contrario sólo dormir por algún tiempo antes de comprobar de nuevo.

5) Use the BOE Scheduler to manage jobs based on events (how-to is well described on the SCN). I’ve not tested it yet, but I like this approach.

De forma predeterminada, las dos primeras posibilidades sólo gestionan el lado de "flujo" de la administración de dependencias (después de A, do B). Pero no manejan el lado condicional de la gestión de dependencias (hacer B sólo si A fue exitoso). En ambos casos, una tabla de control actualizada por secuencias de comandos SQL permitiría al ETL comprobar si los procesos de requisito previo se han ejecutado correctamente.

Lo que realmente no me gusta en las soluciones 2 a 5 es el hecho de que es difcil tener una visión general de lo que está pasando. Realmente no se puede navegar dentro de todo el ETL fácilmente. La solución 1 le da este resumen, pero a costa de tener un trabajo potencialmente enorme (sin la posibilidad de que los procesos se ejecuten simultáneamente).

También tenga en cuenta que las soluciones con varios trabajos necesitarán administrar la inicialización de las variables globales.

Lo que echo de menos en todas estas soluciones es un reinicio óptimo del ETL. Si 10 de mis 50 procesos fallaron, y sólo quiero reiniciar estos 10, ¿debo iniciarlos manualmente?

En mi siguiente post de blog voy a proponer una arquitectura que aborda este reinicio óptimo.

Hasta entonces, por favor, hágamelo saber sus pensamientos sobre cómo manejar sus dependencias de ETL. ¿Alguna de las 5 soluciones antes mencionadas? ¿Una mezcla? ¿Algo más? Y lo bien que funciona para usted.

Utilice las bibliotecas SDK de Data Services para construir AWTableMetadata en una aplicación Java

Si tiene una aplicación Java que devuelve una tabla y está planeando utilizarla como fuente de información para SAP Data Services, la mejor manera es devolver una tabla con el mismo tipo de datos que la tabla de plantillas de servicios de datos "AWTableMetadata". Voy a explicar cómo hacerlo fácilmente en este artículo.

First you need to go to the libraries folder inside your SAP BusinessObjects installation (…SAP BusinessObjectsData Serviceslib). From this folder we have to import the following libraries to our Eclipse Java project.

  • Acta_adapter_sdk.jar
  • Acta_broker_client.jar
  • Acta_tool.jar

La forma más fácil es colocar estas bibliotecas dentro de la carpeta de bibliotecas Java ext para que la aplicación lo importe automáticamente. Además, si planea implementar esta aplicación en un servidor, debe colocar esta biblioteca dentro de la carpeta de la biblioteca del servidor.

  • ... .Javajdk1. 7.0 jrelibext
  • ... ..Javajre7libext
  • ... ..SAP BusinessObjectsTomcat6lib

Importe estas bibliotecas dentro del proyecto:

Import com.acta.metadata.AWAttribute;

Import com.acta.metadata.AWColumn;

Import com.acta.metadata.AWTableMetadata;

Una vez que nuestras bibliotecas se importan dentro de nuestro proyecto Java, tenemos que asignar el valor de retorno para la función encargada de construir la tabla como el mismo tipo de datos para la tabla.

Public static AWTableMetadata createAWTable () throws Exception {…]

Entonces estamos listos para construir nuestra mesa. Para hacerlo tenemos que:

  1. Declare la tabla:
    1. AWTableMetadata awTable = new AWTableMetadata () ;
    2. AwTable.setTableName ("......");
  2. Asignar filas y columnas
    1. AWAttribute [] attributes = new AWAttribute [2000] ;
    2. AWColumn [] columns = new AWColumn [2000] ;
  3. Asigne los atributos y las columnas a nuestra tabla:
    1. AwTable.setColumns (columnas);
    2. AwTable.setAttributes (atributos);

Finalmente tenemos que hacer la declaración de retorno como "return awTable".

En conclusión, una vez que tengamos nuestra función hecha podremos comunicar e intercambiar datos con servicios de datos a través de nuestra aplicación en este caso con una tabla y poder utilizar nuestra aplicación como Fuente de Datos.

Si tiene alguna duda o sugerencia, por favor deje un comentario a continuación.

EspañolEnglish