Category Archives: REST

JBoss Libera HornetQ: open-source messaging system

Se você é familiar com os produtos da JBoss/Red Hat, já deve ter ouvido falar do JBoss Messaging (v 1.x). Como o nome diz é um middleware orientado a mensagens (ou MoM – Message-oriented Middleware), que era a solução de mensageria padrão do JBoss Enterprise Application Platform, JBoss SOA Platform e JBoss Application Server version 5.0.

O produto evoluiu e a versão 2.x ficou tão diferente do projeto original que eles decidiram dar um novo  nome para o produto: HornetQ.

Principais características

  • como o projeto original do qual é originado, o HornetQ é open-source (Apache v 2.0 licence)
  • roda em qualquer plataforma Java 5.x ou superior
  • suporta JMS 1.1 API, apesar de ter uma API de mensagens proprietárias (que a JBoss alega que tem uma performance superior)
  • provê sistema de mensagens persistentes com performance de MoM que trabalha com mensagens não persistentes (em memória)
  • pode ser integrado com o JBoss Application Server ou com com outro Java server/container
  • pode ser “empacotado”(embed) em sua própria aplicação (!)
  • opção de alta disponibilidade (server replication e client failover)
  • permite a criação de clusters (load balance, distribuição geográfica dos seus MoMs etc)
  • “core” do produto baseado em Plain Old Java Objects (POJO)
  • etc..

Arquitetura (high-level view)

Documentação

  • Guia rápido (PDF), recomendo!
  • Manual do Usuário (PDF)

MoM – Definição

Por fim, mas não menos importante, vamos a uma definição básica de um Message-oriented middleware (MOM).

Basicamente é uma solução de infraestrutura de software que recebe e envia mensagens. A arquitetura destas soluções tem um grande foco em questões relacionadadas a confiabilidade da entrega/envio das mensagens, interoperabilidade (“conversam” com vários protocolos) e portabilidade (ambientes altamente heterogêneos).

Na minha opinião, do ponto de vista de arquitetura de software, são soluções “elegantes” que reduzem a dependência e a complexidade das suas aplicações e/ou componentes. Como arquiteto(a), por exemplo, você não precisa se preocupar como uma mensagem vai sair do ambiente mainframe, ser persistida, transformada e roteada para, finalmente, ser entregue no formato de um SMS para seu cliente. Isto permite que você mantenha o foco no desenho, na arquitetura da solução, que é o mais importante.

Tudo indica que Mensageria será um dos elementos-chave em Cloud Computing. JBoss sabe disto e lançou o HornetQ com este objetivo ambicioso: ser o provedor de mensagens preferido no ambiente de cloud computing.

Boa sorte!

SOA e REST (Representational State Transfer)

Arnon Rotem-Gal-Oz é VP de pesquisa e desenvolvimento da XSights, uma empresa Israelense que desenvolve soluções móveis para disponibilizar conteúdo de mídia “tradicional” (jornal, catálogo, revistas…), em dispositivos móveis.

Ele também é autor do livro “SOA Patterns” e mantém um blog com informações sobre arquitetura de software, mobile computing, project management etc.

No  preparou uma apresentação introdutória sobre REST (Representational State Transfer). É um .PPT com 31 slides no total que explica, de forma simples, o “estilo” de arquitetura de software, que é o REST, e qual sua relação com SOA.

A seguir um dos slides da apresentação:

Category: Architecture, REST, SOA

Lançado InfoQ Brasil!

O site Infoq.com é uma comunidade online com foco em inovação no desenvolvimento de software corporativo.

Excelente fonte de artigos sobre:

  • Arquitetura
  • Gerência de Projeto
  • Informação para Team Leaders (ou desenvolvedor sênior)
  • Java
  • Ruby
  • Desenvolvimento Ágil
  • SOA

Nesta Quarta (05/Nov/08) eles anunciaram o lançamento da versão brasileira, InfoQ Brazil, com tradução de vários artigos do site em inglês. Esta iniciativa foi feita por uma empresa da região de Campinas-SP (vide detalhes aqui).

Como exemplo da qualidade dos artigos, abaixo dois excelentes textos sobre “tudo-que-você-queria-saber-sobre-REST-e-ninguém-conseguiu-te-explicar” (em português, claro):

Veja as fotos do evento neste link.

Como explicar REST para sua esposa?

A origem deste post é um artigo de 2004 do site XML.com: “How to create REST Protocol?“.

A seguir apresento alguns links que tratam do “REST básico”.

Vamos começar respondendo a uma questão básica: O que é REST?

O que é REST?

REST, REpresentation State Transfer, é um estilo de arquitetura que é pode ser utilizado como um guia para construção de Web Services. O termo REST teve origem em uma dissertação de doutorado de Roy Thomas Fielding, um dos pais do HTTP e também um dos co-fundadores da Apache Foundation.

Este é o título da tese: “Architectural Styles and the Design of Network- based Software Architectures“, defendida na University of California, no longínquo ano de 2000.

Vamos tratar de REST com mais detalhes em novos posts, por enquanto, segue dois links importantes:

Alguns trechos do diáologo:

Wife: Who is Roy Fielding?

Ryan: Some guy. He’s smart.

Wife: Oh? What did he do?

Ryan: He helped write the first web servers and then did a ton of research explaining why the web works the way it does. His name is on the specification for the protocol that is used to get pages from servers to your browser.

Wife: How does it work?

Ryan: The web?

Wife: Yeah.

Ryan: Hmm. Well, it’s all pretty amazing really. And the funny thing is that it’s all very undervalued. The protocol I was talking about, HTTP, it’s capable of all sorts of neat stuff that people ignore for some reason.

Category: REST