25 Agosto 2017

Oracle Application Express – Introdução ao APEX

1. INTRODUÇÃO

1.1. O que é o Oracle Application Express (APEX)?

O Oracle APEX é uma framework de desenvolvimento de aplicações web centralizada numa base de dados. Permite de uma forma rápida e prática desenhar, desenvolver e concretizar aplicações suportadas por base de dados Oracle, utilizando apenas um web browser.

O APEX encontra-se disponível, por defeito, em todas as instalações de base de dados Oracle, incluindo a versão Express.

 

1.2. Casos de Utilização

Um dos objetivos do Oracle APEX é simplificar a interação entre o utilizador e a ferramenta, de modo a ser utilizado por todos os colaboradores de uma empresa e não apenas por equipas de IT em back-office.

É muito utilizado para contruir de forma rápida aplicações que necessitem de alterações urgentes devido a alterações de negócio.

Permite migrar soluções existentes nas empresas baseadas em ficheiros ou em aplicações antigas, ficando a nova solução disponível na web para todos os utilizadores de forma centralizada, segura e robusta.

 

1.3. Evolução Histórica

 

2. ARQUITECTURA

2.1. Arquitetura em 3 Camadas

O Oracle APEX utiliza uma arquitetura simples dividida em 3 camadas: Web Browser, Web Server e Base de Dados com APEX incluído.

Os pedidos despoletados pelo web browser são enviados através da camada intermedia (Web Server) para execução no motor do APEX e base de dados. Depois da informação processada é devolvida uma resposta para o web browser em formato HTML.

Não existe qualquer manipulação de dados na camada intermédia, essa tarefa é realizada exclusivamente pelo motor do APEX junto da base de dados através de interação com os schemas.

Na camada intermédia (Web Server) a Oracle dá preferência à utilização do Oracle REST Data Services (ORDS) a correr sobre um Web Logic Server (outras soluções possíveis: Glassfish ou Tomcat). O Oracle HTTP Server (OHS) é normalmente instalado à frente do ORDS para funcionar como proxy.

 

2.2. Ligações a Fontes de Dados

O APEX tem uma melhor performance quando partilha a mesma Base de Dados onde se encontram os dados fonte a utilizar nas aplicações desenvolvidas.

No entanto, é possível interagir com fontes de dados remotas através da utilização de Web Services (REST e SOAP) ou através de Database Links para outras base de dados.

Ao utilizar o ORDS é possível disponibilizar Web Services a partir da base de dados Oracle.

 

3. ADMINISTRAÇÃO / CONFIGURAÇÃO

3.1. Autenticação de Utilizadores

O Oracle APEX está preparado para utilizar vários métodos de autenticação dos seus utilizadores, sendo os principais:

  • LDAP – autenticação realizada com base no servidor de diretório da empresa;
  • Oracle APEX – a autenticação é realizada com base em utilizadores criados na própria ferramenta APEX;
  • Base de Dados – a autenticação é realizada com utilizadores configurados na base de dados.

Perfil dos Utilizadores

  • Workspace Administrator (herda os privilégios de Developer e End User)

 Gestão de utilizadores

 Gestão de Workspaces

 Gestão da instância

  • Developer (herda os privilégios de End User)

 Criação e edição de aplicações

 Acesso a relatórios de schema

 Monitorização de actividade

  • End User

 Apenas tem acesso às aplicações disponibilizadas pelos Developers

3.2. Workspace

Um Workspace é um espaço virtual privado que permite que vários utilizadores APEX trabalhem dentro desse mesmo espaço, mantendo assim a privacidade sobre os seus objetos, dados e aplicações dentro do grupo de utilizadores com acesso a esse workspace.

Permite definir a nível aplicacional uma ligação com os dados fonte que estarão disponíveis para utilização dentro do workspace, através da identificação de quais o schemas de base de dados a que esse workspace terá acesso. A relação entre workspaces e schemas é N-N.

Os utilizadores (developer ou end user) podem, em qualquer momento, solicitar alteração nos acessos existentes ou a criação de novos acessos a outros schemas. Esta gestão é realizada exclusivamente pelos utilizadores com perfil workspace administrator.

 

3.3. Metadados

 

Os metadados do APEX são guardados em schemas próprios para esse efeito na base de dados. Estes schemas são criados automaticamente com a instalação do APEX.

A nomenclatura do schema de metadados tem como referência a versão de APEX instalada, como por exemplo: APEX_040200 ou APEX_050000.

 

3.4. Ciclo de Vida de Desenvolvimento

Nas situações em que existem vários ambientes de APEX (por exemplo: Desenvolvimento, Testes e Produção) é possível de forma rápida exportar e importar as aplicações APEX entre os mesmos.

Para exportar uma aplicação, o developer utiliza o componente Export existente no módulo Application Builder. Esta ação gera um ficheiro com um script SQL.

 

O developer informa de seguida o responsável pelo ambiente que irá receber a aplicação da disponibilidade do ficheiro SQL gerado anteriormente.

 

O responsável do novo ambiente importa o ficheiro através do componente Import, ou alternativamente executando o script SQL directamente na base de dados.

 

4. MÓDULOS PRINCIPAIS

4.1. Application Builder

Ambiente de Desenvolvimento Integrado que permite de forma prática configurar aplicações web, devido a um conjunto alargado de componentes já existentes na solução: controlo de navegação, forms, relatórios, etc.

É neste módulo que a equipa de desenvolvimento passa a maior parte do tempo, criando, mantendo e melhorando as suas aplicações.

 

4.2. SQL Workshop

Permite visualizar objetos dos schemas a que o workspace tem acesso, vendo o universo de tabelas ou o detalhe das colunas de determinada tabela por exemplo.

É possível alterar e realizar tarefas de manutenção sobre os objetos de base de dados através da execução de instruções SQL (select, insert, update, delete, etc.).

As funcionalidades deste módulo são um subconjunto do produto SQL Developer da Oracle.

 

4.3. Team Development

É uma ferramenta colaborativa de gestão de projetos integrada no APEX, que permite assim um melhor acompanhamento do estado do projeto, dando visibilidade sobre os detalhes associados às aplicações em desenvolvimento.

 

4.4. Packaged Applications

Trata-se de um conjunto de aplicações pré-construídas, disponíveis para utilização de forma rápida e produtiva.

Permite ao utilizador de forma prática aprender algumas das muitas potencialidades do APEX, podendo à posteriori aplicar esse conhecimento durante o desenvolvimento das suas aplicações.

Este módulo está constantemente a ser atualizado e enriquecido com novos conteúdos em cada atualização da versão do APEX.

 

5. IMPLEMENTAÇÕES REAIS

5.1. Loja Virtual da Oracle

5.2. Diretório de Recursos Humanos da Oracle

Aplicação interna da Oracle, onde está centralizada toda a informação sobre os seus trabalhadores.

Os trabalhadores podem atualizar a sua informação através da aplicação, adicionar ou atualizar fotografia, adicionar links, etc.

É usado para pesquisar e contactar trabalhadores, e apresenta uma média de 1,5 milhões de visualizações de páginas por dia, sendo o tempo de resposta médio 0,04 segundos.

 

5.3. Oracle Team USA

Os navegadores têm acesso a uma Aplicação Mobile baseada em APEX que permite automatizar a validação de uma lista de 250 itens na preparação da embarcação para a navegação.

 

 

 

 

Ricardo Simões

 

 

 

Carlos Cardoso

Blog