9. ¿Opciones?
• No hacer nada !!!
• Buscar software standard en el mercado
• Reingeniería
• JAVA mediante framework ADF
10. ¿Opciones?
• No hacer nada !!!
• Buscar software standard en el mercado
• Reingeniería
• JAVA mediante framework ADF
• Oracle APEX
11. ¿Opciones?
• No hacer nada !!!
• Buscar software standard en el mercado
• Reingeniería
• JAVA mediante framework ADF
• Oracle APEX
• .NET
12. ¿Opciones?
• No hacer nada !!!
• Buscar software standard en el mercado
• Reingeniería
• JAVA mediante framework ADF
• Oracle APEX
• .NET
• Migrar & Integrar
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
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. 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. 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. Definiciones
BPEL
Web Service
Portal Java Service
? Database
Stored Procedures
J2EE ERP
SAP, Oracle, etc.
BPEL
User Tasks
.NET
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.
27. JavaScript
• JavaScript puede lanzar eventos de Forms
o When-Custom-JavaScript-Event
• Llamar JavaScript desde forms
o Web.Javascript_eval ()
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
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. Consumo de Servicios desde Forms
¿Cómo?
Identificar el WSDL
Crear un Proxy
Empaquetarlo
Importar desde
Forms
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
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. 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. 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. 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
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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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
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. 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. 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. Eventos externos
• Forms recibe “comunicaciones” desde eventos asíncronos
o Nombre de evento
o Tipo
o Alcance
• When-Event-Raised
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
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. 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