JBoss SOA Platform no JustJava 2007 (sexta dia 05.10 as 16:30 no Auditório Central)
Posted by: Edgar Silva in java, eventosOlá amigos,
Minha palestra amanha estará interessante, se tudo funcionar será melhor ainda =), vou tentar amanha instalar uma Máquina viritual Windows no meu Red Hat Enterprise Linux, para ter algumas aplicações .net interoperando com Aplicativos diversos e não somente em Java.
Para quem estiver lá, espero poder falar algumas das minhas visões sobre SOA, como por exemplo:
Não, SOA não é só WebServices! Por favor, há muito mais além disto!
Vários fornecedores tentam fala só em WebServices, WebServices, WebServices ! Porém o que fazemos com as aplicações legadas C, Cobol, C++, DataFlex, Clipper, FoxPro (overdose de nostalgia). Quem já teve que criar um conector JCA para conversar com IBM/CICS na unha entende bem que a questão de “Webseriçar” tudo não é puramente trivial ou simples como se imagina. Graças a Deus, eu tenho amigos como o Ricardo Ferreira, Fábio Velloso entre outros, que sempre me dão dicas além de conversamos muito sobre vários assuntos relacionados a SOA, e ai idéias das mais loucas acabam surgindo. Sendo assim, em um dos meus exemplos de amanha, mostrarei como aplicar um processo de BAM(Business Activity Monitoring) que no JBoss jBPM tratamos como informações acerca dos processos, instâncias, sendo assim, imagine que uma empresa usa o SugarCRM como solução, e como a maioria sabe o Sugar é escrito em PHP, porém imagine se uma empresa quer ter a um Dashboard, sobre algumas atividades dos processos de vendas de uma empresa, coisas que o SugarCRM faz muito bem. Então resolvi exemplificar um caso de SOA utilizando ESB(Enterprise Services Bus) para isso. usando o JBoss ESB 4.2, um dos projetos que vou mostrar na sexta dia 05.10 no JustJava as 16:30.
BAM como um “Dedo-Duro”
De acordo com o JavaReport (http://www.javareport.com/article.aspx?id=9238&page=) BAM seria:
Put simply, BAM is about the real-time monitoring of key business metrics. These metrics are presented to business users in a “dashboard” format and are used to revise the processes being monitored. The end-goal of BAM is a self-improving process that can learn and continue to tweak itself to become ever better
Sendo assim, a idéia aqui é saber o que o SugarCRM faz qdo fazemos algumas coisas dentro dele, como criar um Lead ou Oportunidade e etc. Para isso, primeiro criamos uma Tarefa (Task), algo muito interessante para se observar do ponto de vista de negócio.
Mas ai você deve estar pensando, que truque devemos usar para saber que o SugarCRM adicionou uma nova tarefa? Você deve pensar: Vê o banco de dados Edgar seu imbecil ! Eu até pensaria nisso, mas se nosso Consumidor da informação for uma Aplicação Cobol, Oracle Forms, ou se for um SAP, um PeopleSoft ? Se você falar WebServices, juro que nossa amizade acabou agora
.
Não que WebServices sejam ruins, mas eles tem uma função muito útil, além de confundir as pessoas, mas nesse cenário, ele poderia ser uma das opções, só que o SugarCRM até onde sei não disponibiliza um WebService pro Cobol consumir, sendo assim, a solução que vamos mostrar é mais “bruta”. Como estou executando o SugarCRM no Linux, vi que se eu criar uma nova tarefa, e chamar o comando find para saber o que foi alterado no último minuto no meu file system, como abaixo:
find . -mmin -1
Eu posso ter uma lista de onde o MySQL (banco default do Sugar) guarda as informações de TAKS.

Com base na resposta, agora eu posso assumir que alterações em tasks refletem numa alteração no arquivo tasks.MYD , com base nisso, podemos criar um Gateway e um Listener para responder a este evento (estimulo), buscar uma informação via Java (JPA ou JDBC) e publicar as informações numa mensagem numa fila JMS, ou chamar um Invoker que chame um conector JCA para Cobol, PeopleSoft ou qualquer outro.
Bom o resto e a demo final vocês poderão confirir amanha, agora irei recuperar o cérebro treinando meu bom e velho Jiu-Jitsu, vejo vocês amanha!
Beijo no coração
Edgar


Entries (RSS)
October 6th, 2007 at 1:15 am
A minha palestra poderia ser melhor, tive problemas com o projetor, tempo, espero na próxima as coisas funcionem melhor….