Desarrolla en Java con la misma productividad que en Forms



Documentos relacionados
Catapulta tus desarrollos Forms hacia las nuevas tecnologías

ADF: El Framework de. Pedro Gallardo. Responsable Área Middleware

JHeadStart. Pedro Gallardo Responsable Área Middleware

Cómo abordar tu primer proyecto J2EE y ser productivo en 30 días?

De Forms a ADF. Pedro Gallardo Responsable Área Middleware

Oracle JHeadstart Junio 2007

Desarrollo y servicios web Sesión 18

1 Índice Introducción Propósito Alcance Modelo Arquitectónico Inicial... 3

Creando Aplicaciones Combinadas con Web Center. Plinio Arbizu PERU Oracle Users Group Mayo 2008

Tema 1. Introducción a Java EE

Java 7.0 Advanced Application Developer

Programa de Actualización Profesional Curso: Java Avanzado JEE7 Programa del Curso

JAVA EE 5. Arquitectura, conceptos y ejemplos.

Arquitectura de Software del SIAFI AREA DE DESARROLLO UDEM

IFCD04 Desarrollo de Aplicaciones Java: componentes web y aplicaciones de base de datos (JSP y JPA)

Curso de Spring Framework

Curso de Java EE Todos los Derechos Reservados Global Mentoring 2012 Experiencia y Conocimiento para tu Vida 1

Taller de Sistemas de Información 2

JAVA ENTERPRISE EDITION (J2EE) ARQUITECTURA TECNOLOGÍAS (1/2) (L1)

Data Source. Lic. Esteban Calabria 2007

Tema 5. Plataforma Java EE

JSF 2.0 (Java Server Faces) Yadira Jarvio Hernández

[CASI v.0109] Pág. 1

Toda nuestra Experiencia a tu alcance

3. Horario laboral referencial: Lunes Viernes 8:00 a.m. a 6:00 p.m.

Curso de JavaServer Faces

Proyecto ELO-330 Administración Salas del Departamento de Electrónica RC1. Gerardo Lecaros Felipe Díaz

CentralTECH JAVA EE 7 Desarrollo

Desarrollo Profesional con Open Source en Java. Abner Ballardo Urco

Curso de Java EE Todos los Derechos Reservados Global Mentoring Experiencia y Conocimiento para tu Vida 1

Desarrollo de Software con


Plataforma de Desarrollo para Aplicaciones Oracle. Plinio Arbizu PERU Oracle Users Group Junio 2007

Elección de tecnología para la capa de presentación de SOA. Huibert Aalbers Senior Certified Software IT Architect

DIPLOMATURA DESARROLLO DE APLICACIONES JAVA

Diplomado Java Web Programming with Servlets, JSP, JSF & Ajax

Ing. Clarisa Maman Orfali. Founder & CEO ClarTech Solutions, Inc.

Migración de Developer a Web

FORMACION CONSULTORIA. Tu socio tecnológico. w.w.w.geamind.es

Curso de Jboss Administración

UNIVERSIDAD DE PIURA

MASTER JAVA AVANZADO Master en desarrollo de aplicaciones avanzadas con JAVA 2008

50064 Advanced SharePoint Development

1. Definición. Open Source. Escalable. Alto desempeño. Arquitectura Modular. Producto de licencia de código abierto sin coste adicional.

Introducción al Desarrollo de Aplicaciones Empresariales

Oracle 12c DISEÑO Y PROGRAMACIÓN

Diplomado Programming Java (JSE & JEE) with Oracle 10g

Workflows? Sí, cuántos quiere?

Patrones de Alto nivel: Patrones de Arquitectura Patrones de nivel medio: Patrones de Diseño Patrones de bajo nivel: Idioms

Facultad de Ingeniería Escuela de Ciencias y Sistemas Estructura de Datos Guatemala 2013 JSF + JSP + RichFaces

Arquitectura de Presentación

Caso J2EE. Necesidades del negocio. Arquitectura Luther


Diplomado Java. Descripción. Objetivo. A quien está dirigido. Requisitos. Beneficios

POSGRADO EXPERTO.NET DESARROLLO DE SOFTWARE

Instrucciones para el despliegue de EJBs

Visión General de GXportal. Última actualización: 2009

Curso Android Curso Online Desarrollo en Celulares con Android

GUÍA TÉCNICA. Desarrollo de Sistemas de Información la plataforma Business Intellingence Pentaho

FRAMEWORK SPRING EN UNA APLICACIÓN WEB

Nuevas Certificaciones Microsoft

Generador GeneXus JAVA

Facultad de Sistemas e Informática

LA IMPORTANCIA DE SOA

Curso Java Curso Online Analista Programador Java

Proyecto Help Desk en plataforma SOA Glosario Versión 1.3. Historia de revisiones

1

Tema 5. Plataforma Java EE

Model View Controller Architecture. Dra. Marcela Capobianco

SÍLABO DE SOLUCIONES WEB Y APLICACIONES DISTRIBUIDAS

desarrollo. Dentro del desarrollo de la tesis el proceso de modelado del sistema fue hecho con el

Arquitectura de Aplicaciones Empresariales. Lic. Esteban Cesar Calabria 2007

WORKSHOP Spring Framework Developer

Ambientes de Desarrollo

BREVE INTRODUCCION A ASP.NET MVC

Rafael Doña Gil. Enginyeria Tècnica en Informàtica de Sistemes. Consultor: Jose Juan Rodríguez

DIPLOMADO EN DESARROLLO Y ARQUITECTURA DE APLICACIONES EMPRESARIALES CON JAVA

POR QUÉ NUESTRO FRAMEWORK DE DESARROLLO DWPORTAL/APP?

GESTIÓN DE UN SUPERMERCADO BAJO UN SERVIDOR DE ORACLE. Noemí Peña Portillo

Guayaquil - Ecuador Pedro Carbo 123 y Junín. Pasaje Comercial la Merced. 2do Piso. Oficina 2. Teléfonos: (593) (04) Mail.

Experiencias con J2EE

Capas de la arquitectura de referencia

SYSTEMIC SOLUTIONS BPM. soluciones integrales.

Introducción a Javato

Eres consciente del estado actual de tu proyecto?

Web Services en Java. Taller de Programación. Instituto de Computación Facultad de Ingeniería Universidad de la República

Programación en Capas.

Estrategia de modernización de aplicaciones Oracle Forms y Reports

Evolucione Forms. Jesús García Hernández. Pedro Gallardo Delgado. Alejandro Font Cruz. Responsable de Consultoría de Sistemas

Comparación entre Active Reports, Crystal Reports, y MS Reporting Services

ArquitecturaTécnica de TRAVEL OPEN APPS. Breve definición técnica de la plataforma Travel Open Apps

Componentes de presentación

Curso SOA and Java Web Services with JAX-WS

FOREST BPMS. Arquitectura Forest BPMS. Metodologia de implementación. Fase I Instalación

Transcripción:

Desarrolla en Java con la misma productividad que en Forms Pedro Gallardo Delgado Responsable de Middleware Alejandro Font Consultor tecnológico

Típicos tópicos y preguntas frecuentes La tecnología Java y J2EE es muy complicada Cuando desarrollas una aplicación J2EE la productividad cae en picado Sólo los grandes jurús de java se pueden enfrentar al desarrollo de aplicaciones empresariales Existe un plan formativo de Oracle que facilite la transferncia de Forms a J2EE?

Oracle JDeveloper 10G

Oracle JDeveloper 10G Java IDE gratis Herramienta para todos los desarrollos J2EE y XML Portal, BPEL, BI y Wireless Service-Oriented Event-Driven Productividad con Opciones Opciones tecnológicas Opciones en estilos de desarrollo Opciones en servidores de aplicaciones

Herramientas de Desarrollo Productividad Oracle ADF Frameworks de Desarrollo Oracle JDeveloper Automatización de tareas Código Java Incremento de productividad

Ciclo de Desarrollo Código Diseño Debug y Test Versioning Análisis Despliegue Tuning

De Forms a Java ADF Guía de JDeveloper y ADF para desarrolladores

De Forms a Java ADF Guía de JDeveloper y ADF para desarrolladores

De Forms a Java ADF El desarrollador Forms está familiarizado con los frameworks Objectos de Aplicación Form, Data Blocks, Relations LOVs, Record Groups Canvases, Windows Visual Builder Crear and Configurar Objectos de Aplicaciones Event-Handler Triggers Extiende el comportamiento por defecto con lógica específica. Libraries Compartidas de Rutinas

De Forms a Java ADF JDeveloper IDE pensado por y para desarrolladores Forms Configuración de la Base de Datos Diseño Base de Datos Scripts de creación sql Componentes de Negocio Conocido como la capa de modelo Componentes de la interficie de usuario Windows, Panels, Pages. Conocido como la capa de Presentación Código compartido Personalizaciones del Framework Rutinas de ayuda

De Forms a Java ADF Plataforma Común de Funcionalidad Lista plana de paquetes PL / SQL Los paquetes contienen Procedimientos y Funciones

De Forms a Java ADF Vista de paquetes en JDeveloper JDK presenta cientos de paquetes Los paquetes contienen clases con funcionalidades ya dadas Organización Jerárquica java.lang.string java.net.url org.w3.dom.element orale.jdbc.resultset Culaquiera puede crear sus propias librerías Enpaquetadas como archivos *.jar contenedoras de Clases.

Mapeando Conceptos de Forms en Servicios de Negocio Canvas Canvas Data Block Item Item Item Item Item Item Item Item Data Block Relation Business Data UI- Related Triggers Validation Triggers Item Item Transactional Triggers

Separamos Conceptualmente la parte de Datos Non-UI Part of Form Data Block Item Item Data Block Relation Business Data Item Item Validation & Transactional Triggers

Si queremos reusar para distintos clientes UI Non-UI Part of Form Data Block Item Item Data Block Relation Business Data Item Item XML Validation & Transactional Triggers

Terminología ADF Business Components Application Module View Object Attrib Attrib Relation View Object Business Data Attrib Attrib XML Validation & Transactional Triggers

Separamos la capa DAO (Query) de la Lógica de Negocio Application Module View Object Entity Object Attrib Attrib View Link Attrib Validation & Transactional Methods Attrib Business Data View Object Entity Object XML Attrib Attrib Attrib Attrib Validation & Transactional Methods

Empezamos con la capa de datos Tablas

Entity Objects Encapsulan Reglas de Negocio

View Objects Encapsulan Queries SQL

Application Module

Capa de Presentación

ADF Faces Components Examples

Oracle JHeadStart

Qué es Oracle JHeadstart? Entorno de Desarrollo Java altamente productivo Principios fundamentales: Definición de aplicaciones al estilo 4GL. Totalmente basado en estándares mundialmente aceptados. Generación automática de código fuente Java y XML. Construido sobre la arquitectura Oracle ADF.

Arquitectura ADF Metadata Services ADF Faces Faces JSF JHeadStart ADF Bindings ADF Data Control ADF BC Services ADF BC View ADF BC Entity Web Services View Controller ADF Model Business Service Data Access Persistence Layer

Proceso de generación JHeadStart Application Definition Wizard Application Definition Velocity templates JSF JSP ADF Faces JSF View Controller ADF BC metadata JHeadStart Application Generator ADF MODEL Data Bindings Data Controls Model Jdeveploper ADF BC Wizard ADF Business Components Business Services

Ventajas Orientación a la productividad. Desarrollo declarativo. Prototipo iterativo. Bajo coste de entrada. Requiere conocimientos limitados para empezar. Rápido aprendizaje. Reducción de costes de desarrollo y mantenimiento. Aplicaciones consistentes. Permite focalizar los recursos más especializados en la Lógica de negocio de la aplicación.

Demostración práctica

Demostración práctica JHeadStart + ADF http://www.bbr.cat/presentaciones/videos/demobbr/demobbr.html

Proyectos significativos

Proyectos significativos

Proyectos significativos

Proyectos significativos

Proyectos significativos

Demos Demostración de generación de aplicación J2EE con JDeveloper y JHeadStart 10.1.3.1. http://www.bbr.cat/presentaciones/videos/demobbr/demobbr.html Demostración de aplicación generada con JDeveloper y JHeadStart 10.1.3 con plantillas y clases personalizadas por BBR. http://www.bbr.cat/presentaciones/videos/flash_gsgvia_demo/flash_gsgvia_demo.html

ADF Faces Rich Client Samples

ADF Faces Rich Client Samples

Integración Forms y ADF

Integración Forms ADF Puntos Clave Integración en la capa de presentación (View-Controller) Integración en la capa de Negocio (Modelo)

Arquitectura APLICACIÓN Forms Server Application Server

Integración Forms - ADF Faces Integración del formulario en una página JSF JSF ADF FACES Contexto Eventos ADF FORMS

Integración Forms - ADF Faces Puntos Clave Comunicación de JSF a Forms- Forms a JSF Productividad-Drag-and-Drop en Jdeveloper Se cede el control de la aplicación a JSF Jinitiator applet no -Applet,JDK

Comunicación: Jsf Forms Forms-Jsf JavaScript Clase applet-liveconnect Custom_PJC PL/SQL Triggers

Ejemplos de Comunicación: Jsf Forms Forms-Jsf De JSF a Forms: Paso de parámetros a Forms Parámetros de inicialización, Maestro/ Detalle Botónes JSF que lanzan eventos Forms commit_form,up,down De Forms a JSF : ParámetroPaso de parámetros a JSF Parámetros de inicialización, Maestro/ Detalle Botónes Forms que lanzan eventos JSF Navegaciones,Procesos Lanzar metodos Javascript Mensajes javascript

Links de Interés http://www.oracle.com/technology/pub/articles/wilfred-adf-forms.html http://www.oratransplant.nl/oracle-forms-as-web-component/ http://www.commit-consulting.com/oraformsfaces/

OraFormsFaces

Integración Forms con SOA (Modelo) UI Jinitiator Applet HTML Javascript Client Forms Server JPC JSF & ADF Faces View MiddleTier JSF Data Binding & Data Control Controller Model ( JSR 227 ) Web Services Service Layer PL / SQL ADF Business Components Business Services BD Data Source

Caso de Estudio - Eurotransplant Migración de una aplicación cliente/servidor a web Necesidad de tener acceso remoto a la apliacción de una forma segura Necesidad de esperiencia de usuarío única Desarrollado usando Jdeveloper y ADF Required off-line application to run in operating theatre with no network access Necesidad de ejecutar aplicaciones off-line Desarrollo de aplicación Swing con JDeveloper y ADF Creación de una extensión de Jdeveloper por parte de Eurotransplant (OraFormsFaces). Reaprovechamiento de su conocimientos Forms/Database

<Insert Picture Here> Wilfred van der Deijl Arquitecto, Eurotransplant Queremos desplegar un modelo evolutivo, no uno revolucionario. En el pasado, la adopción de una nueva tecnología implicaba el abandono de la antigua. Con SOA y Oracle BPEL Process Manager, se demuestra que podemos hacer que nuestros sistemas existentes sean capaces de ser explotados y reusados desde las nuevas arquitecturas orientadas a servicios (SOA).

Más Casos de Estudio Más detalles en Oracle Forms and SOA: The Whys and Hows for your business Eurotransplant Migros TietoEnator Oracle Magazine Nov/Dec 2007: Perform with SOA May/Jun 2007: Journey to the Center of Fusion We Love It (http://weloveit.nl) Informes Gartner

Conclusión

Típicos tópicos y preguntas frecuentes La tecnología Java y J2EE es muy complicada La curva de aprendizaje es elevada pero ahora La curva de aprendizaje es elevada pero ahora existen frameworks, metaframeworks, herramientas declarativas al estilo de 4GL que permiten reducir la curva de aprendizaje y te da productividad desde el minuto cero.

Típicos tópicos y preguntas frecuentes Cuando desarrollas una aplicación J2EE la productividad cae en picado Puedes empezar a pensar en desarrollar Puedes empezar a pensar en desarrollar apliaciones empresariales J2EE con una productividad extremadamente alta. Similar a la de Forms o superior!!

Típicos tópicos y preguntas frecuentes Sólo los grandes gurús de java se pueden enfrentar al desarrollo de aplicaciones empresariales Jdeveloper nace con la vocación de ser una Jdeveloper nace con la vocación de ser una herramienta de desarrollo para todos. Para los grandes gurús y para los desarrolladores noveles que se inician en Java / J2EE. Te permite desarrollar siempre de dos formas. Declarativamente o codificando. Tu elijes tu estilo. Jdeveloper te ofrece libertad.

Típicos tópicos y preguntas frecuentes Existe un plan formativo de Oracle que facilite la transferncia de Forms a J2EE? ADF es el framework idóneo para desarrolladores ADF es el framework idóneo para desarrolladores Forms que quieran iniciarse en el desarrollo de aplicaciones empresariales J2EE. Existe una gran cantidad de contenido en OTN destinado a mapear los conocimientos de Forms a ADF.

Estrategia de Herramientas de Desarrollo Compromiso a largo plazo con Forms Actualiza y integra Desarrolla pensando en servicios Establece una estrategia hacia SOA Piensa en Grande y da pequeños pasos Consigue en J2EE/ADF la misma productividad que en Forms Desarrollo visual declarativo Reaprovecha tu inversión y conocimientos en Forms

JavaPolis RAD Race Equipos de 2 desarrolladores deben resolver un caso de la vida real y entregar una aplicación acabada en 12 horas. No pueden recibir ningún tipo de ayuda externa Sólo los mejores y más experimentados equipos con un sólido conjunto de herramientas de desarrollo tendrán éxito. Un jurado de especialistas independientes decide el ganador.

JavaPolis RAD Race Ganadores 2005/06 Posición Empresa Matriz Tecnológica Logical CMG Oracle JDeveloper 10g 10.1.2 IDE Struts, JSP, ADF Framework JHeadstart JDeveloper 10g 10.1.3 IDE JavaServer Faces ADF Framework AXI JDeveloper 10g 10.1.2 IDE Framework propio

Patrones de diseño en ADF + de 14 patrones de diseño Patrón Model/View/Controller Interface / Implementation Separation Service Locator Inversion of Control Dependency Injection Active Record Data Access Objects Funcionalidad Cleanly separates the roles of data and presentation, allowing multiple types of client displays to work with the same business information. Cleanly separates the API or Interface for components from their implementation class Abstracts the technical details of locating a service so the client and use it more easily A containing component orchestrates the lifecycle of the components it contains, invoking specific methods that the developer can overrides at the appropriate times so the developer can focus more on what the code should do instead when it should get executed. Simplifies application code, and increases configuration flexibility by deferring component configuration and assembly to the container Avoids the complexity of "anything to anything" object/relational mapping, by providing an object that wraps a row in a database table or view, encapsulates the database access, and adds domain logic on that data. Avoids unnecessary marshalling overhead by implementing dependent objects as lightweight, persistent classes instead of each as an Enterprise Bean. Isolates persistence details into a single, easy to maintain class.

Patrones de diseño en ADF + de 14 patrones de diseño Patrón Session Facade Value Object Page-by-Page Iterator Fast-Lane Reader (Bean) Factory Entity Facade Value Messenger Continuations Funcionalidad Avoids inefficient client access of Entity Beans and inadvertent exposure of sensitive business information by wrapping Entity Beans with a Session Bean. Avoids unnecessary network round-trips by creating one-off "transport" objects to group a set of related attributes needed by a client program. Avoids sending unnecessary data to the client by breaking a large collection into page-sized "chunks" for display. Avoids unnecessary overhead for read-only data by accessing JDBC API's directly. This allows an application to retrieve only the attributes that need to be displayed, instead of finding all of the attributes by primary key when only a few attributes are required by the client. Typically, implementations of this pattern sacrifice data consistency for performance, since queries performed at the raw JDBC level do not "see" pending changes made to business information represented by Enterprise Beans. Allows runtime instantiation and configuration of an appropriate subclass of a given interface or superclass based on externally-configurable information. Provides a restricted view of data and behavior of one or more business entities. Keeps client value object attributes in sync with the middle-tier business entity information that they represent in a bidirectional fashion. Gives the developer the simplicity and productivity of a stateful programming model with the scalability of a stateless web solution.

Trinidad MyFaces Implemtación de ADF Faces que Oracle libera a la comunidad http://wiki.apache.org/myfaces/frontpage http://myfaces.apache.org/