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



Documentos relacionados
Desarrolla en Java con la misma productividad que en Forms

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

JHeadStart. Pedro Gallardo Responsable Área Middleware

Catapulta tus desarrollos Forms hacia las nuevas tecnologías

Oracle JHeadstart Junio 2007

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

Desarrollo y servicios web Sesión 18

De Forms a ADF. Pedro Gallardo Responsable Área Middleware

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

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

Tema 5. Plataforma Java EE

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

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

Arquitectura de Presentación

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

DIPLOMADO EN DESARROLLO Y ARQUITECTURA DE APLICACIONES EMPRESARIALES CON JAVA

Tema 1. Introducción a Java EE

Taller de Sistemas de Información 2

Java 7.0 Advanced Application Developer

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

Tema 5. Plataforma Java EE

Toda nuestra Experiencia a tu alcance

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

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

Arquitectura de aplicaciones

SÍLABO DE SOLUCIONES WEB Y APLICACIONES DISTRIBUIDAS

Curso de Spring Framework

Arquitectura Java para el Cuarto Ejercicio. José Antonio Ruano Ampudia Técnico Superior de Proyecto Informático

Desarrollo de Software con

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

CentralTECH JAVA EE 7 Desarrollo

UNIVERSIDAD DE PIURA

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

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

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

Introducción al Desarrollo de Aplicaciones con Oracle ADF

JAVA EE 5. Arquitectura, conceptos y ejemplos.

Model View Controller Architecture. Dra. Marcela Capobianco

Curso de JavaServer Faces

Objetos Distribuidos - Componentes. Middleware

Experiencias con J2EE

5.6.3 Session Facade

WORKSHOP Spring Framework Developer

Introducción al Desarrollo de Aplicaciones Empresariales

Este proyecto tiene como finalidad la creación de una aplicación para la gestión y explotación de los teléfonos de los empleados de una gran compañía.

SISTEMAS DE GESTION DE CONTENIDO DISTRIBUIDO. Carlos Manuel/Infomed

Desarrollo de Software con

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

Programación y Arquitectura

Componentes de presentación

FUNCIONAMIENTO: FUNCIONALIDAD

Nuevas Certificaciones Microsoft

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

UNIVERSIDAD DE CIENCIAS EMPRESARIALES Y SOCIALES FACULTAD DE CIENCIAS EMPRESARIALES

Java Struts Framework. Juan Fco. Rodríguez Hervella

Arquitectura de Software

PROGRAMAS DE ESPECIALIZACIÓN EN COMPUTACIÓN E INFORMÁTICA (PECI)

Curso Java Curso Online Analista Programador Java

Lanzamiento Mundial como Software Libre. Preparada por: Boris Monsalve Noviembre, 2010 Jarimba

Arquitectura de Software del SIAFI AREA DE DESARROLLO UDEM

50064 Advanced SharePoint Development

Nuestros servicios - Colaboración. Soporte y desarrollo en SharePoint. Web 2.0 y Ajax. Nuestros productos. maps. Mapas y tutoriales

Cursos PROGRAMACIÓN DE APLICACIONES CON JAVA

BREVE INTRODUCCION A ASP.NET MVC

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

Desarrollo de Aplicaciones Web con Eclipse

ORACLE ADF, UNA PRUEBA DE CONCEPTO

Introducción a Javato

Caso J2EE. Necesidades del negocio. Arquitectura Luther

Curso de Jboss Administración

Tema 1: Introducción a las Tecnologías Java

Curso de HTML5 y CSS3

Certificaciones: Diploma de Aprobación en Desarrollo Web con Java.

Migración de Developer a Web

Curso Capítulo 4: Arquitectura Orientada a Servicios. Conceptos y estándares de arquitecturas orientadas a servicios Web Curso 2006/2007

everis, líder en implantación de soluciones de Business Intelligence

Ambientes de Desarrollo

Curso Android Curso Online Desarrollo en Celulares con Android

Facultad de Sistemas e Informática

La inscripción sólo se realiza rellenando en Internet la ficha de inscripción:

PROGRAMAS DE ESPECIALIZACIÓN EN COMPUTACIÓN E INFORMÁTICA (PECI)

La ayuda practica de hoy para los CIO s y responsables de servicio

IMPLEMENTACIÓN DE SISTEMAS DE INFORMACIÓN

Construcción de portales

Introducción a la herramienta para administración de información de especies y especímenes: Ara. María Mora, INBio. Costa Rica mmora@inbio.ac.

[CASI v.0109] Pág. 1

SISTEMAS DE INFORMACIÓN

Tema 1: Introducción a Java EE

Agustiniano Ciudad Salitre School Computer Science Support Guide Second grade First term

PRESENTACIÓN EJECUTIVA SOAction

Trabajamos con empresas y organizaciones para descubrir cómo resolver de forma eficiente sus necesidades en el área de la programación informática.

IFCD05 Desarrollo de Aplicaciones Móviles Java ME

Capas de la arquitectura de referencia

Curso SOA and Java Web Services with JAX-WS


UNIVERSIDAD AUTONOMA DE CHIAPAS LICENCIATURA EN SISTEMAS COMPUTACIONALES

Tema 6: Arquitectura Web Multicapa

Toda nuestra Experiencia a tu alcance

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

IDG/Oracle Documento de investigación sobre la arquitectura Service Oriented Architecture (SOA).

Transcripción:

ADF: El Framework de desarrollo de Fusion Pedro Gallardo Responsable Área Middleware

Agenda Qué es ADF? Por qué escoger ADF?

Qué es ADF?

ADF es un Meta-framework (Framework de frameworks) No hay duda de que en el mundo JEE hay muchos frameworks y soluciones puntuales de gran calidad, pero son solo islas de funcionalidad (presentación, servicios, datos). Un Meta-framework ofrece un pila tecnológica certificada con la capacidad de satisfacer la mayor parte de los requisitos y con un ciclo de vida muy similar al de la aplicación que va a ser desarrollada.

Frameworks Vs Meta-Frameworks Alcance Los frameworks son soluciones parciales control de flujo de páginas, UI, acceso a base de datos,. Los Meta-frameworks lo cubren todo Coexistencia Classloading, los componentes tienen que compartir la misma versión de las APIs fundamentales,. Con un meta-framework toda la pila tecnológica está certificada.. Abstracción Evitar fontanería Ocultar la complejidad técnica Herramientas Automatización tareas repetitivas...

Qué objetivos persigue ADF? Incremento de Productividad Menor curva de aprendizaje Guerra a la complejidad Todo tipo de desarrolladores Más usabilidad Web 2.0 Ajax, JSF, Multicanal. Desarrollo basado en estándares EJB 3 (JSR-220) JSF (JSR-127): Trinidad Data Binding (JSR-227) Portlets (JSR-168)

Qué es ADF? Frameworks de desarrollo basados en estándares integrados con Herramientas + Tecnología Web 2.0, AJAX, etc Herramientas RAD Frameworks de Desarrollo JEE 6 ADF & Jdeveloper Web 2.0 Portales Colaborativos.. ADF Faces Rich Client WebCenter

JDeveloper herramienta de desarrollo de ADF y mucho más

ADF es el corazón de Fusión Applications

Fusion Applications Componentes La Web ha evolucionado de un modelo de páginas a un modelo de componentes. Tecnologías que lo hacen posible

ADF incorpora un kit de componentes pre construido para la creación de aplicaciones

ADF implementa el patrón MVC ADF

ADF, Arquitectura ADF Metadata Services ADF Swing Java Beans TopLink Queries TopLink Mapping JSP Struts ADF Bindings ADF Data Control EJB Sessions ADF Faces Faces JSF Vista Controllador ADF Modelo ADF BC Web Servicios Services Services de Negocio ADF BC View ADF BC Entity Acceso a Datos Capa Persistencia Servicios de Datos Datos Relacionales Datos XML Datos Legacy Aplicaiones Empaquetadas

ADF, Elección RAD (Visual IDE) ADF Metadata Services ADF Swing Java Beans TopLink Queries TopLink Mapping JSP Struts ADF Bindings ADF Data Control EJB Sessions ADF BC Services ADF Faces ADF BC View ADF BC Entity Faces JSF Web Services Vista Controllador ADF Modelo Servicios de Negocio Acceso a Datos Capa Persistencia Servicios de Datos Datos Relacionales Datos XML Datos Legacy Aplicaiones Empaquetadas

ADF, Elección OO ADF Metadata Services ADF Swing JSP Struts ADF Bindings ADF Data Control ADF Faces Faces JSF Vista Controllador ADF Modelo Java EJB ADF BC Web Servicios Beans Sessions Services Services de Negocio TopLink Queries TopLink Mapping ADF BC View ADF BC Entity Acceso a Datos Capa Persistencia Servicios de Datos Datos Relacionales Datos XML Datos Legacy Aplicaiones Empaquetadas

ADF Faces construido sobre JSF

Que es JSF? Java Server Faces Desarrollado en la Java Community Process (JCP) como la JSR-127 Nickname: Faces Objetivo: Simplificar la creación de GUIs Java y dar soporte a un modelo basado en componentes Inicio: Mayo del 2001 Primera release oficial: Marzo del 2004 Oracle es un primary contributor

Pensamiento sobre JSF The real problem is that the existing standard components are simply too basic to offer any real benefit to users Rething JSF The Real Problem (www.theserverside.com April 2007)

Qué aporta ADF Faces vs JSF? Conjunto de Componetes mayor Más de 100 tipos de componentes Componentes más avanzados Partial-page rendering, etc Distintos kits de rendering Aplicaciones Ask Funcionalidades para Personalizar aplicaciones, look-and-feel Validaciones en el cliente ADF Faces RIA (Rich Internet Architecture) Soporte a ADF model out-of-the-box

Nos lleva a There s one company that deserves praise for actually pushing JSF in the right direction: Oracle. ADF Faces is a fantastic set of widgets with drop-in funtionality. Rething JSF The Real Problem (www.theserverside.com April 2007)

Por qué escoger ADF?

Estándares

Nuestros objetivos Incremento de Productividad Menor curva de aprendizaje Guerra a la complejidad Todo tipo de desarrolladores Más usabilidad Web 2.0 Ajax, JSF, Multicanal Desarrollo basado en estándares EJB 3 (JSR-220) JSF (JSR-127): Trinidad Data Binding (JSR-227) Portlets (JSR-168)

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

Productividad

Contexto tradicional en desarrollo de aplicaciones WEB Menor Productividad Mayor Complejidad Diferentes arquitecturas Diferentes tecnologías Multitud de frameworks dispersos Desarrolladores muy especializados Interfaz de usuario no comparable a escritorio Soluciones no basadas en estándares...pero ahora los Frameworks JAVA y la tecnología WEB han evolucionado!

Productividad y Herramientas Oracle ADF Oracle JDeveloper Frameworks de Desarrollo Automatización de tareas Generar Código Productividad

Oracle JDeveloper 10G

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

JHeadStart incrementa de forma drástica la productividad de ADF Demostración http://www.bbr.cat/index.php?option=com_myblog&show=demo-creacion-de-una-aplicacion-con- JDeveloper-y-JHeadStart-10.1.3-paso-a-paso..html&Itemid=53

Matriz comparativa Forms vs ADF vs JHeadStart vs BBRedJav ADF BBRedJav Funcionalidad Forms JHeadStart Productividad

BBRedJav extiende las funcionalidades de ADF con la productividad de JHeadStart Demostración http://www.bbr.cat/presentaciones/videos/enominaadf/enominaadf.html Aplicación desarrollada con: ADF 10g JHeadStart 10.1.3 BBRedJava 10.1.3 Yahoo UI Mootools JS

Patrones de Diseño. Buenas Prácticas

Patrones de diseño en ADF Patrón Model/View/Controller Interface / Implementation Separation Service Locator Inversion of Control Dependency Injection Active Record Data Access Objects Funcionalidad + de 14 patrones de diseño 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 Patrón Session Facade Value Object Page-by-Page Iterator Fast-Lane Reader (Bean) Factory Entity Facade Value Messenger Continuations Funcionalidad + de 14 patrones de diseño 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

Estratégico para Oracle

Estratégico para

Estrategia de producto

Estrategia de producto

Para todo tipo de desarrollos

Desarrollo de aplicaciones Web de FrontOffice

Desarrollo de aplicaciones Web de FrontOffice

Desarrollo de aplicaciones Web de FrontOffice Demo ENomina

Desarrollo de aplicaciones Web de FrontOffice Demo ENomina

Desarrollo de aplicaciones Web de FrontOffice Demo ENomina

Desarrollo de aplicaciones de BackOffice

Desarrollo de aplicaciones de BackOffice Demo Outis

Desarrollo de aplicaciones de BackOffice Demo Outis

Desarrollo de aplicaciones de BackOffice

Desarrollo de aplicaciones de BackOffice

Desarrollo de aplicaciones Mixtas ADF & Forms Demo Forms y ADF

Desarrollo de aplicaciones SOA Las tareas son ejecutadas y gestionadas desde el WorkList Application

Para todo tipo de desarrolladores

Escoge tu estilo de desarrollo

Desarrollo JSF Visual

JSF y JDeveloper 10.1.3 Edición Visual de JSF Edición Visual de JSF UI Component Proporciona generación del código de respaldo (doble-click) Mobile WYSIWYG

JSF y JDeveloper 10.1.3 Consola de Edición de Faces Config Consola para Edición productiva de faces-config.xml

JSF y JDeveloper 10.1.3 JSF Page Flow Edición Visual del modelo de navegación de Faces

ADF Faces Components Examples

Multicanal

Desarrollo Multicanal

Desarrollo Multicanal

Desarrollo Multicanal

Es el framework que Oracle utiliza para el desarrollo de sus aplicaciones

Fusion Applications - HCM

Fusion Applications - CRM

Fusion Applications - Projects

ADF Faces RC 11g Data Visualization

Fusion Applications Data Visualization Graph

Fusion Applications Data Visualization Gauge

Fusion Applications Data Visualization Geographic Map

Fusion Applications Data Visualization Pivot Table

Fusion Applications Data Visualization Gantt Chart

Fusion Applications Data Visualization Vista Jerárquica

Conclusiones

Conclusiones ADF es el framework de desarrollo estratégico para Oracle. Framework más productivo para desarrollo web del mercado Construido sobre estándares Pensado para todo tipo de desarrollos Pensado para todo tipo de desarrolladores Existen multitud de casos de éxito

Links de Interés Blog de BBR www.bbr.cat/index.php?option=com_myblog&itemid=53 Comunidad hispana de desarrolladores ADF www.jdeveloperla.com Página oficial de Oracle de ADF www.oracle.com/technology/products/adf/index.htmlhttp://www.oracle.com/te chnology/products/adf/index.html Página oficial de Oracle de ADF Faces RC www.oracle.com/technology/products/adf/adffaces/index.html

pedro.gallardo@bbr.cat C/ Aragó, 182, 4t, 08011 Barcelona Telèfon 934 731 393 Av. Ramon Folch, 13, 3r, 17001 Girona Telèfon 972 413 638 www.bbr.cat