oracle jdeveloper & adf overview - guors.com.br · • pjc disparando server side events •...
TRANSCRIPT
<Insert Picture Here>
Oracle Jdeveloper & ADF OverviewGustavo Michel TorresPlatform Technologic SolutionsOracle JDeveloper/ADF
<Insert Picture Here>
Agenda do evento
• Roadmap para Desenvolvimento (Forms/Designer/Jdeveloper)
• Arquitetura Oracle Fusion• Oracle Jdeveloper• Oracle ADF• Oracle JHeadstart (extra)• Conclusão
<Insert Picture Here>
Roadmap para Desenvolvimento
Rodmap Forms para JEE/SOA
Oracle Forms 11g New Features
• External events• Integração com JavaScript• Suporte a proxy user • Integração com Enterprise Manager• Runtime features
• Reports JVM pooling• PJC disparando server side events
• Diagnostic features• Enhanced PL/SQL tracing• Gerenciado através do EM
<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
Business LogicView Data
RulesEngine Assign
Task
TaskComplete
Human WorkflowService
BPELProcess
results
factsBusinessActivityMonitoring
Orchestration Human interactionPolicy evaluationMonitoring
User InterfaceADF Faces components
+WebCenter
Business ServicesADF Business Components
JSR-227Data
Binding
Web Services
Arquitetura Fusion
DBSchema
<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 ADFFramework Java EE Completo
• Implementa melhores práticas do padrão Java EE• Model-View-Controller (MVC) Design Pattern
• Foco no negócio, não em programação de baixo nível• Consolidação e evolução de frameworks anteriores
Business ServicesBusiness Services
Web and Wireless ClientsWeb and Wireless ClientsRich Clients
ModelModel
ControllerController
Business Services
Data Services
ADF Bindings (JSR 227)ADF Bindings (JSR 227) Model
Controller
JSFJSF View
Desktop Browser-Based
StrutsStruts JSF/ADF Task FlowJSF/ADF Task Flow
OfficeOfficeADFADF SwingSwing
JDeveloperProdutividade baseada em padrões
JSPJSP
TopLinkTopLink
EJBEJB BAMBAM ADFbcADFbc PortletsPortletsBIBI EssbaseEssbaseBPELBPEL Web Web ServicesServices
JavaJava
ADF Faces / DVTADF Faces / DVT
XML DataXML Data Legacy DataLegacy DataRelational DataRelational Data Packaged AppsPackaged Apps
Business Services
Data Services
ADF Bindings (JSR 227)ADF Bindings (JSR 227) Model
Controller
JSFJSF View
Desktop Browser-Based
StrutsStruts JSF/ADF Task FlowJSF/ADF Task Flow
OfficeOfficeADFADF SwingSwing
Arquitetura Oracle ADFDesenvolvimento Fusion
JSPJSP
TopLinkTopLink
EJBEJB BAMBAM ADFbcADFbc PortletsPortletsBIBI EssbaseEssbaseBPELBPEL Web Web ServicesServices
JavaJava
ADF Faces / DVTADF Faces / DVT
XML DataXML Data Legacy DataLegacy DataRelational DataRelational Data Packaged AppsPackaged Apps
Oracle Application Development Framework (ADF)
• Framework JavaEE completo
• Declarativo• Produtivo• Orientado a serviço• Standards
• Framework de desenvolvimento do Oracle Fusion
Oracle ADFFramework 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 de data views• 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 !
DemonstraçãoADF Business Components
<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 ClientExemplos de Componentes
ADF Faces Rich ClientExemplos de Componentes
ADF Faces Rich ClientExemplos de Componentes
DemonstraçãoADF Faces
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
Private Implementation and State
Bounded Task Flow
Task Flow
Page region
ADF Controller Declarativo
Book-markable
Declarative TrainsDeclarative
Commit / Rollback
Back Button
SupportTransaction
(New or Inherit)Save for Later
<Insert Picture Here>
Oracle ADF 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
ADF Model - Data Binding
DemonstraçãoDesenvolvimento ADF
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
Referências Versões Anteriores
Enterprise Manager 11g
Oracle WebCenter
Oracle WebCenterExecução de tarefas de forma simples, consistente, reusável
NotificationsNotifications
EmailEmail
DocumentsDocuments
DiscussionsDiscussions Contextual WiringContextual Wiring
CommunitiesCommunities
PresencePresence
PreferencesPreferences
SearchSearch
RecentRecent
FavoritesFavorites
Para saber mais
• http://oracle.com/technology/jdev• Software• Demos• Tutoriais• Fórum de discussão• Blogs• Mais…
<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
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”
DemonstraçãoForms2ADF 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 é autimaticament migrada para Java• Preferência por uma arquitetura multi-camada robusta (ADF
MVC) do que 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.