MATE15 - Tópicos Especiais em Banco de Dados III OWL-S Composer 17 de Julho de 2013 Marco Antonio Almeida 1 e Daniela Barreiro Claro 2 1 marco062@dcc.ufba.br 2 dclaro@ufba.br
MOTIVAÇÃO E HISTÓRICO
MOTIVAÇÃO E HISTÓRICO Mantido pelo grupo FORMAS desde 2008; Uso de uma IDE para: Facilitar o processo de composição de serviços; Melhor compreensão das composições; Descoberta de serviços semânticos similares; Mecanismo de auto-cura; Publicação em provedores de nuvem;
EVOLUÇÃO Evolução do OWL-S Composer
OWL-S Composer 4.0 Arquitetura do OWL-S Composer 4.0
AMBIENTE DE DESENVOLVIMENTO
AMBIENTE DE DESENVOLVIMENTO JDK 1.6; Eclipse Helios Modeling Tools IDE 3.6.x; Elcipse Plugins: SOA Development; Web, XML, and Java EE Development; Google Plugin for Eclipse; AWS Toolkit for Eclipse; Apache Tomcat 6.0; Axis 2 1.4; Opcional: SoapUI Tutorial de instalação: http://goo.gl/yj9vu
USANDO O OWL-S Composer 3.1
1. CRIE O SEU PROJETO Criar um novo Dynamic Web Project; File -> New -> Other... -> Web -> Dynamic Web Project; Clique em Next; Nomeie o projeto Temperature ; Na seção Configuration, clique em Modify: Adicione Axis 2 Web Services; Clique em Next e Finish;
2. CONFIGURAÇÃO DO AXIS 2 Acessar o arquivo WebContent/WEB-INF/web.xml; Dentro da tag welcome-file-list adicionar um nó filho com o conteúdo: <welcome-file>axis2-web/index.jsp</welcome-file>
3. A CLASSE ConvertTemperature Criar uma classe dentro do pacote ws ConvertTemperature; Dentro da classe criar dois métodos que retornam um valor em String: CelsiusToKelvin(String c); KelvinToFahrenheit(String k); Fórmula: CelsiusToKelvin(c) = c + 273; KelvinToFahrenheit(k) = (k - 273) * 1.8 + 32;
3. SOLUÇÃO
4. CRIAÇÃO DO SERVIÇO WEB Clique na classe ConvertTemperature com o botão direito e selecione: New -> Other... -> Web Services -> Web Service; Clique Next; Clique em Web service runtime e altere para Apache Axis 2; Clique Next até o final do wizard; Inicie o servidor em Start Server;
5. TESTANDO O SERVIÇO Com o botão direito clique no projeto: Run -> Run As -> Run on Server Selecione o servidor Tomcat 6.0 e siga o Wizard; Verifique no navegador se o serviço ConvertTemperature segue listado na página do projeto.
6. SERVIÇOS WEB SEMÂNTICOS Com o botão direito clique no projeto: New -> Other... -> OWL-S Composer -> WSDLOWL Transformation No Wizard complete: WSDL: http://localhost:8080/temperature/service s/converttemperature?wsdl Namespace: http://localhost:8080/temperature/owls/c onverttemperature.owl Atualize o projeto e verifique se a pasta WebContent/owls foi criada.
7. COMPOSIÇÃO DE SERVIÇOS Com o botão direito clique no projeto: New -> Other... -> OWL-S Composer -> OWL-S Diagram No Wizard complete: Name: TemperatureComposition Namespace: http://localhost:8080/temperature/owls/
7. COMPOSIÇÃO DE SERVIÇOS Como Input adicione o celsius e como Output adicione o campo fahrenheith ambos utilizando a URI: http://www.w3.org/2001/xmlschem a#int ; Clique Next e selecione a pasta WebContent/owls para selecionar as operações disponíveis; Clique em Finish.
7. COMPOSIÇÃO DE SERVIÇOS
7. COMPOSIÇÃO DE SERVIÇOS
7. COMPOSIÇÃO DE SERVIÇOS
7. COMPOSIÇÃO DE SERVIÇOS
8. EXECUÇÃO DAS COMPOSIÇÕES No arquivo do diagrama clique com o botão direito do mouse e selecione: OWL-S Composer -> Generate owls file; Atualize o projeto; Clique com o botão direito do mouse no novo arquivo.owl gerado na pasta WebContent/owls e selecione: OWL-S Composer -> Run Composition Utilize o endereço da composição: http://localhost:8080/temperature/o wls/temperaturecomposition.owl
PUBLICANDO EM NUVEM
1. CRIE O SEU PROJETO Tutorial em http://goo.gl/bc4of; Criar um novo AWS Java Project: Nomeie o projeto como WeatherSOAPServer; Clique em Configure AWS accounts e entre com as suas credenciais; Faça o download da biblioteca JAX-WS em http://jax-ws.java.net/ e copie os arquivos que estão na pasta jaxws-lib para WebContent/WEB-INF/lib;
2. ClimaInfo e CONFIGURAÇÕES Crie um pacote com.example; Dentro do pacote adicione a classe ClimaInfo com o conteúdo do item 11 do tutorial; Altere o arquivo WEBContent/WEB-INF/web.xml adicionando o conteúdo do item 12 do tutorial antes da tag </web-app> Crie um arquivo sun-jaxws.xml em WEBContent/WEB-INF e com o conteúdo do item 13 do tutorial Com o botão direito do mouse clique no seu projeto e selecione Amazon Web Services -> Deploy to AWS Elastic Beanstalk Selecione um servidor manualmente (AWS Elastic Beanstalk for Tomcat 6)
3. CRIE A APLICAÇÃO Selecione o nome do projeto ClimaInfo, com o nome do ambiente (Environment) AmbienteClimaInfo; Clique Next e Finish; A primeira publicação demora algum tempo;
4. PÁGINA PUBLICADA
5. TESTE COM O SOAPUI Plataforma para testes funcionais automatizados; Utilizaremos o SoapUI para testar a comunicação da máquina com o servidor na nuvem e os seus serviços; Abra o SoapUI e clique em File -> New SoapUI Project.
5. TESTE COM O SOAPUI
DÚVIDAS????????????
MATE15 - Tópicos Especiais em Banco de Dados III MUITO OBRIGADO! Marco Antonio Almeida 1 e Daniela Barreiro Claro 2 1 marco062@dcc.ufba.br 2 dclaro@ufba.br