Funcionamento - rchicoria/web_serv GitHub Wiki

PhaseBookWeb (Mesmo projecto que o anterior): Alterar os módulos para chamar métodos no PhasebookMainWS em vez de chamar os beans EJB. Isto é feito com os métodos existentes na interface gerada pela linha:

wsimport -p client.artefact -keep http://127.0.0.1:8180/PhasebookMainWS/Methods?wsdl

que se corre na pasta source do projecto PhaseBookWeb.

PhasebookMainWS: Vai receber pedidos do PhaseBookWeb e reencaminha-los para os WebServices passando pelos ESBServices. Usa-se o ServiceInvoker para invocar o ESBService correspondente, passando um HashMap na mensagem que contem os argumentos do méto do webservice, com chaves na forma .. Recebe as resposta numa String que na verdade é uma Hash, e o return value está presente no valor que tem a chave na forma <nome_do_metodo>Response.return.

PhasebookESB: Contem os ESBServices. Configuram-se duas queues por cada serviço nos ficheiros XML. O ficheiro jbossesb.xml contém a definição dos serviços, e as actions que reencaminham pedidos para os Webservices.

PhasebookWS: WebServices que processam os pedidos e correm metodos nos EJBs remotamente utilizando a annotation @EJB e as remote interfaces. Para devolver um valor para o ESBService basta retornar.

Phasebook: Mesmo proejcto do trabalho anterior. Em principio fica igual.