Olá Pessoal,

Recebi via twitter @jonysberg um excente material promocional da Accenture ,com crianças de 10 anos explicando da forma mais simples que já vi, o que é Cloud Computing.

Acho que vale a pena dar uma olhadinha é muito interessante !

 

Abraços

Olá Pessoal,

Estudos feitos pela IBM apresentados no IBM Forum 2010, levantaram que 85% dos servidores do mundo são subutilizados. Essa afirmação apenas corrobora com todo o movimento mundial em torno da Cloud Computing. O principal mercado de TI do mundo, o americano, que envolve cifras em torno de US$ 76 bilhões anuais , já vem tomando iniciativas desde 2008 quando criou o FFCI (Federal Cloud Computing Initiative), para padronizar e incentivar o uso da Cloud Computing , em suas diversas e variadas esferas, com objetivo principal de maximizar e otimizar o uso de toda a infraestrutura já existe e subutilizada, com uma possibilidade de grande redução de custos.

Como um exemplo recente dessa política a GSA ( U.S General Service Administration ) adotou um serviço de email nas nuvens , oferecido pela Unisys, reduzindo em 50% nos próximos 5 anos, os gastos com licenciamento e gerenciamento de mais de 17000 contas de email de seus funcionários.

Aqui no Brasil, temos na iniciativa nas esferas publicas e privadas, como no SERPRO e empresas como BOB´s, Santana Textilis entre outras. O interessante que observa-se que a primeiras iniciativas das empresas sempre giram em torno dos serviços de emails, talvez para sentir como funciona todo o processo, para depois tomarem a decisão de mudar os serviços mais estratégicos para o modelo nas nuvens, quando for aderente.

Bom espero que esse post sirva de estímulo para estudar um pouco mais sobre o assunto !

Abraços,

Olá pessoal,

Depois de longo tempo sem passar por aqui, estou de volta e espero que dessa vez seja duradouro. Durante esse tempo muita coisa aconteceu, muitas tecnologias sairam de moda e outras surgiram para revolucionar o mercado TI. Estou falando de Cloud Computing.

Uma nova proposta para resolver um grande problema dos grandes datacenters ao longo do mundo: Subutilização dos recursos instalados e redução de custos nos investimentos.

A esse assunto tenho me dedicado e estudado bastante e ontem(01/12) tive o prazer de apresentar uma palestra no III Simpósio de Gestão Pública e TI do Governo de Pernambuco a respeito desse empolgante assunto.

Nós proximos posts vou tentar repassar a vocês os principais conceitos, modelos e cenários para o uso da Cloud Computing.

Até a próxima.

PS: Estou inaugurando um novo layout, espero que gostem !

Olá pessoal,

Gostaria de compartilhar com vocês um dos grandes problemas que a arquitetura java tem dado a quem trabalha com ele, especialmente com aplicativos de alto desempenho e disponibilidade. Ando estudando um pouco sobre isso e achei diversos materiais interessantes e vou tentar compilá-los aqui numa série de 3 ou 4 posts.

Vamos falar um pouco sobre as causas mais comuns para esse famigerado problema, que não tem nada de simples. Porque é tão difícil de ser ser identificado? Qual a parcela de culpa de quem desenvolve, se é que existe culpa? Servidores de aplicação são a solução? Por que eles acontecem ?

Espero descobrir as respostas para esses problemas, postar aqui minhas impressões e dividí-las com quem tiver interesse. Espero receber contribuições também !

Abraços e até a próxima.

Olá pessoal,

Continuando minha tentativa de manter o blog atualizado, como prerrogativa para estudar e aprender sobre novas tecnologias , escolhi um tema interessante pra mim e espero que para vocês também.

Quem trabalha com aplicações para Internet, sabe que o grande desafio é criar uma interface bastante amigável para os usuários, apesar das limitações características ao ambiente. Existem diversas tecnologias distintas no mercado open source ou não, que atendem esses requisitos de forma desintegrada e de diversos fornecedores.

Dentro do projeto JBoss, existem diversos frameworks que compõem o JBoss AS ( Application Server ), entre os mais conhecidos estão o Hibernate, Web Services, Web,  Transactions, jBPM e o Seam.

JBoss AS

JBoss AS

O Seam integra as tecnologias mais badaladas do mercado open source como AJAX, JSF, EJB3.0 e BPM  em um único framework, para facilitar o desenvolvimento de aplicações RIA, de maneira integrada e “eliminando” a complexidade dessas APIS. Ele promete a criação de aplicações complexas com poucas classes java, interfaces com usuário poderosas e com arquivos xml de configuração.

No próximo post, vamos mostrar de forma resumida, suas principais características e como utilizá-las.

Para concluir o tema que abordamos nos ultimos dois posts, vamos falar um pouco sobre os padrões e as técnicas para adotá-los, que são tão importantes no papel do arquiteto de software.

O uso de padrões ou como é mais conhecido Design Patterns, é uma das partes mais difícieis no dia-a-dia de qualquer profissional de TI, pois a todo tempo novas abordagens surgem para otimizar ou modificar a maneira de solucionar um mesmo problema. Quando eu leio sobre uma nova tecnologia, tento listar e identificar os diferentes padrões que são utilizados e extrair qual a abordagem que a diferencia das outras ( essa parte não é fácil de implementar).

Para se definir qual o padrão ou framework a se utilizar, deve-se observar primordialmente que os melhores, são geralmente desenvolvidos de forma genérica a atender todas as possíveis abordagens, podendo assim dessa forma, incrementar a produtividade no desenvolvimento de uma solução de software, sem invenções incríveis.

Durante reuniões técnicas para discussão de um problema, deve-se evitar erros comuns, como as famosas siglas, criando uma “sopa de letras” que não permitem que todos entendam de forma clara e objetiva o que se pretende fazer, deixando na verdade, mais dúvidas que soluções nas cabeças das pessoas. Ser objetivo é o principal !

“Entender como uma tecnologia trabalha, não é o bastante para desenvolver uma solução de software robusta, entender aonde a tecnologia é aplicável numa solução, é essencial para o desenvolvimento de um produto de qualidade.”

Essa frase resume bem qual o real sentido da coisa, utilizar tecnologia por si só, não é garantia de solução para os problemas.

Com isso concluímos essa série e espero que todos tenha gostado.

Dando continuidade a segunda parte desse post, vamos hoje sumarizar e conceitualizar duas das áreas chaves de conhecimento para um arquiteto de software.

O Domínio, que pode ser aplicado de maneira horizontal ou vertical para um solução de software. O domínio horizontal surgiu e é aplicado nas industrias em geral, como por exemplo um fluxo de trabalho de automação (workflow). O vertical, é utilizado para situações particulares como por exemplo na industria de telecomunicações ou tecnologia da informação. Existem muitos padrões e protocolos que abrangem cada uma dessas vertentes e devem ser consideradas na construção de uma solução de software.

Os Conceitos são uma das maiores responsabilidades de um arquiteto de software, ou seja, repassar uma solução de forma clara e objetiva, tanto para o pessoal técnico de sua equipe, como também, para os patrocinadores de um projeto. Essa habilidade é essencial, para que todos as possíveis situações possam ser vislumbradas e que os participantes possam dar um feedback de entendimento ou não, a respeito do proposto. Exitem duas visões que o arquiteto deve considerar nessa fase, como na a figura abaixo.

O arquiteto pensa em bolhas

O arquiteto pensa em bolhas

Deve-se pensar de forma abstrata a ponto de não se preocupar com os detalhes da implementação de uma solução, para isso utiliza-se dentre muitos artefatos modelos que permitam conceitualizá-la, podendo utilizar ferramentas auxiliares para isso como, MDA ( Model Driven Architectute ).

O desenvolvedor ver apenas parte da solução

O desenvolvedor ver apenas parte da solução

O arquiteto de software também deve considerar e entender que uma solução de software consiste em mais do que apenas atender os requisitos funcionais a serem implementados, por exemplo, plataforma de desenvolvimento, frameworks e infra-estrutura de tecnologia. Também devem ser considerados requisitos não funcionais como: distribuição, segurança, escalabilidade e performance. Esquecer pontos importantes como esses, aumentam os riscos de que a solução possa falhar.

No próximo post concluiremos esse assunto falando sobre Padrões e Técnicas.