Blogger templates

Comunidade java aberto - Participe da nossa comunidade no facebook (clique aqui)

Visitas

quinta-feira, 27 de setembro de 2012

Stored Procedures

,
Stored Procedure, traduzido Procedimento Armazenado, é uma biblioteca de comandos em SQLpara utilização junto ao banco de dados. Ela armazena tarefas repetitivas e aceita parâmetros de entrada para que a tarefa seja efetuada de acordo com a necessidade individual.

Uma Stored Procedure pode reduzir o tráfego na rede, melhorar a performance de um banco de dados, criar tarefas agendadas, diminuir riscos, criar rotinas de processsamento, etc. Por todas estas e outras funcionalidades é que as stored procedures são de extrema importância para os DBAs e desenvolvedores.

Há 5 Procedimentos (Procedures) básicos que podemos criar:

  • Procedimentos Locais - São criados a partir de um banco de dados do próprio usuário;
  • Procedimentos Temporários - Existem dois tipos de procedimentos temporários:
    Locais, que devem começar com # e Globais, que devem começar com ##;
  • Procedimentos de Sistema - Armazenados no banco de dados padrão do SQL Server (Master), podemos indentifica-los com as siglas sp, que se origina de stored procedure. Tais procedures executam as tarefas administrativas e podem ser executadas a partir de qualquer banco de dados.
  • Procedimentos Remotos - Podemos usar Queries Distribuídas para tais procedures. São utilizadas apenas para compatibilidade.
  • Procedimentos Estendidos - Diferente dos procedimentos já citados, este tipo de procedimento recebe a extensão .dll e são executadas fora do SGBD SQL Server. São identificadas com o prefixo xp.

Quando utilizar procedures

  • Quando temos várias aplicações escritas em diferentes linguagens, ou rodam em plataformas diferentes, porém executam a mesma função.
  • Quando damos prioridade à consistência e segurança.


Os bancos (Itaú, Bradesco, Real, etc), por exemplo, em geral, utilizam stored procedures para todas as operações em comum. Os procedimentos podem assegurar que as operações sejam registradas de forma correta e segura.

Por que é mais seguro?

Seguindo a linha de raciocínio dos bancos, utilizando stored procedures outras aplicações e usuários não conseguiriam nenhum tipo de acesso às tabelas do banco de dados de forma direta.Eles poderiam apenas executar as stored procedures, que rodam ações específicas e determinadas pelos DBAs e desenvolvedores.

Criando uma stored Procedure

Este é um exemplo de uma stored procedures que executa uma consulta utlizando um filtro por descrição, em uma tabela específica de nosso banco de dados.

USE BancoDadosGO

CREATE PROCEDURE Busca --- Declarando o nome da procedure

@CampoBusca VARCHAR (20) --- Declarando variável (note que utilizamos o @ antes do nome da variável)AS

SELECT Codigo, Descrição --- Consulta FROM NomeTabela

WHERE Descricao = @CampoBusca --- Utilizando variável como filtro para a consulta


Para executar uma procedure basta utiilizar a cláusula EXECUTE seguido pelo nome daprocedure e na frente o valor a ser utilizado como parâmetro.

Exemplo:
EXECUTE Busca 'Parametro''


Fonte (codigofonte)
Continue lendo

segunda-feira, 24 de setembro de 2012

O que é um EJB?

,

O que é um EJB?
Nesse artigo, veremos um pouco sobre o que é e quais são as funcionalidade de um EJB. 
É uma aplicação padrão do J2EE, conhecida como Enterprise JavaBeans (EJBs), que funciona como um container de uma aplicação Embora é possível usar o Java Standard Object, como um container de dados, usando um EJB, permite de diversas maneiras padronizar de forma simples, objetos Java dando-lhes escalabilidade, ciclo-de-vida gerenciável e gerenciamento de estado.
Beans, Clients, Containers, and Servers
Um EJB é essencialmente um componente gerenciado que é criado, controlado e destruído pelo container gereciador do J2EE, que estiver rodando. Esse controle permite que o container controlar o número de objetos EJBs existentes e recuperá-los para o uso como uma memória ou conexão com o banco de dados.
Cada container mantém um pool de instâncias prontas de EJBs, que estão prontas para ser usadas por um client. Quando um client, um browser por exemplo, requer um determinado recurso ou serviço, a instância de um EJB selecionado, será liberada.
O cliente EJB que usa a instância não precisa saber nada sobre como funciona o mesmo. Funcionando como um componente remote, provendo suporte à uma determinada regra, ou método nele implementada.
O EJB tem como pontos positivos centralizar serviços de um container, como uma segurança ao código, ao ciclo de vida enfim ao seu gerenciamento como um todo. Mas para isso o EJB deve estar em corretamente implementado com regras que permitam identificá-lo como um EJB e assim obtermos seus benefícios.
Tipo de componentes EJB
Existem 3 tipos diferentes de EJB que são configuráveis para diferentes propósitos, vejamos abaixo:
·         Session EJB—Uma sessão é usada para mapear processos. Existem 2 tipos de EJBs por sessão, 1) stateless e 2) statefull. EJBs geralmente devem representar a pura concepção da funcionalidade para que foi criado e do que é preciso.
·         Entity EJB—Uma entidade EJB mapeia uma combinação de dados e métodos associados. Uma entidade EJB são geralmente utlizados na concepção de dados-objetos que são/serão gravados em uma base dados.
·       Message-driven EJB—Um Message-driven EJB é muito parecido com o conceito do SessionEJB, mas somente é ativado quando chegam mensagens assíncronas.
Onde usá-los?
Então, dê uma olhada nisso, onde poderemos encontrar essas funcionalidades. Abaixo temos alguns exemplos:
·         Em um aplicativo Web-centric, o EJBs vai fornecer a lógica de negócio que está por trás dos componentes Web, como servlets e JSPs. Se uma aplicação Web  requer um alto nível de escalabilidade e facilidade de manutenção, uso de EJBs podem ajudar a proporcionar isso.
·         Thick client applications, Tais como aplicações Swing, podem  usar EJBs de forma semelhante às aplicações web-centric. Para compartilhar a lógica de negócios de uma forma natural entre os diferentes tipos de aplicações cliente.
·         Business-to-business (B2B) e-commerce applications, também podem tirar proveito de EJBs. Porque um e-commerce B2B freqüentemente gira em torno da integração dos processos empresariais, EJBs oferecem um local ideal para abrigar a lógica do processo de negócios.
·         Enterprise Application Integration (EAI) applications, pode incorporar EJBs para a transformação e mapeamento entre diferentes aplicações. Novamente, isso é um encapsulamento da lógica do negócio que é necessária a transferência de dados entre aplicações.
Fonte (devmedia)
Continue lendo

sexta-feira, 21 de setembro de 2012

Normalização de banco de dados

,

Normalização de banco de dados
É um processo onde se aplica regras a todas as entidades (tabelas) do banco de dados, afim de evitar falhas no projeto, como redundância de dados, mistura de diferentes assuntos numa mesma entidade, entre outros problemas. As formas normais mais conhecidas, são a primeira, segunda e terceira formas normais. Basicamente, aplicando e respeitando as regras de cada uma dessas formas normais, poderemos garantir um banco de dados mais íntegro, com uma grande possibilidade de sucesso no seu projeto.
1FN – Primeira Forma Normal
Uma entidade estará na 1FN, se e somente se, todos seus atributos (colunas) forem atômicos, ou seja não conter grupos repetitivos ou colunas que tenham mais de um valor.
Passos a serem aplicados para consolidação da 1FN:
- Identificação da chave primária da tabela.
- Identificação da coluna que contem dados repetidos e removê-las.
- Criação de uma nova tabela com chave primária para armazenamento do dado repetido.
- Criar uma relação entre a tabela principal e a tabela secundária
Ex.
Na tabela acima, podemos identificar que o campo Telefones, contém informações de mais de 1 telefone do cliente. Nesse caso, teremos que criar uma outra tabela, para que possamos armazenar corretamente os telefones dos clientes. Abaixo como as tabelas devem ficar após a normalização.
2FN – Segunda Forma Normal
Uma entidade está na 2FN, se e somente se, estiver na 1FN e todos seus atributos (colunas) não chaves, dependam unicamente da chave primária. Se algum atributo depende de apenas uma parte da chave primária, isso é considerada uma violação da 2FN.
Passos a serem aplicados para consolidação da 2FN:
- Identificar colunas que não são funcionalmente dependentes da chave primária da tabela
- Remover a coluna da tabela e criar uma nova tabela com esses dados
Ex.
Nesse exemplo, temos uma tabela que armazena dados de vendas de produtos. Para aplicar a 2FN, temos que separar os dados dos produtos, em uma entidade que contenham somente dados dos produtos, e nessa tabela de pedidos apenas dados referentes aos pedidos. Segue exemplo abaixo após aplicação da 2FN.
3FN – Terceira Forma Normal
Uma entidade está na 3FN, se e somente se, estiver na 2FN e todos os atributos (colunas) não chave, forem mutuamente independentes, isto é, não há dependência funcional entre elas, e todas dependem única e exclusivamente da chave primária de forma irredutível.
Passos a serem aplicados para consolidação da 3FN:
- Identificar as colunas que são funcionalmente dependentes das outras colunas não chave
- Remover essas colunas
Ex.
Como podemos ver no exemplo acima, temos duas colunas indicando os valores do produto. A coluna ValorTotal, depende de uma outra coluna não chave. Isso é um exemplo de informação redundante, ou seja, temos como saber o valor total dos produtos, sem a necessidade de armazená-lo. Nesse caso, vamos remover a coluna ValorTotal. Após aplicar a 3FN a tabela ficará assim:
Existem outras formas normais, como a quarta e a quinta, porém, com a aplicação destas três formas normais, já poderemos garantir um banco de dados mais saudável e assim evitar possíveis problemas no futuro.
Fonte(blogti)

Continue lendo

sexta-feira, 14 de setembro de 2012

Java Web Start

,
Entre nessa página da IBM e aprenda passo a passo como utilizar o Java Web Start 
na sua aplicação JWS IBM

O que é o Java Web Start?
O software Java Web Start permite fazer download de aplicativos Java da Web e executá-los. O software Java Web Start:
  • Permite ativar aplicativos facilmente, com apenas um clique.
  • Oferece a garantia de que sempre esteja sendo executada a versão mais recente do aplicativo.
  • Elimina procedimentos complexos de instalação ou atualização.
  • Atualiza software online
Continue lendo

quarta-feira, 5 de setembro de 2012

Serialização

,
Acredito que todo mundo que teve um contato razoável com Java já deve ter ouvido falar em serialização.
Pode ser que nunca tenha se interessado, ou achou difícil o conceito e desistiu. Porém é algo simples, e vamos ver o que é essa tal de serialização afinal.
Uma boa definição pode ser encontrada na Wikipédia: “serialização é o processo de salvar um objeto em um meio de armazenamento (como um arquivo de computador ou um buffer de memória) ou transmiti-lo por uma conexão de rede, seja em forma binária ou em formato de texto . Esta série de bytes pode ser usada para recriar um objeto com o mesmo estado interno que o original.
Agora vamos para a prática!
Criei uma classe Objeto apenas para fim de demonstração. Poderia ser qualquer classe.
Objeto.java


Lembrando que para um objeto ser serializável, ele deve implementar a interface Serializable.
Agora vamos para a Serialização. Verão que é algo simples.



Como puderam ver, Serialização em Java é uma tarefa simples.
Por último, um artigo que encontrei no site da IBM interessantíssimo de ler:
Espero ter ajudado! 


Continue lendo

Minimizar aplicação para barra de tarefas

,

Vocês já devem ter visto muitos programas que quando clicamos no botão de fechar ou minimizar, ao invés de sair da aplicação vão para a barra de tarefas. Os mais curiosos devem se perguntar como implementar uma solução dessas. Vou responder, é algo muito fácil. E é isso que vou ensiná-los hoje!
Apesar de parecer muito código, verão que a parte que realmente nos interessa para a minimização é pequena, mas para fins de demonstração tive que criar uma Janela.



Continue lendo

O poder do JavaFx

,
Vale a pena assistir esse video http://www.infoq.com/br/presentations/javafx2-ria



Continue lendo

segunda-feira, 3 de setembro de 2012

Chat com RMI

,
Exemplo Código Fonte de como criar uma sala de bate-papo em RMI 



Continue lendo
 

Java Aberto Copyright © 2011 -- Template created by O Pregador -- Powered by Blogger