terça-feira, 11 de novembro de 2014

Conceito de Web inteligente com HTML5 e REST AngularJS

HTML5

O HTML 5, foi criado pelo intuito de manter um modelo único em todos os sistemas, indiferente da corporação que construiu o sistema.
A Web Semântica que a tanto tempo estão pesquisando uma forma de desenvolve-la, pode ser facilitado a partir do HTML5 que está ajudando diretamente na padronização do conteúdo disponibilizado na página e dessa forma ajudando os algorítimos de Semântica encontrar as informações de forma rápida e com a informação coerente.

Para visualizar as mudanças:

  • http://www.w3c.br/pub/Cursos/CursoHTML5/html5-web.pdf
  • http://www.w3c.br/pub/Agenda/PalestraSenacRibeiraoHTML5WebSemantica/W3C_HTML5_WebSem.pdf


Hoje já temos algumas frameworks utilizando o HTML5, mas a que estou usando para desenvolvimento de software, FRONT-END AngularJS, onde temos a facilidade de alguns métodos em JavaScript facilitar o envio de pacotes via REST. Essa facilidade ajuda a separar diretamente a camada visual do alto acoplamento na aplicação e assim podendo usar qualquer linguagem que suporte REST como BACK-END da minha aplicação. Funciona como liberação de serviços para qualquer sistema acessar e usufruir de suas funcionalidades.

REST

Vamos pensar que o nosso universo é uma grande arvore onde podemos encabeçar cada vez mais coisas e que cada um tem sua linha traçada de acordo com o que foi disponibilizado e construído.
A ideia de REST está nesse sentido diretamente, pois os protocolos HTTP e Hipermídia são disponibilizados em cabeçalhos, cacheados, ou vivos em cookies, para
serem utilizados, dessa forma consigo trafegar os dados de acordo com os protocolos HTTP, que são eles:

GET: Para carregar dados, o pacote é enviado para que o BACK-END consiga tratar a informação e carrega-la.
POST: Para enviar o pacote e persisti-lo.
PUT: Para enviar o pacote para alterações.
DELETE: Para executar a exclusão do pacote enviado.

O REST veio para facilitar o gerenciamento, padronizar o código fonte e disponibilizar serviços, onde posso acessar por qualquer sistema e linguagem.

Conclusão

Hoje estamos na fase de construir aplicações cada vez mais simples, de fácil manutenção, de alta padronização e disponibilizações de serviços inteligentes.

Referências

Introdução à arquitetura e designer de Software - Editora Campus
http://www.w3c.br/pub/Agenda/PalestraSenacRibeiraoHTML5WebSemantica/W3C_HTML5_WebSem.pdf
http://www.w3c.br/pub/Cursos/CursoHTML5/html5-web.pdf

sábado, 1 de fevereiro de 2014

Necessitando executar uma function oracle que executa update e retorna um valor: Como usar com o projeto usando Hibernate e JPA2

Em um projeto que trabalho necessitamos acessar uma function do Oracle que grava dados em algumas tabelas e me retorna um inteiro para que possa manipular.

Em alguns estudos que realizei "Google", achava que o usando as funcionalidades do JPA2 me oferece resolveria meu problema, mas logo percebi que gerava um erro de indice, onde o dado demorava um time para ser processado na function e o JPA2 já havia executado sua funcionalidade sem esperar o retorno das querys.

Para solucionar este problema, usei CallableStatement mas recuperando a sessão do JPA2 e funcionou após algumas tentativas de acertar a query. segue a solução:

StringBuilder sb = new StringBuilder();
sb.append(" A query aqui ");

Connection con = ((Session)em.getDelegate()).connection();
CallableStatement st = null;
try {
st = con.prepareCall(sb.toString());
st.registerOutParameter(1, Types.INTEGER);
st.setString(2, doc.getModeloDocumento().getTipoDocumento().getCoSeqTipoDocumento().toString());
st.execute();
numero = st.getObject(1).toString();
st.close();
con.close();
} catch (SQLException e) {
e.printStackTrace();
}

Acredito que quem tenha este problema ou já passou por algo está solução possa resolver seu problema.

Qualquer coisa deixe sua mensagem.

quinta-feira, 30 de janeiro de 2014

Problema de handshake ssl Java em Web Service


Especificação
Jboss 5.1 AS
Axis 1.2 alterado
Ejb3

Pois bem tivemos um problema no seriviço referente ao handshake, em várias pesquisas na internet, sempre esbarravamos em descrições como validação de pacote, cacerts inválido ou coisa referente a comunicação.

Sim o problema é referente a comunicação, executavamos a conversa entre ambos e sempre executava o erro e não chegava o envio da requisição para a outra ponta. Achavamos que o problema poderia ser referente trust confiança do envio de pacote para a outra ponta ou o nosso servidor estava bloqueando a requisição.

Após dois dias de luta resolvemos trocar a jdk de 1.6 para 1.7, final das contas o Web Service voltou a funcionar perfeitamente, explicação:

- A requisição para o client do cliente estava compilado em 1.7, nossa requisição enviava uma chamada 1.6 e quando a requisição chegava no socket do Web Service executava o erro.

Solução: Trocar a JVM de todos os ambientes para 1.7 e aplicação voltou a funcionar perfeitamente.