UNIVERSIDADE FEDERAL DA BAHIA INSTITUTO DE MATEMÁTICA DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO

Tamanho: px
Começar a partir da página:

Download "UNIVERSIDADE FEDERAL DA BAHIA INSTITUTO DE MATEMÁTICA DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO"

Transcrição

1 UNIVERSIDADE FEDERAL DA BAHIA INSTITUTO DE MATEMÁTICA DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO ALEXANDRO NASCIMENTO DA SILVA Composição Automática de Web Services: Avaliando os planejadores JSHOP2 e JESS Salvador 2007

2 ALEXANDRO NASCIMENTO DA SILVA Composição Automática de Web Services: Avaliando os planejadores JSHOP2 e JESS Monografia apresentada ao Curso de graduação em Ciência da Computação, Departamento de Ciência da Computação, Instituto de Matemática, Universidade Federal da Bahia, como requisito parcial para obtenção do grau de Bacharel em Ciência da Computação. Orientadora: Drª. Sc. Daniela Barreiro Claro Salvador 2007

3 ALEXANDRO NASCIMENTO DA SILVA Composição Automática de Web Services: Avaliando os planejadores JSHOP2 e JESS Objetivo: Avaliação dos planejadores JSHOP2 e JESS no ambiente de composição automática de serviços. UNIVERSIDADE FEDERAL DA BAHIA Bacharelado em Ciência da Computação Data de Aprovação: de Orientadora: Drª. Sc. Daniela Barreiro Claro, LaSiD/UFBA Salvador 2007

4 Dedico este trabalho a toda minha família, aos meus amigos e em especial meu filho Caio

5 AGRADECIMENTOS Primeiramente a DEUS, que me concedeu paciência e sabedoria para concluir esta etapa da minha vida. Aos meus pais que me proporcionaram a vida, a educação e o equilíbrio para batalhar por meus objetivos. A minha esposa que me apóia em todos os nossos projetos e preenche minha vida de amor e otimismo. Aos meus amigos da faculdade, de infância, do trabalho e todos os outros, que fazem parte de minha vida tornado-a mais alegre e solidaria. Aos meus professores que me enriqueceram de conhecimentos e ensinou a importância da dedicação para ser diferente. A minha orientadora Prof.ª Daniela Barreiro Claro, por ter me apoiado e dado à direção necessária para a conclusão desse trabalho. Ao meu filho que chegou e me deixou mais amadurecido para o mundo, me proporcionou alegrias indescritíveis, deixando claro que o amor transforma tudo em nossas vidas.

6 RESUMO A disponibilidade de serviços na Web através de Web Services tem trazido muitos benefícios para a integração de sistemas heterogêneos e distribuídos. Porém, muitas vezes um único serviço não atende a uma requisição de um cliente. Neste caso, faz-se necessária a composição de serviços, criando assim um novo serviço com o objetivo de atender a um novo tipo de requisição. A depender da quantidade de serviços envolvidos na composição e das restrições analisadas, esse trabalho pode ser muito dispendioso e falho devido às incertezas inerentes ao ambiente Web, como a disponibilidade dos serviços, mudanças das interfaces de comunicação e a concorrência de recursos. Assim, a composição automática de serviços Web determina quais serviços participam em uma composição a fim de atender a um objetivo pré-definido por um cliente. Planejadores da área de Inteligência Artificial têm sido utilizados com o intuito de automatizar o processo de composição de serviços. Assim, o presente trabalho visa analisar as características de dois planejadores da IA (JSHOP2 e JESS) na composição automática de serviços Web. Palavras-chave: serviços Web, composição de serviços Web, planejador, JESS, JSHOP2 Key-words: Web services, web service compositions, AI planning, JESS, JSHOP2

7 LISTA DE FIGURAS Figura 1 - Estrutura de uma mensagem SOAP... 6 Figura 2 Exemplo de uma mensagem SOAP para um serviço de meteorologia... 6 Figura 3 Uma requisição SOAP sobre HTTP... 7 Figura 4 Uma resposta SOAP sobre HTTP... 7 Figura 5 Elementos de um documento WSDL Figura 6 Exemplo de interface para o método getweather... 9 Figura 7 Exemplo de binding para o método getweather... 9 Figura 8 Exemplo de um processo WS-BPEL para e-commerce Figura 9 Nível topo da ontologia Service Figura 10 Exemplo de definição da classe Service Figura 11 Exemplo de definição da classe ServiceProfile Figura 12 Classes e propriedade do ServiceModel Figura 13 Exemplo de definição da classe ServiceModel Figura 14 Exemplo de definição da classe ServiceGrounding Figura 15 Mapeamento entre OWL-S e WSDL Figura 16 Estado inicial e final do mundo dos cubos Figura 17 Descrição do domínio do Mundo dos Cubos Figura 18 Solução para o mundo dos cubos... 24

8 Figura 19 Exemplo de regra em um sistema que utiliza motor de regras Figura 20 Solução para um simples problema de translado Figura 21 Exemplo do operador ride em JSHOP Figura 22 Exemplo dos métodos travel e travel-by-taxi Figura 23 Exemplo de uso de axioma em JSHOP Figura 24 Exemplo de definição do domínio Figura 25 Exemplo de definição do problema Figura 26 Estado inicial e final do mundo dos cubos Figura 27 Exemplo de deftemplate Figura 28 Semelhança da memória de trabalho do JESS e um banco relacional Figura 29 Representação do estado inicial e final em JESS Figura 30 Exemplos de defrule Figura 31 Tipo Nome dos parâmetros de entrada e saída Figura 32 Descrição em OWL-S do BookFinderProcess Figura 33 Descrição em OWL-S do BNPriceProcess Figura 34 Descrição em OWL-S do CurrencyConverterProcess Figura 35 Hierarquia de tipos de classes de entrada e saída Figura 36 Estado inicial do problema Figura 37 Definição do domínio em JSHOP Figura 38 Definição do problema em JSHOP Figura 39 Seqüência de comandos para iniciar o JSHOP2 para um domínio especifico. 50 Figura 40 Tela que mostra caminho percorrido pelo JSHOP2 para encontrar um plano. 50

9 Figura 41 Tela de exibição do plano encontrado Figura 42 Exemplo de estrutura Sequence em JSHOP Figura 43 Processo composto para o cenário de BookPriceProcess Figura 44 Exemplo de chamada externa Figura 45 Exemplo de precondições OWL-S em linguagem nativa Figura 46 Exemplo de uso do operador forall Figura 47 Solução em JESS para o cenário Parte I Figura 48 Solução em JESS para o cenário Parte II-IV Figura 49 Resultado do JESS para o problema descrito no cenário Figura 50 É possível usar JESS a partir o Java e vice-versa Figura 51 Exemplos de JESS integrado com o Java Figura 52 Exemplos de Java integrado com o JESS Figura 53 Código em JESS para pesquisa de ontologias (books.jess) Figura 54 Código Java que executa o OWLJessKB Figura 55 Resultado da pesquisa pelo OWLJessKB Figura 56 Trecho de código da implemetação de uma interface Userfunction Figura 57 Exemplo de quantificador universal... 63

10 SUMÁRIO 1. INTRODUÇÃO COMPOSIÇÃO DE SERVIÇOS Web Services Tecnologias Básicas SOAP WSDL Tipos de Composição de Serviços Linguagens de composição de Serviços Web WS-BPEL OWL-S ServiceProfile ServiceModel ServiceGrounding Ciclo de vida de uma composição de serviços Web PLANEJAMENTO DA IA Planejamento Clássico Mundo dos Cubos Planejamento HTN... 24

11 3.3. Algoritmo Rete Outros tipos de planejadores PLANEJADORES PARA WSC Características específicas para WSC O Planejador JSHOP O Planejador JESS Outros planejadores para WSC COMPARATIVO ENTRE JSHOP2 E JESS APLICADOS A WSC Critérios de Comparação CENÁRIO JSHOP JESS CONCLUSÃO BIBLIOGRAFIA APÊNDICE A Mundo dos Cubos em JESS ANEXOS Mundo dos Cubos em JSHOP

12 1 1. INTRODUÇÃO Um Web service é um objeto distribuído cujo objetivo é garantir a interoperabilidade entre aplicações utilizando protocolos padronizados e se comunicando através de mensagens XML sobre a Internet. A Web Service Description Language (WSDL) é uma linguagem de definição de interface baseada em XML que permite a separação entre a descrição abstrata e a concreta da implementação do serviço. A padronização e a fácil manipulação contribuíram para a proliferação dos Web services na rede. Porém, muitas vezes não é possível encontrar um único serviço que atenda a um requisito especificado por um cliente. Neste contexto, Web services devem ser combinados com o intuito de atingir a demanda do cliente. A esta combinação de serviços Web dá-se o nome de composição de serviços Web (Web service composition). Diversas infraestruturas, dentre elas linguagens de composição, surgiram a fim de facilitar a manipulação destes serviços, tais como, OWL-S, SAWSDL e WS-BPEL. A composição de serviços Web pode ser feita atualmente através da Internet utilizando diversos serviços disponíveis e combinando-os. A depender da quantidade de serviços envolvidos, este processo pode ser complexo e demorado. Neste caso, a utilização de mecanismos que possam automatizar este processo de composição vem sendo amplamente estudados. A composição automática de serviços Web, a partir de um objetivo especificado e um conjunto de serviços, não é um problema com uma solução trivial. Além disso, ainda não está claramente definida quais técnicas são melhores aplicadas para resolvê-lo. Uma família de técnicas oriundas da IA tem sido proposta para resolver este tipo de problema, dentre elas o planejamento. Planejamento é um problema complexo que tem sido investigado extensivamente pela IA e é definido como uma espécie de problema onde um agente usa suas crenças sobre as ações disponíveis e suas conseqüências para identificar uma solução sobre um conjunto abstrato de planos [RUSSELL, 2004].

13 2 Neste contexto, este trabalho pretende descrever as principais características de um planejador e analisar o comportamento de dois planejadores (JSHOP2 e JESS) aplicados à composição automática de serviços Web. Os próximos capítulos são organizados da seguinte maneira: O Capítulo 2 apresenta os conceitos básicos necessários para a composição de serviços. O Capítulo 3 introduz conceitos de planejamento da IA, quais as técnicas utilizadas e como são utilizadas. O Capítulo 4 integra o ambiente de composição de serviços com a área de planejamento, analisando suas características. O Capítulo 5 descreve um estudo dos planejadores JSHOP2 e JESS aplicados a composição de serviços Web. Por fim, seguem as conclusões e ponderações sobre esta nova área da ciência da computação.

14 3 2. COMPOSIÇÃO DE SERVIÇOS A ciência da computação está em uma importante fase de abstração. Há um tempo atrás, observou-se a abstração do hardware, hoje se observa o crescimento da abstração do software. Esta nova fase está sendo atingida através de arquiteturas orientadas a serviços (SOAs) 1, que permite reutilizar e combinar arbitrariamente componentes de softwares para servir às necessidades através de interfaces padronizadas [FENSEL, 2007]. Web Services é especialmente uma nova tecnologia que tem como objetivo fazer componentes de software e aplicações comerciais disponíveis via interfaces padronizadas, tornando simples o desenvolvimento de aplicações distribuídas e a integração com sistemas existentes [FENSEL, 2007] Web Services Esforços na tentativa de desenvolver um padrão comum de desenvolvimento de aplicações distribuídas têm uma longa historia na ciência da computação. A maioria das propostas falharam completamente ou tiveram seu uso restrito a determinado uso ou adotado por algumas corporações. Na década de 80, Birell e Nelson apresentaram o Remote Procedure Calls (RPC), a primeira tecnologia utilizada para invocar métodos em sistemas distribuídos. A definição do RPC esconde detalhes de implementação dos desenvolvedores e utiliza uma linguagem padrão para descrição de interface (entrada/saída). O RPC oferece um mecanismo independente de plataforma e linguagem de programação para inserir chamada a métodos distribuídos em aplicações [BIRELL, 1984]. Arquiteturas, como a CORBA (Common Object Request Broker Architecture) apresentada por Object Management Group (OMG) na década de 90, já permitiam características avançadas como a seleção e execução dinâmica de serviços. Mas, não alcançaram o nível esperado de aceitação por não ter uma implementação simples [FENSEL, 2007]. 1 Do inglês Service-Oriented Arquiteture

15 4 As tecnologias que hoje em dia estão incluídas no termo Web Services têm várias vantagens comparadas com seus predecessores. Estas vantagens são as razões para a aceitação dos Web Services e a garantia da alta probabilidade de utilização por um longo período [FENSEL, 2007]: A comunicação entre Web Services depende de protocolos que já são amplamente aceitos, como os protocolos HTTP, SMTP e FTP. Com isso, tem a vantagem de permitir a reutilização das existentes infra-estruturas e experiências de seus usuários. Utiliza um protocolo para troca de mensagens entre Web Services, como o Simple Object Access Protocol (SOAP), que funciona sobre HTTP e utiliza o XML como formato de mensagem. Isso resolve um problema existente em outras soluções como RMI e CORBA, onde firewalls normalmente bloqueiam estes tipos de pacotes devido ao uso de protocolos proprietários. Similar ao RPC e CORBA, existe uma linguagem padrão para descrição da interface, a Web Service Description Language (WSDL). A WSDL permite a distinção entre a descrição das funcionalidades que o Web Service provê e os detalhes de como acessar o serviço. De um lado, métodos com seus parâmetros de entrada e saída, e por outro, o endereço onde o serviço está disponível e os protocolos de transporte suportados podem ser descritos independentemente. Uma estrutura modular onde cada módulo utiliza padrões e é responsável por certos subproblemas. Basicamente, Web Services permite acesso a funcionalidades utilizando um conjunto de padrões abertos que fazem a interação com aplicações heterogêneas e distribuídas de forma independente de aspectos de implementação como sistema operacional e linguagem de programação utilizada Tecnologias Básicas Esta seção aborda as tecnologias básicas atualmente aplicadas aos Web Services: SOAP e WSDL.

16 SOAP O principal objetivo do Simple Object Access Protocol (SOAP) em sua primeira versão, publicada como uma nota W3C em Maio/2000 [W3C, 2007], foi prover um framework 2 para comunicação de mensagens ponto a ponto em formato XML. Em Junho/2003, SOAP 1.2 tornou-se uma Recomendação W3C e tem ganhado forças desde então, sendo adotado na maioria das aplicações baseadas em Web Services. Serviços de mensagens comunicando sobre HTTP podem ser codificados diretamente em requisições HTTP Get ou Post, mas SOAP adicionou um rígido framework especialmente projetado para a troca de mensagens em formato XML. De fato, hoje em dia o termo Web Services é freqüentemente usado de forma sinônima com Web Services de comunicação sobre SOAP [FENSEL, 2007]. Uma mensagem SOAP é um documento XML contendo os seguintes elementos [W3SCHOOLS, 2007]: Um elemento obrigatório Envelope que identifica um documento XML como uma mensagem SOAP; Um elemento opcional Header que contém informações com instruções para processamento da mensagem; Um elemento obrigatório Body que contém as informações principais das requisições e respostas aos métodos; E um elemento opcional Fault que prover informações sobre erros ocorridos durante o processamento da mensagem. A Figura 1 mostra a estrutura de uma mensagem SOAP. A Figura 2 mostra um exemplo de um documento SOAP que é usado para invocar um serviço de meteorologia contendo dois textos indicando a cidade, descrita por seu nome e país. 2 Framework é uma estrutura de suporte definida em que um outro projeto de software pode ser organizado e desenvolvido [WIKIPEDIA, 2007].

17 6 <?xml version="1.0"?> <soap:envelope xmlns:soap="http://www.w3.org/2001/12/soap-envelope" soap:encodingstyle="http://www.w3.org/2001/12/soap-encoding"> <soap:header> [...] </soap:header> <soap:body> [...] <soap:fault> [...] </soap:fault> </soap:body> </soap:envelope> Figura 1 - Estrutura de uma mensagem SOAP [W3SCHOOLS, 2007] <?xml version="1.0"?> <soap:envelope xmlns:soap="http://www.w3.org/2001/12/soap-envelope" soap:encodingstyle="http://www.w3.org/2001/12/soap-encoding"> <soap:body> <GetWeather xmlns= > <CityName>Salvador</CityName> <CountryName>Brasil</CountryName> </GetWeather> </soap:body> </soap:envelope> Figura 2 Exemplo de uma mensagem SOAP para um serviço de meteorologia [FENSEL, 2007] Na prática, mensagens SOAP podem ser enviadas utilizando uma variedade de protocolos, embora no contexto Web seja usual a utilização sobre HTTP. Existem outros protocolos frequentemente usados e bem definidos, por exemplo SMTP 3. Quando uma mensagem SOAP é enviada sobre HTTP, basicamente um cabeçalho HTTP é adicionado à mensagem. Desta maneira, SOAP pode alcançar uma estrutura que já está pronta para interpretar o protocolo e desta forma eliminar os problemas com firewalls e routers que ocorrem quando usamos RPC [FENSEL, 2007]. A Figura 3 e a Figura 4 mostram um exemplo de envio de mensagens SOAP sobre HTTP. Somente o cabeçalho é dependente do atual protocolo de transporte utilizado, a mensagem SOAP transferida não necessita de mudanças para diferentes protocolos. O cabeçalho contém elementos padrões para um cabeçalho HTTP, como POST, Content-Type e Content-Length. 3

18 7 POST /InStock HTTP/1.1 Host: Content-Type: application/soap+xml; charset=utf-8 Content-Length: nnn <?xml version="1.0"?> <soap:envelope xmlns:soap="http://www.w3.org/2001/12/soap-envelope" soap:encodingstyle="http://www.w3.org/2001/12/soap-encoding"> <soap:body xmlns:m="http://www.example.org/stock"> <m:getstockprice> <m:stockname>ibm</m:stockname> </m:getstockprice> </soap:body> </soap:envelope> Figura 3 Uma requisição SOAP sobre HTTP [W3SCHOOLS, 2007] HTTP/ OK Content-Type: application/soap+xml; charset=utf-8 Content-Length: nnn <?xml version="1.0"?> <soap:envelope xmlns:soap="http://www.w3.org/2001/12/soap-envelope" soap:encodingstyle="http://www.w3.org/2001/12/soap-encoding"> <soap:body xmlns:m="http://www.example.org/stock"> <m:getstockpriceresponse> <m:price>34.5</m:price> </m:getstockpriceresponse> </soap:body> </soap:envelope> Figura 4 Uma resposta SOAP sobre HTTP [W3SCHOOLS, 2007] Em resumo, SOAP é um formato XML para troca de mensagens que pode ser combinado com diferentes protocolos de transporte para permitir o envio de mensagens XML, tornado-se uma ferramenta popular para o transporte de mensagens XML na Web WSDL O Web Services Description Language (WSDL) é uma linguagem baseada em XML utilizada para descrever Web Services. Trata-se de um documento que além de descrever o serviço, especifica como acessá-lo, quais as operações ou métodos disponíveis e suas mensagens de entrada e saída [WIKIPEDIA, 2007]. A Figura 5 mostra a definição de uma estrutura WSDL: O elemento types descreve os tipos de mensagens que o serviço irá enviar e receber;

19 8 O elemento interface descreve quais funcionalidades o Web Service provê; O elemento binding descreve como acessar o serviço; O elemento service descreve onde acessar o serviço. Figura 5 Elementos de um documento WSDL 2.0 [MARTIN, 2007] A Figura 6 mostra como as entradas e saídas são definidas em um documento WSDL e como eles podem ser associados a um método. A definição relevante no exemplo é o elemento para definir GetWeather. Ele indica que existe um elemento filho CityName e CountryName do tipo string. Mais abaixo no exemplo pode ser visto a definição da interface para o método GetWeather. O exemplo na Figura 7 mapeia a definição abstrata para o protocolo real. O elemento binding define o SOAP sobre HTTP como o protocolo padrão de comunicação. Finalmente o elemento service declara o ponto de acesso do serviço.

20 9 [...] <types> <xs:schema xmlns:xs="http://www.w3.org/2001/xmlschema" targetnamespace="http://www.webservicex.net/schemas/weather" xmlns="http://www.webservicex.net/schemas/weather"> <xs:element name="weather" type="tweather"/> <xs:complextype name="tweather"> <xs:sequence> <xs:element name="cityname" type="s:string" /> <xs:element name="countryname" type="s:string" /> </xs:sequence> </xs:complextype> <xs:element name="weatherresponse" type="xs:double"/> <xs:element name="invaliddataerror" type="xs:string"/> </xs:schema> </types> <interface name="weatherinterface"> <fault name="invaliddatafault" element="ghns:invaliddataerror"/> <operation name="getweather" pattern="http://www.w3.org/2006/01/wsdl/in-out" style="http://www.w3.org/2006/01/wsdl/style/iri" wsdlx:safe="true"> <input messagelabel="in" element="ghns:weather" /> <output messagelabel="out" element="ghns:weatherresponse" /> <outfault ref="tns:invaliddatafault" messagelabel="out"/> </operation> </interface> [...] Figura 6 Exemplo de interface para o método getweather [FENSEL, 2007] [...] <binding name="weathersoapbinding" interface="tns:weatherinterface" type="http://www.w3.org/2006/01/wsdl/soap" wsoap:protocol="http://www.w3.org/2003/05/soap/bindings/http"> <fault ref="tns:invaliddatafault" wsoap:code="soap:sender"/> <operation ref="tns:getweather" wsoap:mep="http://www.w3.org/2003/05/soap/mep/soap-response"/> </binding> <service name="weatherservice" interface="tns:weatherinterface"> <endpoint name="weatherendpoint" binding="tns:weathersoapbinding" address="http://www.webservicex.net/globalweather.asmx?wsdl"/> </service> [...] Figura 7 Exemplo de binding para o método getweather [FENSEL, 2007] Com este exemplo, ilustram-se as características do WSDL: (1) esquemas XML podem ser reutilizados em declarações de tipo; (2) interfaces são definidas independentemente do protocolo de transporte; (3) uma interface pode ser facilmente reutilizada por vários outros bindings.

21 Tipos de Composição de Serviços Para ilustrar as possíveis formas de compor serviços Web, um exemplo do domínio de manipulação de arquivos, citado por [MURTAGH, 2004], será utilizado. Suponha que uma pessoal deseja converter um documento.doc para um documento.pdf. Assuma que não exista um serviço capaz de desempenhar esta conversão diretamente, mas existe um serviço que converte documentos.doc para um formato intermediário.rtf e outro serviço que converte desse formato intermediário para um documento.pdf. Existem duas maneiras de compor esses dois serviços, associando suas interfaces, de forma seqüencial e correta para alcançar o objetivo de converter um documento.doc em.pdf: manual ou automático [CLARO, 2007]. Para esse exemplo, na composição manual o usuário deve buscar por serviços que convertam um documento.doc para formatos intermediários e para cada formato intermediário pesquisar um serviço que converta o formato intermediário para um documento.pdf. É obvio que este processo é muito dispendioso e que para um número grande de serviços é impraticável. A situação pode ser agravada ainda mais se, para obter a conversão de.doc para.pdf, várias conversões intermediarias sejam necessárias. Algumas linguagens surgiram no contexto da composição manual, como a WS-BPEL discutida mais adiante. Na composição automática o usuário apenas especifica um objetivo e então, o sistema automaticamente inicia o processo de busca e seleção de serviços e os integram de forma que o objetivo seja atingido, criando assim, um novo serviço, que no exemplo acima converteria um documento.doc em.pdf. Composição automática de serviços tem outras vantagens em relação à composição manual [MURTAGH, 2004]: Serviços selecionados podem ser substituídos no decorrer do tempo para incluir outros serviços que fariam o objetivo ser atingido mais rapidamente, com menor custo ou outras características não-funcionais; Ajustar a composição para encontrar serviços que melhor atenda as necessidades do usuário (ex. preferência no modo de pagamento);

22 11 Substituir serviços que estejam inacessíveis, criando um plano tolerante a falhas. Contudo, para tornar o processo de composição automática possível, deve existir uma linguagem que possa ser interpretada, entendida de forma não ambígua, por uma máquina ou software [BERNERS-LEE, 2001]. Por exemplo, para uma pessoa que ler a assinatura de um método public File converterdocparapdf(file doc), sabe que este método converte um documento.doc em.pdf, mas para uma máquina esta interpretação não é tão fácil Linguagens de composição de Serviços Web Esforços para tornar o processo de composição de Web Services possível, fizeram surgir algumas linguagens com este propósito. A seguir é explanado duas dessas principais linguagens WS-BPEL A maioria das linguagens de composição segue o paradigma workflow, no qual a composição é definida como um processo de negócio que determina manualmente quais Web Services participam da composição, quais dados são transferidos entre as atividades do processo e como acontecem as interações (fluxos de controle). A orquestração e a coreografia de Web Services são abordagens baseadas em padrões abertos para conectar os serviços e criar processos de negócios de alto nível. A orquestração apresenta um processo de negócio executável, que pode interagir com serviços internos e externos à organização, que descreve como os Web Services podem interagir em nível de mensagem e que inclui a lógica de negócio e a ordem de execução das tarefas (atividades). Com a orquestração, o processo é sempre controlado por uma das partes do negócio, o que difere da coreografia que é mais colaborativa e que permite que cada parte envolvida descreva sua participação na interação [PELTZ, 2003]. A WS-BPEL (Web Services Business Process Execution Language), padronizada pela OASIS [OASIS, 2007], é a linguagem mais popular para orquestração de Web Services. Diversas companhias de software, tais como Oracle, SAP, IBM, HP, entre outras,

23 12 comprovaram a aceitação deste padrão quando integraram motores de orquestração de workflows dentro de seus produtos. A Figura 8 mostra um exemplo de um processo WS- BPEL para venda e entrega de pedidos de um site de e-commerce. Figura 8 Exemplo de um processo WS-BPEL para e-commerce [TYPEPAD, 2007] OWL-S Embora um documento WSDL descreva a interface, protocolo de transporte e ponto de acesso de um Web Service, ele não provê nenhuma informação interpretável por máquinas sobre o objetivo do serviço, o quê ele faz. Por exemplo, assuma que um Web Service disponibiliza dois métodos, um que aceita como parâmetro um número x, e retorna e x, e outro que aceita um número de cartão de crédito x e retorna e x, uma quantidade em Real debitada de sua conta. Por consultar um documento WSDL, uma analise rápida por uma pessoa pode corretamente decidir qual o propósito de cada método, analisando os nomes dos métodos ou mensagens de entrada e saída. Mas, uma máquina não é capaz de

24 13 distinguir entre eles, por que ambos têm o mesmo número de mensagens de entrada e saída como os mesmos tipos de dados [MURTAGH, 2004]. É obvio que para atingir o propósito de compor Web Services automaticamente, uma linguagem deve possibilitar que máquinas distingam entre esses dois métodos. De maneira geral, para que isso aconteça serviços devem ser descritos em uma forma que não seja ambígua e que máquinas possam entender o que um serviço se propõe a fazer, a linguagem deve descrever [MURTAGH, 2004]: Propriedades e habilidades para busca e seleção automática; Precondições, efeitos, mensagens de entrada e mensagens de saída para composição automática; Interfaces, pontos de acesso e protocolos para execução automática. A Web Semântica apareceu para tentar resolver esses problemas. A Web Semântica permite que dados e serviços sejam interpretados por software, sem o problema de ambigüidade [BERNERS-LEE, 2001]. Uma das atuais linguagens que possibilita descrever semanticamente Web Services é a o Ontology Web Language for Service (OWL-S). Sua origem tem como base a Web Ontology Language (OWL), que é uma linguagem baseada em XML usada para descrever ontologias. OWL-S é uma ontologia que fornece classes e propriedades em OWL, adequados para a descrição de Web Services [OWL-S, 2007]. Uma ontologia OWL consiste em um conjunto de classes, instancias e propriedades que descrevem o conceito dentro de um domínio particular. Embora classes, instâncias e propriedades em OWL possuam características herdadas da Orientação a Objeto (OO), OWL prover uma rica opção de construtores para especificar relacionamentos entre classes, propriedades e indivíduos [MURTAGH, 2004]. A Figura 9 mostra as classes que compõe o OWL-S. A classe Service age como um ponto de referência organizacional para descrições OWL-S. Cada descrição de um Web Service terá uma simples instância de Service, com apropriados valores para presents, describedby e supports. As respectivas extensões dessas propriedades são ServiceProfile, ServiceModel e ServiceGrounding, cada uma detalha diferentes tipos de conhecimentos sobre o serviço sendo descrito. Uma introdução em cada uma dessas extensões é exposta a seguir.

25 14 Figura 9 Nível topo da ontologia Service [MARTIN, 2007] [...] <!-- Service description --> <service:service rdf:id="currencyconverterservice"> <service:presents rdf:resource="#currencyconverterprofile"/> <service:describedby rdf:resource="#currencyconverterprocess"/> <service:supports rdf:resource="#currencyconvertergrounding"/> </service:service> [...] Figura 10 Exemplo de definição da classe Service [MINDSWAP, 2007] ServiceProfile O serviço apresenta um ServiceProfile, que tem uma subclasse Profile. O Profile contem um vocabulário para caracterizar propriedades funcionais (ex. inputs 4, output 5, precondições e efeito) e não-funcionais (ex. informação para contato, categoria do serviço). O Profile anuncia as habilidades do serviço e torna mais fácil o processo de descoberta automática [MARTIN, 2007]. 4 A palavra input daqui em diante será sinônimo para mensagem de entrada. 5 A palavra output daqui em diante será sinônimo para mensagem de saída.

26 15 [...] <!-- Profile description --> <mind:currencyservice rdf:id="currencyconverterprofile"> <service:ispresentedby rdf:resource="#currencyconverterservice"/> <profile:servicename xml:lang="en">price Converter</profile:serviceName> <profile:textdescription xml:lang="en"> Converts the given price to another currency. </profile:textdescription> <profile:hasinput rdf:resource="#inputprice"/> <profile:hasinput rdf:resource="#outputcurrency"/> <profile:hasoutput rdf:resource="#outputprice"/> </mind:currencyservice> [...] Figura 11 Exemplo de definição da classe ServiceProfile [MINDSWAP, 2007] ServiceModel O serviço é descrito por um ServiceModel, que tem uma subclasse Process. A Figura 12 mostra a classe Process, suas subclasses e propriedades. Figura 12 Classes e propriedade do ServiceModel [MARTIN, 2007]

2 Conceitos relativos a Web services e sua composição

2 Conceitos relativos a Web services e sua composição 15 2 Conceitos relativos a Web services e sua composição A necessidade de flexibilidade na arquitetura das aplicações levou ao modelo orientado a objetos, onde os processos de negócios podem ser representados

Leia mais

SOA Introdução. SOA Visão Departamental das Organizações

SOA Introdução. SOA Visão Departamental das Organizações 1 Introdução A Organização é a forma pela qual nós coordenamos nossos recursos de todos os tipos para realizar o trabalho que nos propusemos a fazer. A estrutura de nossas organizações manteve-se basicamente

Leia mais

Web Services. (Introdução)

Web Services. (Introdução) Web Services (Introdução) Agenda Introdução SOA (Service Oriented Architecture) Web Services Arquitetura XML SOAP WSDL UDDI Conclusão Introdução Comunicação distribuída Estratégias que permitem a comunicação

Leia mais

UNIVERSIDADE. Sistemas Distribuídos

UNIVERSIDADE. Sistemas Distribuídos UNIVERSIDADE Sistemas Distribuídos Ciência da Computação Prof. Jesus José de Oliveira Neto Web Services Web Services Existem diferentes tipos de comunicação em um sistema distribuído: Sockets Invocação

Leia mais

Web Services. Integração de aplicações na Web. Sistemas Distribuídos

Web Services. Integração de aplicações na Web. Sistemas Distribuídos Web Services Integração de aplicações na Web Integração de Aplicações na Web Interoperação entre ambientes heterogêneos desafios diversidade de componentes: EJB, CORBA, DCOM... diversidade de linguagens:

Leia mais

Trabalho de Sistemas Distribuídos

Trabalho de Sistemas Distribuídos Cássio de Olivera Ferraz Trabalho de Sistemas Distribuídos Petrópolis 2015, v-1.0 Cássio de Olivera Ferraz Trabalho de Sistemas Distribuídos Trabalho sobre sistemas distribuídos e suas tecnologias. Universidade

Leia mais

UFG - Instituto de Informática

UFG - Instituto de Informática UFG - Instituto de Informática Especialização em Desenvolvimento de Aplicações Web com Interfaces Ricas EJB 3.0 Prof.: Fabrízzio A A M N Soares professor.fabrizzio@gmail.com Aula 13 Web Services Web Services

Leia mais

Web services. Um web service é qualquer software que está disponível através da Internet através de uma interface XML.

Web services. Um web service é qualquer software que está disponível através da Internet através de uma interface XML. Web services Um web service é qualquer software que está disponível através da Internet através de uma interface XML. XML é utilizado para codificar toda a comunicação de/para um web service. Web services

Leia mais

Manual de Integração. Tecnologia: WebServices SOAP XML. Área: SERASA Experian. Produto: Autorizador Básico. Versão: 1.0. Autor: Angelo Bestetti Junior

Manual de Integração. Tecnologia: WebServices SOAP XML. Área: SERASA Experian. Produto: Autorizador Básico. Versão: 1.0. Autor: Angelo Bestetti Junior Manual de Integração Tecnologia: WebServices SOAP XML Área: SERASA Experian Produto: Autorizador Básico Versão: 1.0 Autor: Angelo Bestetti Junior Conteúdo Introdução... 3 Considerações Iniciais... 4 Privacidade...

Leia mais

COMPARANDO APLICAÇÃO WEB SERVICE REST E SOAP

COMPARANDO APLICAÇÃO WEB SERVICE REST E SOAP COMPARANDO APLICAÇÃO WEB SERVICE REST E SOAP Cleber de F. Ferreira¹, Roberto Dias Mota¹. ¹Universidade Paranaense (Unipar) Paranavaí PR Brasil cleberferreirasi@hotmail.com, motaroberto@hotmail.com Resumo.

Leia mais

SOA: Service-oriented architecture

SOA: Service-oriented architecture SOA: Service-oriented architecture Roteiro Breve História O que é Arquitetura de Software? O que é SOA? Serviços Infraestrutura Composição Sua empresa está preparada para SOA? Breve História Uma empresa

Leia mais

Introdução Serviços Web WSDL SOAP UDDI Ferramentas. Serviços Web. (Web Services) Emerson Ribeiro de Mello

Introdução Serviços Web WSDL SOAP UDDI Ferramentas. Serviços Web. (Web Services) Emerson Ribeiro de Mello 1/39 Serviços Web (Web Services) Emerson Ribeiro de Mello Departamento de Automação e Sistemas Universidade Federal de Santa Catarina 22 de Maio de 2007 2/39 Arquitetura Orientada a Serviços Arquitetura

Leia mais

3 Propostas de Travessias de Firewalls/NAT

3 Propostas de Travessias de Firewalls/NAT 3 Propostas de Travessias de Firewalls/NAT Este capítulo irá apresentar as propostas deste trabalho para que aplicações que utilizem CORBA como plataforma de comunicação possam atravessar firewalls/nat.

Leia mais

Consumindo um Web Service através de uma Aplicação Comercial em Android. Alex Malmann Becker www.alex.porthal.com.br alex@porthal.com.

Consumindo um Web Service através de uma Aplicação Comercial em Android. Alex Malmann Becker www.alex.porthal.com.br alex@porthal.com. Consumindo um Web Service através de uma Aplicação Comercial em Android Alex Malmann Becker www.alex.porthal.com.br alex@porthal.com.br 08/2014 Agenda Introdução Conceitos Web Service Por que utilizar

Leia mais

Manual de Integração. Tecnologia: WebServices SOAP XML. Área: CDC. Produto: CDC Pessoa Física NFE (RFB) Versão: 1.0. Autor: Angelo Bestetti Junior

Manual de Integração. Tecnologia: WebServices SOAP XML. Área: CDC. Produto: CDC Pessoa Física NFE (RFB) Versão: 1.0. Autor: Angelo Bestetti Junior Manual de Integração Tecnologia: WebServices SOAP XML Área: CDC Produto: CDC Pessoa Física NFE (RFB) Versão: 1.0 Autor: Angelo Bestetti Junior Conteúdo Introdução... 3 Considerações Iniciais... 4 Privacidade...

Leia mais

Service Oriented Architecture (SOA)

Service Oriented Architecture (SOA) São Paulo, 2011 Universidade Paulista (UNIP) Service Oriented Architecture (SOA) Prof. MSc. Vladimir Camelo vladimir.professor@gmail.com 04/09/11 vladimir.professor@gmail.com 1 04/09/11 vladimir.professor@gmail.com

Leia mais

Service Oriented Architecture SOA

Service Oriented Architecture SOA Service Oriented Architecture SOA Arquitetura orientada aos serviços Definição: Arquitetura de sistemas distribuídos em que a funcionalidade é disponibilizada sob a forma de serviços (bem definidos e independentes)

Leia mais

3. Comunicação em Sistemas Distribuídos

3. Comunicação em Sistemas Distribuídos 3. Comunicação em 3.1.Troca de mensagens As mensagens são objetos de dados cuja estrutura e aplicação são definidas pelas próprias aplicações que a usarão. Sendo a troca de mensagens feita através de primitivas

Leia mais

A Estrutura de um Web Service

A Estrutura de um Web Service A Estrutura de um Web Service Paulo Vitor Antonini Orlandin paulovitor_e@hotmail.com Resumo Atualmente, o Serviço Web é a solução mais utilizada para integração entre sistemas, pois apresenta vantagens

Leia mais

Introdução à Programação de Computadores

Introdução à Programação de Computadores 1. Objetivos Introdução à Programação de Computadores Nesta seção, vamos discutir os componentes básicos de um computador, tanto em relação a hardware como a software. Também veremos uma pequena introdução

Leia mais

Manual de Integração. Tecnologia: WebServices SOAP XML. Área: SERASA Experian. Produto: Pefin Pendências Financeiras. Versão: 1.0

Manual de Integração. Tecnologia: WebServices SOAP XML. Área: SERASA Experian. Produto: Pefin Pendências Financeiras. Versão: 1.0 Manual de Integração Tecnologia: WebServices SOAP XML Área: SERASA Experian Produto: Pefin Pendências Financeiras Versão: 1.0 Autor: Angelo Bestetti Junior Conteúdo Introdução... 3 Considerações Iniciais...

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos LICENCIATURA EM COMPUTAÇÃO Prof. Adriano Avelar Site: www.adrianoavelar.com Email: eam.avelar@gmail.com Mecanismos de Comunicação Protocolos de Aplicação Mecanismos de comunicação

Leia mais

REST Um Estilo de Arquitetura de Sistemas Distribuídos

REST Um Estilo de Arquitetura de Sistemas Distribuídos REST Um Estilo de Arquitetura de Sistemas Distribuídos Márcio Alves de Araújo¹, Mauro Antônio Correia Júnior¹ 1 Faculdade de Computação Universidade Federal de Uberlândia (UFU) Monte Carmelo MG Brasil

Leia mais

Introdução a Web Services

Introdução a Web Services Introdução a Web Services Mário Meireles Teixeira DEINF/UFMA O que é um Web Service? Web Service / Serviço Web É uma aplicação, identificada por um URI, cujas interfaces podem ser definidas, descritas

Leia mais

Manual de Integração. Tecnologia: WebServices SOAP XML. Área: CDC. Produto: CDC Estendida (Física) Versão: 1.0. Autor: Angelo Bestetti Junior

Manual de Integração. Tecnologia: WebServices SOAP XML. Área: CDC. Produto: CDC Estendida (Física) Versão: 1.0. Autor: Angelo Bestetti Junior Manual de Integração Tecnologia: WebServices SOAP XML Área: CDC Produto: CDC Estendida (Física) Versão: 1.0 Autor: Angelo Bestetti Junior Conteúdo Introdução... 3 Considerações Iniciais... 4 Privacidade...

Leia mais

Manual de Integração. Tecnologia: WebServices SOAP XML. Área: Serviços de Informação. Produto: CEP. Versão: 1.0. Autor: Angelo Bestetti Junior

Manual de Integração. Tecnologia: WebServices SOAP XML. Área: Serviços de Informação. Produto: CEP. Versão: 1.0. Autor: Angelo Bestetti Junior Manual de Integração Tecnologia: WebServices SOAP XML Área: Serviços de Informação Produto: CEP Versão: 1.0 Autor: Angelo Bestetti Junior Conteúdo Introdução... 3 Considerações Iniciais... 4 Privacidade...

Leia mais

PROGRAMA DE MBA em Gestão e Engenharia do Produto. O Produto Internet e suas Aplicações

PROGRAMA DE MBA em Gestão e Engenharia do Produto. O Produto Internet e suas Aplicações Universidade de São Paulo Escola Politécnica Programa de Educação Continuada em Engenharia PROGRAMA DE MBA em Gestão e Engenharia do Produto O Produto Internet e suas Aplicações Tecnologias de Informação

Leia mais

acoplamento Exprime o grau de conexão entre os módulos; os módulos de um software devemapresentar um baixo coeficiente de acoplamento.

acoplamento Exprime o grau de conexão entre os módulos; os módulos de um software devemapresentar um baixo coeficiente de acoplamento. SOA Arquitetura Orientada a Serviços Conceitos e Aplicações Prof. MSc. Edilberto Silva edilms@yahoo.com/ http://edilms.eti.br Gestão de TI Conceitode SOA SOA - Service OrientedArchitecture (Arquitetura

Leia mais

Um Processo para Desenvolvimento de Aplicações Web Baseado em Serviços. Autores: Fábio Zaupa, Itana Gimenes, Don Cowan, Paulo Alencar e Carlos Lucena

Um Processo para Desenvolvimento de Aplicações Web Baseado em Serviços. Autores: Fábio Zaupa, Itana Gimenes, Don Cowan, Paulo Alencar e Carlos Lucena Um Processo para Desenvolvimento de Aplicações Web Baseado em Serviços Autores: Fábio Zaupa, Itana Gimenes, Don Cowan, Paulo Alencar e Carlos Lucena Tópicos Motivação e Objetivos LP e SOA Processo ADESE

Leia mais

Consultar Tabelas Administrativas

Consultar Tabelas Administrativas STN Coordenação-Geral de Sistemas e Tecnologia de Informação Sistema Integrado de Administração Financeira do Governo Federal SIAFI Secretaria do Tesouro Nacional STN Documentação de Serviços de Interoperabilidade

Leia mais

2 Auto-sintonia de Bancos de Dados e Agentes de Software

2 Auto-sintonia de Bancos de Dados e Agentes de Software 2 Auto-sintonia de Bancos de Dados e Agentes de Software A uso da abordagem de agentes de software 1 pode trazer benefícios a áreas de aplicação em que é necessário construir sistemas autônomos, ou seja,

Leia mais

Integração da Informação e do Conhecimento no Contexto da Copa do Mundo e os Jogos Olímpicos no Brasil

Integração da Informação e do Conhecimento no Contexto da Copa do Mundo e os Jogos Olímpicos no Brasil Integração da Informação e do Conhecimento no Contexto da Copa do Mundo e os Jogos Olímpicos no Brasil Ivan Guilherme 1, Jonas Queiroz 1, Caio Marques 2 1 Universidade Estadual Paulista, IGCE, DEMAC, Caixa

Leia mais

3 Serviços na Web (Web services)

3 Serviços na Web (Web services) 3 Serviços na Web (Web services) 3.1. Visão Geral Com base na definição do Word Wide Web Consortium (W3C), web services são aplicações autocontidas, que possuem interface baseadas em XML e que descrevem

Leia mais

Sistemas distribuídos:comunicação

Sistemas distribuídos:comunicação M. G. Santos marcela@estacio.edu.br Faculdade Câmara Cascudo - Estácio de Sá 16 de abril de 2010 Formas de comunicação Produtor-consumidor: comunicação uni-direccional, com o produtor entregando ao consumidor.

Leia mais

Capítulo 1. Introdução. 1.1 Linguagens. OBJETIVOS DO CAPÍTULO Ao final deste capítulo você deverá ser capaz de:

Capítulo 1. Introdução. 1.1 Linguagens. OBJETIVOS DO CAPÍTULO Ao final deste capítulo você deverá ser capaz de: i Sumário 1 Introdução 1 1.1 Linguagens....................................... 1 1.2 O que é um Compilador?................................ 2 1.3 Processadores de Programas: Compiladores, Interpretadores

Leia mais

INFRAESTRUTURA DE TI E TECNOLOGIAS EMERGENTES

INFRAESTRUTURA DE TI E TECNOLOGIAS EMERGENTES Sistema de Informação e Tecnologia FEQ 0411 Prof Luciel Henrique de Oliveira luciel@uol.com.br Capítulo 5 INFRAESTRUTURA DE TI E TECNOLOGIAS EMERGENTES PRADO, Edmir P.V.; SOUZA, Cesar A. de. (org). Fundamentos

Leia mais

INDICE 3.APLICAÇÕES QUE PODEM SER DESENVOLVIDAS COM O USO DO SAXES

INDICE 3.APLICAÇÕES QUE PODEM SER DESENVOLVIDAS COM O USO DO SAXES w w w. i d e a l o g i c. c o m. b r INDICE 1.APRESENTAÇÃO 2.ESPECIFICAÇÃO DOS RECURSOS DO SOFTWARE SAXES 2.1. Funcionalidades comuns a outras ferramentas similares 2.2. Funcionalidades próprias do software

Leia mais

PROJETO DE REDES www.projetoderedes.com.br

PROJETO DE REDES www.projetoderedes.com.br PROJETO DE REDES www.projetoderedes.com.br Centro Universitário de Volta Redonda - UniFOA Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro

Leia mais

ENGENHARIA DE SOFTWARE Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br

ENGENHARIA DE SOFTWARE Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br - MÓDULO 3 - MODELAGEM DE SISTEMAS ORIENTADA A OBJETOS COM UML 1. INTRODUÇÃO A partir de 1980, diversos métodos de desenvolvimento de sistemas surgiram para apoiar o paradigma orientado a objetos com uma

Leia mais

Desenvolvendo e Integrando Serviços Multiplataforma de TV Digital Interativa

Desenvolvendo e Integrando Serviços Multiplataforma de TV Digital Interativa Desenvolvendo e Integrando Serviços Multiplataforma de TV Digital Interativa Agenda Introdução Aplicações interativas de TV Digital Desafios de layout e usabilidade Laboratório de usabilidade Desafios

Leia mais

SOAP. Web Services & SOAP. Tecnologias de Middleware 2004/2005. Simple Object Access Protocol. Simple Object Access Protocol SOAP

SOAP. Web Services & SOAP. Tecnologias de Middleware 2004/2005. Simple Object Access Protocol. Simple Object Access Protocol SOAP Web Services & SOAP Tecnologias de Middleware 2004/2005 SOAP Simple Object Access Protocol Os web services necessitam de comunicar entre eles e trocar mensagens. O SOAP define a estrutura e o processamento

Leia mais

Projeto de Arquitetura

Projeto de Arquitetura Projeto de Arquitetura Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 11 Slide 1 Objetivos Apresentar projeto de arquitetura e discutir sua importância Explicar as decisões de projeto

Leia mais

Conteúdo da Aula de Hoje. Web Services. Avaliação da Disciplina. O que é um web service? O que é um web service? Vantagens

Conteúdo da Aula de Hoje. Web Services. Avaliação da Disciplina. O que é um web service? O que é um web service? Vantagens Web Services Pós-Graduação em Tecnologias para o desenvolvimento de aplicações WEB Conteúdo da Aula de Hoje Conceitos básicos Teste com WS Implementação de WS (Provedor e usuário) Instrutor : Avaliação

Leia mais

Notas da Aula 15 - Fundamentos de Sistemas Operacionais

Notas da Aula 15 - Fundamentos de Sistemas Operacionais Notas da Aula 15 - Fundamentos de Sistemas Operacionais 1. Software de Entrada e Saída: Visão Geral Uma das tarefas do Sistema Operacional é simplificar o acesso aos dispositivos de hardware pelos processos

Leia mais

MADALENA PEREIRA DA SILVA SLA Sociedade Lageana de Educação DCET Departamento de Ciências Exatas e Tecnológica

MADALENA PEREIRA DA SILVA SLA Sociedade Lageana de Educação DCET Departamento de Ciências Exatas e Tecnológica MADALENA PEREIRA DA SILVA SLA Sociedade Lageana de Educação DCET Departamento de Ciências Exatas e Tecnológica Desenvolvimento de Web Services com SOAP. 1. Introdução. Com a tecnologia de desenvolvimento

Leia mais

INTEGRAÇÃO DE APLICAÇÕES UTILIZANDO WEB SERVICE 1. Kellen Kristine Perazzoli 2 ; Manassés Ribeiro 3

INTEGRAÇÃO DE APLICAÇÕES UTILIZANDO WEB SERVICE 1. Kellen Kristine Perazzoli 2 ; Manassés Ribeiro 3 INTEGRAÇÃO DE APLICAÇÕES UTILIZANDO WEB SERVICE 1 Kellen Kristine Perazzoli 2 ; Manassés Ribeiro 3 INTRODUÇÃO Atualmente empresas de diversos portes estão encontrando nos web services soluções para seus

Leia mais

Web Services. Autor: Rômulo Rosa Furtado

Web Services. Autor: Rômulo Rosa Furtado Web Services Autor: Rômulo Rosa Furtado Sumário O que é um Web Service. Qual a finalidade de um Web Service. Como funciona o serviço. Motivação para o uso. Como construir um. Referências. Seção: O que

Leia mais

Engenharia de Software I

Engenharia de Software I Engenharia de Software I Rogério Eduardo Garcia (rogerio@fct.unesp.br) Bacharelado em Ciência da Computação Aula 05 Material preparado por Fernanda Madeiral Delfim Tópicos Aula 5 Contextualização UML Astah

Leia mais

No artigo anterior explicamos. Desenvolvimento de Software Dirigido por Caso de Uso. Parte II: Especificando Caso de Uso

No artigo anterior explicamos. Desenvolvimento de Software Dirigido por Caso de Uso. Parte II: Especificando Caso de Uso Desenvolvimento de Software Dirigido por Caso de Uso Parte II: Especificando Caso de Uso Vinicius Lourenço de Sousa viniciuslsousa@gmail.com Atua no ramo de desenvolvimento de software há mais de 10 anos,

Leia mais

SOA na Prática Ricardo Limonta

SOA na Prática Ricardo Limonta SOA na Prática Ricardo Limonta Arquiteto JEE Objetivo Apresentar os conceitos de Arquiteturas Orientadas a Serviços; Entender a relação entre SOA e a tecnologia Web Services; Implementar SOA com Web Services

Leia mais

Um sistema é constituído de um conjunto de processos que executam seus respectivos códigos do sistema operacional e processos e códigos de usuários.

Um sistema é constituído de um conjunto de processos que executam seus respectivos códigos do sistema operacional e processos e códigos de usuários. Os sistemas computacionais atuais permitem que diversos programas sejam carregados na memória e executados simultaneamente. Essa evolução tornou necessário um controle maior na divisão de tarefas entre

Leia mais

Softwares de Sistemas e de Aplicação

Softwares de Sistemas e de Aplicação Fundamentos dos Sistemas de Informação Softwares de Sistemas e de Aplicação Profª. Esp. Milena Resende - milenaresende@fimes.edu.br Visão Geral de Software O que é um software? Qual a função do software?

Leia mais

Ambientes Visuais. Ambientes Visuais

Ambientes Visuais. Ambientes Visuais Ambientes Visuais Inicialmente, apenas especialistas utilizavam os computadores, sendo que os primeiros desenvolvidos ocupavam grandes áreas e tinham um poder de processamento reduzido. Porém, a contínua

Leia mais

Nota Fiscal Paulista. Manual para Envio de Arquivo de Cupons Fiscais via Webservice GOVERNO DO ESTADO DE SÃO PAULO

Nota Fiscal Paulista. Manual para Envio de Arquivo de Cupons Fiscais via Webservice GOVERNO DO ESTADO DE SÃO PAULO GOVERNO DO ESTADO DE SÃO PAULO SECRETARIA DE ESTADO DOS NEGÓCIOS DA FAZENDA Nota Fiscal Paulista Manual para Envio de Arquivo de Cupons Fiscais via Webservice Versão 1.1 26/12/2007 Controle de Alterações

Leia mais

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio 32 3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio Este capítulo apresenta o framework orientado a aspectos para monitoramento e análise de processos de negócio

Leia mais

INTEGRAÇÃO DE APLICAÇÕES UTILIZANDO WEB SERVICE. Kellen Kristine Perazzoli 1, Manassés Ribeiro 2 RESUMO

INTEGRAÇÃO DE APLICAÇÕES UTILIZANDO WEB SERVICE. Kellen Kristine Perazzoli 1, Manassés Ribeiro 2 RESUMO INTEGRAÇÃO DE APLICAÇÕES UTILIZANDO WEB SERVICE Kellen Kristine Perazzoli, Manassés Ribeiro RESUMO O grande avanço tecnológico vivenciado nos últimos anos, os web services vem sendo utilizados trazendo

Leia mais

Sistemas Operacionais Cap 3 Estruturas de Sistemas Operacionais. Podemos analisar um sistema operacional sob diversos aspectos:

Sistemas Operacionais Cap 3 Estruturas de Sistemas Operacionais. Podemos analisar um sistema operacional sob diversos aspectos: Estruturas de Sistemas Operacionais Podemos analisar um sistema operacional sob diversos aspectos: Os serviços que o sistema operacional oferece. A interface que o sistema operacional torna disponível

Leia mais

UFG - Instituto de Informática

UFG - Instituto de Informática UFG - Instituto de Informática Especialização em Desenvolvimento de Aplicações Web com Interfaces Ricas EJB 3.0 Prof.: Fabrízzio A A M N Soares professor.fabrizzio@gmail.com Aula 14 SOA e ESB Service-Oriented

Leia mais

Sistemas Distribuídos Arquiteturas Middlewares

Sistemas Distribuídos Arquiteturas Middlewares Sistemas Distribuídos Arquiteturas s Arquitetura Arquitetura de um sistema é sua estrutura em termos dos componentes e seus relacionamentos Objetivo: garantir que a estrutura satisfará as demandas presentes

Leia mais

UNIVERSIDADE. Sistemas Distribuídos

UNIVERSIDADE. Sistemas Distribuídos UNIVERSIDADE Sistemas Distribuídos Ciência da Computação Prof. Jesus José de Oliveira Neto Web Services (continuação) WSDL - Web Service Definition Language WSDL permite descrever o serviço que será oferecido

Leia mais

3. PARADIGMA ORIENTADO A OBJETOS

3. PARADIGMA ORIENTADO A OBJETOS Paradigmas de Linguagens I 1 3. PARADIGMA ORIENTADO A OBJETOS Este paradigma é o que mais reflete os problemas atuais. Linguagens orientada a objetos (OO) são projetadas para implementar diretamente a

Leia mais

SISTEMA DE BANCO DE DADOS. Banco e Modelagem de dados

SISTEMA DE BANCO DE DADOS. Banco e Modelagem de dados SISTEMA DE BANCO DE DADOS Banco e Modelagem de dados Sumário Conceitos/Autores chave... 3 1. Introdução... 4 2. Arquiteturas de um Sistema Gerenciador... 5 3. Componentes de um Sistema... 8 4. Vantagens

Leia mais

Cliente/Servidor. Conceitos Gerais. Graça Bressan. Graça Bressan/LARC 2000 1

Cliente/Servidor. Conceitos Gerais. Graça Bressan. Graça Bressan/LARC 2000 1 Cliente/Servidor Conceitos Gerais Graça Bressan Graça Bressan/LARC 2000 1 Forças de marketing que conduzem à arquitetura cliente/servidor "Cliente/Servidor é um movimento irresistível que está reformulando

Leia mais

Padrões Arquiteturais e de Integração - Parte 1

Padrões Arquiteturais e de Integração - Parte 1 1 / 58 - Parte 1 Erick Nilsen Pereira de Souza T017 - Arquitetura e Design de Aplicações Análise e Desenvolvimento de Sistemas Universidade de Fortaleza - UNIFOR 11 de fevereiro de 2015 2 / 58 Agenda Tópicos

Leia mais

SOA 2.0 ou Event-Driven SOA

SOA 2.0 ou Event-Driven SOA SOA SOA 2.0 ou Event-Driven SOA 1 Introdução Recentemente, a Oracle anuciou o termo SOA 2.0. E já deu para imaginar a repercussão que isto teve. Estamos em um momento onde SOA (Service-Oriented Architecture),

Leia mais

Processos (Threads,Virtualização e Migração de Código)

Processos (Threads,Virtualização e Migração de Código) Processos (Threads,Virtualização e Migração de Código) Roteiro Processos Threads Virtualização Migração de Código O que é um processo?! Processos são programas em execução. Processo Processo Processo tem

Leia mais

TCP/IP TCP UDP IP HTTP HTTPS FTP TFTP TELNET POP3 IMAP SMTP SNMP DHCP

TCP/IP TCP UDP IP HTTP HTTPS FTP TFTP TELNET POP3 IMAP SMTP SNMP DHCP TCP/IP TCP UDP IP HTTP HTTPS FTP TFTP TELNET POP3 IMAP SMTP SNMP DHCP HTTP (Hypertext Transfer Protocol ) Protocolo usado na Internet para transferir as páginas da WWW (WEB). HTTPS (HyperText Transfer

Leia mais

WS-BPEL Web Service Business Process Execution Language

WS-BPEL Web Service Business Process Execution Language DAS5316 WS-BPEL Web Service Business Process Execution Language Prof. Ricardo J. Rabelo (rabelo@das.ufsc.br) Responsável pela elaboração dos slides Alexandre Perin (perin@das.ufsc.br) Florianópolis (SC),

Leia mais

Balanceamento de carga: Conceitos básicos

Balanceamento de carga: Conceitos básicos Balanceamento de carga: Conceitos básicos Introdução A tecnologia de balanceamento de carga está viva e está bem; de fato, ela é a base sobre a qual operam os application delivery controller (ADCs). A

Leia mais

CORBA. Common Object Request Broker Architecture. Unicamp. Centro de Computação Rubens Queiroz de Almeida queiroz@unicamp.br

CORBA. Common Object Request Broker Architecture. Unicamp. Centro de Computação Rubens Queiroz de Almeida queiroz@unicamp.br CORBA Common Object Request Broker Architecture Unicamp Centro de Computação Rubens Queiroz de Almeida queiroz@unicamp.br Objetivos Apresentação Tecnologia CORBA Conceitos Básicos e Terminologia Considerações

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Soquetes Um soquete é formado por um endereço IP concatenado com um número de porta. Em geral, os soquetes utilizam uma arquitetura cliente-servidor. O servidor espera por pedidos

Leia mais

Programação Orientada a Objetos Prof. Rone Ilídio UFSJ/CAP

Programação Orientada a Objetos Prof. Rone Ilídio UFSJ/CAP Programação Orientada a Objetos Prof. Rone Ilídio UFSJ/CAP 1) Introdução Programação Orientada a Objetos é um paradigma de programação bastante antigo. Entretanto somente nos últimos anos foi aceito realmente

Leia mais

WORKFLOW. Mapeamento de Processos de Negócio 26/11/2009. Tadeu Cruz, Prof. M.Sc. TODOS OS DIREITOS RESERVADOS

WORKFLOW. Mapeamento de Processos de Negócio 26/11/2009. Tadeu Cruz, Prof. M.Sc. TODOS OS DIREITOS RESERVADOS WORKFLOW Mapeamento de Processos de Negócio Tadeu Cruz, Prof. M.Sc. TODOS OS DIREITOS RESERVADOS É proibido a reprodução total ou parcial de qualquer forma ou por qualquer meio sem a expressa autorização

Leia mais

XML e Banco de Dados. Prof. Daniela Barreiro Claro DCC/IM/UFBA

XML e Banco de Dados. Prof. Daniela Barreiro Claro DCC/IM/UFBA XML e Banco de Dados DCC/IM/UFBA Banco de Dados na Web Armazenamento de dados na Web HTML muito utilizada para formatar e estruturar documentos na Web Não é adequada para especificar dados estruturados

Leia mais

Manual de Integração Web Service

Manual de Integração Web Service Manual de Integração Web Service Integração EvoluCard Versão 3.4 Janeiro de 2012 Histórico de versões Data Versão Descrição Responsável 28/09/11 1.0 Criação do documento Erivelton Oliveira 15/10/11 2.0

Leia mais

SOA Service Oriented Architecture. Fabiano Oss fabiano.oss@gmail.com

SOA Service Oriented Architecture. Fabiano Oss fabiano.oss@gmail.com SOA Service Oriented Architecture Fabiano Oss fabiano.oss@gmail.com 1 Roteiro SOA Serviços Tecnologias para o desenvolvimento de serviços Modelagem de Negócios 2 O que é SOA É uma arquitetura de desenvolvimento

Leia mais

Diagrama de Classes. Viviane Torres da Silva viviane.silva@ic.uff.br. http://www.ic.uff.br/~viviane.silva/2012.1/es1

Diagrama de Classes. Viviane Torres da Silva viviane.silva@ic.uff.br. http://www.ic.uff.br/~viviane.silva/2012.1/es1 Diagrama de Classes Viviane Torres da Silva viviane.silva@ic.uff.br http://www.ic.uff.br/~viviane.silva/2012.1/es1 O que é? Diagrama mais utilizado da UML Representa os tipos (classes) de objetos de um

Leia mais

4 Conversor EDTV Raw. 4.1 Arquitetura

4 Conversor EDTV Raw. 4.1 Arquitetura 4 Conversor EDTV Raw O conversor EDTV Raw é o programa que lê um documento escrito no perfil NCL EDTV e gera um documento Raw equivalente, i.e. que define a mesma apresentação. Este capítulo, apresenta

Leia mais

TRABALHO DE DIPLOMAÇÃO Regime Modular ORIENTAÇÕES SOBRE O ROTEIRO DO PROJETO FINAL DE SISTEMAS DE INFORMAÇÕES

TRABALHO DE DIPLOMAÇÃO Regime Modular ORIENTAÇÕES SOBRE O ROTEIRO DO PROJETO FINAL DE SISTEMAS DE INFORMAÇÕES TRABALHO DE DIPLOMAÇÃO Regime Modular ORIENTAÇÕES SOBRE O ROTEIRO DO PROJETO FINAL DE SISTEMAS DE INFORMAÇÕES [Observação: O template a seguir é utilizado como roteiro para projeto de sistemas orientado

Leia mais

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação SOFT DISCIPLINA: Engenharia de software AULA NÚMERO: 08 DATA: / / PROFESSOR: Andrey APRESENTAÇÃO O objetivo desta aula é apresentar e discutir conceitos relacionados a modelos e especificações. Nesta aula

Leia mais

APLICAÇÕES EM SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com

APLICAÇÕES EM SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com - Aula 6 - ALGORÍTIMOS PARALELOS MPI - Parallel Virtual Machine e PVM - Parallel Virtual Machine 1. INTRODUÇÃO Inicialmente é necessário conceber alguns conceitos para entendimento dos algoritmos paralelos:

Leia mais

Serviços Web: Arquitetura

Serviços Web: Arquitetura Sistemas Distribuídos Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do Maranhão Objetivos Nesta aula

Leia mais

Introdução. Banco de dados. Por que usar BD? Por que estudar BD? Exemplo de um BD. Conceitos básicos

Introdução. Banco de dados. Por que usar BD? Por que estudar BD? Exemplo de um BD. Conceitos básicos Introdução Banco de Dados Por que usar BD? Vitor Valerio de Souza Campos Adaptado de Vania Bogorny 4 Por que estudar BD? Exemplo de um BD Os Bancos de Dados fazem parte do nosso dia-a-dia: operação bancária

Leia mais

Integração de sistemas utilizando Web Services do tipo REST

Integração de sistemas utilizando Web Services do tipo REST Integração de sistemas utilizando Web Services do tipo REST Jhonatan Wilson Aparecido Garbo, Jaime Willian Dias Universidade Paranaense (Unipar) Paranavaí PR Brasil jhowgarbo@gmail.com jaime@unipar.br

Leia mais

Manual de Integração WebService

Manual de Integração WebService Manual de Integração WebService Sumário 1. O que é a Integração WebService? 2. Envio Simples 3. Consultar Status da Mensagem 3.1 Consultar Mensagens Recebidas 4. Tecnologia do WebService Facilita 1. O

Leia mais

APOO Análise e Projeto Orientado a Objetos. Requisitos

APOO Análise e Projeto Orientado a Objetos. Requisitos + APOO Análise e Projeto Orientado a Objetos Requisitos Requisitos 2 n Segundo Larman: n São capacidades e condições às quais o sistema e em termos mais amplos, o projeto deve atender n Não são apenas

Leia mais

Cap 03 - Camada de Aplicação Internet (Kurose)

Cap 03 - Camada de Aplicação Internet (Kurose) Cap 03 - Camada de Aplicação Internet (Kurose) 1. Qual a diferença entre um Programa de computador e um Processo dentro do computador? R. Processo é um programa que está sendo executado em uma máquina/host,

Leia mais

Engenharia de Software

Engenharia de Software CENTRO UNIVERSITÁRIO NOVE DE JULHO Profº. Edson T. França edson.franca@uninove.br Software Sistemas Conjunto de elementos, entre os quais haja alguma relação Disposição das partes ou dos elementos de um

Leia mais

UNIVERSIDADE FEDERAL DE SANTA CATARINA CURSO DE GRADUAÇÃO EM SISTEMAS DE INFORMAÇÃO. Contribuições do MDA para o desenvolvimento de software

UNIVERSIDADE FEDERAL DE SANTA CATARINA CURSO DE GRADUAÇÃO EM SISTEMAS DE INFORMAÇÃO. Contribuições do MDA para o desenvolvimento de software UNIVERSIDADE FEDERAL DE SANTA CATARINA CURSO DE GRADUAÇÃO EM SISTEMAS DE INFORMAÇÃO Contribuições do MDA para o desenvolvimento de software Anna Carla Mohr Verner Helder Eugenio dos Santos Puia Florianópolis,

Leia mais

Por que o gerenciamento de ativos de software é tão difícil e como simplificá-lo

Por que o gerenciamento de ativos de software é tão difícil e como simplificá-lo DOCUMENTAÇÃO TÉCNICA Melhores práticas de gerenciamento de ativos de software JUNHO DE 2013 Por que o gerenciamento de ativos de software é tão difícil e como simplificá-lo John Fulton CA IT Business Management

Leia mais

Gerenciamento de Redes

Gerenciamento de Redes Gerenciamento de Redes As redes de computadores atuais são compostas por uma grande variedade de dispositivos que devem se comunicar e compartilhar recursos. Na maioria dos casos, a eficiência dos serviços

Leia mais

Usando Borland DELPHI para implementar aplicações CORBA

Usando Borland DELPHI para implementar aplicações CORBA Página 1 de 10 USANDO BORLAND DELPHI PARA IMPLEMENTAR APLICAÇÕES CORBA por Simone Vey Dutra e César Bridi Introdução A Arquitetura CORBA Criando uma Aplicação CORBA em Delphi Criando um Servidor CORBA

Leia mais

Introdução Banco de Dados

Introdução Banco de Dados Introdução Banco de Dados Vitor Valerio de Souza Campos Adaptado de Vania Bogorny Por que estudar BD? Os Bancos de Dados fazem parte do nosso dia-a-dia: operação bancária reserva de hotel matrícula em

Leia mais

Arquitetura de Sistemas Distribuídos. Introdução a Sistemas Distribuídos

Arquitetura de Sistemas Distribuídos. Introdução a Sistemas Distribuídos Introdução a Sistemas Distribuídos Definição: "Um sistema distribuído é uma coleção de computadores autônomos conectados por uma rede e equipados com um sistema de software distribuído." "Um sistema distribuído

Leia mais

PROGRAMAÇÃO SERVIDOR WEBSERVICES EM SISTEMAS WEB. Prof. Dr. Daniel Caetano 2012-1

PROGRAMAÇÃO SERVIDOR WEBSERVICES EM SISTEMAS WEB. Prof. Dr. Daniel Caetano 2012-1 PROGRAMAÇÃO SERVIDOR EM SISTEMAS WEB WEBSERVICES Prof. Dr. Daniel Caetano 2012-1 Objetivos Compreender o que é um WebService e sua utilidade Compreender a lógica de funcionamento de um WebService Capacitar

Leia mais

Para construção dos modelos físicos, será estudado o modelo Relacional como originalmente proposto por Codd.

Para construção dos modelos físicos, será estudado o modelo Relacional como originalmente proposto por Codd. Apresentação Este curso tem como objetivo, oferecer uma noção geral sobre a construção de sistemas de banco de dados. Para isto, é necessário estudar modelos para a construção de projetos lógicos de bancos

Leia mais

Universidade Federal de Goiás Centro de Recursos Computacionais - CERCOMP Divisão de Sistemas. Criação de uma Serviço de Geração de Relatórios

Universidade Federal de Goiás Centro de Recursos Computacionais - CERCOMP Divisão de Sistemas. Criação de uma Serviço de Geração de Relatórios Universidade Federal de Goiás Centro de Recursos Computacionais - CERCOMP Divisão de Sistemas Criação de uma Serviço de Geração de Relatórios Goiânia 12/2011 Versionamento 12/12/2011 Hugo Marciano... 1.0

Leia mais

Arquitetura Orientada a Serviço

Arquitetura Orientada a Serviço Arquitetura Orientada a Fabio Perez Marzullo IEEE Body of Knowledge on Services Computing Sponsored by Technical Committee on Services Computing, IEEE Computer Society 1 SOA e Web Services SOA é um modelo

Leia mais

Web Services. Tópicos. Motivação. Tecnologias Web Service. Passo a passo Business Web Conclusão. Integração de aplicações SOAP, WSDL, UDDI, WSFL

Web Services. Tópicos. Motivação. Tecnologias Web Service. Passo a passo Business Web Conclusão. Integração de aplicações SOAP, WSDL, UDDI, WSFL Web Services Antonio Dirceu adrvf@cin.ufpe.br Tópicos Motivação Integração de aplicações Tecnologias Web Service SOAP, WSDL, UDDI, WSFL Passo a passo Business Web Conclusão Motivação Integração de Aplicações

Leia mais

Workflow. Seminário OS SISTEMAS WORKFLOW

Workflow. Seminário OS SISTEMAS WORKFLOW Seminário OS SISTEMAS WORKFLOW LEANDRO SILVA CAMPOS LÍGIA CHRISTINE OLIVEIRA SOUSA LILIANE VERÔNICA DA SILVA JOSÉ CARLOS NUNES MARINHO TAVARES V. NETO UNIVERSIDADE LUTERANA DO BRASIL INSTITUTO LUTERANO

Leia mais