Tenho trabalhando numa demo de SOA (Service Oriented Architecture), para demonstrar em clientes e eventos algumas situações que clientes enfrentam num cenário de SOA.
O nome da solução é o MegaBroker, o qual espero torná-lo open-source com fins para estudos das pessoas, assim como um “BluePrints”-LIKE.el
Simulamos uma Aplicação JME, na qual um Midlet envia uma Mensagem para um WebService, o qual publica essa mensagem num diretório especifico.

Este Midlet chama uma função de um WebService que publica a Mensagem em formato CSV num Diretório no servidor:
[java]
/**
*
* @author jsilva
*/
@WebService()
public class ProposalProducer {
private SimpleDateFormat formatter;
/**
* Web service operation
*/
@WebMethod
public String publish
(@WebParam(name = “proposal”)
String proposal) {
formatter = new
SimpleDateFormat(”hhmmsszzza”);
try {
BufferedWriter out =
new BufferedWriter(new FileWriter
(”/home/jsilva/NotBackedUp/transacaoes/”+
formatter.format(new Date())+”.txt”));
out.write(proposal.toString());
out.close();
} catch (IOException e) {
e.printStackTrace();
return “FAIL”;
}
return “OK”;
}
[/java]
Criando um Listener via JBoss ESB
Basicamente nesta DEMO, o que acontece é que o WebService publica a mensagem enviada pelo Celular num pasta qualquer, esta mensagem é no formato texto, no caso um simples CSV. O JBoss ESB captura este evento de gravacao de arquivo na pasta e invoca uma ação de um Bean qualquer. o conteúdo da mensagem torna-se publico numa fila de mensagem, onde várias financeiras pode estar “escutando”, e cada uma delas da sua forma, uma pode ouvir XML, outra pode esperar por CSV, ou ainda por quaquer formato estrutura que o JBoss ESB consiga transformar com a ajuda de Smoocks ou de um Adaptador qualquer.

A financeira A ou B pode devolver o resultado no mesmo BUS ou em outro, ou ainda numa fila de JMS, onde tudo isto seria totalmente agnóstico e automaticamente roteável, devido as características do JBoss ESB.
Com as novas tecnologias e formas de comunicação de canais entre as empresas e consumidores, aplicações como estas serão cada vez mais necessárias, assim tecnologias e projetos como: JBoss ESB, JBoss Messaging, JBossWS, JBoss AS podem resolver seu dia-a-dia de forma simples.


Entries (RSS)
August 16th, 2007 at 7:14 pm
Edgar, boa tarde!
Estive ontem na reunião do Sou Java.
Você pretende disponibilizar os slides ou os fontes apresentados?
Obrigado,
André