Javier Gea Puertas BBR 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
Opciones No hacer nada Compra de software estándar Reingeniería en.net Reingeniería en Java Migrar Developer a Web
Opciones No hacer nada
Opciones - Compra de software estándar Existe? Coste del software Coste de la implantación Traspaso
Opciones Reingeniería en.net
Opciones Reingeniería en JAVA ADF Metadata Services Swing JClient Java Beans jdbc JSP TopLink Queries TopLink Mapping Struts ADF UIX ADF Bindings ADF Data Control EJB Session EJB Finders EJB Entity ADF BC Services ADF Faces Faces ADF BC View ADF BC Entity JSF Web Services View Controller ADF Model Business Service Data Access Persistence Layer
Opciones Migrar Developer a Web Browser (Java applet) (optionally) Web Cache Web Server J2EE Container (servlets) Forms engines HTTP HTTP OR HTTP Oracle HTTP Server APACHE Static content mod_oc4j mod_plsql mod_osso AJP Oracle Containers for J2EE OC4J Forms servlets Native calls Oracle 10g Application Server
Nuestra recomendación 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
Forms & Reports Services
Por qué Forms & Reports Services? Accesibilidad Fácil de mantener Single Sign-On Integración con Java Reducción tráfico de red Funciona en Internet Llamadas a Web Services
Arquitectura Cliente / Servidor En vez de mantener múltiples instalaciones en cada PC (tantas como usuarios existan) Oracle Forms runtime + Oracle Forms compiled files + empdetail.fmx deptemp.fmx + empdetail.fmx deptemp.fmx + empdetail.fmx deptemp.fmx + empdetail.fmx deptemp.fmx
Arquitectura Forms Services es más fácil administrar una sola instancia de Oracle AS10g Forms Service Browser ( Java applet ) + empdetail.fmx deptemp.fmx
Arquitectura Forms Services Browser (Java applet) (optionally) Web Cache Web Server J2EE Container (servlets) Forms engines HTTP HTTP OR HTTP Oracle HTTP Server APACHE Static content mod_oc4j mod_plsql mod_osso AJP Oracle Containers for J2EE OC4J Forms servlets Native calls Oracle 10g Application Server
Arquitectura Reports 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
Beneficios 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 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 Ejecutable desde cualquier explorador sin necesidad de instalar software pesado en cada cliente Jinitiator o Plug-in SUN 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
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
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 Application Development Inteligencia de Negocios Reports Enterprise reporting Business Intelligence Beans Discoverer Admin. End user query & analysis Warehouse Builder Extract + Transf. + Load Business Intelligence
Proyecto migración Developer a Web
Objetivos del proyecto de migración Mantener la funcionalidad Moderar la duración Contener el coste Minimizar los riesgos Suavizar el impacto en la organización
Fases 1. Estudio 2. Piloto 3. Migración 4. Pre-Producción 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
Equipo y Recursos Fase Equipo BBR Equipo Cliente Recursos Estudio 50% 50% Piloto 70% 30% Workstation Migración y Pruebas?? Servidor Desarrollo Pre-Producción 20% 80% Servidor Producción
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
Fases - Piloto 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 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...
Fases Piloto / Java Servers de BBR Mail Server Conexión con un servidor SMTP para enviar correos com_mail MailServer (java) network SMTP SMTP Server com_mail detalle
Fases Piloto / Java Servers de BBR Sms Server Conexión con un SMSC (Short Message Service Center). Los SMS son enviados usando protocolo SMPP (Short Message Service Center) v3.3 com_sms SmsServer (java) network SMSC
Fases Piloto / Java Servers de BBR 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 ReportNotif ( java ) NotifServer ( java ) NotifClient ( javabean ) Oracle Form ( java runtime ) network rw_server _queue com_notif
Fases - Migración 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 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 C:\FORMS> frmcmp module=app1.fmb userid=scott/tiger upgrade=yes batch=yes
Fases - Migración 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 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
Fases - Pre-Producción 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
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
Migraciones más significativas : 3.0 > 4.5 Fábrica Sant Andreu de la Barca : 3.0 > 6i : 4.5 > 5 > 6 > 6i > 9i > 10g > 10gR2 Mitre ( Marketing y ventas ) : 6 > 6i > 10gR2 : 6 > 6i > 10gR2 : 6i > 10gR2
Resumen principales migraciones 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 2000-300000 10000 3 años 6 3 6i Fábrica 5000 2000 2500000 - - - 4.5 10gR2 500 350 100000 - en proceso 4 6 10gR2 Mitre 860 401 400000-6 meses? 6i 10gR2 50 20 100000-2 semanas 1 6 10gR2
Demo migración 6i a 10gR2 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
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