Modernizacion Oracle Forms

Post on 05-Dec-2014

4.606 views 9 download

description

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

Transcript of Modernizacion Oracle Forms

Modernización de Forms

Javier Gea PuertasConsultor Fusion Middelware28-01-2010

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

¿Por qué Modernizar?

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

¿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

¿Opciones para modernizar?

¿Opciones?

• No hacer nada !!!

¿Opciones?

• No hacer nada !!!

• Buscar software standard en el mercado

¿Opciones?

• No hacer nada !!!

• Buscar software standard en el mercado

• Reingeniería

• JAVA mediante framework ADF

¿Opciones?

• No hacer nada !!!

• Buscar software standard en el mercado

• Reingeniería

• JAVA mediante framework ADF• Oracle APEX

¿Opciones?

• No hacer nada !!!

• Buscar software standard en el mercado

• Reingeniería

• JAVA mediante framework ADF• Oracle APEX• .NET

¿Opciones?

• No hacer nada !!!

• Buscar software standard en el mercado

• Reingeniería

• JAVA mediante framework ADF• Oracle APEX• .NET

• Migrar & Integrar

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

Migrar & Integrar¿Cómo?

a

Nuevas funcionalidades Forms 11g

Nuevas funcionalidades

Eventos externos

JavaScript

Soporte Proxy User

Nueva consola OEM

Mejoras PJC

Integración con Reports

ODL

Consola OEM 11g

Opciones de Integración

Definiciones

SOAServicio (Web Service)

BPELADF

JDeveloper

Opciones de Integración

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

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

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

DefinicionesBPEL

?BPEL

Web Service

Java Service

ERPSAP, Oracle, etc.

User Tasks

DatabaseStored Procedures

Portal

J2EE

.NET

DefinicionesBPEL

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.

Opciones de Integración

JavaScript

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

• Llamar JavaScript desde formsoWeb.Javascript_eval ()

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

Integración con clases JAVA

Integración con clases JAVAJava Importer

Integración con clases JAVAJava Importer

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

Consumo de Servicios desde Forms

Identificar el WSDL

Crear un Proxy

Empaquetarlo

Importar desdeForms

¿Cómo?

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?

Integración con Web ServicesForms y SOA

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

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

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

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

Integración con procesos BPELForms y SOA

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

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

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

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

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

Integración con procesos BPELForms y SOA

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

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

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.

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

Integración con procesos BPELForms y SOA

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

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

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

Integración BI-Publisher

PJCs y Java Beans (lado cliente)

Item Bean Area

Get_Custom_Property

Set_Custom_PropertyWHEN-CUSTOM-ITEM-EVENT

(timers, editor HTML, …)

PJCs y Java Beans (lado cliente)Forms y SOA

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

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

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

Eventos externos

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

• When-Event-Raised

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

Conclusiones

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

tu partner tecnológicode confianza

javier.gea@avanttic.com

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

www.avanttic.comblog.avanttic.com