migraciÓn web
TRANSCRIPT
MIGRACIÓN A WEB
WILSON ESTRADA BERNAL
Ingeniero de sistemas, especialista en Ingeniería del Software de la Universidad del Norte.
Arquitecto de TIC
Migración de forms6i a forms10G
Desarrollo de sistema de información Sophia (Oracle): nómina, contratación, selección, bienestar, recursos humanos
Desarrollo del sistema de información Servicio al Cliente
Migración WEB
CONTENIDO ARQUITECTURA WEB
ADAPTAR APLICACIONES A WEB
USO DE WEBUTIL
TIPS MIGRACIÓN GECELCA
TECNOLOGÍA WEB CON FORMS
INTEGRANDO FORMS Y REPORTS
MANEJO DE REPORTS10G
Migración WEB
LOGISTICA
20 HORAS: 4 SABADOS DE 8:00 AM – 1:00 PM
DESCANSO DE 15 MINUTOS
Migración WEB
ARQUITECTURA WEB
Migración WEB
SITUACIÓN ACTUAL
Migración WEB
Oracle Developer, versiones 3.0, 4.5, 6, 6i, 9i
Arquitectura C/S o Forms&Reports standalone
ARQUITECTURA CLIENTE/SERVIDOR
Migración WEB
En vez de mantener múltiples instalaciones en cada PC
Oracle Forms runtime + Oracle Forms compiled files
ARQUITECTURA FORMS SERVICES
Migración WEB
Es mas fácil administrar una sola instancia Oracle AS10g Forms Services
ORACLE FORMS SERVICES
Es un componente de OAS (Oracle Application Server) que permite al usuario enviar aplicaciones desde Oracle Forms Developer a Internet a través de servicios built-in y optimización. utiliza una arquitectura de tres niveles para desarrollar aplicaciones de bases de datos.
La capa cliente contiene el web browser (navegador) donde se muestran y usan las aplicaciones.
La capa intermedia es el servidor de aplicaciones donde residen la lógica de la aplicación y el software.
El nivel de BD es el servidor de base de datos donde son almacenados los registros
Migración WEB
ARQUITECTURA FORMS SERVICES
Migración WEB
ARQUITECTURA FORMS SERVICES
Migración WEB
SUN JAVA PLUG-IN
Es un plug-in que provee Oracle, en plataforma Windows, que proporciona un alternativo JRE (Java Runtime Environment) capaz de correr un Applet Forms. Este Applet es descargado en la máquina del cliente cuando éste inicia sesión, si aun no se ha hecho.
Migración WEB
BENEFICIOS
Incrementalmente descarga los archivos Java ARchive (JAR files) necesarios para la forma del Cliente, proporcionando un arranque más rápido de la aplicación.
Almacena en caché localmente los archivos JAR, de manera que no necesitan ser descargados de nuevo.
Optimiza el rendimiento de las aplicaciones dentro de una sesión, ya que almacena la información en caché.
Migración WEB
OC4J
OC4J (Oracle Application Server Containers for J2EE) es un ordenador J2EE (Java2 Enterprise Edition) de Oracle, que se ejecuta sobre cualquier Máquina Virtual de Java (JVM), el cual es un intérprete de Java que provee soporte total para aplicaciones J2EE, incluyendo Servlet, Enterprise JavaBeans y Java Server Pages.
Permite probar las aplicaciones en la misma máquina donde se ejecuta Forms Builder, y así no se necesita instalar OAS para realizar esta tarea
Migración WEB
PASOS PROCESO DE EJECUCIÓN
Migración WEB
1. El usuario accesa a la URL donde se encuentra la aplicación de Forms a ejecutar.
2. El servidor HTTP de Oracle ó OC4J recibe una solicitud HTTP desde el navegador del cliente y contacta a Forms Servlet.
3. Forms Servlet crea dinámicamente una página HTML que contiene toda la información para iniciar una sesión de Forms.
4. El servidor HTTP de Oracle ó OC4J descarga un applet genérico para el cliente. El cliente almacena en caché este applet de manera que pueda ejecutar futuras aplicaciones Forms sin volver a descargarlo
PASOS PROCESO DE EJECUCIÓN
Migración WEB
5. El applet del cliente se conecta con Forms Listener Servlet para iniciar la sesión. Forms Listener Servlet inicia una instancia de Forms Runtime Engine en la capa intermedia de Forms Server, y además se encarga de pasar los parámetros que sean incluidos en el archivo HTML.
6. Forms Listener Servlet establece una conexión con Runtime Engine, el cual se conecta con la base de datos, si es necesario, y carga los archivos ejecutables de la aplicación.
PASOS PROCESO DE EJECUCIÓN
Migración WEB
7. El applet de Forms muestra la interfaz de usuario de la aplicación en la ventana principal del navegador web del usuario. Forms Listener Servlet trabajando a través del OC4J o el Servidor HTTP, administra la comunicación entre el applet de Forms y Runtime Engine
POR QUE FORMS & REPORTS SERVICES
Migración WEB
AccesibilidadAccesibilidad
Fácil de mantener
Fácil de mantener
Funciona en internet
Funciona en internet
Llamadas a web Services
Llamadas a web Services
Integración con Java
Integración con Java
Single Sign-On
Single Sign-On
BENEFICIOS DE MIGRAR A 10G
Migración WEB
Integración Posibilidad de integrar todas las aplicaciones en una única infraestructura
Costos Las tareas de administración y mantenimiento del software se realiza en un solo punto y no en cada uno de los clientes. Además reduce drásticamente el trafico de la red.
Productividad Un entorno más amigable para los usuarios y el uso de nuevas funcionalidades
Integración Posibilidad de integración con portales corporativos
Accesibilidad Único requisito para acceso, disponibilidad de un browser en internet
Nuevas características WEB
Arquitectura de Servlet y JSP, llamadas a Web Services, uso de XML, integración con JDeveloper
CONSIDERACIONES
Desarrollo en versiones anteriores a 6i deben ser migrados primero a 6i (ultimo parche)
Desaparece completamente la arquitectura Cliente/Servidor
Interacción con motor de base de datos 8.1.7.4 o superior
Dimensionamiento de los servidores y de las PC de los usuarios
Migración WEB
AMBIENTE LOCAL
Migración WEB
Máquina virtual con la base de datos
Máquina virtual con el cliente
ADAPTAR APLICACIONES A
WEB
Migración WEB
COMO CORRER UNA FORMA
Migración WEB
El usuario ingresa a la URL que apunta a la aplicación desde su navegador
Forms Services genera un archivo HTML que descarga un applet Java (Jinitiator) en la máquina del cliente. Este pequeño applet es capaz de mostrar la interfaz de usuario de cualquier forma, mientras la lógica de la aplicación se ejecuta en la capa intermedia
COMPONENTES DE LA URL
Migración WEB
Protocolo: http Dominio: nombre del pc Puerto para el servidor HTTP o OC4J: 8889 (default
para OC4J). Forms Servlet Alias ó archivo html estático:
/forms/frmservlet Parámetros: esta sección empieza con "?"; los
parámetros se separan con "&". Estos pueden ser especificados en la URL
OPCIONES DE MIGRACIÓN
Migración WEB
Forms Builder
Forms Compiler
Forms Migration Assistant
FORMS BUILDER
Migración WEB
Abrir Forms Compilar el módulo Guardar el módulo Resultado de la compilación instantáneo Es un método lento No detecta características obsoletas, ni
efectúa modificaciones Es uno a uno
FORMS COMPILER
Migración WEB
Este método consiste en crear un archivo
batch o un shell script que ejecute el Forms
Compiler (frmcmp) con el parámetro
upgrade=yes
El resultado de la compilación queda en un fichero de log
Es en forma masiva No detecta características obsoletas, ni
efectúa modificaciones
FORMS COMPILER
Migración WEB
FOR %%f in ( *.fmb ) do frmcmp
userid=dbasf/dbasf@minerva
module=%%f batch=yes module_type=form
compile_all=yes window_state=minimize
FOR %%f in ( *.err ) do if EXIST %%~nf.fmx del %%f
ECHO FINISHED COMPILING
FORMS MIGRATION ASSISTANT
Migración WEB
Cuenta con un asistente gráfico que alerta de las características obsoletas
Realiza los cambios cuando es posible Guarda los FMB en el nuevo formato Interface de línea de comandos
(ifplsqlconv.exe) Se usa antes de compilar en batch o con
Forms Builder, de otra forma no se corregirán las características no soportadas
Adjusting Fonts· Key Mapping· Integrating Oracle Graphics· Calling Reports from Forms· Displaying Images· Displaying Icons
USO DE
WEBUTIL
Migración WEB
Es una utilidad de Oracle Forms que proporciona parte de la funcionalidad del
lado del cliente, utilizando una serie de Java Beans y una API para realizar dichas funciones.
Consta de los siguientes componentes:
Java class (webutil.jar) Forms objects (webutil.obj) PL/SQL library (webutil.pll)
Migración WEB
WEBUTIL
Copiar el archivo create_webutil_db.sql. Conectarse con USUARIO a la Base de Datos y ejecutarlo para crear el paquete WEBUTIL_DB.
Editar el archivo webutil.cfg que se encuentra en el directorio ORACLE_HOME\forms\server
Buscar en el archivo webutil.cfg la definición del parámetro transfer.database.enabled y colocar TRUE. Y el parámetro transfer.appsrv.enabled y colocar TRUE
transfer.database.enabled=TRUE
transfer.appsrv.enabled=TRUE
Migración WEB
CONFIGURACION WEBUTIL EN LA BASE DE DATOS
Salvar el archivo webutil.cfg.
Editar el archivo formsweb.cfg que se encuentra en el directorio ORACLE_HOME\forms\server
Buscar en el archivo formsweb.cfg la definición de la
variable WebUtilErrorMode y cambiar el valor de Alerta por Console, colocando lo siguiente:
WebUtilErrorMode=Console
Para que los mensajes de error, no salgan como alertas, sino que aparezcan en la consola de java en ejecución.
Salvar el archivo formsweb.cfg.
Migración WEB
CONFIGURACION WEBUTIL EN LA BASE DE DATOS
Copiar el archivo create_webutil_db.sql. Conectarse con baninst1 a la Base de Datos y ejecutarlo para crear el paquete WEBUTIL_DB.
Editar el archivo webutil.cfg que se encuentra en el directorio ORACLE_HOME\forms\server
Buscar en el archivo webutil.cfg la definición del parámetro transfer.database.enabled y colocar TRUE. Y el parámetro transfer.appsrv.enabled y colocar TRUE
transfer.database.enabled=TRUE
transfer.appsrv.enabled=TRUE
Salvar el archivo webutil.cfg.
Migración WEB
CONFIGURACION WEBUTIL EN PC DE DESARROLLO
Editar el archivo formsweb.cfg que se encuentra en el directorio ORACLE_HOME\forms\server
Buscar en el archivo formsweb.cfg la definición de la variable WebUtilErrorMode y cambiar el valor de Alerta por Console, colocando lo siguiente:
WebUtilErrorMode=Console
Para que los mensajes de error, no salgan como alertas, sino que aparezcan en la consola de java en ejecución.
Salvar el archivo formsweb.cfg.
Migración WEB
CONFIGURACION WEBUTIL EN PC DE DESARROLLO
Copiar los archivos webutil.olb, webutil.pll, jacob.dll en el directorio ORACLE_HOME\forms\webutil
Desde Forms Builder 10g, compilar la webutil.pll y generar el ejecutable: webutil.plx
Copiar los archivos jacob.jar y jacob.dll en el directorio ORACLE_HOME\forms\java
En el regedit, en el FORMS_BUILDER_CLASSPATH, agregar la ruta y librerías: ORACLE_HOME\forms\java\jacob.jar y ORACLE_HOME\forms\java\frmwebutil.jar
Migración WEB
CONFIGURACION WEBUTIL EN PC DE DESARROLLO
Ejecutar el Oracle Forms 10g Configurar el Aplication Server URL,
escogiendo en el menú Edit, la opción de Preferences; ir a la pestaña Runtime y colocar en el Aplication Server URL lo siguiente:
http://[nombre_del_equipo]:[puerto]/forms/frmservlet?config=webutil
Ejemplo: http://023864-admin-O:8889/forms/frmservlet?config=webutil
Migración WEB
CONFIGURACION WEBUTIL EN LAS FORMAS
Abrir la forma que utilizará la webutil
Agregue la librería webutil.pll a la Forma
Migración WEB
CONFIGURACION WEBUTIL EN LAS FORMAS
Migración WEB
CONFIGURACION WEBUTIL EN LAS FORMAS
Abrir desde Forms Builder la webutil.olb para arrastrar el objeto WEBUTIL a la forma
Hacer dobleclick para ver los WebUtil Objects
Migración WEB
CONFIGURACION WEBUTIL EN LAS FORMAS
Arrastrar el objeto WEBUTIL a la Forma y hacer click en el botón Copy
Migración WEB
CONFIGURACION WEBUTIL EN LAS FORMAS
Se copian en la forma los componentes del objeto webutil
Migración WEB
INTERACTUANDO CON EL CLIENTE
Forms Built-ins and
Packages
GET_FILE_NAME
READ_IMAGE_FILE
WRITE_IMAGE_FILE
TEXT_IO
HOST
OLE2
TOOL_ENV
WebUtil Equivalents
CLIENT_GET_FILE_NAME
CLIENT_IMAGE.READ
(WRITE)_IMAGE_FILE
CLIENT_TEXT_IO
CLIENT_HOST
CLIENT_OLE2
CLIENT_TOOL_ENV
Migración WEB
CLIENT_GET_FILE_NAME
DECLARE filename VARCHAR2(500);
BEGIN filename := CLIENT_GET_FILE_NAME('C:\Hoja de Vida\Fotos', :criterio.nombfoto, 'JPG Archivos (*.JPG)|*.JPG| Todos Archivos (*.*) |*.*|', 'Archivo de Factura', OPEN_FILE);
Migración WEB
CLIENT_IMAGEN.READ
PROCEDURE GUARDAR_IMAGEN IS
BEGIN CLIENT_IMAGE.READ_IMAGE_FILE(:criterio.nombfoto , 'JPG', 'sagh001t.fotoempl');
END;
Migración WEB
CLIENT_TEXT_IO
CLIENT_TEXT_IO.FILE_TYPE
CLIENT_TEXT_IO.FOPEN
CLIENT_TEXT_IO.PUT_LINE
CLIENT_TEXT_IO.FCLOSE
Migración WEB
CLIENT_HOST
CLIENT_HOST('rename '||filename||' '||'C:\Hoja de Vida\Fotos\'|| substr(:sagh001t.nombres1,1,1)||substr(:sagh001t.apellid1,1,5)||'.jpg', NO_SCREEN);
Migración WEB
CLIENT_OLE2
CLIENT_OLE2.OBJ_TYPE
CLIENT_OLE2.LIST_TYPE
CLIENT_OLE2.CREATE_OBJ
CLIENT_OLE2.SET_PROPERTY
CLIENT_OLE2.GET_OBJ_PROPERTY
CLIENT_OLE2.INVOKE_OBJ
Migración WEB
CLIENT_TOOL_ENV
CLIENT_TOOL_ENV.GETVAR(:control.env_var, :control.env_value);
INTEGRANDO FORMS Y REPORTS
Migración WEB