07.11.2014 Views

Semantic Web Service Composition with WS-BPEL and OWL-S

Semantic Web Service Composition with WS-BPEL and OWL-S

Semantic Web Service Composition with WS-BPEL and OWL-S

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Tutorial: Serviços web e suas composições<br />

Objetivo:<br />

Este tutorial tem como objetivo apresentar o desenvolvimento de serviços web através do<br />

framework Axis2. Além disso, realizar uma composição através do <strong>WS</strong>-<strong>BPEL</strong> e por fim uma<br />

composição semântica através do <strong>OWL</strong>-S. Iremos programar dois serviços. O primeiro fará a<br />

conversão de uma dada temperatura em Celsius para Kelvin (ConversorA) e o segundo de Kelvin<br />

para Farenheit (ConversorB). O tutorial foi reproduzido na plataforma Windows 7, mas pode ser<br />

facilmente adaptado para outras plataformas.<br />

Programas necessários:<br />

1. Java SE Development Kit 7u7 – Download<br />

2. Eclipse IDE for Java EE Developers Juno 4.2 – Download<br />

3. Apache Tomcat 7.0.29 – Download<br />

4. Axis2 1.6.2 – Download<br />

5. Apache ODE 1.3.5 – Download<br />

6. <strong>OWL</strong>-S API 3.0 – Download<br />

Instal<strong>and</strong>o o Java SE Development Kit:<br />

1. Execute o arquivo jdk-7u7-windows-i586.exe<br />

2. Sigas as orientações na tela, será basicamente Next-Next-Finish<br />

3. Abra o Painel de Controle > Sistema > Configurações Avançadas do Sistema > Variáveis de<br />

Ambiente<br />

4. Crie a variável JAVA_HOME = C:\Program Files\Java\jdk1.7.0_07<br />

5. Edite a variável Path = outros_caminos;C:\Program Files\Java\jdk1.7.0_07\bin<br />

Instal<strong>and</strong>o e configur<strong>and</strong>o o Eclipse, Apache Tomcat e Axis2<br />

1. Descompacte o arquivo eclipse-jee-juno-SR1-win32.zip para a pasta C:\Program Files\<br />

2. Teremos C:\Program Files\eclipse\<br />

3. Descompacte o arquivo apache-tomcat-7.0.29.zip para a pasta C:\Program Files\eclipse\<br />

4. Teremos C:\Program Files\eclipse\apache-tomcat-7.0.29\<br />

5. Descompacte o arquivo axis2-1.6.2-bin.zip para a pasta C:\Program Files\eclipse\<br />

6. Teremos C:\Program Files\eclipse\axis2-1.6.2\<br />

7. Ao final, teremos a seguinte árvore de diretórios:


8. Execute o arquivo C:\Program Files\eclipse\eclipse.exe<br />

9. Ao iniciar, o Eclipse solicitará um local para workspace. Defina-o e clique em OK. Exemplo:<br />

10. Com Eclipse aberto, navegue até o menu Window > Preferences<br />

11. Na janela Preferences navegue até o menu Server > Runtime Environments<br />

12. Clique em Add... para adicionar um novo servidor e siga conforme as telas:


13. Ainda na janela Preferences, navegue até o menu <strong>Web</strong> <strong>Service</strong>s > Axis2 Preferences<br />

14. Defina a localização do Axis2 e clique em Apply. Exemplo:<br />

15. Ainda na janela Preferences, navegue até o menu <strong>Web</strong> <strong>Service</strong>s > Server <strong>and</strong> Runtime<br />

16. Modifique os valores e clique em Apply, em seguida OK. Siga conforme a tela:


17. Na aba Servers, clique 2x com o botão esquerdo no servidor Tomcat v7.0<br />

18. Na janela de configuração, modifique os valores, salve e feche. Siga conforme a tela:<br />

Cri<strong>and</strong>o um Serviço <strong>Web</strong> através do Axis2<br />

1. No Eclipse, navegue até File > New > Project... e siga conforme as telas:


2. Crie um pacote e dentro dele crie uma classe. Siga conforme as telas:


3. Edite o a classe com o código a seguir:<br />

4. Na aba Project Explorer, clique o com botão direito em cima do ConversorA.java e navegue até<br />

<strong>Web</strong> <strong>Service</strong>s > Create <strong>Web</strong> <strong>Service</strong>s.e siga conforme as telas:


Test<strong>and</strong>o o Serviço <strong>Web</strong><br />

1. Com o Tomcat v7.0 iniciado, abra um navegador web e acesse<br />

http://localhost:8080/TemperaturaA<br />

2. Clique em <strong>Service</strong>s > ConversorA e em seguida copie o endereço do <strong>WS</strong>DL<br />

http://localhost:8080/TemperaturaA/services/ConversorA?wsdl<br />

3. No Eclipse, navegue até Run > Launch the <strong>Web</strong> <strong>Service</strong>s Explorer e siga conforme as telas:


4. Até o momento, já temos o primeiro serviço. Precisamos criar o segundo serviço que irá<br />

converter uma temperatura kelvin para farenheit. Para isso repita o processo de criação mud<strong>and</strong>o<br />

apenas alguns dados:<br />

Nome do projeto = TemperaturaB<br />

Pacote = wsB<br />

Classe = ConversorB<br />

Método = kelvin2Farenheit<br />

Veja a seguir a estrutura do projeto:


5. Edite o a classe ConversorB.java com o código a seguir:<br />

6. Assim, terminamos a primeira parte do tutorial que se refere à criação de Serviços <strong>Web</strong> através<br />

do framework Axis2. Partiremos agora para a criação de uma composição através do <strong>WS</strong>-<strong>BPEL</strong>.<br />

Antes de prosseguir, pare o servidor Tomcat.v7.0<br />

Instal<strong>and</strong>o e configur<strong>and</strong>o o plugin <strong>BPEL</strong> Designer e o Apache ODE<br />

1. No Eclipse, navegue até Window > Preferences<br />

2. Na janela Preferences navegue até > Install/Update > Available Software Site<br />

3. Clique em Add... para adicionar uma nova fonte e siga conforme a tela:<br />

4. Clique em OK para fechar a janela Preferences<br />

5. Navegue até Help > Install New Software e selecione o <strong>BPEL</strong> Designer no campo Work <strong>with</strong><br />

6. Marque a caixa Eclipse <strong>BPEL</strong> Designer e siga conforme as telas:


7. Descompacte o arquivo apache-ode-war-1.3.5.zip<br />

8. Na pasta criada, descompacte o arquivo \apache-ode-war-1.3.5\ode.war<br />

9. Copie a pasta \apache-ode-war-1.3.5\ode\ para a pasta C:\Program Files\eclipse\apachetomcat-7.0.29\webapps\<br />

10. No Eclipse, navegue até Windows > Preferences<br />

11. Na janela Preferences, navegue até Server > Runtime Environment<br />

12. Clique em Add... para adicionar um novo servidor e siga conforme as telas:


13. Clique em OK para fechar a janela Preferences<br />

14. Na aba Servers, clique 2x com o botão esquerdo no servidor Ode v1.x<br />

18. Na janela de configuração, clique em Open launch configuration<br />

19. Na janela Edit Configuration, clique na aba Classpath<br />

20. Clique em User Entries, em seguida clique em Add External JARs...<br />

21. Localize o arquivo C:\Program Files\eclipse\apache-tomcat-7.0.29\bin\tomcat-juli.jar<br />

22. Siga conforme a tela e em seguida salve e feche a janela de configuração


Cri<strong>and</strong>o uma composição através do <strong>BPEL</strong> Designer<br />

1. No Eclipse, navegue até File > New > Project... e siga conforme as telas:


2. No Eclipse, navegue até File > New > <strong>BPEL</strong> Process File... e siga conforme as telas:


3. Um novo fluxo será aberto conforme a tela:<br />

4. Para montar o fluxo basta arrastar os itens da aba Palette e encaixar no processo.<br />

Basicamente vamos utilizar 2 x Invoke e 3 x Assign. Monte o fluxo conforme a tela:<br />

5. Precisamos importar os arquivos <strong>WS</strong>DL dos nossos serviços ConversorA e ConversorB para o<br />

projeto. Para isso é necessário que o servidor Ode v1.x seja iniciado<br />

6. Copie o XML do endereço http://localhost:8080/TemperaturaA/services/ConversorA?wsdl e<br />

salve em um arquivo com o nome ConversorA.wsdl


7. Copie o XML do endereço http://localhost:8080/TemperaturaB/services/ConversorB?wsdl e<br />

salve em um arquivo com o nome ConversorB.wsdl<br />

8. Navegue até File > Import... e siga conforme as telas:


9. Repita o mesmo procedimento para o arquivo ConversorB.wsdl<br />

10. Selecione a Invoke celsius2Kelvin e navegue até a aba Properties > Details<br />

11. No campo Partner Link selecione Create Global Partner Link e siga conforme as telas:


12. Repita o mesmo procedimento para a Invoke kelvin2Farenheit, mas use os seguintes valores:<br />

<strong>WS</strong>DL = ConversorB.wsdl<br />

Partner Link Name = kelvin2FarenheitPL<br />

Partner Link Type = kelvin2FarenheitPLT<br />

Partner Link Role = kelvin2FarenheitPLRole<br />

13. Ao final do procedimento teremos a seguinte tela:<br />

14. Selecione a Assign celsius e navegue até a aba Properties > Details<br />

15. Clique em New e preencha conforme as telas:


16. Repita o mesmo procedimento para os dois Assign, conforme as telas:<br />

17. Salve e feche o arquivo Conversor<strong>BPEL</strong>.bpel<br />

18. Abra o arquivo Conversor<strong>BPEL</strong>Artifacts.wdsl e siga conforme a tela:


19. Salve e feche o arquivo Conversor<strong>BPEL</strong>Artifacts.wsdl<br />

20. Navegue até File > New > <strong>BPEL</strong> Deployment Descriptor e siga conforme a tela:


21. Clique com o botão direito no arquivo deploy.xml e selecione Open With > ODE Deployment<br />

Descriptor Editor e preencha conforme a tela:


22. Salve e feche o arquivo deploy.xml<br />

23. Na aba Servers, pare o servidor Ode v1.x . Clique com o botão direito no servidor Ode v1.x e<br />

em seguida Add <strong>and</strong> Remove Projects e siga conforme a tela:<br />

24. Inicie o servidor Ode v1.x e verifique a mensagem que indica sucesso:<br />

Test<strong>and</strong>o a composição dos Serviços <strong>Web</strong><br />

1. Clique com o botão direito no arquivo Conversor<strong>BPEL</strong>Artifacts.wsdl, em seguida navegue até<br />

<strong>Web</strong> <strong>Service</strong>s > Test <strong>with</strong> <strong>Web</strong> <strong>Service</strong>s Explorer e siga conforme a tela:


Instal<strong>and</strong>o o <strong>OWL</strong>-S API<br />

1. Não é necessária uma configuração do <strong>OWL</strong>-S API no eclipse. Basta que os arquivos .jar<br />

sejam importados para o projeto.<br />

2. Vis<strong>and</strong>o uma melhor organização das ferramentas de desenvolvimento, descompacte o arquivo<br />

owls-api-3.0-bin.zip para a pasta C:\Program Files\eclipse\<br />

3. Teremos C:\Program Files\eclipse\owls-api-3.0\<br />

4. Cria uma pasta chamada owl-s em C:\Program Files\eclipse\apache-tomcat-7.0.29\webapps\<br />

5. Teremos C:\Program Files\eclipse\apache-tomcat-7.0.29\webapps\owl-s\<br />

Cri<strong>and</strong>o uma composição semântica através do <strong>OWL</strong>-S API<br />

1. Devemos converter nossos serviços ConversorA e ConversorB para serviços semânticos. Para<br />

isso, a própria API traz um gerador que realiza essa tarefa.<br />

2. No Eclipse, inicie o servidor Tomcat v7.0<br />

3. Abra um prompt de com<strong>and</strong>o e siga conforme as telas:


4. Repita o procedimento para o ConversorB conforme a tela:


5. Clique em Close para fechar o <strong>WS</strong>DL2<strong>OWL</strong>-S Converter<br />

6. O processo de composição dos serviços atômicos ConversorA.owl e ConversorB.owl é feito<br />

manualmente, portanto abra um editor de texto e cole o código a seguir:


7. No Eclipse, navegue até File > New > Project e siga conforme as telas:


8. Crie um pacote e dentro dele crie uma classe. Siga conforme as telas:


9. Edite a classe com o código a seguir:


10. Navegue até Run > Run<br />

11. Siga conforme a tela:


12. Verifique a execução passo-a-passo da composição no console:


Conclusão<br />

Chegamos ao fim do nosso tutorial. Tentei ao máximo utilizar figuras para facilitar o entendimento.<br />

Espero que ele possa esclarecer as dúvidas e ser um guia inicial para o trabalho com serviços<br />

web. Estarei sempre à disposição para esclarecer quaisquer dúvidas através do e-mail:<br />

yurilobao@gmail.com. Obrigado!<br />

Salvador 4 de Outubro de 2012.<br />

Att.<br />

Yuri Petit Lobão Ferreira Tourinho<br />

Daniela Barreiro Claro

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!