Oracle JHeadstart - Migrando Forms para Java

Propaganda
<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.
Download