Arquitetura de Soluções

por Waldemir Cambiucci

Fixando as idéias…

Olá pessoal, tudo certo?


O post de hoje está longe de ser um guia de referência definitivo, mas procura fixar alguns conceitos e definições que conversamos aqui no blog nesses últimos dias. Espero que gostem 🙂


 


Web 2.0


A Web como plataforma é um conceito que envolve o poder do usuário. Nessa nova web, o usuário tem mais poder sobre seu conteúdo e o que ele deseja ver na web. Outras características que fazem parte dessa nova web são relacionamentos sociais, folksonomia, wiki’s, comunidades de interesse, enfim, todos envolvendo forças sociais, enquanto exigem das aplicações uma melhor experiência, riqueza de recursos e flexibilidade para a composição de serviços.


Wikipedia: http://en.wikipedia.org/wiki/Web_2


 


Mashup


O conceito de Mashup vem do Hip Hop, do recurso de “mixar” trechos de músicas. Da mesma forma, o Mashup na Web 2.0 permite o mix de aplicações, serviços e funcionalidades que o usuário deseja compor e publicar em sua Web. Um exemplo de ferramenta para geração de Mashups é o POPFLY da Microsoft. Mesmo ainda em desenvolvimento, já é possível criar Mashups via Popfly, que consomem fontes de dados diversas, apresentando esses dados através de um componente gráfico de composição, como um slideshow, um carrossel, um flip, etc.


Wikipedia: http://en.wikipedia.org/wiki/Mashup


Popfly: http://www.popfly.ms/


 


SOA – Service Oriented Architecture


SOA envolve serviços no enterprise, nas organizações. Quando pensamos em arquitetura orientada a serviços, devemos ter em mente que as funcionalidades implementadas pelas aplicações devem ser disponibilizadas na forma de serviços. Esses serviços podem ser organizados em barramentos de serviços (o conhecido Enterprise Service Bus, ver a frente) e são consumidos por aplicações do Enterprise. Muito além apenas da tecnologia, SOA envolve uma discussão de negócio, uma visão sobre os direcionadores de negócio (os business drivers) e as necessidades da organização, na hora de definir quais serviços são relevantes.


Wikipedia: http://en.wikipedia.org/wiki/Soa


 


SAAS – Software as a Service


Passar de poucos mercados de milhões para milhões de mercados de poucos, essa é uma expressão que reflete bem a excência de SaaS. Podemos definir uma arquitetura SaaS aquela na qual serviços são publicados na Web e consumidos na Web, permitindo múltiplos inquilinos (usuários), de forma configurável e com otimização de recursos. SaaS é uma evolução do processo de ASP – Application Service Providers, onde uma muitas instâncias de uma mesma aplicação eram executadas para o atendimento de múltiplo inquilinos. Num modelo SaaS, devemos ter uma base de metadadados, para que múltiplos inquilinos possam utilizar o mesmo software do provedor (ou hoster), de forma auto-configurável de acordo com o usuário ativo, com um baixo custo devido o reaproveitamento de recursos. SaaS embute muito mais um modelo de negócio que tem ligação direta com os conceitos da Cauda Longa, The Long Tail. Veja ainda detalhes no livro do Chris Anderson, The Long Tail. ISBN: 1401302378.


Wikipedia: http://en.wikipedia.org/wiki/Software_as_a_Service


 


Aplicações Compostas


São aplicações que consomem serviços de diversas fontes, de uma forma transparente e flexível para o usuário. Em aplicações compostas é possível uma única interface manipular dados de sistemas diversos, sendo uma excelente solução para o consumo de serviços de uma arquitetura SOA.


Wikipedia: http://en.wikipedia.org/wiki/Composite_applications


 


OBA – Office Business Application


Dentro da categoria de plataformas para a construção de aplicações compostas, OBA ou Office Business Application permite que a partir de aplicações do Office System, portais de Sharepoint ou Word e Excel possam consumir funcionalidade de aplicações disponibilizadas na forma de serviços. A Microsoft oferece diversas ferramentas para a construção dessas aplicações e muito material tem sido publicado com exemplos. Vale olhar o blog do arquiteto Atanu Banerjee, que tem falado bastante sobre OBA e soluções compostas.


Wikipedia: http://en.wikipedia.org/wiki/Office_Business_Applications


Blog do Atanu: http://blogs.msdn.com/atanu/


 


ESB – Enterprise Service Bus


Como vimos, serviços publicados numa arquitetura SOA podem ser organizados num barramento de serviços. Esse barramento de serviços funciona através de interfaces bem definidas ou contratos, que descrevem os serviços publicados. Outras funcionalidades associados ao ESB podem ser citadas como identificação, roteamento, mensageria, orquestração, mmonitoração, etc. A Microsoft tem um guia bem completo sobre ESB que vale ser visitado no CodePlex, já comentado neste blog.


Wikipedia: http://en.wikipedia.org/wiki/Enterprise_service_bus


Patterns & Practices: http://www.codeplex.com/esb/


 


Por enquanto é só. Até o próximo post! 🙂


Waldemir.