Posts

Showing posts with the label arquitetura

Cache Distribuído com REST e EHCache Server no JBoss AS

Image
As aplicalções que desenvolvemos hoje são cada vez mais complexas, esta complexidade se deve a muitos fatores que vão des da globalização até mesmo as evolução da forma como as empresas fazem B2B e B2C . Muitas vezes o banco de dados acaba sendo um cargalo, uma vez que a sua rede esta 100% ok, uma forma viável de reduzir a carga no banco de dados é utilizar alguma forma de cache, se este cache tiver *hit*, ou seja, acertos em uma taxa considerável isso pode trazer muitas vantagens para a sua aplicação. Cache com EHCache EHCache é um solução open source de cache para Java. O EHCache lhe permite fazer vários tipos de cache como por exemplo aplicar cache junto ao Hibernate/JPA, cache de páginas web usando GZIP por exemplo e até mesmo cache distribuido que é o tema deste post. EHCache - Arquitetura Modular O EHCache tem uma arquitetura modular, logo você pode escolher os módulos que deseja utilizar. Neste post vou mostrar como trabalhar com o Cache Server. REST EHCache Serve...

SOA de Verdade: O Retorno

Image
Todo mundo fala em SOA. Este não é meu primeiro post de SOA e não vai ser o último, neste post você vai ver algumas coisas que eu já vinha falando em outros, mas também verá coisas que eu estou escrevendo no meu blog pela primeira vez. Aviso aos Navegantes : Neste post estou falando da minha opinião pessoal do que é SOA e melhor ainda de como SOA deve ser, pode ser que você concorde com alguns pontos e pode ser que você descorde de outros, em alguns momentos a coisa vai ser forte, logo, se você é cardiaco recomendo que saia do meu blog e vá para algum site de aquario ou algum outra coisa mais relaxante. Se você for reproduzir este conteudo em outro site ou blog faça isso de resposábiliodade própria, eu não vou responder comentários se não forem aqui no meu blog . Por que SOA de verdade? Por que existe uma SOA de mentira, baseada em dispautérios, coisas que não funcionan, que ferem a inteligência das pessoas e acima de tudo que gastam muito dinheiro e não trazem nenhum retorno ao...

PaaS, Cloud Computing, Virtualização e o Futuro parte 2

Image
No post anterior PaaS, Cloud Computing, Virtualização e o Futuro parte 1 comentei sobre algumas deficiências que existem hoje em dia no desenvolvimento de software. Dentre elas foquei nas dificuldades de criar um software que se escalável e no descolamento que existe do desenvolvimento para produção/operação. Na continuação do assunto, gostaria de salientar o obvio, ou seja, não existe bala de prata, PaaS, Cloud Computing e Virtualização não são soluções para todos os problemas e para todos os tipos de aplicações e cenários. Então vou começar falando um pouco mais do que se trata estas tecnologias, focando em conceito. Depois irei falar sobre o que anda acontecendo no mercado e o que pode vir a ser o futuro, acredito que muita inovação vai surgir nos próximos 2 anos e pode ser o novo paradigma de desenvolvimento de software. Virtualização Em poucas palavras estamos falando de abstração. Pode ser abstrair/deixar transparente o hardware, mas você tem acesso a este hardware mas como se ...

PaaS, Cloud Computing, Virtualização e o Futuro parte 1

Image
Nestes últimos anos a tecnologia evoluiu muito, principalmente pela necessidade cada vez maior de termos sistemas escaláveis e com um menor custo de operação. Quando estamos desenvolvendo software em média estamos falando só de 20% do tempo de vida da aplicação, ou seja, a maior fatia da aplicação ela vai estar em produção. Com a tecnologia atual ainda é muito forte a necessidade de se ter uma boa arquitetura e pensar muito em como desenvolver aplicações, isto envolve pessoas + ferramentas e Processo acredito que isso não vai mudar, mas podemos ter facilidades que hoje não se utilizadas ou não estão acessíveis a todos. Teoricamente plataformas como a da Sun(Java) e a da Microsoft(.net) já nos provem diversas facilidades as mesmas que não existiam quando se programava em C ou até mesmo Clipper. Ja foi um grande salto de paradigma da programação estruturada para a OO e para as plataformas de Java e .net porem ainda falta muito. Cada vez mais as aplicações ficam mais complexas, mais usuá...

Esta pensando em Framework ? Não faça isso!

Image
É por mais incrível que pareça isto é muito comum no mercado. Mas não pense que falo só de Java, esta certo que 90% das empresas que trabalhei ate hoje, sendo de TI ou de negocio(não TI) tem frameworks feitos em casa. Neste post vou argumentar por que é uma péssima idéia fazer frameworks em casa e como isso pode ser muito ruim para sua empresa e para sua equipe, ou algo parecido com isso. Trabalhei com frameworks de VB 6.0, ASP 3.0, PHP, Java e até JS. Por incrível que pareça já vi louco fazer framework para JS em empresa de negócios(não TI). Um Framework? Vamos a algumas definições segundo o site thefreedictionary : 1 - Uma estrutura para suportar ou englobar algo principalmente um suporte em forma de esqueleto para alguma coisa a ser contruida. 2 - Uma plataforma de trabalho . 3 - Uma estrutura fundamental para trabalho. 4 - Um conjunto de suposições, conceitos, valores e práticas que constituem uma maneira de ver a realidade. Desculpem se a minha tradução não foi a ideal, mas acho q...

JMX e Quartz com Spring no ORACLE Weblogic 10.3

Image
J ava M anagement E xtensions (JMX) é uma tecnologia Java que permite monitorar e gerenciar aplicações Java. É muito comum utilizar este recurso em soluções corporativas escritas em Java. Neste post vou mostrar como expor um bean do Spring como um MBean do JMX . Vamos criar um job no Quartz que de tempos em tempos chama um bean do Spring, com os recursos de JMX do Spring vamos parar este serviço no Quartz de fora da aplicação. Esta aplicação vai estar rodando no ORACLE Weblogic 10.3 e o deploy sera realizado através do maven 2. Um pouco mais sobre JMX JMX é baseado em uma arquitetura de 3 camadas. As camadas são as seguintes: Probe Level :Nesta camada ficam os famosos MBean. Esta camada também é conhecida como camada de instrumentalização. Mais a frente vamos ver como fazer isto com Spring! Agent Level :Nesta camada reside o MBeanServer, que fica entre os MBeans e o nível de gerenciamento. O Spring também facilidades para o MBeanServer. Remote Management Level : Por fi...

Serviços em SOA

Image
Quando falamos de SOA é inevitável falar de Serviços. Eles são a base de SOA, na indústria de software existe grande confusão e discórdia sobre esse assunto. Neste post vou falar qual é a minha perspectiva sobre o assunto, vou comentar o que eu considero um serviço e o que eu não considero um serviço. Também vou falar sobre os tipos de serviços e como podemos implementar cada um deles, neste ponto existe bastante confusão e o pior existe uma forte junção disto ferramental e soluções prioritárias, comentarei isso mais para frente. O Que é um Serviço? Tentando Desenvolver um Serviço? Essa é um pergunta simples mas nem sempre você vai ouvir uma resposta simples. Existe muita discórdia sobre o que é ou o que não é um Serviço. Para mim um serviço é: Alguma funcionalidade de negócio que foi implementada e pode ser acessada por vários sistemas. Segundo as minhas crenças um serviço não precisa ser necessariamente reaproveitável, pois você pode ter várias funcionalidades de negócio que só serve...