Modernizacion Oracle Forms

63
Modernización de Forms Javier Gea Puertas Consultor Fusion Middelware 28-01-2010

description

Modernización de Forms. Oracle Forms Fusion middleware 11g

Transcript of Modernizacion Oracle Forms

Page 1: Modernizacion Oracle Forms

Modernización de Forms

Javier Gea PuertasConsultor Fusion Middelware28-01-2010

Page 2: Modernizacion Oracle Forms

Agenda

• ¿Por qué Modernizar?

• ¿Opciones para Modernizar?• Opciones• Nuestra Recomendación y la de• ¿Cómo hacerlo?

• Nuevas funcionalidades Forms 11g

• Opciones de Integración (WS, BPEL, BI-Publisher)

• Conclusiones

Page 3: Modernizacion Oracle Forms

¿Por qué Modernizar?

Page 4: Modernizacion Oracle Forms

¿Por qué Modernizar?Cubrir las necesidades crecientes de mi organización

Page 5: Modernizacion Oracle Forms

¿Por qué Modernizar?

Oracle Forms 6i

ODS/OAS 10g R1 (9.0.4)

Extended Support

iDS/iAS (9.0.2) Extended Support

ODS/OAS 10g R2 (10.1.2)

Extended Support

Extended Support

OFM F&R 11gExtended Support

Entorno Soportado

Page 6: Modernizacion Oracle Forms

¿Opciones para modernizar?

Page 7: Modernizacion Oracle Forms

¿Opciones?

• No hacer nada !!!

Page 8: Modernizacion Oracle Forms

¿Opciones?

• No hacer nada !!!

• Buscar software standard en el mercado

Page 9: Modernizacion Oracle Forms

¿Opciones?

• No hacer nada !!!

• Buscar software standard en el mercado

• Reingeniería

• JAVA mediante framework ADF

Page 10: Modernizacion Oracle Forms

¿Opciones?

• No hacer nada !!!

• Buscar software standard en el mercado

• Reingeniería

• JAVA mediante framework ADF• Oracle APEX

Page 11: Modernizacion Oracle Forms

¿Opciones?

• No hacer nada !!!

• Buscar software standard en el mercado

• Reingeniería

• JAVA mediante framework ADF• Oracle APEX• .NET

Page 12: Modernizacion Oracle Forms

¿Opciones?

• No hacer nada !!!

• Buscar software standard en el mercado

• Reingeniería

• JAVA mediante framework ADF• Oracle APEX• .NET

• Migrar & Integrar

Page 13: Modernizacion Oracle Forms

Migrar & Integrar

• Rentabilizar inversión inicial

• Contener el coste

• Minimizar riesgos

• Moderar duración del proyecto

• Suavizar impacto en la organización

• Beneficiarse de funcionalidades que aporta Weblogic Server 11g

Beneficios

Page 14: Modernizacion Oracle Forms

Migrar & Integrar¿Cómo?

Page 15: Modernizacion Oracle Forms

a

Nuevas funcionalidades Forms 11g

Page 16: Modernizacion Oracle Forms

Nuevas funcionalidades

Eventos externos

JavaScript

Soporte Proxy User

Nueva consola OEM

Mejoras PJC

Integración con Reports

ODL

Page 17: Modernizacion Oracle Forms

Consola OEM 11g

Page 18: Modernizacion Oracle Forms

Opciones de Integración

Page 19: Modernizacion Oracle Forms

Definiciones

SOAServicio (Web Service)

BPELADF

JDeveloper

Opciones de Integración

Page 20: Modernizacion Oracle Forms

Situación actual de las TI

ScreenScrape

ScreenScrape

ScreenScrape

ScreenScrape

Cola deMensajes

Cola deMensajes

Cola deMensajes

DownloadFile

DownloadFile

DownloadFile

TransactionFile

TransactionFile

TransactionFile

ORB

ORB

CICS Gateway

CICS Gateway

APPC

APPCRPC

RPC

TransactionFile

Sockets

Sockets

Mensaje

Mensaje

Aplicación

Aplicación

Aplicación

Aplicación

Aplicación

Aplicación

Aplicación

Aplicación

Aplicación

Aplicación

Page 21: Modernizacion Oracle Forms

Definiciones

• Permite que funciones de negocio separadas, implementadas por sistemas autónomos, interoperen para ejecutar procesos de negocio

• Arquitectura software basada en servicios

SOA (Service-Oriented Architecture)

Flexibilidad

Reutilización

Escalabilidad

Interoperabilidad

Bajo Acoplamiento

Page 22: Modernizacion Oracle Forms

Definiciones

• Forma de distribuir nuestra lógica de negocio en nuestra intranet, extranet o internet

• Al ser desplegados en la web estamos hablando de Webservices (WS)

Servicio

Page 23: Modernizacion Oracle Forms

DefinicionesBPEL

?BPEL

Web Service

Java Service

ERPSAP, Oracle, etc.

User Tasks

DatabaseStored Procedures

Portal

J2EE

.NET

Page 24: Modernizacion Oracle Forms

DefinicionesBPEL

Page 25: Modernizacion Oracle Forms

Definiciones

• Oracle ADF (Application Development Framework)• Framework JAVA para la creación de aplicaciones empresariales basado en la

arquitectura MVC• Se apoya en estándares• Se basa en una arquitectura WEB pura sin necesidad de ejecución de plugins• AJAX para mejorar el rendimiento y la usabilidad• Soporte a cualquier versión de navegador y de SO• Incorpora una paleta de componentes rica (tablas pivotantes, árboles, mapas, etc.)• Si se dispone de Oracle WebLogic Server no es necesario licenciamiento adicional

• JDeveloper• IDE que simplifica el desarrollo SOA, JAVA y aplicaciones empresariales a través de

lenguajes ADF, JAVA, HTML, JavaScript, UML, XML, BPEL, etc.

Page 26: Modernizacion Oracle Forms

Opciones de Integración

Page 27: Modernizacion Oracle Forms

JavaScript

• JavaScript puede lanzar eventos de FormsoWhen-Custom-JavaScript-Event

• Llamar JavaScript desde formsoWeb.Javascript_eval ()

Page 28: Modernizacion Oracle Forms

JavaScript

• Formulario HTML con código JavaScript y un formulario (.fmb) embebido

• Comunicación bidireccional entre JavaScript y Oracle forms

• Cada una de las demos, “llamada WS” y “llamada PJC” lanzan un evento en el .fmb que hace un simple go_block

• Al finalizar cada una de las demos, .fmb ejecuta código JavaScript que muestra un resultado en el lado HTML

Page 29: Modernizacion Oracle Forms

Integración con clases JAVA

Page 30: Modernizacion Oracle Forms

Integración con clases JAVAJava Importer

Page 31: Modernizacion Oracle Forms

Integración con clases JAVAJava Importer

Page 32: Modernizacion Oracle Forms

Forms y Servicios

• Consumo de servicios• Web Services• Procesos BPEL

• Publicar lógica de negocio utilizada en Forms como servicios• Consumir desde forms• Ejecución desde otras aplicaciones• Orquestación con BPEL

Page 33: Modernizacion Oracle Forms

Consumo de Servicios desde Forms

Identificar el WSDL

Crear un Proxy

Empaquetarlo

Importar desdeForms

¿Cómo?

Page 34: Modernizacion Oracle Forms

Publicación de la lógica propia de forms

• Opciones• Reingeniería del código• Mover a la Base de Datos• Publicar código PL/SQL como un WS

¿Cómo?

Page 35: Modernizacion Oracle Forms

Integración con Web ServicesForms y SOA

Page 36: Modernizacion Oracle Forms

Integración con Web ServicesForms y SOA

• Al seleccionar demo “Llamada a un WS”, JavaScript lanza un evento en el .fmb

• El .fmb recibe evento y hace un go_block

• WS1. Consume un WS público que nos devuelve la temperatura de la ciudad seleccionada. http://www.webservicex.net/WCF/ServiceDetails.aspx?SID=48

• WS2. Consume WS público que devuelve el tiempo que hace en una población de EEUU. http://www.deeptraining.com/webservices/weather.asmx?op=GetWeather

Page 37: Modernizacion Oracle Forms

Integración con Web ServicesForms y SOA

• Llamada WS2

• El .fmb consume WS público a través de un proxy hecho con Jdeveloper el cual nos devuelve el tiempo que hace en la ciudad de TOPECA

• El .fmb recibe el valor “rain” y lo envía a la parte HTML.

• El lado HTML muestra la imagen de “lluvia” mediante JavaScript

Page 38: Modernizacion Oracle Forms

Integración con Web ServicesForms y SOA

• Llamada WS2

• En este caso se consume el WS para conocer el tiempo que hace en la ciudad de OLYMPIA

• El .fmb recibe el valor “sunny” y lo envía a la parte HTML.

• El lado HTML muestra la imagen de “soleado” mediante JavaScript

Page 39: Modernizacion Oracle Forms

Integración con Web ServicesForms y SOA

• Llamada WS2

• En este caso se consume el WS para conocer el tiempo que hace en la ciudad de DENVER

• El .fmb recibe el valor “partly cloudy” y lo envía a la parte HTML.

• El lado HTML muestra la imagen de “nublado” mediante JavaScript

Page 40: Modernizacion Oracle Forms

Integración con procesos BPELForms y SOA

Page 41: Modernizacion Oracle Forms

Integración con procesos BPELForms y SOA

• Ejemplo de Tienda Online

• Interfaz de usuario desarrollada en Oracle forms

• Usuario selecciona artículos a comprar y aplicación Oracle Forms inicia proceso de compra

• El proceso de compra es orquestado mediante proceso BPEL y desplegado en Oracle Weblogic Server como un WebService

Page 42: Modernizacion Oracle Forms

Integración con procesos BPELForms y SOA

• Interfaz de usuario totalmente Oracle forms nos guía a través de la compra online

• Se añaden artículos al carrito de la compra

Page 43: Modernizacion Oracle Forms

Integración con procesos BPELForms y SOA

• Una vez finalizado el pedido, desde este .fmb se inicia el proceso de compra

• Concretamente desde el botón “Place Order” se inicia el proceso BPEL mediante el consumo de un WS

Page 44: Modernizacion Oracle Forms

Integración con procesos BPELForms y SOA

• BPEL del flujo de negocio que gestiona un pedido una vez el usuario lo ha configurado desde la aplicación Oracle Forms

• El proceso ha acaba con una confirmación automática o manual

• La regla de negocio que decide si la aprobación es automática o manual depende del tipo de cliente que realiza el pedido y del importe del mismo

Page 45: Modernizacion Oracle Forms

Integración con procesos BPELForms y SOA

• Desde la consola de BPEL Control (forma parte de la SOA Suite de Oracle) se puede monitorizar el estado de los procesos de compra realizados

• Cada línea indica un inicio de compra realizado desde la aplicación Oracle Forms

• Las líneas con estado OK ya han sido aprobadas

• Las líneas con estado pendiente han de ser aprobadas de forma manual por un usuario/supervisor

Page 46: Modernizacion Oracle Forms

Integración con procesos BPELForms y SOA

• Desde la consola de BPEL Control filtramos los procesos de compra con estado pendiente de aprobación

Page 47: Modernizacion Oracle Forms

Integración con procesos BPELForms y SOA

• Desde la consola BPM Worklist (componente de la SOA Suite de Oracle) se puede interactuar con los procesos pendientes

• En nuestro ejemplo podemos cambiar el estado del proceso a aprobado o rechazado

Page 48: Modernizacion Oracle Forms

Integración con procesos BPELForms y SOA

• Desde la consola BPM Worklist podemos ver el detalle de un proceso de compra

• Usuario que lo realiza• Artículos y cantidad• Importe• etc.

Page 49: Modernizacion Oracle Forms

Integración con procesos BPELForms y SOA

• El usuario, desde la consola de BPM Worklist cambia el estado a aprobado de uno de los procesos de compra

Page 50: Modernizacion Oracle Forms

Integración con procesos BPELForms y SOA

• Después del cambio de estado, sólo resta un proceso de compra pendiente de aprobar

Page 51: Modernizacion Oracle Forms

Integración con procesos BPELForms y SOA

• El WSDL que nos ha facilitado el publicador del servicio y que hemos utilizado para crear el proxy desde el Jdeveloper

Page 52: Modernizacion Oracle Forms

Integración con procesos BPELForms y SOA

• Utilización desde el .fmb de la clase Java proxy que se encarga de la comunicación con el WS

Page 53: Modernizacion Oracle Forms

Integración BI-Publisher

Page 54: Modernizacion Oracle Forms

PJCs y Java Beans (lado cliente)

Item Bean Area

Get_Custom_Property

Set_Custom_PropertyWHEN-CUSTOM-ITEM-EVENT

(timers, editor HTML, …)

Page 55: Modernizacion Oracle Forms

PJCs y Java Beans (lado cliente)Forms y SOA

Page 56: Modernizacion Oracle Forms

PJCs y Java Beans (lado cliente)Forms y SOA

• Al seleccionar demo “Llamada PJC”, JavaScript lanza un evento en el .fmb para mostrarnos los campos necesarios para la demo

• El .fmb recibe evento y hace go_block

• Al hacer click sobre el botón del .fmb “Calculadora” se cambia propiedad de la clase calculadora JAVA (awt) para que se haga visible la calculadora

Page 57: Modernizacion Oracle Forms

PJCs y Java Beans (lado cliente)Forms y SOA

• El usuario opera directamente sobre la calculadora desarrollada totalmente en JAVA

• Cuando finaliza de operar el usuario pulsa el botón de la calculadora “Get Value”

• El “Get Value” lanza evento en el .fmb y éste recoge el valor recibido como parámetro

Page 58: Modernizacion Oracle Forms

PJCs y Java Beans (lado cliente)Forms y SOA

• El .fmb muestra el resultado de la operación en un item

• El .fmb envía a la parte HTML el resultado

• El lado HTML mediante un JavaScript muestra el resultado

Page 59: Modernizacion Oracle Forms

Eventos externos

• Forms recibe “comunicaciones” desde eventos asíncronosoNombre de eventoo Tipoo Alcance

• When-Event-Raised

Page 60: Modernizacion Oracle Forms

OraFormsFaces

• Componentes para integración de Forms y JSF (capa de presentación)

• Mayor productividad en el desarrollo

• Creado por Wilfred van der Deijl

• Integrada en Jdeveloper

• Desplegable en Oracle Weblogic Server

• Licenciamiento adicional

Page 61: Modernizacion Oracle Forms

Conclusiones

Page 62: Modernizacion Oracle Forms

Conclusiones

• Extended support hasta 2017 y Sustaining Support no tiene fecha

• Oracle no tiene planes ni intención de “eliminar” Forms & Reports

Continuidad para Oracle forms & Reports

Nuestra recomendación

• Migración & Integración• Nuevos desarrollos con ADF

Page 63: Modernizacion Oracle Forms

tu partner tecnológicode confianza

[email protected]

Aragó 182, 3º 4ª, 08011 BarcelonaTeléfono 93 151 84 51

www.avanttic.comblog.avanttic.com