Oracle Jdeveloper & ADFOverview - guors.com.br · • Manipulação de eventos e estados ... •...

Post on 13-Feb-2019

217 views 0 download

Transcript of Oracle Jdeveloper & ADFOverview - guors.com.br · • Manipulação de eventos e estados ... •...

<Insert Picture Here>

Oracle Jdeveloper & ADF Overview

Gustavo Michel TorresPlatform Technologic SolutionsOracle JDeveloper/ADFgustavo.torres@oracle.com

<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

<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 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 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 ClientExemplos de Componentes

ADF Faces Rich ClientExemplos de Componentes

ADF Faces Rich ClientExemplos 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

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

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 ApplicationGenerator

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

ViewControllerModel

BusinessServices

JHeadstartApplication Generator

JSF+ADFcJSF+ADFc JSF JSPADF Faces

JSF JSPADF Faces

ADF Model

Data Bindings

Data Controls

ADF Model

Data Bindings

Data Controls

Application Definition

Application Definition

ADF Business

Components

ADF Business

Components

JHeadstart Application Generator (JAG)Funcionamento

New JHeadstartService Defintion

DemonstraçãoJHeadstart 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”

ViewControllerModel

BusinessServices

JHeadstartApplication Generator

JSF+ADFcJSF+ADFc JSF JSPADF Faces

JSF JSPADF Faces

ADF Model

Data Bindings

Data Controls

ADF Model

Data Bindings

Data Controls

Application Definition

Application Definition

ADF Business

Components

ADF Business

Components

JHeadstartForms2ADF

Generator

Form(.fmb)Form

(.fmb)Form ``Form(.fmb)

JHeadstart Forms to ADF Generator Funcionamento

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 é 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 ApplicationDefinition 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ãoautomatizadas.

• 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.