Modernizacion Oracle Forms

0 views
3,674 views

Published on

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

Published in: Technology, Business
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
0
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
210
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Modernizacion Oracle Forms

  1. 1. Modernización de Forms Javier Gea Puertas Consultor Fusion Middelware 28-01-2010
  2. 2. 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
  3. 3. ¿Por qué Modernizar?
  4. 4. ¿Por qué Modernizar? Cubrir las necesidades crecientes de mi organización
  5. 5. ¿Por qué Modernizar? Entorno Soportado Oracle Forms 6i Extended Support iDS/iAS (9.0.2) Extended Support ODS/OAS 10g R1 (9.0.4) Extended Support ODS/OAS 10g R2 (10.1.2) Extended Support Extended OFM F&R 11g Support
  6. 6. ¿Opciones para modernizar?
  7. 7. ¿Opciones? • No hacer nada !!!
  8. 8. ¿Opciones? • No hacer nada !!! • Buscar software standard en el mercado
  9. 9. ¿Opciones? • No hacer nada !!! • Buscar software standard en el mercado • Reingeniería • JAVA mediante framework ADF
  10. 10. ¿Opciones? • No hacer nada !!! • Buscar software standard en el mercado • Reingeniería • JAVA mediante framework ADF • Oracle APEX
  11. 11. ¿Opciones? • No hacer nada !!! • Buscar software standard en el mercado • Reingeniería • JAVA mediante framework ADF • Oracle APEX • .NET
  12. 12. ¿Opciones? • No hacer nada !!! • Buscar software standard en el mercado • Reingeniería • JAVA mediante framework ADF • Oracle APEX • .NET • Migrar & Integrar
  13. 13. Migrar & Integrar Beneficios • 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
  14. 14. Migrar & Integrar ¿Cómo?
  15. 15. Nuevas funcionalidades Forms 11g a
  16. 16. Nuevas funcionalidades JavaScript Soporte Proxy User Eventos externos Mejoras PJC Integración con Reports Nueva consola OEM ODL
  17. 17. Consola OEM 11g
  18. 18. Opciones de Integración
  19. 19. Opciones de Integración Definiciones SOA Servicio (Web Service) BPEL ADF JDeveloper
  20. 20. Situación actual de las TI Aplicación Screen Scrape Download Aplicación Cola de File Aplicación Mensajes Screen Aplicación Scrape Sockets Screen Transaction Transaction Scrape File File Aplicación Sockets Download CICS Gateway RPC File ORB APPC Aplicación Mensaje ORB Aplicación Aplicación Cola de Transaction Mensajes File Aplicación Cola de Mensajes CICS Gateway Transaction Screen File Scrape APPC Aplicación Mensaje Download RPC File
  21. 21. Definiciones SOA (Service-Oriented Architecture) • Permite que funciones de negocio separadas, implementadas por sistemas autónomos, interoperen para ejecutar procesos de negocio • Arquitectura software basada en servicios Flexibilidad Reutilización Escalabilidad Interoperabilidad Bajo Acoplamiento
  22. 22. Definiciones Servicio • 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)
  23. 23. Definiciones BPEL Web Service Portal Java Service ? Database Stored Procedures J2EE ERP SAP, Oracle, etc. BPEL User Tasks .NET
  24. 24. Definiciones BPEL
  25. 25. 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.
  26. 26. Opciones de Integración
  27. 27. JavaScript • JavaScript puede lanzar eventos de Forms o When-Custom-JavaScript-Event • Llamar JavaScript desde forms o Web.Javascript_eval ()
  28. 28. 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
  29. 29. Integración con clases JAVA
  30. 30. Integración con clases JAVA Java Importer
  31. 31. Integración con clases JAVA Java Importer
  32. 32. 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
  33. 33. Consumo de Servicios desde Forms ¿Cómo? Identificar el WSDL Crear un Proxy Empaquetarlo Importar desde Forms
  34. 34. Publicación de la lógica propia de forms ¿Cómo? • Opciones • Reingeniería del código • Mover a la Base de Datos • Publicar código PL/SQL como un WS
  35. 35. Integración con Web Services Forms y SOA
  36. 36. Integración con Web Services Forms 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=GetW eather
  37. 37. Integración con Web Services Forms 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
  38. 38. Integración con Web Services Forms 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
  39. 39. Integración con Web Services Forms 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
  40. 40. Integración con procesos BPEL Forms y SOA
  41. 41. Integración con procesos BPEL Forms 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
  42. 42. Integración con procesos BPEL Forms 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
  43. 43. Integración con procesos BPEL Forms 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
  44. 44. Integración con procesos BPEL Forms 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
  45. 45. Integración con procesos BPEL Forms 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
  46. 46. Integración con procesos BPEL Forms y SOA • Desde la consola de BPEL Control filtramos los procesos de compra con estado pendiente de aprobación
  47. 47. Integración con procesos BPEL Forms 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
  48. 48. Integración con procesos BPEL Forms 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.
  49. 49. Integración con procesos BPEL Forms y SOA • El usuario, desde la consola de BPM Worklist cambia el estado a aprobado de uno de los procesos de compra
  50. 50. Integración con procesos BPEL Forms y SOA • Después del cambio de estado, sólo resta un proceso de compra pendiente de aprobar
  51. 51. Integración con procesos BPEL Forms y SOA • El WSDL que nos ha facilitado el publicador del servicio y que hemos utilizado para crear el proxy desde el Jdeveloper
  52. 52. Integración con procesos BPEL Forms y SOA • Utilización desde el .fmb de la clase Java proxy que se encarga de la comunicación con el WS
  53. 53. Integración BI-Publisher
  54. 54. PJCs y Java Beans (lado cliente) Item Bean Area Get_Custom_Property WHEN-CUSTOM-ITEM-EVENT Set_Custom_Property (timers, editor HTML, …)
  55. 55. PJCs y Java Beans (lado cliente) Forms y SOA
  56. 56. 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
  57. 57. 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
  58. 58. 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
  59. 59. Eventos externos • Forms recibe “comunicaciones” desde eventos asíncronos o Nombre de evento o Tipo o Alcance • When-Event-Raised
  60. 60. 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
  61. 61. Conclusiones
  62. 62. Conclusiones Continuidad para Oracle forms & Reports • Extended support hasta 2017 y Sustaining Support no tiene fecha • Oracle no tiene planes ni intención de “eliminar” Forms & Reports Nuestra recomendación • Migración & Integración • Nuevos desarrollos con ADF
  63. 63. tu partner tecnológico de confianza javier.gea@avanttic.com Aragó 182, 3º 4ª, 08011 Barcelona Teléfono 93 151 84 51 www.avanttic.com blog.avanttic.com

×