0

Oracle ADF, um framework low code

#Java
Luiz Magacho
Luiz Magacho

Oracle ADF

Neste capítulo é mostrado todo o funcionamento e aplicabilidade do middleware ADF. Na seção 4.1, é apresentado o framework com sua arquitetura, na seção 4.2 o ADF Model, que permite que se crie aplicativos ADF com base em diferentes tipos de serviços empresariais, na seção 4.3, ADF Business Components, que são objetos pré-criados baseados os padrões de projeto e nas melhores práticas do Java EE e que simplificam o desenvolvimento e a manutenção de serviços complexos, de alto desempenho e centrados no banco de dados.


Arquitetura ADF

O Oracle ADF é um framework Java comercial para a construção de aplicações empresariais. Ele suporta rápido desenvolvimento e aplicativos com base em padrões de projetos prontos para uso, ferramentas orientadas a metadados e visuais.

O Oracle ADF é baseado nos seguintes conceitos:

• Conjunto de componentes avançados para serviços Web, mobile e desktop;

• Lógica de validação de negócios declarativa e reutilizável;

• Ligação de dados declarativos;

• Separação de elementos relacionados a UI, interface do usuário, e a dados (Arquitetura MVC);

• Funcionalidade de fluxo de páginas aprimorada, incluindo fluxos de tarefas modulares e reutilizáveis;

• Segurança declarativa nos recursos ADF;

• Nível cliente-desenvolvedor personalizado por meio de metadados;

A arquitetura Oracle ADF é baseada Model-View-Controller (MVC) com padrão de design que consiste em 4 camadas - Modelo, Visão, Controle e Serviços de Negócios. Separar a aplicação nessas camadas auxiliam a reutilização e manutenção dos componentes da aplicação.

Com esse modelo de arquitetura o Oracle ADF fornece componentes centrais de alto nível, incluindo algumas tecnologias subjacentes, como JavaServer Faces (JSF), assim como outros serviços comerciais e de dados que geralmente fazem parte de um aplicativo. Na figura 2-1 representa uma visão geral da arquitetura descrita do Oracle ADF por meio do MVC, como indicado na figura 10, mostrando a arquitetura no ADF.


Figura 10: Arquitetura ADF

Captura de Tela 2019-08-25 às 12.44.45.png

Fonte: Documentação Oracle 

ADF Model

O ADF Model é a parte central do Oracle ADF, permitindo que se crie aplicações ADF baseadas em diferentes tipos de serviços de negócios, implementando controle e ligação de dados (data controls e data bindings). Os controles de dados abstraem a tecnologia de implementação de um serviço de negócios usando interface de metadados padrão para descrever as operações e as coleções de dados do serviço, incluindo informações sobre propriedades, métodos e tipos envolvidos.

No Oracle JDeveloper, IDE para desenvolvimento, os desenvolvedores podem visualizar essas informações como ícones facilmente manipulados por arrastar e soltar em uma página. Quando arrastado, sua representação do serviço para a página, o JDeveloper cria automaticamente as ligações das páginas para o serviço. No tempo de execução, a camada Modelo do ADF lê as informações que descrevem os controles e ligações de dados do aplicativo a partir de arquivos XML apropriados e implementa a conexão bidirecional entre a interface do usuário e o serviço comercial do aplicativo.

Oracle ADF propicia uma implementação de controle de dados pronta para uso para tecnologias de serviços de negócios comuns, como as seguintes:

• ADF Business Components;

Enterprise JavaBeans (EJB);

JavaBeans Components;

Web Services (SOAP e REST).


ADF Business Components

O ADF Business Components são objetos pré-criados de aplicativos baseados nos padrões de projetos e nas melhores práticas do Java EE e que simplificam o desenvolvimento e a manutenção de serviços complexos, de alto desempenho e sentados em um banco de dados.

Os principais benefícios do uso do BC seriam:

• O gerenciamento do acesso ao banco de dados, incluindo conexão, recuperação de dados, bloqueio de registros e inserção e atualização de dados.

• Capacidade de criar modelos de dados personalizados para tipos específicos necessários, com apenas os dados requeridos.

• Criação de modelos relacionais, além daqueles já modelados pelo próprio banco.

• Capacidade da criação de específicas regras para campos obrigatórios, exclusividade de chave primária, escala de dados e referências de chaves estrangeiras.

 • Aplicação de regras de negócios desde as simples até as mais complexas, de modo programático ou declarativo, com suporte a validação.

Diferentemente do jeito utilizado no desenvolvimento Android, que se utiliza de conexão direta com o banco por uma classe Java, no qual conta com as conexões e, se não for utilizada nenhuma API, até mesmo comandos SQL no código, o que o deixa trabalhoso, deixa a aplicação mais pesada e com falta de segurança, já que as requisições estão em código. Com o Business Components trabalha como um componente por trás que auxilia o aplicativo com a fonte de dados e separa a persistência desses dados com a lógica de negócios que permite sua reutilização em vários componentes MVC.

O Business Components também conhecido como BC tem sua arquitetura com os seguintes componentes principais:

  • Entidade de Objeto - tem como função encapsular os objetos individuais em uma fonte de dados, como as tabelas de um banco de dados e que adicionam a lógica de negócios para que se permita trabalhar com esses dados;
  • Associações de Entidade - definem os relacionamentos entre os objetos das entidades;
  • Objetos de Interface - fornecem acesso aos dados do formulário podendo ser usados por meio das ligações do Modelo ADF numa interface de usuário, além de permitir a atualização de dados baseados em entidades de objetos;
  • Links de Interface - definem as hierarquias entre os objetos de exibição;
  • Módulo de Aplicativo - encapsulam os objetos de visualização que se fazem necessários em uma unidade lógica de trabalho relacionada a uma tarefa de usuário final.


Entidade de Objeto

A Entidade de Objeto do ADF consiste num componente BC que encapsula, persiste e constrói as regras dos itens que serão usados na aplicação, podendo ser representados por elementos das estruturas lógicas do negócio, como turmas e aulas, documentos de negócio como boletos e protocolos e itens físicos como professores e alunos, que no modo tradicional como Java Orientado a Objetos seriam considerados Objetos Java. 

Figura 11: Fluxograma Business Components do ADF

EstruturaEO.png

Fonte: Documentação Oracle


Associação de Objeto

Os relacionamentos entre as definições de entidade de objetos são tratadas pelas associações de objetos, que definem a relação entre duas entidades com base num conjunto de atributos de cada um. As associações são mapeadas para relacionamentos entre objetos únicos e a fonte de dados. Em grande parte desses casos, são relacionamentos entre tabelas, interfaces e espelhamento direto do banco de dados. Também podem ser utilizadas como planilhas, arquivos XML ou arquivos simples de texto.

Quando a fonte de dados vem de um banco de dados, essas associações são mapeadas para relacionamentos entre chaves estrangeiras de tabelas do banco de dados. Embora não se faça necessário uma relação de um para um ou um para muitos entre as chaves estrangeiras para que se torne possível a associação, se faz necessário pelo menos uma relação lógica apropriada entre as tabelas.


Objetos de Interface

Os objetos de interface do ADF são aqueles que coletam os dados da fonte de dados, modelam esses dados para uso dos clientes e permitem que eles sejam alterados. Entre as principais definições, se destacam, preencher um único elemento em uma tabela em um formulário, criar e processar um formulário de inserção e edição dos dados, criar listas que populam um componente e criar um formulário de pesquisa que realize regras específicas. 

Após criar uma definição de objeto de interface e incluí-la num módulo de aplicativo, deverá ser usado o painel de controle para criar esses componentes da interface do usuário com base nessas coleções, atributos e operações dos objetos.


Links de Interface

Após criar um objeto de interface se faz necessário a manipulação desses objetos para isso a importância dos links de interface definindo um relacionamento entre dois objetos de interface com base nos conjuntos de atributos de cada um. Variando essas relações de um para muitos e muitos para muitos, por exemplo, Módulo de Aplicativo

São a implementação dos controles de dados do modelo ADF Business Components, que representam tarefas específicas do aplicativo. A definição fornece o modelo de dados para a tarefa agregando o objeto de interface e links de interface necessários para a tarefa, também fornecendo serviços que auxiliam o usuário a realizar as tarefas. 



ADF Task Flow

O fluxo de tarefas ADF, mais conhecido como ADF Task Flow, fornece uma abordagem modular para e fingir o fluxo de controle em um aplicativo. Em vez de representar um aplicativo como um único grande fluxo de páginas JSF, pode-se dividir em uma coleção de fluxos de tarefas reutilizáveis. Em cada fluxo de tarefas, se identifica as atividades do aplicativo, que são as unidades de trabalho que devem ser executadas para que a aplicação seja concluída. Uma atividade representa uma parte do trabalho que pode ser executada no fluxo de tarefas. Tal fluxo tem as seguintes vantagens pontuadas abaixo:

  • Pode-se dividir o aplicativo numa série de fluxos de tarefas, em vez de representar todo o num grande fluxo de páginas;
  • Pode-se usar atividades diferentes de páginas num único fluxos de tarefas;
  • Pode-se navegar entre as atividades, não apenas entre as páginas;
  • Os fluxos de tarefas são modulares e reutilizáveis na mesma aplicação ou em diferentes;
  • O escopo de memória compartilhada permite que os dados sejam transmitidos entre as atividades do fluxo de tarefas. 
0
12

Comentários (0)

None

Brasil