migracion developer v10
DESCRIPTION
Migración de aplicaciones desarrolladas con Oracle Forms C/S a Oracle Forms 10gR2 entorno WEBTRANSCRIPT
Javier Gea PuertasBBR ENGINYERIA DE SERVEIS
Migración de Developer a Web
Agenda
• Estrategia
• Forms & Reports Services
• Proyecto migración Developer a Web
• Experiencia de BBR
• Conclusiones
Estrategia
Situación actual
• Oracle Developer, versiones 3.0, 4.5, 6, 6i, 9i• Arquitectura C/S o Forms&Reports standalone
• No hacer nada
• Compra de software estándar
• Reingeniería en .NET
• Reingeniería en Java
• Migrar Developer a Web
Opciones
Opciones – No hacer nada
• ¿Existe?
• Coste del software
• Coste de la implantación
• Traspaso
Opciones - Compra de software estándar
Opciones – Reingeniería en .NET
Opciones – Reingeniería en JAVA
ControllerStruts Faces
AD
F M
eta
da
ta S
erv
ice
s ViewADF Faces JSFJSP ADF UIX
ADF Bindings ADFModelADF Data Control
EJB Session
ADF BC Services
Web Services
Data Access
Java Beans
jdbc
BusinessService
PersistenceLayer
TopLinkQueries
EJBFinders
ADF BCView
TopLinkMapping
EJBEntity
ADF BCEntity
SwingJClient
mod_osso
mod_oc4jAJP
OracleContainersfor J2EE
OC4J
J2EE Container(servlets)
Formsservlets
Browser(Java applet)
WebServer
OracleHTTPServer
APACHE
HTTP
Oracle 10g Application Server
(optionally)Web Cache
OR
HTTP HTTP
Static content
mod_plsql
Formsengines
Nativecalls
Opciones – Migrar Developer a Web
• Empezar a desarrollar en JAVA
• Migrar Developer a Web• Nuevos desarrollos Forms & Reports Services• Nuevos desarrollos Java• Integración de Forms & Reports Services y Java (SOA y Web
Services)
Nuestra recomendación
Nuestra recomendación
Forms & Reports Services
¿Por qué Forms & Reports Services?
AccesibilidadAccesibilidad
Fácil de Fácil de mantenermantener
Single Single Sign-OnSign-On
Integración Integración con Javacon Java
Llamadas a Llamadas a Web ServicesWeb Services
Funciona enFunciona enInternetInternet
Reducción Reducción tráfico de redtráfico de red
Oracle Forms runtime + Oracle Forms compiled files
Arquitectura Cliente / Servidor
En vez de mantener múltiples instalaciones en cada PC… (tantas como usuarios existan)
empdetail.fmxdeptemp.fmx+
empdetail.fmxdeptemp.fmx+
empdetail.fmxdeptemp.fmx+
empdetail.fmxdeptemp.fmx+
… es más fácil administrar una sola instancia de Oracle AS10g Forms Service
Browser( Java applet )
empdetail.fmxdeptemp.fmx
+
Arquitectura Forms Services
mod_osso
mod_oc4jAJP
OracleContainersfor J2EE
OC4J
J2EE Container(servlets)
Formsservlets
Browser(Java applet)
WebServer
OracleHTTPServer
APACHE
HTTP
Oracle 10g Application Server
(optionally)Web Cache
OR
HTTP HTTP
Static content
mod_plsql
Formsengines
Nativecalls
Arquitectura Forms Services
• Ejecución de varios reports simultáneamente
• Reports encolados y servidos por un Runtime Engine
• Número de Engines configurable
• Globalización
• Fácil administración
• …
Arquitectura Reports Services
• Soporte garantizado hasta 2013. Oracle ya ha anunciado la versión 11 de Developer
• Optimización para BD versión 9i y 10g• Posibilidad de integrar todas las aplicaciones en una única
infraestructura • Administración y monitorización a través de Oracle Enterprise
Manager (OEM)
Beneficios
Beneficios
• Infraestructura web integrada:● Optimización del tráfico de red● Manejo de transacciones● Escalabilidad (memoria + balanceo de carga)● Mecanismos de Seguridad (DB, Single Sign-on)
• Despliegue en Intranet / Extranet / Internet, integrando con LDAP, Single Sign-On y Portal
• Adios a Terminal Server y CITRIX
Beneficios
• Globalización
● Nueva herramienta de traducción de aplicaciones (OTH)● Detección del idioma del navegador● Soporte a diferentes semánticas de almacenamiento
de caracteres● Soporte a diferentes zonas horarias
• Ejecutable desde cualquier explorador sin necesidad de instalar software pesado en cada cliente● Jinitiator o Plug-in SUN
Beneficios
• Productividad elevada y costes mínimos● Reutilización del código● El equipo de desarrollo no necesita de una formación adicional.
La metodología de programación casi no cambia● El usuario final no necesita ser formado de nuevo ya que no
cambian ni la interfaz ni las funcionalidades
• Facilidad de mantenimiento y actualización
• Debugger en entorno de producción
Implicaciones
• Desarrollos en versiones anteriores a 6i han de ser migrados primero a 6i (último parche)
• Desaparece la arquitectura Cliente/Servidor
• BD superior a 8.1.7.0
• Dimensionamiento de los servidores
• Requerimientos PC cliente
• Compra de licencias Oracle Application Server
Application Development
Business Intelligence
Oracle Developer Suite 10g
• Desarrollos de Aplicaciones● Forms – Declarative 4GL● Designer – Análisis, Diseño y Generación ● JDeveloper – Java, XML, Web service IDE● SCM – Software Configuration Management
• Inteligencia de Negocios● Reports – Enterprise reporting● Business Intelligence Beans● Discoverer Admin. – End user query & analysis● Warehouse Builder – Extract + Transf. + Load
Proyecto migración Developer a Web
• Mantener la funcionalidad
• Moderar la duración
• Contener el coste
• Minimizar los riesgos
• Suavizar el impacto en la organización
Objetivos del proyecto de migración
1. Estudio2. Piloto3. Migración4. Pre-Producción
Fases
Estudio
Valoración Piloto
Piloto
Valoración Migración
Migración
Pre-Producción
Arranque
Equipo
• Participación e implicación de personal del cliente
• Recopilación por parte del cliente, y entrega al equipo de BBR, de la información necesaria para la correcta realización de cada una de las fases
• Disponibilidad del personal identificado y asignado al proyecto en los momentos requeridos
Recursos
• Workstation
• Servidor de Desarrollo
• Servidor de Explotación
FaseEquipo
BBR
Equipo
ClienteRecursos
Estudio 50% 50%
Piloto 70% 30% Workstation
Migración y
Pruebas? ?
Servidor
Desarrollo
Pre-Producción 20% 80%Servidor
Producción
Equipo y Recursos
Fases – Estudio
• Versión actual de Developer
• Revisión código aplicación● Menús, Librerías, clases, OLBs● Código en cliente y en BD
• Uso de elementos obsoletos● Built-ins, OCX, eventos de mouse, .ico● user_exists, run_product● Graphics Builder, Oracle Terminal
• E/S: interacción con máquina cliente● host, gestión de ficheros, OLE
• Es la fase más crítica
• Migración de un subconjunto de la aplicación. Debe ser una muestra significativa
• Resolución de todos los problemas tipo
• Permite valorar la migración y determinar el equipo necesario y más adecuado para realizarla
Fases - Piloto
Fases - Piloto
• forms_restrict_enter_query
• forms_reject_go_disabled_item
• Oracle Webutil
• Ejecución de reports (run_product)● run_report_object ( síncrono )● web.show_document ( asíncrono )
parámetros visibles en URL, parámetros de conexión ocultos
• Java Servers de BBR
• ...
MailServer (java)
network
SMTP Server
Fases – Piloto / Java Servers de BBR
Mail Server
Conexión con un servidor SMTP para enviar correos
com_mail
com_maildetalle
SMTPSMTP
Sms Server
Conexión con un SMSC (Short Message Service Center). Los SMS son enviados usando protocolo SMPP (Short Message Service Center) v3.3
Fases – Piloto / Java Servers de BBR
SmsServer (java)
network
SMSC
com_sms
ReportNotif ( java )
NotifServer( java )
NotifClient ( javaBean )
Oracle Form ( java runtime )
network
Notificaciones : Report Notif Server y Notif Server● En el cliente aparece una alerta o URL con el mensaje● Mecanismo asíncrono de comunicación con los clientes
Fases – Piloto / Java Servers de BBR
rw_server_queue
com_notif
Opciones
• Forms Builder ( Interactivo )
• Forms Compiler ( Batch )
• Forms JDAPI ( Programatic / Batch )
• Forms Migration Assistant ( Recomendado )
Fases - Migración
Forms Builder (Interactivo)
• Abrir el Form con Oracle Forms Builder 10gR2
• Compilar el Módulo
• Guardar el Módulo
• Resultado de la compilación instantáneo
• Es un método lento
Fases - Migración
C:\FORMS> frmcmp module=app1.fmb userid=scott/tiger upgrade=yes batch=yes
Fases - Migración
Forms Compiler (Batch)
• Crear un archivo batch o un shell script con el parámetro upgrade=yes
• El resultado del proceso de compilación queda en un fichero de log
Forms JDAPI (Programatic / Batch)
• Java Developer Application Programming Interface
• Permite manipular masivamente módulos Forms
• Programación en Java
• Para usuarios avanzados
Fases - Migración
Fases - Migración
Forms Migration Assistant
● Cuenta con un asistente gráfico que alerta de las características obsoletas
● Realiza los cambios cuando es posible
● Guarda los FMBs 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
● Disponible sin coste en OTN
• Instalación y configuración OAS de Explotación
• Pruebas exhaustivas por parte del cliente
• Verificación y adecuación de los PCs cliente• Configuración mínima• Jinitiator o Plug-in Java• Acrobat Reader
• Notificación y explicación del cambio a los usuarios
Fases - Pre-Producción
Factores de éxito
• Experiencia de BBR
• Equipo mixto Cliente – BBR
• Realización Piloto
• Adecuada planificación
• Rigor en las pruebas
Riesgos
• Que el coste se dispare● Fase Piloto no significativa● Problemas imprevistos
• Que no funcione al 100%● Pruebas deficientes● Problemas de instalación o configuración
• Pérdida de rendimiento● Dimensionamiento incorrecto Servidor de Aplicaciones● Dimensionamiento incorrecto PC cliente● Ancho de banda insuficiente
Costes
• Estudio (5 jornadas)● Permite valorar el coste de realizar el Piloto● Permite estimar el coste total de la Migración
• Piloto● Permite valorar el coste de realizar la Migración
• Migración
Estudio
Valoración Piloto
Piloto
Valoración Migración
Migración
Pre-Producción
Arranque
Experiencia de BBR
: 3.0 > 4.5
: 3.0 > 6i
: 4.5 > 5 > 6 > 6i > 9i > 10g > 10gR2
: 6 > 6i > 10gR2
: 6 > 6i > 10gR2
: 6i > 10gR2
Migraciones más significativas
Fábrica Sant Andreu de la Barca
Mitre( Marketing y ventas )
Forms Reports nº líneas código
user_exists
(nº líneas)
Duración Equipo Versión
Inicial
Versión
final
90 60 20000 SI 2 meses 2 3 6
Fábrica
2000 - 300000 10000 3 años 6 3 6i
5000 2000 2500000 - - - 4.5 10gR2
Mitre
500 350 100000 - en proceso 4 6 10gR2
860 401 400000 - 6 meses ? 6i 10gR2
50 20 100000 - 2 semanas 1 6 10gR2
Resumen principales migraciones
Cliente/Servidor
• BD 10gR2 local• Runtime y fuentes Developer 6i en local
BD y Application Server en BBR
• Acceso por VPN• Versiones 10gR2• Aspecto del Runtime Java• Servidores Java para visualizar reports PDF
Demo migración 6i a 10gR2
Conclusiones
Migración de Developer a Web
• La opción más segura, con menor coste y sin impacto en la organización
• Una opción de futuro● Integrado en Oracle Application Server● Soporte a web services
• Una opción con futuro● Oracle Developer Suite 11● Soporte > 2013