Desarrolla Java con la misma productividad que Forms
1. Desarrolla en Java con la misma productividad que en Forms Pedro Gallardo Delgado Responsable de Middleware Alejandro Font Consultor tecnológico
2. 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?”
5. Herramientas de Desarrollo Oracle ADF Oracle JDeveloper Productividad Incremento de productividad Código Java Frameworks de Desarrollo Automatización de tareas
6. Ciclo de Desarrollo Dise ñ o C ó digo Tuning Despliegue An á lisis Debug y Test Versioning
7. De Forms a Java ADF Guía de JDeveloper y ADF para desarrolladores
8. De Forms a Java ADF Guía de JDeveloper y ADF para desarrolladores
9.
10.
11.
12.
13. Mapeando Conceptos de Forms en Servicios de Negocio Data Block Canvas Business Data Relation UI-Related Triggers Validation Triggers Transactional Triggers Item Item Item Item Item Item Data Block Canvas Item Item Item Item
14. Separamos Conceptualmente la parte de Datos Validation & Transactional Triggers Non-UI Part of Form Data Block Business Data Relation Data Block Item Item Item Item
15. Si queremos reusar para distintos clientes UI XML Validation & Transactional Triggers Non-UI Part of Form Data Block Business Data Relation Data Block Item Item Item Item
16. Terminología ADF Business Components XML Validation & Transactional Triggers Application Module View Object Business Data Relation View Object Attrib Attrib Attrib Attrib
17. Separamos la capa DAO (Query) de la Lógica de Negocio XML Application Module Business Data View Link Entity Object Validation & Transactional Methods View Object Entity Object Validation & Transactional Methods View Object Attrib Attrib Attrib Attrib Attrib Attrib Attrib Attrib
26. Arquitectura Controller Faces ADF Metadata Services View ADF Faces JSF ADF Model ADF Data Control ADF BC Services Web Services Data Access Business Service Persistence Layer ADF BC View ADF BC Entity ADF Bindings JHeadStart
27. Proceso de generación ADF BC metadata ADF Business Components JHeadStart Application Definition Wizard Jdeveploper ADF BC Wizard View Controller Model Business Services Application Definition JSF JSP ADF Faces JSF ADF MODEL Data Bindings Data Controls Velocity templates JHeadStart Application Generator
48. Integración Forms con SOA (Modelo) Web Services JPC UI MiddleTier BD Jinitiator Applet Forms Server PL / SQL HTML Javascript Data Binding & Data Control JSF & ADF Faces JSF ADF Business Components Service Layer View Controller Model ( JSR 227 ) Business Services Data Source Client
49.
50. <Insert Picture Here> “ 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 ).” Wilfred van der Deijl Arquitecto, Eurotransplant
53. Típicos tópicos y preguntas frecuentes… “ La tecnología Java y J2EE es muy complicada” 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.
54. Típicos tópicos y preguntas frecuentes… Cuando desarrollas una aplicación J2EE la productividad cae en picado” Puedes empezar a pensar en desarrollar apliaciones empresariales J2EE con una productividad extremadamente alta. Similar a la de Forms o superior !!
55. 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 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.
56. 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 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.
57.
58.
59.
60.
61. Patrones de diseño en ADF … + de 14 patrones de diseño Patrón Funcionalidad Model/View/Controller Cleanly separates the roles of data and presentation, allowing multiple types of client displays to work with the same business information. Interface / Implementation Separation Cleanly separates the API or Interface for components from their implementation class Service Locator Abstracts the technical details of locating a service so the client and use it more easily Inversion of Control 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. Dependency Injection Simplifies application code, and increases configuration flexibility by deferring component configuration and assembly to the container Active Record 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. Data Access Objects 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.
62. Patrones de diseño en ADF … + de 14 patrones de diseño Patrón Funcionalidad Session Facade Avoids inefficient client access of Entity Beans and inadvertent exposure of sensitive business information by wrapping Entity Beans with a Session Bean. Value Object Avoids unnecessary network round-trips by creating one-off "transport" objects to group a set of related attributes needed by a client program. Page-by-Page Iterator Avoids sending unnecessary data to the client by breaking a large collection into page-sized "chunks" for display. Fast-Lane Reader 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. (Bean) Factory Allows runtime instantiation and configuration of an appropriate subclass of a given interface or superclass based on externally-configurable information. Entity Facade Provides a restricted view of data and behavior of one or more business entities. Value Messenger Keeps client value object attributes in sync with the middle-tier business entity information that they represent in a bidirectional fashion. Continuations Gives the developer the simplicity and productivity of a stateful programming model with the scalability of a stateless web solution.
63.
Hinweis der Redaktion
Here is a picture of how this is approached in Oracle JDeveloper. We take you from the design tasks of data and application modelling through to the build test and deploy cycle. And within this environment we provide a rich infrastructure for software configuration management and interoperating and integrating with your existing environment. This complete and integrated style of development has been the hallmark of successful development environments for years. Now with a Oracle JDeveloper offering all of this capability in one product, you have the opportunity to see it in action in the J2EE and Java world. What is nice is we provide this not only within an integrated toolset, but within a tool set that cooperates with other development environments you might already be using. Using Apache Ant for system builds, maybe Junit for testing? Oracle Jdeveloper lets them plug in directly to its platform. Using Clearcase or CVS for configuration management – they are supported out of the box. As a result, JDeveloper works as a single integrated environment that your corporation can standardize on or seamlessly integrates into a complex development environments that might have multiple IDE’s and 3 rd parties … the end result is a seamless experience for the developers using JDeveloper.
Some of the ADF Faces components that you use to create your user interfaces
-Integracion de paleta de componentes dentro de Jdeveloper,para mantener la productividad -Podemos tener componentes JSF, como por ejemplo botones, que lancen eventos de Forms -Podemos tener componentes JSF, dentro del componente form y lanzar navegaciones o preocesos JSF -Posibilidad de esconder parte del formulario:diseño en tiempo de ejecucion -La navegacion se cede a JSf y forms es un componente embedido -Usamos applet de Sun no Jinitiator
- Integración de formularios Forms en ADF Faces -Podemos tener componentes JSF, como por ejemplo botones, que lancen eventos de Forms -Podemos tener componentes JSF, dentro del componente form y lanzar navegaciones o preocesos JSF -Integracion de paleta de componentes dentro de Jdeveloper,para mantener la productividad -Posibilidad de esconder parte del formulario:diseño en tiempo de ejecucion -La navegacion se cede a JSf y forms es solo un componente embedido -Usamos applet de Sun no Jinitiator
La comunicacion entre los dos “mundos” se basa en Javascript y LiveConnect(api que permite lanzar eventos java desde js). En Forms 11 esta caracteristica vendra por defecto. -Desde la capa de JSF lanzamos eventos js que los captura el applet y los pasa a PJC que lanza el PL/sql trigger correspond.
Alejandro: En el siguiente diagrama mostraremos la arquitectura de una aplicacíón Forms vs una apliación ADF / J2EE. Inicialmente tenemos la capa de presentación (o interfaz de usuario), la capa de Middletier y la base de datos. Cuando desarrollamos en Forms la interfaz de usuario se explota desde el navegador web ejecutando las apliaciones en un Applet (sobre una máquina virtual propietria de Oracle -Jinitiator). En las úlitmas versiones de Forms es posible ejecutar Forms sobre un Applet corriendo en la máquina virtual estandart de SUN (jdlk 1.5) . De esta forma encontramos que en la capa de UI de un aplicación Forms tenemos Applet / Jinitiator. En la capa de Middletier se ejecutaría el Forms Server que invocaría procesos codificados en PL/SQL que viven dentro de la base de datos. Por otro lado si empezamos a desarrollar en J2EE tendríamos la siguiente distribución de componentes/tecnologías por capas …. A la hora de poder compartir y explotar la lógica de negocio desde los dos clientes (Forms y ADF) recomendamos: 1- Bajar toda la lógica de negocio a la capa de base de datos 2- Publicar los componentes de negocio mediante WebServices 3- Consumir los servicios desde los dos clientes De esta forma la lógica de negocio se implementará una única vez y se podrá reutilizar y explotar desde cualquier cliente. Dentro de la Business Services Layer (ADF BC y PL/SQL) son los responsables de de contener la lógica de negocio.
Jordi. “ La tecnología Java y J2EE es muy complicada” 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. Cuando desarrollas una aplicación J2EE la productividad cae en picado” Puedes empezar a pensar en desarrollar apliaciones empresariales J2EE con una productividad extremadamente alta. Similar a la de Forms o superior !! “ Sólo los grandes jurús de java se pueden enfrentar al desarrollo de aplicaciones empresariales” Jdeveloper nace con la vocación de ser una herramienta de desarrollo para todos. Para los grandes jurú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. “ ¿Existe un plan formativo de Oracle que facilite la transferncia de Forms a J2EE?” 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.
Jordi. Cuando desarrollas una aplicación J2EE la productividad cae en picado” Puedes empezar a pensar en desarrollar apliaciones empresariales J2EE con una productividad extremadamente alta. Similar a la de Forms o superior !! “ Sólo los grandes jurús de java se pueden enfrentar al desarrollo de aplicaciones empresariales” Jdeveloper nace con la vocación de ser una herramienta de desarrollo para todos. Para los grandes jurú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. “ ¿Existe un plan formativo de Oracle que facilite la transferncia de Forms a J2EE?” 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.
Jordi. “ Sólo los grandes jurús de java se pueden enfrentar al desarrollo de aplicaciones empresariales” Jdeveloper nace con la vocación de ser una herramienta de desarrollo para todos. Para los grandes jurú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. “ ¿Existe un plan formativo de Oracle que facilite la transferncia de Forms a J2EE?” 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.
Jordi. “ ¿Existe un plan formativo de Oracle que facilite la transferncia de Forms a J2EE?” 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.