<Insert Picture Here> Oracle Jdeveloper & ADF Overview Gustavo Michel Torres Platform Technologic Solutions Oracle JDeveloper/ADF [email protected] Agenda do evento <Insert Picture Here> • Roadmap para Desenvolvimento (Forms/Designer/Jdeveloper) • Arquitetura Oracle Fusion • Oracle Jdeveloper • Oracle ADF • Oracle JHeadstart (extra) • Conclusão <Insert Picture Here> Roadmap para Desenvolvimento <Insert Picture Here> Arquitetura Oracle Fusion Como facilitar o desenvolvimento ? • Oracle JDeveloper • Ferramenta única de desenvolvimento • Oracle ADF • Framework de desenvolvimento Java EE 5 SOA Web 2.0 <Insert Picture Here> Oracle JDeveloper Oracle JDeveloper • Completo • Ciclo de desenvolvimento completo. • Ferramenta única para Java, Web Services, XML, DB, SOA, etc. • Standard • Suporte aos padrões de mercado • Cross platform (AS and DB) • Produtivo • Desenvolvimento visual e declarativo • Auxilio a codificação • Oracle Application Development Framework (Oracle ADF) • Estratégico • A ferramenta para Fusion Middleware • A ferramenta para Oracle Database • A ferramenta Oracle Fusion Applications • Gratuito Suporte Completo ao Ciclo de Desenvolvimento UML • Diagrama de Classes • Transformadores • Diagrama de Seqüência • Diagrama de Use Case • Diagrama de Atividades Desenvolvimento de Banco de Dados • Modelagem de banco de dados • Criação de objetos • Database browser • SQL worksheet • SQL tuning • PL/SQL editor • PL/SQL debugging • Publish PL/SQL based Web services Desenvolvimento Wireless • JSF baseado em wireless • Editor WYSIWYG para PDA e Telnet • Filtro de componentes baseados no dispositivo • Simulador de dispositivo Desenvolvimento SOA / BPEL • Construção BPEL • Orquestração Web Services • Drag and Drop • Sincronização de Código <Insert Picture Here> Oracle ADF Application Development Framework Oracle ADF Framework Java EE Completo • Implementa melhores práticas do padrão Java EE • Model-View-Controller (MVC) Design Pattern Rich Clients Web Web and and Wireless Wireless Clients Clients Controller Controller Model Model Business Business Services Services • Foco no negócio, não em programação de baixo nível • Consolidação e evolução de frameworks anteriores JDeveloper Produtividade baseada em padrões Desktop ADF Swing Browser-Based JSP Office JSF Struts ADF Faces / DVT JSF/ADF Task Flow EJB BAM BPEL Web ADFbc Services Controller Model ADF Bindings (JSR 227) Java View BI Essbase Portlets TopLink Business Services Data Services Relational Data XML Data Legacy Data Packaged Apps Arquitetura Oracle ADF Desenvolvimento Fusion Desktop ADF Swing Browser-Based JSP Office JSF Struts ADF Faces / DVT JSF/ADF Task Flow EJB BAM BPEL Web ADFbc Services Controller Model ADF Bindings (JSR 227) Java View BI Essbase Portlets TopLink Business Services Data Services Relational Data XML Data Legacy Data Packaged Apps Oracle Application Development Framework (ADF) • Framework JavaEE completo • • • • Declarativo Produtivo Orientado a serviço Standards • Framework de desenvolvimento do Oracle Fusion Oracle ADF Framework Java Corporativo • Agrega valor e simplifica Java EE • Soluções para: • • • • • • • • Binding Componentes UI e framework Controller Desenvolvimento de web services Validação declarativa Segurança declarativa Customização Facilidade de desenvolvimento ADF em detalhes • • • • ADF Business Components ADF Faces Components ADF Controller ADF Binding <Insert Picture Here> Oracle ADF Business Components (MVC) ADF Business Components • Framework que simplifica o desenvolvimento de business services Java EE para desenvolvedores familiarizados com ferramentas 4GL, desenvolvimento declarativo e banco de dados relacionais • • • • • • Acesso aos dados simplificado Validações elementares e regras de negócio Usa data views baseadas em SQL Separa regras de negócio da visão de dados Implementação de regras de negócio Facilidade de customização Facilidades ADF BC • • • • • • • • Query By Example Lista de valores Campos calculados Validação declarativa Controle de paginação Controle de transação Mecanismos de lock Gerenciamento de estado • Realizado declarativamente sem código ! <Insert Picture Here> Oracle ADF Faces (MVC) Java Server Faces (JSF) • Desenvolvimento Web Simplificado • • • • • • Server side UI generation Baseado em componentes, não em mark-ups Manipulação de eventos e estados Diversidade de clientes não apenas HTML Projetado para utilização em ferramentas Qualquer perfil de desenvolvedor • Java EE standard Componentes Oracle ADF Faces • Mais de 100 componentes JSF • Comportamento “Ajax” • • • • • Partial Page Rendering Validação a nível de cliente Dialog framework Componentes avançados para tabelas e árvores Tecnologia iframe • Produção desde janeiro/06 ADF Faces Rich Client 11g • Mais de 100 componentes JavaServer Faces Ajax enabled • Componentes de visualização de dados (gráficos e mapas) • Drag-and-drop framework • Dialog & popup framework • Navigation menu framework • Partial page rendering • Active data framework • Advanced data streaming • API JavaScript completa ADF Faces Rich Client Exemplos de Componentes ADF Faces Rich Client Exemplos de Componentes ADF Faces Rich Client Exemplos de Componentes Reusabilidade no desenvolvimento JSF • Templates para tecnologia JavaServer Faces • Definição de padrões de páginas • Page Fragments • Desenvolvimento de áreas reusáveis • Page Regions • Construção de uma página através de page fragments • Components Declarativos • Componentes complexos prontos para uso <Insert Picture Here> Oracle ADF Controller (MVC) ADF Controller - Estendendo o JSF Controller • Configuração declarativa • Características out-of-the-box avançadas • • • • • • • Trains: seqüência de páginas Save for later—abandona transações incompletas Bookmarking declarativo Gerenciamento de transação declarativo Suporte declarativo ao botão back Suporte declarativo ao tratamento de exceção Segurança declarativa baseada em JAAS ADF Controller Declarativo Bounded Task Flow Task Flow Private Implementation and State Page region ADF Controller Declarativo Back Button Transaction (New or Inherit) Support Save for Later Bookmarkable Declarative Trains Declarative Commit / Rollback <Insert Picture Here> Oracle ADF Data Binding ADF Model - Data Binding • ADF Model • JSR-227 Data Controls • Interface Orientada a Serviços • Abstrai implementação de clientes • Fraco acoplamento entre serviços e aplicações • Maior Reusabilidade • Discover & Share Services • Maior Produtividade • Drag and Drop Data Binding Jdeveloper & ADF Conclusão • Produtivo • Abordagem de desenvolvimento declarativa e visual • Oracle ADF – framework completo para aplicações SOA • Completo • Java, SOA, Database, WebCenter/Portlets, XML, Web services • Full Development Life Cycle • Standards com Opção • • • • Padrões de Mercado Escolha da plataforma de desenvolvimento Escolha da abordagem de desenvolvimento Escolha de tecnologias <Insert Picture Here> Oracle JHeadstart O que é JHeadstart? • Extensão do Jdeveloper para automatização de tarefas ADF via templates • Toolkit de desenvolvimento em ADF • Constrói sobre arquitetura de runtime ADF • Integração completa com design ADF • Melhores práticas ADF out-of-box • Desenvolvimento declarativo • Gera aplicações ADF completas • Conceito semelhante ao Forms Generator do Oracle Designer • Acelera migração de aplicações Oracle Forms em ADF JHeadstart – Principais Componentes • JHeadstart Application Generator (JAG) • Geração de aplicação usando melhores práticas • JHeadstart Utilities • Automatização de tarefas ADF • Controle de qualidade • JHeadstart Runtime • Componentes reutilizáveis para funcionalidade complexas • Implementação de melhores práticas • JHeadstart Forms2ADF Generator • Criação de aplicação ADF baseada em definições forms • JHeadstart Developer’s Guide <Insert Picture Here> JHeadstart Application Generator JHeadstart Application Generator (JAG) • Geração de ADF Faces JSPX Pages, Page Fragments and Regions • Geração de (un)bounded task flows • Geração PageDefinition XML files (data bindings) • NÃO gera código Java ! • JAG orientado por • Arquivo Application Definition em XML, criado e editado através de Wizard dentro do JDeveloper • Velocity Generator Templates • Aplicação gerada é 100% customizável JHeadstart Application Generator (JAG) Funcionamento Application Application Definition Definition JHeadstart Application Generator New JHeadstart Service Defintion ADF ADF Business Business Components Components Model ADFModel Model ADF Data Bindings Bindings Data JSF+ADFc JSF+ADFc JSF JSP JSP JSF ADF Faces Faces ADF Controller View Data Controls Controls Data Business Services Demonstração JHeadstart Application Generator Exemplo de página JHeadstart Exemplo de página JHeadstart Exemplo de página JHeadstart Exemplo de páginas JHeadstart Exemplo de páginas JHeadstart <Insert Picture Here> JHeadstart Forms2ADF Generator JHeadstart Forms2ADF Generator • Gera ADF Business Components beseado nos blocos Forms • ADF BC Entity Objects criados para tabelas utilizadas • ADF BC View Objects criados para blocos and LOV queries • Parâmetros de consulta para referências :block.item • LOV no ADF criado para cada LOV / Record Group • ADF BC Application Module criado para cada form • Extrai a interface de usuário do forms para o JHeadstart Application Definition • Groups criados para cada bloco • Group Items criados para cada item no bloco • (Stacked) region containers e regions criados baseados na localização de itens em canvas (tabbed ou não) e dentro de framed graphics. • Domínios criados baseados nos allowable values do forms • Lógica PL/SQL copiada como “documentação” JHeadstart Forms to ADF Generator Funcionamento Form Form (.fmb) (.fmb) Form `` Form (.fmb) JHeadstart Forms2ADF Generator JHeadstart Application Generator Application Application Definition Definition ADF ADF Business Business Components Components Model ADFModel Model ADF Data Bindings Bindings Data JSF+ADFc JSF+ADFc JSF JSP JSP JSF ADF Faces Faces ADF Controller View Data Controls Controls Data Business Services Demonstração Forms2ADF Application Generator Executando Forms2ADF Generator Executando Forms2ADF Generator Executando Forms2ADF Generator Executando Forms2ADF Generator Executando Forms2ADF Generator Executando Forms2ADF Generator Executando Forms2ADF Generator ADF Business Components gerados Application Definition gerado Tela Oracle Forms Página ADF gerada Tela Oracle Forms Página ADF gerada Tela Oracle Forms Página ADF gerada Tela Oracle Forms Página ADF gerada E a lógica PL/SQL? • Lógica PL/SQL não é autimaticamente migrada para Java • Preferência por uma arquitetura multi-camada robusta (ADF MVC) a uma migração PL/SQL • Analisar a lógica • Determinar em que camada deve ser implementada • Determinar com implementá-la • Application Definition Editor mostra triggers a nível de form, bloco e program units • Overview de todo lógica PL/SQL • Abilidade para mover lógica para o banco, para ADF BC ou JSF managed beans Código PL/SQL no Application Definition Editor JHeadstart – Resumo • JHeadstart incorporpora melhores práticas no desenvolvimento de aplicações ADF • Prototipação rápida para acelerar fase de análise, e para identificar os requerimentos dos usuários • Tarefas repetitivas no desenvolvimento são automatizadas. • JHeadstart reforça padrões de interface e desenvolvimento • Definições de aplicações forms podem ser reutilizadas facilitando a transição para Java • Facilita o aprendizado do ADF 11.