Tutorial: Serviços web e suas composições

Propaganda
Tutorial: Serviços web e suas composições
Objetivo:
Este tutorial tem como objetivo apresentar o desenvolvimento de serviços web através do
framework Axis2. Além disso, realizar uma composição através do WS-BPEL e por fim uma
composição semântica através do OWL-S. Iremos programar dois serviços. O primeiro fará a
conversão de uma dada temperatura em Celsius para Kelvin (ConversorA) e o segundo de Kelvin
para Farenheit (ConversorB). O tutorial foi reproduzido na plataforma Windows 7, mas pode ser
facilmente adaptado para outras plataformas.
Programas necessários:
1. Java SE Development Kit 7u7 – Download
2. Eclipse IDE for Java EE Developers Juno 4.2 – Download
3. Apache Tomcat 7.0.29 – Download
4. Axis2 1.6.2 – Download
5. Apache ODE 1.3.5 – Download
6. OWL-S API 3.0 – Download
Instalando o Java SE Development Kit:
1. Execute o arquivo jdk-7u7-windows-i586.exe
2. Sigas as orientações na tela, será basicamente Next-Next-Finish
3. Abra o Painel de Controle > Sistema > Configurações Avançadas do Sistema > Variáveis de
Ambiente
4. Crie a variável JAVA_HOME = C:\Program Files\Java\jdk1.7.0_07
5. Edite a variável Path = outros_caminos;C:\Program Files\Java\jdk1.7.0_07\bin
Instalando e configurando o Eclipse, Apache Tomcat e Axis2
1. Descompacte o arquivo eclipse-jee-juno-SR1-win32.zip para a pasta C:\Program Files\
2. Teremos C:\Program Files\eclipse\
3. Descompacte o arquivo apache-tomcat-7.0.29.zip para a pasta C:\Program Files\eclipse\
4. Teremos C:\Program Files\eclipse\apache-tomcat-7.0.29\
5. Descompacte o arquivo axis2-1.6.2-bin.zip para a pasta C:\Program Files\eclipse\
6. Teremos C:\Program Files\eclipse\axis2-1.6.2\
7. Ao final, teremos a seguinte árvore de diretórios:
8. Execute o arquivo C:\Program Files\eclipse\eclipse.exe
9. Ao iniciar, o Eclipse solicitará um local para workspace. Defina-o e clique em OK. Exemplo:
10. Com Eclipse aberto, navegue até o menu Window > Preferences
11. Na janela Preferences navegue até o menu Server > Runtime Environments
12. Clique em Add... para adicionar um novo servidor e siga conforme as telas:
13. Ainda na janela Preferences, navegue até o menu Web Services > Axis2 Preferences
14. Defina a localização do Axis2 e clique em Apply. Exemplo:
15. Ainda na janela Preferences, navegue até o menu Web Services > Server and Runtime
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
18. Na janela de configuração, modifique os valores, salve e feche. Siga conforme a tela:
Criando um Serviço Web através do Axis2
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:
4. Na aba Project Explorer, clique o com botão direito em cima do ConversorA.java e navegue até
Web Services > Create Web Services.e siga conforme as telas:
Testando o Serviço Web
1.
Com
o
Tomcat
v7.0
iniciado,
abra
um
navegador
web
e
acesse
http://localhost:8080/TemperaturaA
2. Clique em Services > ConversorA e em seguida copie o endereço do WSDL
http://localhost:8080/TemperaturaA/services/ConversorA?wsdl
3. No Eclipse, navegue até Run > Launch the Web Services Explorer e siga conforme as telas:
4. Até o momento, já temos o primeiro serviço. Precisamos criar o segundo serviço que irá
converter uma temperatura kelvin para farenheit. Para isso repita o processo de criação mudando
apenas alguns dados:
Nome do projeto = TemperaturaB
Pacote = wsB
Classe = ConversorB
Método = kelvin2Farenheit
Veja a seguir a estrutura do projeto:
5. Edite o a classe ConversorB.java com o código a seguir:
6. Assim, terminamos a primeira parte do tutorial que se refere à criação de Serviços Web através
do framework Axis2. Partiremos agora para a criação de uma composição através do WS-BPEL.
Antes de prosseguir, pare o servidor Tomcat.v7.0
Instalando e configurando o plugin BPEL Designer e o Apache ODE
1. No Eclipse, navegue até Window > Preferences
2. Na janela Preferences navegue até > Install/Update > Available Software Site
3. Clique em Add... para adicionar uma nova fonte e siga conforme a tela:
4. Clique em OK para fechar a janela Preferences
5. Navegue até Help > Install New Software e selecione o BPEL Designer no campo Work with
6. Marque a caixa Eclipse BPEL Designer e siga conforme as telas:
7. Descompacte o arquivo apache-ode-war-1.3.5.zip
8. Na pasta criada, descompacte o arquivo \apache-ode-war-1.3.5\ode.war
9. Copie a pasta \apache-ode-war-1.3.5\ode\ para a pasta C:\Program Files\eclipse\apachetomcat-7.0.29\webapps\
10. No Eclipse, navegue até Windows > Preferences
11. Na janela Preferences, navegue até Server > Runtime Environment
12. Clique em Add... para adicionar um novo servidor e siga conforme as telas:
13. Clique em OK para fechar a janela Preferences
14. Na aba Servers, clique 2x com o botão esquerdo no servidor Ode v1.x
18. Na janela de configuração, clique em Open launch configuration
19. Na janela Edit Configuration, clique na aba Classpath
20. Clique em User Entries, em seguida clique em Add External JARs...
21. Localize o arquivo C:\Program Files\eclipse\apache-tomcat-7.0.29\bin\tomcat-juli.jar
22. Siga conforme a tela e em seguida salve e feche a janela de configuração
Criando uma composição através do BPEL Designer
1. No Eclipse, navegue até File > New > Project... e siga conforme as telas:
2. No Eclipse, navegue até File > New > BPEL Process File... e siga conforme as telas:
3. Um novo fluxo será aberto conforme a tela:
4. Para montar o fluxo basta arrastar os itens da aba Palette e encaixar no processo.
Basicamente vamos utilizar 2 x Invoke e 3 x Assign. Monte o fluxo conforme a tela:
5. Precisamos importar os arquivos WSDL dos nossos serviços ConversorA e ConversorB para o
projeto. Para isso é necessário que o servidor Ode v1.x seja iniciado
6. Copie o XML do endereço http://localhost:8080/TemperaturaA/services/ConversorA?wsdl e
salve em um arquivo com o nome ConversorA.wsdl
7. Copie o XML do endereço http://localhost:8080/TemperaturaB/services/ConversorB?wsdl e
salve em um arquivo com o nome ConversorB.wsdl
8. Navegue até File > Import... e siga conforme as telas:
9. Repita o mesmo procedimento para o arquivo ConversorB.wsdl
10. Selecione a Invoke celsius2Kelvin e navegue até a aba Properties > Details
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:
WSDL = ConversorB.wsdl
Partner Link Name = kelvin2FarenheitPL
Partner Link Type = kelvin2FarenheitPLT
Partner Link Role = kelvin2FarenheitPLRole
13. Ao final do procedimento teremos a seguinte tela:
14. Selecione a Assign celsius e navegue até a aba Properties > Details
15. Clique em New e preencha conforme as telas:
16. Repita o mesmo procedimento para os dois Assign, conforme as telas:
17. Salve e feche o arquivo ConversorBPEL.bpel
18. Abra o arquivo ConversorBPELArtifacts.wdsl e siga conforme a tela:
19. Salve e feche o arquivo ConversorBPELArtifacts.wsdl
20. Navegue até File > New > BPEL Deployment Descriptor e siga conforme a tela:
21. Clique com o botão direito no arquivo deploy.xml e selecione Open With > ODE Deployment
Descriptor Editor e preencha conforme a tela:
22. Salve e feche o arquivo deploy.xml
23. Na aba Servers, pare o servidor Ode v1.x . Clique com o botão direito no servidor Ode v1.x e
em seguida Add and Remove Projects e siga conforme a tela:
24. Inicie o servidor Ode v1.x e verifique a mensagem que indica sucesso:
Testando a composição dos Serviços Web
1. Clique com o botão direito no arquivo ConversorBPELArtifacts.wsdl, em seguida navegue até
Web Services > Test with Web Services Explorer e siga conforme a tela:
Instalando o OWL-S API
1. Não é necessária uma configuração do OWL-S API no eclipse. Basta que os arquivos .jar
sejam importados para o projeto.
2. Visando uma melhor organização das ferramentas de desenvolvimento, descompacte o arquivo
owls-api-3.0-bin.zip para a pasta C:\Program Files\eclipse\
3. Teremos C:\Program Files\eclipse\owls-api-3.0\
4. Cria uma pasta chamada owl-s em C:\Program Files\eclipse\apache-tomcat-7.0.29\webapps\
5. Teremos C:\Program Files\eclipse\apache-tomcat-7.0.29\webapps\owl-s\
Criando uma composição semântica através do OWL-S API
1. Devemos converter nossos serviços ConversorA e ConversorB para serviços semânticos. Para
isso, a própria API traz um gerador que realiza essa tarefa.
2. No Eclipse, inicie o servidor Tomcat v7.0
3. Abra um prompt de comando e siga conforme as telas:
4. Repita o procedimento para o ConversorB conforme a tela:
5. Clique em Close para fechar o WSDL2OWL-S Converter
6. O processo de composição dos serviços atômicos ConversorA.owl e ConversorB.owl é feito
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
11. Siga conforme a tela:
12. Verifique a execução passo-a-passo da composição no console:
Conclusão
Chegamos ao fim do nosso tutorial. Tentei ao máximo utilizar figuras para facilitar o entendimento.
Espero que ele possa esclarecer as dúvidas e ser um guia inicial para o trabalho com serviços
web. Estarei sempre à disposição para esclarecer quaisquer dúvidas através do e-mail:
[email protected]. Obrigado!
Salvador 4 de Outubro de 2012.
Att.
Yuri Petit Lobão Ferreira Tourinho
Daniela Barreiro Claro
Download