O JQuery emprestou do CSS o conceito de seletores para tornar fácil manipular qualquer elemento em uma pagina da web. Os seletores permitem acesso direto aos elementos de uma pagina utilizando varias técnicas diferentes, como seleção por atributos, seletores básicos, por filhos, utilizando filtros, forms, hierarquia, visibilidade e outros.

Os seletores hierárquicos são divididos em quatro tipos, eles são:

  • $(parente>filho) – Seleciona todos os filhos do parente especificado.
  • $(antecessor descendente) – Seleciona todos os antecessores de um determinado descendente.
  • $(prévio + próximo) – Seleciona todos os próximos elementos adjacentes.
  • $(prévio ~ irmãos) – Seleciona todos os elementos irmãos do elemento prévio.
JQuery - Seletor de Hierárquia

JQuery – Seletor de Hierárquia

Exemplo:

Neste exemplo utilizamos tipos de seletores para selecionar e modificar os elementos CSS da pagina web. Preste atenção ao código HTML que contem elementos com identificadores que são os elementos prévios para se utilizar a seleção por hierarquia.

JQuery

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
	<meta charset="utf-8" />
	<title>Desenvolvimento Aberto</title>

	<!-- Está é uma instalação do JQuery, você apenas precisa apontar
	     para o respectivo script da versão que você deseja utilizar -->

   <script type="text/javascript" src="http://code.jquery.com/jquery-2.1.0.min.js"> </script>

   <!-- Este é um script JQuery básico que manipula o CSS e um evento de clique.
        Todo o script roda no evento equivalent ao OnLoad da pagina html-->     

   <script>
   $( document ).ready(function() {

    // Seleciona por ID
   	 $("#header").css("background-color", "#000000")
   	             .css("color", "white")
   	             .css("padding", "5px")
   	             .css("text-align","center");               	 

       $("#section").css("width", "850px")
                    .css("float","left")
                    .css("padding","15px");

       $("#footer").css("background-color", "#000000")
                   .css("color", "white")
                   .css("text-align", "center")
   	             .css("padding","5px");

       // Seleciona por Classe
       $(".caixa").css("-moz-box-shadow", "5px 5px 5px 5px #777777")
                  .css("-webkit-box-shadow", "5px 5px 5px 5px #777777")
                  .css("box-shadow", "5px 5px 5px 5px #777777")
                  .css("padding", "8px");

       // Seleciona por elementos
       $("td, th").css("border","none")
                  .css("background-color","#dddddd")
                  .css("padding","5px")
                  .css("width","100px")                

   	 $("a").css("color", "#000000");

   	 // ****************************
       // ** Seletores hierarquicos **
       // ****************************	 

       // Seleciona por elemento descendente
       $("table span").css("background-color","yellow");

       // Seleciona filhos
       $("tr > th").css("background-color","limegreen");

       // Seleciona irmãos (siblings)
       $("#irmao ~ td").css("background-color","aqua");

       // Seleciona adjacente
       $("#adjacente + td").css("background-color","fuchsia");

	});       

   </script>
</head>

<body>
<div id="header">
<h1>Desenvolvimento Aberto</h1>
</div>

<div id="section">

    <table class="caixa">
			<tr>
				<th></th>
				<th>10:00</th>
				<th>14:00</th>
				<th>16:00</th>
				<th><span> 19:00</span></th>
			</tr>
			<tr>
				<th>Segunda</th>
				<td colspan="2" id="irmao">Java</td>
				<td>C++</td>
				<td>C#</td>
			</tr>
			<tr>
				<th>Terça</th>
				<td colspan="3">Ruby</td>
				<td>Rails</td>
			</tr>
			<tr>
				<th>Quarta</th>
				<td colspan="2">Javascript</td>
				<td>CSS</td>
				<td>JQuery</td>
			</tr>
			<tr>
				<th>Quinta</th>
				<td colspan="3">Python</td>
				<td>Linux</td>
			</tr>
			<tr>
				<th>Sexta</th>
				<td colspan="3" id="adjacente">Abap</td>
				<td>NetWeaver</td>
			</tr>
		</table>
               </div>
   <p>
     <span style="background-color:yellow;font-weight:bold">Seletor</span> de descendente.
   </p>
   <p>
     <span style="background-color:limegreen;font-weight:bold">Seletor</span> de filhos.
   </p>
   <p>
     <span style="background-color:aqua;font-weight:bold">Seletor</span> de irmãos.
   </p>
   <p>
     <span style="background-color:fuchsia;font-weight:bold">Seletor</span> de adjacente.
   </p>	

<div id="footer">
Desenvolvimento Aberto © desevolvimento.aberto@live.com
</div>

</body>
</html>

O JQuery emprestou do CSS o conceito de seletores para tornar fácil manipular qualquer elemento em uma pagina da web. Os seletores permitem acesso direto aos elementos de uma pagina utilizando varias técnicas diferentes, como seleção por atributos, seletores básicos, por filhos, utilizando filtros, forms, hierarquia, visibilidade e outros.

Os seletores básicos são divididos em quatro tipos, eles são:

  • $(*) – Seleciona todos os elementos.
  • $(.class) – Seleciona uma classe.
  • $(elemento) – Seleciona o elemento especificado.
  • $(#Id) – Seleciona o elemento pelo seu ID.
JQuery - Selectors

JQuery – Selectors

Exemplo:

Neste exemplo utilizamos tipos de seletores para selecionar e modificar os elementos CSS da pagina web. Para testar o exemplo utilize uma imagem qualquer com o tamanho de 350×300.

JQuery

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
	<meta charset="utf-8" />
	<title>Desenvolvimento Aberto</title>

	<!-- Está é uma instalação do JQuery, você apenas precisa apontar
	     para o respectivo script da versão que você deseja utilizar -->

   <script type="text/javascript" src="http://code.jquery.com/jquery-2.1.0.min.js"> </script>

   <!-- Este é um script JQuery básico que manipula o CSS e um evento de clique.
        Todo o script roda no evento equivalent ao OnLoad da pagina html-->     

   <script>
   $( document ).ready(function() {

    // Seletores - seleciona todos os elementos
    // $(*).css("color", "blue");  

   // Seleciona por elemento
       $("body").css("background-color", "#FFFFFF");

    // Seleciona por ID
       $("#header").css("background-color", "#000000")
                   .css("color", "white")
                   .css("padding", "5px")
                   .css("text-align","center");               	 

       $("#section").css("width", "850px")
                    .css("float","left")
                    .css("padding","15px");

       $("#footer").css("background-color", "#000000")
                   .css("color", "white")
                   .css("clear", "both")
                   .css("text-align", "center")
                   .css("padding","5px");

       // Seleciona por Classe
       $(".caixa").css("-moz-box-shadow", "5px 5px 5px 5px #777777")
                  .css("-webkit-box-shadow", "5px 5px 5px 5px #777777")
                  .css("box-shadow", "5px 5px 5px 5px #777777")
                  .css("padding", "8px");

       $("a").css("color", "#000000");

       $("p").slideUp(100).slideDown(3000);   	 

    $( "a" ).click(function( event ) {
        alert( "Desenvolvimento Aberto.\nObrigado por visitar!" );
    });
	});       

   </script>
</head>

<body>
<div id="header">
<h1>Desenvolvimento Aberto</h1>
</div>

<div id="section">

  <p class="caixa">

    <img src="Imagem/imagen01.jpg" width="350" height="300" alt="minha imagem" align="left" />

   	Desenvolvimento Aberto é uma organização voltada para o aprendizado e discussão de técnicas de
	   desenvolvimento focado em algumas linguagens de programação sendo parcialmente/totalmente abertas ou
	   com licenças gratuitas para desenvolvedores de cada uma de suas respectivas marcas registradas.<br />	<br />
		Desenvolvimento Aberto foi escrito e desenvolve utilizando ferramentas gratuitas disponibilizadas
		pelas melhores empresas de software da atualidade, incluindo a própria hospedagem e design deste site,
		sendo assim, também proporciona conteúdo gratuito, isso quer dizer que você não paga nada para aprender
		e utilizar as tecnologias de ponta que podem ser manuseadas através das linguagens de programação mais
		 requisitadas pelas empresas no mercado atual.		 

	</p>
	<a href="#">Clique aqui!!!</a>
		</div>

<div id="footer">
Desenvolvimento Aberto © desevolvimento.aberto@live.com
</div>

</body>
</html>

Websites – Chaining – JQuery – Linux

Publicado: 23 de outubro de 2014 em JavaScript, JQuery

Chaining é um conceito do JQuery que significa encadeamento e nos permite executar vários métodos jQuery continuadamente. Se você chamar um método em uma seleção e o método retornar um objeto jQuery, você pode continuar a chamar métodos jQuery no objeto sem parar até que você finalize o método o encerrando com um caractere ponto e vírgula.

Ao contrario do exemplo anterior que utilizamos o mesmo método e o chamamos varias vezes utilizando inúmeras linhas de instruções JQuery para o mesmo elemento, agora chamamos o objeto uma única vez e o repetimos até que nossa condição seja satisfeita utilizamos uma única linha para cada elemento.

JQuery - Chaning - Animado

JQuery – Chaning – Animado

Exemplo:

Neste exemplo utilizamos o conceito de encadeamento para repetir instruções JQuery para criar o CSS e uma animação para a pagina do website.

JQuery

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
	<meta charset="utf-8" />
	<title>Desenvolvimento Aberto</title>

	<!-- Está é uma instalação do JQuery, você apenas precisa apontar
	     o para o respectivo script da versão que você deseja utilizar -->

   <script type="text/javascript" src="http://code.jquery.com/jquery-2.1.0.min.js"> </script>

   <!-- Este é um script JQuery básico que manipula o CSS e um evento de clique.
        Todo o script roda no evento equivalent ao OnLoad da pagina html-->     

   <script>
   $( document ).ready(function() {

       $("body").css("background-color", "#FFFFFF");

       $("#header").css("background-color", "#000000").css("color", "white")
   	          .css("padding", "5px").css("text-align","center");

       $("#nav").css("background-color", "#9C9C9C").css("color", "#696969").css("height", "370px")
   	       .css("width", "100px").css("float","left").css("padding","5px");   	             

       $("#section").css("width", "550px").css("float","left").css("padding","15px");

       $("#footer").css("background-color", "#000000").css("color", "white").css("clear", "both")
   	          .css("text-align", "center").css("padding","5px");

       $("a").css("color", "#6C7B8B");

       $("p").slideUp(100).slideDown(3000);   	 

    $( "a" ).click(function( event ) {
        alert( "Desenvolvimento Aberto.\nObrigado por visitar!" );
    });
	});       

   </script>
</head>

<body>
<div id="header">
<h1>Desenvolvimento Aberto</h1>
</div>

<div id="nav">
HTML<br>
CSS<br>
Javascript<br>
JQuery<br>

</div>

<div id="section">
	<p>Desenvolvimento Aberto é uma organização voltada para o aprendizado e discussão de técnicas de
	   desenvolvimento focado em algumas linguagens de programação sendo parcialmente/totalmente abertas ou
	   com licenças gratuitas para desenvolvedores de cada uma de suas respectivas marcas registradas.<br />	<br />
		Desenvolvimento Aberto foi escrito e desenvolve utilizando ferramentas gratuitas disponibilizadas
		pelas melhores empresas de software da atualidade, incluindo a própria hospedagem e design deste site,
		sendo assim, também proporciona conteúdo gratuito, isso quer dizer que você não paga nada para aprender
		e utilizar as tecnologias de ponta que podem ser manuseadas através das linguagens de programação mais
		 requisitadas pelas empresas no mercado atual.
	</p>
	<a href="#">Clique aqui!!!</a> 

	</div>

<div id="footer">
Desenvolvimento Aberto © desevolvimento.aberto@live.com
</div>

</body>
</html>

O jQuery é uma biblioteca livre de código aberto e que possui uma licença dual, fazendo uso da Licença MIT ou da GNU. A sintaxe do jQuery foi desenvolvida para tornar mais simples a navegação do documento HTML, a seleção de elementos DOM, criar animações, manipular eventos e desenvolver aplicações AJAX. A biblioteca também oferece a possibilidade de criação de plug-ins. Fazendo uso de tais facilidades, os desenvolvedores podem criar camadas de abstração para interações de mais baixo nível, simplificando o desenvolvimento de aplicações web dinâmicas de grande complexidade.

JQuery: http://jquery.com/

Sendo uma biblioteca JavaScript rápida, pequena e rica em recursos. O JQuery mudou a maneira que milhões de pessoas passaram a escrever JavaScript. Grandes empresas como a IBM, Mozilla, Adobe entre outras se tornaram-se parceiras do JQuery e prestam suporte tornando possível a Fundação JQuery. Fundada com parcerias da IBM e WordPress, está parceria visa melhorar a web aberta, tornando-a acessível a todos, através do desenvolvimento e suporte de software de fonte aberto, e colaboração com a comunidade de desenvolvimento.

JQuery Fundation: https://jquery.org/

Instalando o JQuery

O JQuery é um arquivo de tamanho muito pequeno e simples de instalar, você pode utiliza-lo localmente baixando o arquivo no seu computador e fazendo referencia ao script jquery.js ou pode utiliza-lo diretamente da web.

Hello World - JQuery

Hello World – JQuery

Sintaxe JQuery

A sintaxe do JQuery possui basicamente a proposta de selecionar elementos e executar ações sobre eles. O sinal $ (dólar) define o acesso ao JQuery e suas funções e assim manipular os elementos através de eventos.

Ready

O Ready é um evento do JQuery que ao contrario do JavaScript que utiliza o evento LOAD quando a página é processada e o LOAD não é acionado até que todos os ativos, como as imagens tenham sido completamente carregadas. O READY pode ser executado logo que a hierarquia de DOM possa ser totalmente construída, de modo que este geralmente é o melhor lugar para anexar todos os outros manipuladores de eventos e executar outro código jQuery

Exemplo:

Neste exemplo básico acessamos o JQuery através da web e o utilizamos para manipular um evento de clique sobre um link e o CSS da pagina HTML.

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
	<meta charset="utf-8" />
	<title>Desenvolvimento Aberto</title>

	<!-- Está é uma instalação do JQuery, você apenas precisa apontar
	     o para o respectivo script da versão que você deseja utilizar -->

   <script type="text/javascript" src="http://code.jquery.com/jquery-2.1.0.min.js"> </script>

   <!-- Este é um script JQuery básico que manipula o CSS e um evento de clique.
        Todo o script roda no evento equivalente ao Load da pagina html-->     

   <script>
   $( document ).ready(function() {

          $("body").css("background-color", "#363636");
          $("body").css("color", "#ffffff");
          $("h1").css("background-color", "#483D8B");
          $("h1").css("padding", "20px");
          $("h2").css("background-color", "#4682B4");
          $("h2").css("padding", "20px");
          $("p").css("background-color", "#ffffff");
          $("p").css("color", "#64645A");
          $("p").css("padding", "20px");
          $("a").css("color", "#E066FF");

    $( "a" ).click(function( event ) {
        alert( "Desenvolvimento Aberto.\nObrigado por visitar!" );
    });
	});       

   </script>
</head>

<body>
	<h1> Desenvolvimento Aberto</h1>
	<h2>Aprenda JQuery --> Hello World!</h2>
	<p>Desenvolvimento Aberto é uma organização voltada para o aprendizado e discussão de técnicas de
	   desenvolvimento focado em algumas linguagens de programação sendo parcialmente/totalmente abertas ou
	   com licenças gratuitas para desenvolvedores de cada uma de suas respectivas marcas registradas.<br />	<br />
		Desenvolvimento Aberto foi escrito e desenvolve utilizando ferramentas gratuitas disponibilizadas
		pelas melhores empresas de software da atualidade, incluindo a própria hospedagem e design deste site,
		sendo assim, também proporciona conteúdo gratuito, isso quer dizer que você não paga nada para aprender
		e utilizar as tecnologias de ponta que podem ser manuseadas através das linguagens de programação mais
		 requisitadas pelas empresas no mercado atual.
	</p>
	<a href="#">Clique aqui!!!</a>
</body>
</html>

 

Em ciência da computação, um lookup é uma matriz que substitui um campo identificador de uma tabela pela sua descrição somente em tempo de execução do programa, entretanto para a camada de negocio interna os dados continuam sendo manipulados pelo seu identificador, este é um recurso muito útil para manipular tabelas que possuem uma chave estrangeira tornado possível que esta tabela seja referenciada por sua descrição mas retornando o seu identificador para a tabela que a referenciou.

Está é a parte final do tutorial básico Oracle Application Express utilizando o Oracle Database, caso queira saber mais sobre o Oracle Application Express entre em contato conosco através do menu Contato deste blog.

Alterando um Relatório e um Formulário para Adicionar um Campo Lookup

1 – Vamos adicionar um nova tabela chamada categoria que será referenciada a tabela de funcionário, utilize os scripts abaixo:

SQL Command

SQL Command

2 – No Application Builder edite o seu relatório utilizando o botão direito e escolhendo a opção Edit:

Editar Relatório

Editar Relatório

3 – Na opção Source, modifique a instrução SQL adicionando o campo que você deseja inserir:

Edita SQL

Edita SQL

4 – Ao aplicar as mudanças você será avisado que as modificações não serão aplicadas automaticamente a este relatório, clique em aplicar as mudanças:

Aviso de Mudança

Aviso de Mudança

5 – Execute o relatório e na opção Actions, escolha Select Columns e adicione a nova coluna ao relatório:

Selecionando Colunas

Selecionando Colunas

6 – Você pode conferir que a nova coluna já foi inclusa no relatório e possui valores nulos:

Nova Coluna

Nova Coluna

7 – Volte a pagina inicial da sua aplicação, escolha o formulário para ser editado e nos itens do formulário com o botão direto do mouse clique em Create Page Item:

Itens do Formulário

Itens do Formulário

8 – Na criação do novo item escolha Select List:

Select List

Select List

9 – Insira o nome para seu novo campo e clique em próximo:

Nome do Campo e Ordem no Form

Nome do Campo e Ordem no Form

10 – Adicione o rotulo para seu campo, este rotulo irá aparecer no formulário:

Label

Label

11 – Na configuração do item, deixe os padrões e clique em próximo:

Configuração

Configuração

12 – Na lista de valores, role a pagina até o final e clique em e criar um Dynamic LOV, uma assistente para criação do LOV será aberto em uma nova janela, quando você terminar a criação do LOV sua tela será alimentada com um código SQL como da figura abaixo:

Lista de Valores - Dynamic LOV

Lista de Valores – Dynamic LOV

13 – No assistente de criação do LOV escolha o esquema para seu workspace:

LOV - Esquema

LOV – Esquema

14 – Escolha a tabela para efetuar o lookup:

Tabela para Lookup

Tabela para Lookup

15 – Crie o Lookup, escolhendo a descrição que será mostrada e o identificador que será gravado:

Campos Lookup

Campos Lookup

16 – O assiste criará o código SQL para seu lookup, clique em Finish e você retornará ao assistente de mudança do formulário e o código SQL será atribuído a sua configuração da lista, clique em próximo para passar para a ultima etapa do assistente:

Lookup SQL

Lookup SQL

17 – Está é a ultima etapa e importante configuração para que seu formulário funcione corretamente, em Origem utilize a opção “Sempre,  substituindo qualquer valor existente em estado de sessão”, em Tipo de Origem escolha “Coluna do Banco de Dados” e insira o nome da coluna no qual será conectada a tabela do formulário:

Cria Item

Cria Item

18 – Rode sua aplicação, teste seu formulário e seu relatório. O seu formulário agora possui um campo lookup na tabela de funcionários sendo referenciado a tabela de categorias:

Lookup - Select List

Lookup – Select List

11 – Assim que utilizar a descrição do campo de categorias o lookup será executado retornando o campo do identificador para ser gravado em sua tabela, assim como você pode ver no relatório:

Relatório - ID Categoria

Relatório – ID Categoria

Terminamos este tutorial e agora você já sabe como criar uma aplicação básica para web utilizando o Oracle Apex e o banco de dados Oracle, está é uma das melhores ferramentas para escrever aplicações web com banco dados, no qual se obtém velocidade de desenvolvimento, ótimo desempenho, o melhor acesso a dados sem escrever muito código e além de todos os benefícios que esta completa ferramenta proporciona ainda  é assinada pela Oracle. Não precisa dizer mais nada, não é?

SQL

-- Altera a tabela de funcionario

ALTER TABLE FUNCIONARIOS ADD ID_CATEGORIA NUMBER(5)

-- Cria tabela de categoria
create table CATEGORIA(
  ID_CATEGORIA  NUMBER(5),
  DESCRICAO     VARCHAR2(30),  
  CONSTRAINT    pk_ID_CATEGORIA PRIMARY KEY (ID_CATEGORIA)
  );
 
-- Cria sequencia
CREATE SEQUENCE ID_CATEGORIA_SEQ START WITH 1;
 
-- Cria Trigger
CREATE OR REPLACE trigger BI_CATEGORIA
  before insert on CATEGORIA
  for each row
begin
  if :NEW.ID_CATEGORIA is null then
    select ID_CATEGORIA_SEQ.nextval into :NEW.ID_CATEGORIA from dual;
  end if;
end;

-- Insere dados na categoria
INSERT INTO CATEGORIA VALUES (NULL, 'HARD ROCK');
INSERT INTO CATEGORIA VALUES (NULL, 'GRUNGE');
INSERT INTO CATEGORIA VALUES (NULL, 'ROCK');

 

O Oracle Apex separada apresentação da lógica da aplicação. Você pode projetar sua aplicação em um tema, mudar para outro tema fornecido ou criar e usar o seu próprio tema personalizado. Ao separar a lógica da aplicação da renderização de HTML, o aplicativo pode tirar proveito de novos projetos e outros avanços tecnológicos, sem que a aplicação seja reescrita. O Oracle também possibilita a integração da biblioteca jQuery e permite aos desenvolvedores escrever funcionalidade JavaScript complexas utilizando procedimentos jQuery em vez de precisar escrever código de baixo nível.

Modificando Paginas HTML

Você também pode codificar suas paginas HTML individuais, isto é útil de muitas maneiras, como por exemplo criar uma pagina inicial para a aplicação. Como criamos uma aplicação à partir do zero, nossa pagina chamada Home, está vazia e toda vez que acessamos o aplicativo, encontramos uma pagina somente com o menu e uma Region, existem muitos recursos para personalizar sua aplicação siga os seguintes passos para começar com o básico:

1 – Entre no Application Builder e selecione sua aplicação, em seguida vamos mudar os parâmetros globais que irão aparecer em todas as paginas, clique em Edit Application Properties:

Application Builder

Application Builder

2 – Em Global Notification, substitua a mensagem que inserimos no exemplo anterior pela mensagem da imagem abaixo:

Global Notification

Global Notification

3 – Em Logo, selecione texto e insira um texto para seu logotipo, você também pode escolher atributos para seu texto, após terminar clique em aplicar mudanças:

Logo

Logo

4 – De volta na pagina principal de sua aplicação clique na sua pagina Home para editar a pagina e dê um duplo clique em Home:

Home

Home

5 – Na opção Source insira o código abaixo:

Source

Source

6 – Na opção Header and Footer, insira o estilo CSS para complementar o tema da sua pagina:

CSS

CSS

7 – Aplique as mudanças e rode sua aplicação, você já tem sua pagina inicial:

Página Inicial

Página Inicial

Pronto! Sua aplicação agora possui um titulo, um menu de navegação, um breadcrumb e conteúdo personalizado no corpo da pagina principal, também possui uma guia chamada funcionários contendo um cadastro com as funcionalidades completas para visualizar, pesquisar, inserir, alterar e apagar dados do banco de dados Oracle . Você ainda pode personalizar sua aplicação de muitas maneiras diferentes.

Para acessar o post anterior para Apex clique aqui.

Exemplo:

Utilize os códigos HTML abaixo para completar as respectivas propriedades na IDE RAD do APEX.

Source

<h1>Aprenda gratuitamente conoso</h1>
<h2>Oracle Application Express</h2>
<p>Desenvolvimento Aberto é uma organização voltada para o aprendizado e discussão de técnicas de desenvolvimento focado em algumas linguagens de programação sendo parcialmente/totalmente abertas ou com licenças gratuitas para desenvolvedores de cada uma de suas respectivas marcas registradas.<br />
<br />
Desenvolvimento Aberto foi escrito e desenvolve utilizando ferramentas gratuitas disponibilizadas pelas melhores empresas de software da atualidade, incluindo a própria hospedagem e design deste site, sendo assim, também proporciona conteúdo gratuito, isso quer dizer que você não paga nada para aprender e utilizar as tecnologias de ponta que podem ser manuseadas através das linguagens de programação mais requisitadas pelas empresas no mercado atual.
</p>

Region Header

<style type="text/css">

h1 {background-color: #483D8B;
    padding: 20px;}
h2 {background-color: #4682B4;
    padding: 20px;}
p  {background-color: #ffffff;
    background-color: hsla(0,100%,100%,0.5);
    color: #64645A;
    padding: 20px;}
</style>

 

Uma aplicação Apex utiliza o conceito de formulário e relatórios, os formulários são usados ​​para exibir, editar e coletar dados, que então serão enviado de volta para o banco de dados para processamento de forma declarativa, ou seja você só escreverá código quando for realmente necessário, a maioria do desenvolvimento é feito através de guias passo a passo. O Apex torna muito simples escrever aplicações com banco de dados Oracle, você criar desde aplicações relativamente comuns até aplicações avançadas que podem utilizar recursos dinâmicos da web 2.0.

O modo de criar rápidas interfaces para um formulário e um relatório é utilizando a opção de relatório e formulário sobre uma tabela, deste modo você obterá uma pagina web com um relatório de consulta sobre uma tabela e um formulário que permite que o usuário crie, altere e apague os dados nele apresentados utilizando o formulário atrelado ao relatório, o usuário ainda conta com uma interface gráfica completa com todos os recursos para simplificar sua interação com aplicação e os dados manipulados pelo banco de dados. Existem vários tipos de formulários e relatórios no qual o desenvolvedor pode se beneficiar, vamos mostrar abaixo um formulário atrelado a um relatório que cria uma interface ideal e de forma rápida para que o usuário manipule simples tabelas.

Criando um Formulário e um Relatório com Apex

Utilizando a aplicação criada no exemplo anterior vamos criar uma nova pagina web em conjunto com um formulário e um relatório, está é a opção ideal para que o usuário manipule dados de que necessitam de manutenção.

1- Entre no Apex e abra a aplicação criada no exemplo anterior:

Aplicação Apex

Aplicação Apex

2 – Crie uma nova pagina do tipo Form e clique em próximo:

Form

Form

3 – Escolha a opção Form on a Table with Report e clique em próximo:

Form e Report

Form e Report

4 – Escolha o esquema proprietário de sua tabela ou visão para o formulário, visto que ao utilizar visões para criar o formulário você precisa utilizar uma trigger INSTEAD OF para manipular os dados, veja nossos exemplos de visões fazendo uma busca pela palavra View neste site:

Esquema do Banco de Dados

Esquema do Banco de Dados

5 – Escolha o nome da tabela ou visão e clique em próximo:

Tabela ou Visão

Tabela ou Visão

6 – Na pagina do relatório escolha os nomes para a pagina e sua descrição, adicione um Breadcrumb, o ligue na pagina principal e clique em próximo:

Relatório

Relatório

7 – Marque a opção que adiciona a pagina em uma guia existente e crie uma nova guia neste conjunto e nomeie sua nova guia:

Nova Guia

Nova Guia

8 – Escolha os campos da tabela para serem exibidos no relatório e clique em próximo:

Colunas para exibição

Colunas para exibição

9 – Escolha um ícone para o botão de alterar que será localizado em cada linha de dados retornados da tabela:

Ícones para os dados

Ícone

10 – Entre com as opções para a pagina do formulário, muito similar ao que você já fez para o relatório:

Formulário

Formulário

11 – Selecione uma chave primaria para que sirva de controle para o formulário, atente-se que o Oracle somente lhe da duas opções de chaves primarias, e reconhece automaticamente sua chave, isto acontece devido as melhores praticas para desenvolvimento do banco de dados. O Oracle supõe que você utilize sua chave como ID e que em raros casos você precise de outra chave primaria para a mesma tabela, não é de boa pratica utilizar chaves compostas para que valores de vários campos não se repitam em uma tabela, para isto o Oracle e outros bancos de dados possui índices únicos. Se você é um adepto de chaves primarias compostas, esqueça deixo isto no passado não tente ressuscitar conceitos de antigos banco de dados, isto só aumenta o tamanho de seus scripts SQL e criam objetos (chaves) desnecessários no banco de dados:

Chave Primaria

Chave Primaria

12 – Defina a forma como seu identificador da chave primaria está sendo alimentado, nos optamos por Triggers somente para cobrir a criação de mais objetos nestes exemplos, com você vê na figura abaixo você pode utilizar a Sequence diretamente, para um melhor entendimento sobre as Triggers veja nosso post sobre este Triggers:

Alimentando os IDs

Alimentando os IDs

13 – Selecione os campos que poderão ser manipulados pelo formulário:

Colunas para o Formulário

Colunas para o Formulário

14 – Defina as ações que o formulário poderá executar:

Ações do Formulário

Ações do Formulário

15 – Após conferir o resumo da configuração do desenvolvimento clique em concluir:

Resumo

Resumo

16 – Com o relatório e o formulário criados, clique em executar para testar sua aplicação:

Relatório

Relatório

17 – Manipule a interface gráfica da pagina gerada e tente criar, alterar e excluir um registro:

Formulário

Formulário

Pronto! Você criou um relatório e um formulário que utilizam uma interface gráfica completa para web sobre o banco de dados Oracle sem escrever uma única linha de código.

Para acessar o post anterior para o Apex clique aqui.

 

 

O Apex possibilita criar aplicações de banco de dados permitem que os desenvolvedores tenham total controle sobre todos os aspectos do processo de desenvolvimento e das funcionalidades do aplicativo final. Com aplicações de banco de dados, os desenvolvedores podem aproveitar diretamente suas habilidades de programação PL/SQL. Aplicações de banco de dados usam o controle declarativo sobre o controle de fluxo e suporte a controles de interface de usuário completa através do uso de modelos e temas.

Paradigma de Programação Declarativa

Programação declarativa é um paradigma de programação baseado em programação funcional, programação lógica ou programação restritiva. A definição determina que um programa é declarativo se descreve o que ele faz e não como seus procedimentos funcionam. Dessa forma, linguagens de marcação são declarativas pois descrevem o que são suas estruturas e não como elas serão utilizadas. A linguagem declarativa é um tipo de linguagem de programação , onde descreve quais são as metas de uma tarefa, sem escrever o código para realizar tal tarefa.

Criando uma Aplicação com APEX

Toda aplicações Web possui uma navegação e um controle de fluxo. O Oracle Application Express fornece componentes internos para simplificar o desenvolvimento e manutenção de controles de navegação. Navegação é controlada utilizando as tags declarativas de um ou dois níveis. A seguir vamos criar uma aplicação à partir do zero.

1 – Clique no menu Application Builder e escolha uma aplicação do tipo Database e clique em próximo:

Application Builder

Application Builder

2 – Escolha uma descrição e um nome numérico para sua aplicação, marque a opção From Scratch, escolha o esquema do banco de dados e clique em próximo:

Nome da Aplicação

Nome da Aplicação

3 – Escolha um tipo de aplicação e crie uma pagina inicial chamada home e clique em próximo:

Adicionar Página

Adicionar Página

4 – Escolha o fluxo de navegação da pagina, marque One Level of Tab e clique em próximo:

Fluxo de Navegação

Fluxo de Navegação

5 – Não vamos primeiramente compartilhar nenhum componente entre aplicações, então selecione a opção, não, e clique em próximo:

Compartilhamento de Componentes

Compartilhamento de Componentes

6 – Escolha o esquema de autenticação Application Express, a língua da aplicação e o formato da data e clique em próximo:

Autenticação - Língua - Formato da Data

Autenticação – Idioma – Formato da Data

7 – Escolha um tema para sua aplicação e clique em Create:

Temas

Temas

8 – Sua aplicação foi criada com sucesso! Clique em Edit Application Properties para alterar as propriedades da aplicação:

Aplicação - Oracle Apex

Aplicação – Oracle Apex

9 – Clique no menu Global Notification para adicionar uma mensagem global no cabeçalho de sua aplicação e aplique as mudanças:

Global Notification

Global Notification

10 – Clique em Run para rodar sua aplicação, e autentique-se com um usuário valido:

Login

Login

11 – Sua aplicação criada do zero está rodando com sucesso, entretanto possui  apenas uma pagina vazia:

Aplicação Apex

Aplicação Apex

Agora você pode utilizar os recursos do Oracle de Forms e Reports para criar robustas aplicações web integradas com o banco de dados Oracle. Você pode definir Forms que permitem a entrada de dados para uma ampla veracidade de casos de uso, incluindo: Master-Detail, tabular , Forms em Web Services, Forms em Tabelas, Forms sobre Stored Procedures e Wizard Forms.

Você também pode criar relatórios interativos que permitem que os usuários finais os personalizem. Os usuários podem criar múltiplas variações do relatório e salvá-los como relatórios nomeados, com saída para arquivos delimitados por vírgula ou imprimi-los em documentos PDF. Relatórios interativos suportam: Seleção de colunas, filtros, classificação, quebras, destaques, colunas calculadas, gráficos e vários outros recursos.

Para acessar o post anterior para o Apex clique aqui.

 

 

Você gerencia os seus projetos de desenvolvimento em um único ambiente integrado em tempo real? O Team Development encarrega-se especialmente do desenvolvimento da equipe e facilita a gestão do processo de desenvolvimento de aplicações. É uma ferramenta completa para gerenciar seu time de desenvolvedores, além de rastrear recursos, executar tarefas, marcar etapas, gerenciar os erros e muito mais. Através de comentários se obtém o feedback do usuário e, em seguida, pode-se classificar os comentários de usuários como recursos, para realizar novas tarefas e ou correção de erros. O Team Development possui cinco ferramentas com vários recursos para lhe ajudar a manter seus projetos e sua equipe de desenvolvimento.

Team Developement

  1. Features – Possibilita a criação de novas características da aplicação e também rastrear as funcionalidade da sua aplicação desde a concepção inicial até a implementação. Os recursos podem ser organizados pela liberação, atribuídos a desenvolvedores, etiquetados, associado a marcos e etc.
  2. Milestones – São marcos, permitem a marcação e o acompanhamento de eventos. recursos, erros, e lista de tarefas.
  3. To Dos – Criam tarefas e são nada mais que itens de ação que podem ser atribuídos, priorizados, marcados e controlados.
  4. Bugs – São itens criados para controlar defeitos de software. Erros podem ser atribuídos, associados à marcos, e acompanhados por data de vencimento, status e vários outros atributos.
  5. Feedback – São ligações ou sugestões que podem ser incorporadas em aplicações declarativas via entrada pela barra de navegação, ou codificação de um link. Usuários que executam uma aplicação podem, então, fornecer feedback, os usuários com acesso ao módulo de desenvolvimento da equipe dentro do Oracle Application Express podem gerenciar os feedbacks. O feedback pode ser convertido em um bug, em uma tarefa, uma entrada ou uma nova característica.

 Utilizando o Team Development

O Apex conta com o conceito de usuários e grupos, os usuários são divididos em três categorias, os administradores que podem criar e modificar aplicações e objetos do banco de dados, os desenvolvedores que podem modificar aplicações e objetos do banco de dados e o usuários finais que não possuem privilégios de desenvolvimento, podem apenas acessar aplicações que não utilizam autenticação de um esquema externo. Todos os usuários estão integrados e podem ser geridos a partir do Team Developer.

Para a introdução a está ferramenta vamos utilizar o conceito de tarefas no qual é muito semelhante ao uso do popular MS Project, onde o gerente de projeto pode criar as clássicas tarefas com a porcentagem do andamento, tempo estimado de execução e atribui-las a determinado recurso, porem no Team Development não trabalhamos em uma planilha Standalone que é compartilhada e sim em um ambiente online totalmente integrado que dispensa o uso de ferramentas externas.

1 – Acesse o menu Team Development e clique em To Dos:

Team Development

Team Development

2 – Clique em Create To Do para criar uma nova tarefa:

Tarefas

Tarefas

3 – Uma tarefa consiste em vários itens como, a ação da tarefa, a quem a tarefa esta associada, o colaborador da tarefa, data de inicio, data estimada de termino e data do termino da tarefa:

Ação da Tarefa

Ação da Tarefa

4 – Rolando a pagina mais abaixo encontramos os detalhes da tarefa como, versão, categoria, descrição, contexto da aplicação e pagina:

Detalhes da tarefa

Detalhes da tarefa

5 – Mais abaixo se encontra, o marco da tarefa se estiver associado a um, as características da tarefa se estiver associada a uma, as etiquetas da tarefa e a estimativa de horas para a realização da tarefa.

Contexto e Estimativas

Contexto e Estimativas

6 – Logo após a tarefa ser criada você pode gerencia-la como desejar, pode ainda se obter vários tipos de visualizações da lista de tarefas como por exemplo, em um calendário:

Lista de Tarefas

Lista de Tarefas

O Team Development é uma poderosa e completa ferramenta on-line para gerenciamento de todas as etapas do seu projeto, possibilitando interação com todos os tipos de usuários em tempo real. Para saber mais sobre o Team Development clique aqui.

Para acessar o post anterior clique aqui.

 

O SQL WorkShop nos possibilita através de seu menu de utilidades importar e exportar dados no formato texto, XML ou no formato de planilhas. O processo ocorre através de Wizards que guia o desenvolvedor passo a passo, navegando através de suas opções.

Para importar os dados vamos utilizar um arquivo texto separado pelo caractere “|” (pipe) e o marcador de ponto decimal correspondente ao idioma utilizado no computador, neste caso pt-br, você encontra o arquivo logo abaixo.

Importando Dados de um Arquivo Texto: Data Workshop

1 – Antes de importar os dados precisamos ter certeza que os objetos do banco de dados estão funcionando corretamente, como vimos no post anterior, possuímos 3 objetos interligados, eles são uma tabela, uma sequencia que cria números sequenciais para os identificadores da tabela e uma Trigger que alimenta os identificadores. No menu SQL Command insira uma linha de testes com o identificador nulo para testar os objetos do banco de dados, depois apague a linha, utilize a imagem abaixo para referencia:

SQL Command - Testa Objetos

SQL Command – Testa Objetos

2 – No menu SQL WorkShop clique em Utilities->Data WorkShop:

Utilities

Data Workshop

3 – Escolha a opção Text Data para importar um arquivo de texto:

Text Data

Text Data

4 – Na opção Load To escolha importar os dados para uma tabela existente:

Opções de Importação

Opções de Importação

5 – Escolha um esquema do banco de dados para o seu Workspace:

Esquema

Esquema

6 – Escolha a tabela em que deseja importar os dados:

Tabela

Tabela

7 – Está é a janela de parâmetros e é muito importante, você precisa escolher o arquivo que deseja importar seguido do delimitador que separa os campos, você precisa escolher o caractere responsável pelos marcação de texto, no caso aspas. Logo em seguida desmarcar a opção chamada  “A primeira linha contem o nome das colunas”, já que não utilizamos colunas no arquivo texto, somente o conteúdo de dados:

Parâmetros da Importação

Parâmetros da Importação

8 – Nesta tela o Wizard identificou que as colunas da tabela não batem com a quantidade de colunas do nosso arquivo texto, não se preocupe, isto é porque a sequencia e a Trigger irão criar os identificadores para o campo ID do funcionário. Você precisa identificar as colunas para cada tipo de dados no texto:

Mapeando as colunas

Mapeando as colunas

9 – Após terminar de mapear as colunas, clique em Carregar Dados, os dados serão importados e os resultados serão exibidos por cada linha do arquivo caso houver erros. Atente-se ao padrão do ponto decimal para os campos do tipo Number. Tem uma manha ai! Se você utilizar um campo numérico pelo SQL Command e tentar inserir um Number como fizemos no primeiro passo deste post, o caractere marcador do ponto decimal é “.” (ponto), quando você utiliza pelo Wizard, você está utilizando dados no contexto da sua língua nativa, no nosso caso Pt-br então o marcador de decimal precisa ser “,” (virgula).

Dados Importados com Sucesso!

Dados Importados com Sucesso!

10 – Para verificar os dados ainda no SQL Workshop clique em Object Browser, selecione a tabela e escolha a opção Data:

Object Browser

Object Browser

Exemplo:

Neste exemplo criamos uma tabela de funcionários no qual vamos contratar alguns músicos para um concerto de rock, vamos alimentar os dados através de um arquivo texto com os campos separados pelo caractere pipe. Crie um arquivo texto com os dados abaixo no qual serão utilizados para a importação.

Para o post anterior clique aqui.

TXT

dados.txt

"Axl"|"Rose"|"Vocalista"|2234,56
"Eddie"|"Vedder"|"Vocalista"|2134,56
"Stone"|"Gossard"|"Guitarrista"|1534,12
"Jerry"|"Cantrell"|"Guitarrista"|1634,10
"Kim"|"Thayil"|"Guitarrista"|1467,98
"Michael"|"Peter Balzary (Flea)"|"Baixista"|1334,22
"Taylor"|"Hawkins"|"Baterista"|2210,59