Oracle Jdeveloper & ADF Overview - guors.com.br · • PJC disparando server side events •...

Preview:

Citation preview

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

Recommended