Aplicação de Serviços Web Semânticos para Automatização de Help Desk

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

Download "Aplicação de Serviços Web Semânticos para Automatização de Help Desk"

Transcrição

1 Universidade Federal de Santa Catarina Sistemas de Informação Aplicação de Serviços Web Semânticos para Automatização de Help Desk Rodrigo de Souza Zeferino Florianópolis, Junho de 2008

2 Índice 1 Introdução Contextualização Objetivos Objetivos Específicos Justificativa Metodologia Fundamentação Teórica SOA( Service Oriented Architecture) Vantagens da SOA Características da SOA Web Service Web Semântica Ontologias Serviços Web Semânticos WSMO (Web Service Modeling Ontology) WSML (Web Service Modeling Language) Camadas WSML Sintaxe WSML Identificadores em WSML Sintase Conceitual Ontologias Goals (Objetivos) Mediadores Sintaxe Expressões Lógicas Particularidades das Variantes WSML Características da WSML WSMX(Web Service Modelling Execution Environment) Execução Semântica Arquitetura WSMX WSMT Perspectivas WSMT Perspectiva WSML Perspectiva Mapping Perspectiva SEE Desenvolvimento do Projeto Conclusões Trabalhos Futuros Referências Bibliográficas Bibliografia...34

3 Índice de Figuras Figura 1: Paradigma Find-Bind-Execute...7 Figura 2: Arquitetura Web Service...9 Figura 3: Pilha de Protocolos...10 Figura 4: Exemplo de Taxionomia...11 Figura 5: Estrutura Atual da Web...12 Figura 6: Composição de Serviços...13 Figura 7: Orquestração de Serviços...13 Figura 8: Coreografia de Serviços...14 Figura 9: Elementos Básicos do WSMO...15 Figura 10: Relação Entre WSMO e MOF...16 Figura 11: Variáveis e Camadas...17 Figura 12: Exemplo de Ontologia...20 Figura 13: Comparação Conceitual X Lógico...22 Figura 14: Arquitetura WSMX...24 Figura 15: Perspectiva WSML...28 Figura 16: Perspectiva Mapping...29 Figura 17: Perspectiva SEE...30

4 Apresentação Título: Aplicação de Serviços Web Semânticos para Automatização de Help Desk Instituição de Desenvolvimento: Universidade Federal de Santa Catarina, Departamento de Informática e Estatística (INE) Local de Desenvolvimento: Florianópolis, Santa Catarina - Brasil Autor: Rodrigo de Souza Zeferino Orientação: Prof. Frank Siqueira Co-Orientação: Giorgio Santos Costa Merize Banca Avaliadora Convidada: Prof. Renato Fileto

5 1 Introdução 1.1 Contextualização O objetivo geral do sistema idealizado é automatizar ao máximo o processo de atendimento ao usuário de informática dentro do Ministério Público do Estado de Santa Catarina, através da utilização de Serviços Web Semânticos. O sistema que será desenvolvido objetiva a interação de diversos Web Services através de ontologias pré-definidas para chegar a um objetivo. Com a utilização do sistema, espera-se que a qualidade do setor de Help Desk do Ministério Público do Estado de Santa Catarina aumente, proporcionando aos usuários do sistema um menor tempo de espera em suas solicitações. 1.2 Objetivos Aplicação de Serviços Web Semânticos para automatizar o atendimento de usuários de Help Desk, melhorando assim o tempo de resposta e a qualidade do serviço prestado. 1.3 Objetivos Específicos Como objetivos específicos está a criação de Serviços Web Semânticos, possibilitando a integração com todos os sistemas que rodam dentro do Ministério Público do Estado de Santa Catarina. 1.4 Justificativa Atualmente, o Ministério Público do Estado de Santa Catarina possui um parque de máquinas com mais de 2000 estações de trabalho. Também existem diversos serviços rodando em vários servidores, como por exemplo serviços de correio, arquivos, antivírus,etc. Em sua estrutura física, seu parque de máquinas está espalhado em 117 cidades do Estado de Santa Catarina. Dentro desse contexto, existem inúmeros problemas que

6 ocasionam a abertura de chamados no sistema de Help Desk. Cada chamado produz um atendimento, que pode ser feito por telefone, ou pessoalmente. A cada ano, o número de chamados aumenta, fazendo que o tempo para atendimento dos mesmos aumente. A maioria dos chamados abertos possui solução simples, não sendo necessária a intervenção técnica para ser resolvido. Devido ao crescente número de chamado abertos no sistema de Help Desk de informática, imaginou-se uma solução que pudesse melhorar o atendimento ao usuário final. A utilização de Serviços Web Semânticos, poderia automatizar a realização de chamados simples, possibilitando assim que a qualidade e a resposta de atendimentos mais complexos pudesse melhorar. Atualmente, nenhuma ferramenta no mercado faz essa automatização de forma completa, sendo uma inovação no setor de Help Desk. 1.5 Metodologia A metodologia a ser aplicada no desenvolvimento do trabalho passa pela elaboração inicial das ontologias inerentes ao sistema. Em um segundo momento, ocorrerá uma análise dos serviços em execução e a criação de novos. Com esse levantamento, poderá ser realizado a utilização de Serviços Web Semânticos.

7 2 Fundamentação Teórica O projeto Aplicação de Serviços Web Semânticos para Automatização de Help Desk se baseia em diversas tecnologias e áreas de estudo cuja menção se faz necessária para o entendimento da validade do trabalho a ser desenvolvido. Tais recursos, além de constituírem uma sólida base teórica de suporte, servem como sustentação para o entendimento e viabilização da implementação do projeto. 2.1 SOA( Service Oriented Architecture) Para entender como funciona um Web Service é necessário primeiro conhecer as tecnologias envolvidas. Web Services possuem a arquitetura SOA (Service Oriented Architecture) como base. Seu princípio fundamental é disponibilizar as funcionalidades de aplicações através de serviços. SOA é implementada seguindo o paradigma find-bind-execute. Este paradigma segue o princípio da publicação de serviços, e consumidores buscando pelos mesmos. Caso o consumidor encontre o serviço necessário, é criado um contrato e o mesmo devolve um endereço para utilização do serviço. A figura 1 ilustra esse paradigma. Figura 1: Paradigma Find-Bind-Execute Vantagens da SOA A grande vantagem da utilização da SOA é a integração entre aplicações através

8 de serviços. Basicamente, essa integração de serviços é regida por contratos, onde são definidos o conjunto de mensagens suportadas, seu conteúdo e políticas (ALVEZ et al., 2006) Características da SOA Em (N. Bieberstein,2006), são apontadas algumas características importantes da SOA. Entre as características podemos destacar: Descrição de interfaces através de documentos XML, possibilitando independência de plataforma; Comunicação com mensagens definidas via esquemas XML; Registro de serviços. Aplicações podem procurar serviços dentro de um diretório de serviços e executa-lo; Cada serviço SOA possui uma qualidade de serviço (QoS) associada com ele. 2.2 Web Service O estudo inicia esse tópico abordando tecnologias que tiveram a iniciativa de comunicação em ambientes distribuído, como Corba 1 e JAVA RMI 2. Essas tecnologias apresentam problemas na sua implementação. Nesse contexto, os Web Services surgiram para corrigir esses problemas. É apontado como uma grande vantagem dos Web Services, a utilização de baixo acoplamento entre sistemas e sua interoperabilidade, além de usar padrões abertos baseados em XML como WSDL,SOAP e UDDI A figura 2 demonstrada a arquitetura dos Web Services. Há uma grande similaridade entre a arquitetura Web Service e SOA, pois a primeira é uma implementação da segunda. 1 CORBA (Common Object Request Broker Architecture) é a arquitetura padrão criada pela OMG (Object Management Group) para estabelecer e simplificar a troca de dados entre sistemas distribuídos heterogêneos 2 O sistema Java Remote Method Invocation (RMI) permite que um objeto rodando sobre uma máquina virtual Java invoque métodos em outros objetos rodando em outra máquina virtual Java. RMI possibilita uma comunicação remota entre programas escritos na linguagem Java.

9 Figura 2: Arquitetura Web Service Os Web Services possuem alguns componentes principais que são responsáveis pelo seu funcionamento. Em resumo, essas são as principais características de cada um: Serviços é um componente que atende a uma função de negócio específica. Ele recebe requisições e oculta todo o processamento; WSDL define como as mensagens devem ser trocadas entre um consumidor e um serviço. Tem como objetivo principal descrever as interfaces dos serviços, sem ficar preso a nenhuma plataforma; SOAP é o protocolo de comunicação dos Web Services. Ele utiliza a infraestrutura de rede, navegando sobre o protocolo HTTP, facilitando a comunicação, pois na maioria das vezes não é barrado por firewalls; UDDI fornece o mecanismo para localização de serviços. Organiza ponteiros que descrevem serviços para acomodar o processo de descoberta através do registro de serviços. 2.3 Web Semântica Um grande problema da Web atual é a troca de informações entre sistemas, já que para realizar esta troca, deve-se conhecer exatamente o formato sintático (expressado em esquemas XML) dos dados. A Web Semântica (T. Bernes Lee, 2001) permite a troca de informações dentro de um caminho significante, facilitando a automação de processos de descrição sobre a Web.

10 Anotações sobre a Web Semântica expressam uma ligação entre informação de aplicações sobre a Web e conectam as mesmas através de terminologias formais, chamada de ontologias. Ontologias (D. Fensel,2006) formam a espinha dorsal da Web Semântica. Basicamente, ontologias permitem que máquinas entendam a informação das aplicações através de suas terminologias. O termo ontologia é originado da filosofia e foi adotado no campo da ciência computacional com um significado um pouco diferente. Formalmente, uma ontologia é uma afirmação da lógica teórica. (GRUBER, 1993). O modelo proposto para a Web Semântica apresenta os diversos protocolos e técnicas que compõem sua estrutura. As principais são XML, RDF e Ontologias. A Figura 3 apresenta os protocolos e camadas que compõem a estrutura da Web Semântica. Figura 3: Pilha de Protocolos Ontologias O ponto principal das ontologias é que as terminologias aplicadas possam ser compreendidas tanto por humanos como por máquinas. Ontologias possibilitam uma representação explícita de semânticas. A combinação de ontologias com a Web potencializa a solução de vários problemas utilizando uma base de conhecimento e reuso de informações de integração. A descrição de ontologias utiliza símbolos de conhecimento humano como de máquina. Esses símbolos, também chamados de termos e relações, podem ser

11 interpretados por ambos. Os termos usualmente são palavras da linguagem natural, que representam uma abstração, e esses geram as relações. O relacionamento utiliza o superconceito subconceito (utiliza-se a terminologia is-as ). A figura 4 mostra a utilização de termos e relações através de uma taxionomia 3 de pessoa. Pessoa is-a is-a Pesquisador Estudante is-a is-a is-a Estudante-PHD Estudante-Mestre instance-of instance-of João Maria Figura 4: Exemplo de Taxionomia A taxionomia da figura 4 utiliza conceitos para descrever abstração do mundo real, como por exemplo, estudante-phd que engloba todos os atributos desse conceito. Os relacionamentos acima descritos são de fácil compreensão humana, pois as relações são formalmente definidas, possibilitando que uma máquina tire as mesmas conclusões. Esses relacionamentos são codificados de uma forma explícita, fazendo com que a máquina não conheça a abstração real de uma pessoa, mas que conheça a forma lógica. 3 Ciência da classificação.

12 2.4 Serviços Web Semânticos Serviços Web Semânticos(SWS) são definidos como serviços que possuem a capacidade de publicar, descobrir, compor e executar através da Web, tarefas semiautomatizadas. Serviços Web Semânticos podem ser definidos como a parte dinâmica da Web Semântica. O objetivo de padrões XML para a interoperabilidade de Web Services engloba apenas aspectos sintáticos, não envolvendo o significado das mensagens. Por exemplo, WSDL pode especificar as operações disponíveis em um Web Service e as estruturas de dados que podem ser enviadas ou recebidas, mas não consegue especificar o significado ou a semântica dos mesmos. É necessária a intervenção humana para se criar uma composição de serviços. Serviços Web Semânticos solucionam esse problema, fornecendo uma outra camada no topo da infra-estrutura dos Web Services possibilitando a descoberta, composição e execução de funcionalidades objetivando em valores adicionais aos serviços. A figura 5 (D. Fensel,2006) apresenta a localização dos SWS na estrutura atual da web. Figura 5: Estrutura Atual da Web Uma das principais vantagens da utilização de Serviços Web Semânticos é a composição de serviços. Essa composição conecta Web Services objetivando criar

13 processos de negócio de alto nível, com alto valor agregado. A figura 6 ilustra esse conceito. Figura 6: Composição de Serviços As principais formas de composição de serviços são a orquestração e a coreografia. A orquestração é um mecanismo que permite dois ou mais sistemas se comunicarem, utilizando uma orquestradora central. Sua grande vantagem, é que não existe a necessidade de se refazer funcionalidades de sistema já existentes, deixando a cargo da orquestradora central a invocação e retorno das mensagens. A figura 7 ilustra o seu funcionamento. Figura 7: Orquestração de Serviços Ao contrário da orquestração, na coreografia, os serviços conhecem uns aos outros e cada um conhece sua função dentro do fluxo do processo. A coreografia é realizada através da troca de mensagem entre os serviços. Abaixo a figura 8 ilustra a coreografia.

14 Figura 8: Coreografia de Serviços As 2 abordagens possuem prós e contras. Entre as principais vantagens da orquestração em relação a coreografia, está a flexibilidade, pois a inserção de um Web Service dentro de um grande processo de negócio não necessita da apresentação do serviço a todos os Web Services rodando. Por outro lado, na coreografia, é traçada a ordem correta da seqüência de mensagens, sem que nenhum dos Web Services controle a conversação. 2.5 WSMO (Web Service Modeling Ontology) O padrão WSMO (Web Service Modelling Ontology) (CARDOSO, 2006) fornece uma especificação ontológica para a definição de Serviços Web Semânticos (ESSI, 2007). WSMO é um modelo conceitual para criação de descrições semânticas para Web Services que pode ser usado para resolver interoperabilidade de sistemas e automatizar o processo de uso de Web Services. A abordagem do WSMO está baseada na utilização do WSMF (Web Services Modeling Framework) que é um framework que fornece um modelo conceitual para o desenvolvimento e descrição de Serviços Web Semânticos. O WSMO utiliza uma linguagem lógica denominada WSML (Web Service Modeling Language) para definição de suas sentenças formais. Além disso, o WSMO é baseado nos quatro elementos principais do WSMF: ontologias, web services, objetivos e mediadores, como mostra a figura 9.

15 Figura 9: Elementos Básicos do WSMO O modelo WSMO tem a intenção de ser um meta-modelo para Serviços Web Semânticos. Para definição deste modelo, foi utilizada a especificação MOF (Meta Object Facility) que define uma linguagem abstrata e um framework para especificar, construir e manipular meta-modelos neutros. MOF define uma arquitetura de metadados consistindo de quatro camadas: Camada de Informação : compreende os dados que serão descritos; Camada Modelo : compreende os metadados que descrevem dados na camada de informação; Camada Meta-Modelo : compreende a descrição que define a estrutura e a semântica dos metadados; Camada Meta-meta-modelo : compreende a descrição da estrutura e semântica dos meta-metamodelos. Em relação as 4 camadas do MOF, a linguagem WSML corresponde à camada de meta-meta-modelo. Já o WSMO constitui a camada de meta-modelo, enquanto que ontologias, goals, mediadores e web services são representados pela camada modelo. A descrição das ontologias e troca de dados entre Web Services constituem a camada de informação. A figura 10 mostra a relação entre WSMO e a arquitetura de camadas MOF.

16 Figura 10: Relação Entre WSMO e MOF WSML (Web Service Modeling Language) Web services são partes funcionais que são acessíveis através da WEB. Atualmente, tecnologias como WSDL descrevem funcionalidades oferecidas por um Web Service apenas em seu nível sintático. Para automatizar tarefas, como descoberta, composição e execução, a descrição semântica se torna necessária. A tecnologia de Web Semântica possibilita a descrição formal do conteúdo da Web. A junção dessas 2 tecnologias, é normalmente chamada de Serviços Web Semânticos. Dentro desse contexto, WSMO possibilita um modelo conceitual para descrever vários aspectos de serviços dirigidos a SWS. Dentro da Web Service Modeling Language (WSML) são empregados todos os aspectos de descrição de Web Service identificados por WSMO. WSML compreende diferentes formalismos em ordem para investigar sua aplicação para descrição de SWS. Visto que nosso objetivo é investigar a aplicação de diferentes formalismos para descrição de SWS, ele deverá ser restringido como base de nossos esforços em uma linguagem existente como OWL. Um objetivo concreto de nosso desenvolvimento de WSML é investigar o uso de diferentes formalismos, mais precisamente descrições lógicas e programação lógica, dentro do contexto de ontologias e Web Services. Existem 3 grandes áreas que se beneficiam do uso de métodos formais em descrição de serviços: descrição de ontologia, descrição funcional declarativa de objetivos e Webv Services e descrição de dinâmicas. Em sua versão atual, WSML define uma sintaxe semântica para descrever ontologias. Para descrição funcional de objetivos e Web Services, WSML proporciona um framework sintático. A descrição do comportamento dinâmico de Web Services (coreografia e orquestração) dentro do contexto de WSML está

17 sendo investigada, mas não foi integrada à WSML até este momento Camadas WSML WSML possui variações que diferem em expressividade lógica e dentro de paradigmas da linguagem. Essas variações permitem ao usuário fazer a troca entre expressividade e a complexidade explícita para ontologia, modelado para uma aplicação específica. As variações de WSML são as seguintes: WSML-Core : é baseada na intersecção da descrição lógica SHIQ e horn-logic, baseada sobre descrição lógica de programas. É a de menor expressão dentre as variações WSML; WSML-DL : extensão da WSML-Core, adicionado partes de descrição lógica(dl); WSML-Flight : extensão da WSML-Core. Adiciona as funções como meta modelagem e constantes. Ela é baseada em lógica de programação; WSML-Rule : extensão da WSML-Flight, promovendo funcionalidades da lógica de programação, ou seja, o uso de símbolos funcionais, regras inseguras, etc; WSML-Full : unificação da WSML-DL e WSML-Rule sobre uma primeira ordem abrangente. A figura 11 (D. Fensel,2006) representa em que tipo de descrição está inserida cada variável de WSML, bem como o que cada uma possui em comum. Figura 11: Variáveis e Camadas

18 Sintaxe WSML WSML faz uma clara distinção entre modelagem de diferenças conceituais dos elementos e a especificação das definições lógicas complexas. Para fazer isso, a sintaxe WSML é dividida em 2 partes, a sintaxe conceitual e a sintaxe de expressão lógica. A sintaxe conceitual foi desenvolvida da perspectiva do usuário, e é independente de base lógica. Ela é uma linguagem de fácil adoção, sendo intuitiva para seu entendimento. Para expressões lógicas, é necessário um bom conhecimento. Existem muitos pontos de entrada para expressões lógicas dentro da sintaxe conceitual, ou seja, axiomas em ontologias e capacidade de descrever objetivos e Web Services Identificadores em WSML WSML possui 3 tipos de identificadores, que são: IRI (Internationalized Resource Identifier): identifica a origem de uma definição Web. É o padrão sucessor da URI; sqnames (serialized QName): é uma abreviação da IRI. O prefixo e o local podem ser omitidos, quando os mesmo possuem o mesmo namespace; Valores de dados : strings, inteiros, decimais ou estrutura de dados valoradas, refletidas no XML Schema Sintase Conceitual A sintaxe conceitual da WSML permite a modelagem de Ontologias, Web Services, Objetivos e Mediadores. Ela é compartilhada entre todas as variantes, com exceção de algumas restrições aplicadas a modelagem de ontologias em WSML-Core e WSML-DL Ontologias Uma ontologia em WSML é composta pelos seguintes elementos: Conceito : a noção de conceito (também chamada de classes) representa a função principal em ontologias. Um conceito pode ter instâncias e deve ter um número de atributos associados com ele. A definição de atributos pode ser feita de 2 formas :

19 restrição(usando oftype) que definem o relacionamento e inferência(usando impliestype) o qual define o tipo. Relacionamento : relações em WSML podem ter origens arbitrárias, devendo ser organizadas em hierarquias (usando subrelationof) e os parâmetros devem ser tipados na forma de (oftype type) e (impliestype type), onde o type é um identificador conceito. Instâncias : um conceito deve ter um número de instâncias associadas com ele. Instâncias são as partes compartilhadas dentro de uma ontologia. Uma instância deve ser membro de zero ou mais conceitos e ter atributos associados; Axiomas : axiomas provêem um significado para adicionar expressões lógicas arbitrárias para dentro de uma ontologia. Serve em expressões lógicas para refinar o conceito ou definição de relações dentro das ontologias, como também adicionar axiomas arbitrários sobre uma base de conhecimento ou expressar constantes.; Web Services : um Web Service possui uma capacidade e um número de interfaces. A capacidade descreve a funcionalidade do Web Service de expressar condições sobre pre e pós estados, usando expressão lógica. Interfaces descrevem como interagir com o serviço; Capacidades : podem possuir precondition, poscondition e sharedvariables. Precondition assumem a descrição do estado antes da execução. Poscondition descrevem a relação entre a entrada e saída. SharedVariables são as variáveis compartilhadas em pre e pos conditions; Interfaces : descrevem como interagir com um serviço do ponto de vista da requisição e como o serviço interage com outros serviços e objetivos necessários; A figura 12 (D. Fensel,2006) apresenta um exemplo de ontologia WSML.

20 Figura 12: Exemplo de Ontologia Goals (Objetivos) Goals descrevem a capacidade que os Web Services oferecem. No entanto, a descrição de um Goal consiste dos mesmos elementos modelados como um Web Service, ou seja, propriedades não funcionais, uma capacidade e um número de interfaces Mediadores Mediadores conectam diferente Goals, Web Services e Ontologias, e ativam a inter-operação, reconciliando diferenças de representação de formatos, codificação, protocolos, etc Sintaxe Expressões Lógicas A sintaxe de expressões lógicas tem uma lógica de primeira ordem, compreendendo constantes, símbolos funcionais, variáveis, predicados e conjunção usual lógica. Também é possível ter modelos conceituais, atributos, definição de atributos, e subconceitos e conceitos de relacionamento. Finalmente, WSML tem um número de

21 facilidades de conexão baseada em programação lógica, ou seja, default negation (negation-as-failure), LP-implication, etc. Variáveis iniciam com um sinal de? e seguem com símbolos alfanuméricos. Termos são identificadores, variáveis ou construção de termos. Um átomo é, usualmente, um símbolo predicado com um número de termos como argumento. Junto a átomos usuais, WSML tem a denominação de moléculas, que são usadas para capturar informações sobre conceitos, instâncias, atributos e valores de atributos Particularidades das Variantes WSML Cada variante de WSML define um número de restrições na sintaxe de expressão lógica. Abaixo, a tabela 1 (D. Fensel,2006) ilustra as restrições de cada variante. Tabela 1: Restrições das Variantes A separação entre modelagem lógica e conceitual permite a fácil adoção por usuários não experientes, desde a sintaxe conceitual que não requer conhecimento avançado em modelagem lógica, onde expressões lógicas complexas requerem maior familiaridade com a linguagem. WSML permite a modelagem de diferentes aspectos relativos a Web Service no nível conceitual, enquanto continua oferecendo uma completa expressividade lógica. Parte da sintaxe conceitual para ontologia tem uma equivalência na sintaxe lógica. Esta correspondência é usada para definir a semântica da sintaxe conceitual. Uma tradução entre sintase lógica e conceitual pode ser analisada na figura 13 (D. Fensel,2006).

22 Figura 13: Comparação Conceitual X Lógico Características da WSML Existe um número de características que fazem o WSML único para o propósito de Semântica Web e Web Services Semânticos. Existem características principais que fazem parte dos 2 pilares do WSML, que são a linguagem independente de modelo conceitual para Ontologias, Web Services, Goals e Mediadores, baseados sobre o WSMO e o reuso. Abaixo as características principais: Framework sintático para definir camadas de linguagem : diferentes aplicações Semânticas Web e Semânticas Web Service necessitam de diferentes expressividades e isso não é alcançado com um paradigma de uma única linguagem. Com o WSML é investigado o uso de descrições lógicas e programação lógica; Normativo, sintaxe legível por humanos : se é fácil de ler e entender, é fácil de adotar; Separação de Modelagem Lógica e Conceitual : de um lado, a sintaxe conceitual do WSML é desenvolvida em independência de linguagem lógica. Por outro lado, sintaxe de expressões lógicas podem ser usadas para refinar definição de conceitos; Semântica baseada em formalismos conhecidos : WSML possui formalismos lógicos bem conhecidos como Datalog e Lógicas de Descrição dentro de um único framework sintático. Linguagem WWW : WSML tem um número de características que se integram na Web. WSML adota IRI, que é o sucessor do URI, para identificação de aplicações, seguindo a arquitetura Web. WSML adota mecanismos de namespace do XML.

23 2.6 WSMX(Web Service Modelling Execution Environment) O ambiente de execução de Web Services (WSMX) possibilita a descoberta dinâmica, seleção, mediação e invocação de Web Services Semânticos. O WSMX é construído sobre o framework WSMO, o qual descreve vários aspectos relacionados a Web Services Semânticos. WSMX foi desenvolvido como uma implementação de referência de ambientes de execução para Web Services. WSMX administra um repositório de Web Services, ontologias e mediadores. WSMX pode alcançar objetivos de um usuário através de seleção dinâmica Web Service compatíveis, mediando os dados necessários para se comunicar com os serviços e invocá-los. Dentro do processo de desenvolvimento do WSMX alguns passos são adotados, incluindo desenvolvimento de uma arquitetura, descrição de um modelo conceitual e especificação de execução semântica. Execução semântica é uma especificação formal das operações por detrás do sistema. Essas especificações formais pode ser usadas inúmeras vezes durante o desenvolvimento do software. Dentro do contexto do WSMX, a modelagem de execução semântica ajuda desenvolvedores a entender o sistema, permitindo a dedução de certas propriedades e habilitando um modelo guia de execução de componentes Execução Semântica Execução semântica é uma definição formal das operações por detrás do sistema. Ela descreve como os sistema se comporta. A definição formal preocupa-se apenas com conceitos abstratos. Instruções não falam sobre o mundo real, mas apenas sobre conceitos abstrato dentro do modelo. Dentro de um modelo, certas instruções podem ser deduzidas de outras instruções. Um modelo é sólido se apenas instruções verdadeiras puderem ser deduzidas; um modelo é completo se toda lógica conseqüente puder ser deduzida dentro do modelo. Uma definição formal deverá ser sólida e completa considerando a modelagem por trás do sistema. Métodos formais podem ser usados para evitar falhas de software durante seu desenvolvimento. Mas utiliza-los, não garante programas corretos. No entanto, ele ajuda na compreensão do sistema como um todo, revelando inconsistências, ambigüidades e

24 incompatibilidades que de outra forma não seriam detectadas. O primeiro benefício da utilização de métodos formais é a compreensão do sistema e a aceitação de diferentes membros de um equipe. Sua utilização define uma idéia única sobre o sistema. O segundo benefício é a automatização de certas propriedades na construção de especificações. Se a especificação é escrita em um linguagem que foi inferida pelo sistema, apenas uma derivação é conseqüente da especificação. Por fim, um terceiro benefício nesse sistema, é que diferentes componentes trabalham para alcançar a funcionalidade do sistema, usualmente administrada por uma central de componentes. Resumidamente, técnicas formais são usadas para especificar e verificar o sistema, aumentando a compreensão, automatizando a checagem de propriedades e isolando e automatizando controle de fluxo entre os componentes Arquitetura WSMX WSMX é um sistema baseado em eventos, consistindo de diferentes componentes que se comunicam através de eventos de forma assíncrona. Um componente produz um evento contendo uma mensagem e outro componente reage. A figura 14 (Oren, 2006) mostra a arquitetura WSMX: Figura 14: Arquitetura WSMX O manager (gerenciador) é o componente central, responsável por invocar os diferentes componentes em ordem para alcançar uma funcionalidade requerida. Em uma operação usual, WSMX é invocado por uma aplicação back-end com um goal (objetivo)

25 definido. O manager responde a requisição e invoca os componentes discovery (descoberta), selector (seletor), mediator (mediador) e invoker (invocador) uma ou mais vezes para atender a requisição do goal. A primeira coisa a ser feita pelo WSMX é listar todos os Web Services conhecidos. Desta lista, um Web Service é escolhido e testa-se sua compatibilidade. Se necessário, o mediator é chamado para resolver problemas de incompatibilidades. O processo continua se um Web Service é encontrado (com ou sem mediatior). Se não forem Web Services, não existirá transação, resultando em um matching error(erro de compatibilidade). Isso significa que os Web Service testados não atendem as necessidades. Depois desse teste, o componente selector seleciona os Web Services que mais combinam com as preferências do goal. E finalizando o processo, o componente invocator, invoca o Web Service selecionado.

26 2.7 WSMT WSMT (Web Services Modeling Toolkit) é uma ambiente de desenvolvimento para Web Services Semânticos, implementado sobre o framework Eclipse. Antes de sua criação, desenvolvedores de descrições semânticas com base no WSMO, utilizavam editores de texto para criar ontologias, web services, objetivos e mediadores. A validação dos mesmos e testes era uma tarefa árdua. Pelo fato de ser baseado no framework Eclipse, ele utiliza as ferramentas já implementadas para o mesmo através de plugins, como por exemplo o WTP(Web Tool Platform), possibilitando a manipulação de tecnologias Web Service, como WSDL e XML. É possível a criação de Web Services utilizando o WTP e fazer a descrição semântica na mesma ferramenta. O processo para criação de ontologias ou descrição semântica de Web Services envolve a criação de diferentes tipos de documento. As tarefas englobadas para criação desses documentos são as seguintes: Edição É a primeira tarefa que deve ser efetuada. Essa edição pode ser realizada tanto na forma textual, como na forma gráfica; Validação O problema mais comum na criação de descrição semântica é a modelagem incorreta. Sem uma ferramenta que valide as descrições, os erros se tornam constantes. Essa validação em tempo de edição reduz o tempo de desenvolvimento das descrições; Teste Uma vez validada a descrição semântica, é necessário assegurar que ela se comporte conforme o esperado. A integração de testes na ferramenta diminui os esforços em performance,interação, etc; Desenvolvimento Depois de todos os passos, o desenvolvedor deverá usar algum sistema run-time. A IDE também fornece esse ambiente, facilitando assim todo o processo de desenvolvimento das descrições.

27 2.7.1 Perspectivas WSMT O WSMT foca em 3 grandes áreas de funcionalidades, que são as descrições de WSMO, criação de mapas de mediação e interação com ambientes de execução e sistemas externos. Cada uma dessas áreas conta com uma perspectiva, ou seja, um ambiente de desenvolvimento Perspectiva WSML Criação de Ontologias e descrição semântica de Web Services não é uma tarefa trivial para quem não possui uma prévio conhecimento de WSMO. Com a perspectiva WSML, algumas ferramentas são disponibilizadas para que usuários com diferentes níveis de conhecimento possam criar, manipular e interagir com descrições semânticas dentro do paradigma WSMO. Dentre essas ferramentas, é possível citar: WSML Validation WSMO4J 4 é um modelo de objeto para manipular descrições WSMO e possui a capacidade de analisar e serializar documentos WSML. WSMO4J também possui validadores para cada uma das variantes do WSML, os mesmos usados pelo editor dos documentos; WSML Text Editor com o editor WSML, a sintaxe WSML é realçada, completada, e erros ocorridos durante o desenvolvimento das descrições são reportados; WSML Form Text Editor interface intuitiva para criação das descrições semânticas. Possui campos de edição com os principais elementos de cada descrição; WSML Visualizer interface gráfica para manipulação das descrições semânticas; WSML Reasoner View interface que permite que sejam realizados testes nas descrições semânticas criadas; Discovery View interface que testa os goals criados. 4 WSMO4J é uma API e uma implementação referência para desenvolver Serviços Web Semânticos e Aplicações de Processos de Negócios Semânticos baseado sobre WSMO (WSMO4J,2008).

28 A figura 15 ilustra a perspectiva WSML. Figura 15: Perspectiva WSML Perspectiva Mapping A interoperabilidade entre sistemas só é possível quando a troca de dados entre os mesmos está correta, ou pelo menos, no mesmo formato. Para isso é necessário a utilização de ontologias para representar as mesmas informações. Mas nem sempre são utilizadas as mesmas ontologias. Para uma real interoperabilidade é necessário criar um mapeamento entre os tipos envolvidos no processo, para que os sistemas possam se comunicar. Com o WSMT, todos os mapeamentos são criados através da sintaxe AML(Abstract Mapping Language) que é um formalismo neutro, fundamentado sobre WSML com WSMX. Abaixo, a figura 16 demonstra essa perspectiva.

29 Figura 16: Perspectiva Mapping Perspectiva SEE Por fim, a última perspectiva do WSMT é a perspectiva SEE(Semantic Execution Environments), que como o próprio nome faz referência, trata dos ambientes de execução semântica, como o WSMX e IRSIII. Esses ambientes possibilitam a descoberta, composição, seleção, mediação e invocação de Serviços Web Semânticos. No projeto, o ambiente utilizado será o WSMX. Nessa perspectiva, é possível a visualização de Goals, Ontologias, Mediadores e Web Services que estão rodando sobre o ambiente de execução. A figura 17 mostra essa perspectiva.

30 Figura 17: Perspectiva SEE

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

Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA

Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA RESUMO Ricardo Della Libera Marzochi A introdução ao Service Component Architecture (SCA) diz respeito ao estudo dos principais fundamentos

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. (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

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

3 SCS: Sistema de Componentes de Software

3 SCS: Sistema de Componentes de Software 3 SCS: Sistema de Componentes de Software O mecanismo para acompanhamento das chamadas remotas se baseia em informações coletadas durante a execução da aplicação. Para a coleta dessas informações é necessário

Leia mais

Semântica para Sharepoint. Busca semântica utilizando ontologias

Semântica para Sharepoint. Busca semântica utilizando ontologias Semântica para Sharepoint Busca semântica utilizando ontologias Índice 1 Introdução... 2 2 Arquitetura... 3 3 Componentes do Produto... 4 3.1 OntoBroker... 4 3.2 OntoStudio... 4 3.3 SemanticCore para SharePoint...

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

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

Serviços Web Semânticos

Serviços Web Semânticos Serviços Web Semânticos Paulo Vitor Antonini Orlandin paulovitor_e@hotmail.com Resumo O grande crescimento na utilização de Serviços Web torna imprescindível o desenvolvimento de uma forma de melhoria

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

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES Alexandre Egleilton Araújo, Jaime Willian Dias Universidade Paranaense (Unipar) Paranavaí PR Brasil araujo.ale01@gmail.com, jaime@unipar.br Resumo.

Leia mais

Anexo VI Edital nº 03361/2008. Projeto de Integração das informações de Identificação Civil. 1. Definições de interoperabilidade adotadas pela SENASP

Anexo VI Edital nº 03361/2008. Projeto de Integração das informações de Identificação Civil. 1. Definições de interoperabilidade adotadas pela SENASP Anexo VI Edital nº 03361/2008 Projeto de Integração das informações de Identificação Civil 1. Definições de interoperabilidade adotadas pela SENASP A Senasp procura adotar os padrões de interoperabilidade

Leia mais

Análise e Projeto Orientados por Objetos

Análise e Projeto Orientados por Objetos Análise e Projeto Orientados por Objetos Aula 02 Análise e Projeto OO Edirlei Soares de Lima Análise A análise modela o problema e consiste das atividades necessárias para entender

Leia mais

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

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2 Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2 Aula 1 Conceitos da Computação em Nuvem A computação em nuvem ou cloud computing

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

FACULDADE DE ADMINISTRAÇÃO E NEGÓCIOS DE SERGIPE - FANESE CURSO SUPERIOR DE TECNOLOGIA em Gestão da Tecnologia da Informação

FACULDADE DE ADMINISTRAÇÃO E NEGÓCIOS DE SERGIPE - FANESE CURSO SUPERIOR DE TECNOLOGIA em Gestão da Tecnologia da Informação FACULDADE DE ADMINISTRAÇÃO E NEGÓCIOS DE SERGIPE - FANESE CURSO SUPERIOR DE TECNOLOGIA em Gestão da Tecnologia da Informação 1 Ruironaldi dos Santos Cruz ARTIGO ARQUITETURA ORIENTADA A SERVIÇO SOA SERVICE

Leia mais

5 Framework para coordenação e mediação de Web Services para ambientes de aprendizado à distância

5 Framework para coordenação e mediação de Web Services para ambientes de aprendizado à distância 5 Framework para coordenação e mediação de Web Services para ambientes de aprendizado à distância O capítulo anterior apresentou uma discussão sobre a inclusão dos chamados learning services no processo

Leia mais

Fase 1: Engenharia de Produto

Fase 1: Engenharia de Produto Fase 1: Engenharia de Produto Disciplina: Análise de Requisitos DURAÇÃO: 44 h O objetivo principal da disciplina é realizar uma análise das necessidades e produzir um escopo do produto. Representará os

Leia mais

Conteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo

Conteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo Universidade Federal do Espírito Santo Centro Tecnológico Departamento de Informática Disciplina: INF 02810 Prof.: (monalessa@inf.ufes.br) Conteúdo 1. Introdução 2. Processo de Software 3. Gerência de

Leia mais

Odyssey-MDA: Uma Ferramenta para Transformações de Modelos UML

Odyssey-MDA: Uma Ferramenta para Transformações de Modelos UML Odyssey-MDA: Uma Ferramenta para Transformações de Modelos UML Natanael E. N. Maia, Ana Paula B. Blois, Cláudia M. Werner COPPE/UFRJ Programa de Engenharia de Sistemas e Computação Caixa Postal 68.511

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

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

Prática da Disciplina de Sistemas Distribuídos Serviços Web IFMA DAI Professor Mauro Lopes C. Silva

Prática da Disciplina de Sistemas Distribuídos Serviços Web IFMA DAI Professor Mauro Lopes C. Silva 1. O que são Serviços Web (Web Services)? Prática da Disciplina de Sistemas Distribuídos Serviços Web IFMA DAI Professor Mauro Lopes C. Silva A ideia central dos Web Services parte da antiga necessidade

Leia mais

5 Mecanismo de seleção de componentes

5 Mecanismo de seleção de componentes Mecanismo de seleção de componentes 50 5 Mecanismo de seleção de componentes O Kaluana Original, apresentado em detalhes no capítulo 3 deste trabalho, é um middleware que facilita a construção de aplicações

Leia mais

UML - Unified Modeling Language

UML - Unified Modeling Language UML - Unified Modeling Language Casos de Uso Marcio E. F. Maia Disciplina: Engenharia de Software Professora: Rossana M. C. Andrade Curso: Ciências da Computação Universidade Federal do Ceará 24 de abril

Leia mais

4 O Workflow e a Máquina de Regras

4 O Workflow e a Máquina de Regras 4 O Workflow e a Máquina de Regras O objetivo do workflow e da máquina de regras é definir um conjunto de passos e regras configuráveis. Ao longo de sua execução, um usuário consegue simplificar o seu

Leia mais

Arquitetura de Redes: Camadas de Protocolos (Parte I) Prof. Eduardo

Arquitetura de Redes: Camadas de Protocolos (Parte I) Prof. Eduardo Arquitetura de Redes: Camadas de Protocolos (Parte I) Prof. Eduardo Introdução O que é Protocolo? - Para que os pacotes de dados trafeguem de uma origem até um destino, através de uma rede, é importante

Leia mais

Adriano Reine Bueno Rafael Barros Silva

Adriano Reine Bueno Rafael Barros Silva Adriano Reine Bueno Rafael Barros Silva Introdução RMI Tecnologias Semelhantes Arquitetura RMI Funcionamento Serialização dos dados Criando Aplicações Distribuídas com RMI Segurança Exemplo prático Referências

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

Prof. Marcelo Henrique dos Santos

Prof. Marcelo Henrique dos Santos ORIENTAÇÃO A OBJETOS COM PROTOTIPAÇÃO CAPÍTULO 02 CONCEITOS FUNDAMENTAIS OBJETIVOS Definiremos alguns conceitos fundamentais de forma a não deixar dúvidas básicas ou interpretações que nos coloquem em

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

Engenharia de Requisitos Estudo de Caso

Engenharia de Requisitos Estudo de Caso Engenharia de Requisitos Estudo de Caso Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 1 Engenharia de Requisitos Exemplo 1 Reserva de Hotel 1. INTRODUÇÃO Este

Leia mais

Serviços Web: Introdução

Serviços Web: Introdução 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

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

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

SOA - Service Oriented Architecture. Marcelo Canevello Ferreira

SOA - Service Oriented Architecture. Marcelo Canevello Ferreira SOA - Service Oriented Architecture Marcelo Canevello Ferreira Índice Arquitetura baseada em componentes Introdução a SOA Principais conceitos de SOA SOA Framework Abordagem de integração Conclusões Evolução

Leia mais

Documento de Arquitetura

Documento de Arquitetura Documento de Arquitetura A2MEPonto - SISTEMA DE PONTO ELETRÔNICO A2MEPonto - SISTEMA DE PONTO ELETRÔNICO #1 Pág. 1 de 11 HISTÓRICO DE REVISÕES Data Versão Descrição Autor 28/10/2010 1 Elaboração do documento

Leia mais

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO)

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Parte: 1 Prof. Cristóvão Cunha Objetivos de aprendizagem

Leia mais

Projeto de Arquitetura

Projeto de Arquitetura Introdução Projeto de Arquitetura (Cap 11 - Sommerville) UNIVERSIDADE FEDERAL DE ALAGOAS Curso de Ciência da Computação Engenharia de Software I Prof. Rômulo Nunes de Oliveira Até agora, estudamos: Os

Leia mais

Novidades no Q-flow 3.02

Novidades no Q-flow 3.02 Novidades no Q-flow 3.02 Introdução Um dos principais objetivos do Q-flow 3.02 é adequar-se às necessidades das grandes organizações. Por isso, o Q-flow 3.02 possui uma versão Enterprise que inclui funcionalidades

Leia mais

SISTEMA GERENCIADOR DE BANCO DE DADOS

SISTEMA GERENCIADOR DE BANCO DE DADOS BANCO DE DADOS Universidade do Estado de Santa Catarina Centro de Ciências Tecnológicas Departamento de Ciência da Computação Prof. Alexandre Veloso de Matos alexandre.matos@udesc.br SISTEMA GERENCIADOR

Leia mais

UNIVERSIDADE FEDERAL DE SANTA CATARINA DEPARTAMENTO DE INFORMÁTICA E ESTÁTISTICA GRADUAÇÃO EM CIÊNCIAS DA COMPUTAÇÃO DISCIPLINA: COMUNICAÇÃO DE DADOS

UNIVERSIDADE FEDERAL DE SANTA CATARINA DEPARTAMENTO DE INFORMÁTICA E ESTÁTISTICA GRADUAÇÃO EM CIÊNCIAS DA COMPUTAÇÃO DISCIPLINA: COMUNICAÇÃO DE DADOS UNIVERSIDADE FEDERAL DE SANTA CATARINA DEPARTAMENTO DE INFORMÁTICA E ESTÁTISTICA GRADUAÇÃO EM CIÊNCIAS DA COMPUTAÇÃO DISCIPLINA: COMUNICAÇÃO DE DADOS PROFESSOR: CARLOS BECKER WESTPHALL Terceiro Trabalho

Leia mais

1 http://www.google.com

1 http://www.google.com 1 Introdução A computação em grade se caracteriza pelo uso de recursos computacionais distribuídos em várias redes. Os diversos nós contribuem com capacidade de processamento, armazenamento de dados ou

Leia mais

Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Sistema Gerenciador de Banco de Dados

Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Sistema Gerenciador de Banco de Dados Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Um Sistema Gerenciador de Banco de Dados (SGBD) é constituído por um conjunto de dados associados a um conjunto de programas para acesso a esses

Leia mais

ISO/IEC 12207: Gerência de Configuração

ISO/IEC 12207: Gerência de Configuração ISO/IEC 12207: Gerência de Configuração Durante o processo de desenvolvimento de um software, é produzida uma grande quantidade de itens de informação que podem ser alterados durante o processo Para que

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

IMPLEMENTAÇÃO DE SOCKETS E THREADS NO DESENVOLVIMENTO DE SISTEMAS CLIENTE / SERVIDOR: UM ESTUDO EM VB.NET

IMPLEMENTAÇÃO DE SOCKETS E THREADS NO DESENVOLVIMENTO DE SISTEMAS CLIENTE / SERVIDOR: UM ESTUDO EM VB.NET 1 IMPLEMENTAÇÃO DE SOCKETS E THREADS NO DESENVOLVIMENTO DE SISTEMAS CLIENTE / SERVIDOR: UM ESTUDO EM VB.NET Daniel da Silva Carla E. de Castro Franco Diogo Florenzano Avelino daniel.silva1@ext.mpsa.com

Leia mais

SISTEMAS DISTRIBUIDOS

SISTEMAS DISTRIBUIDOS 1 2 Caracterização de Sistemas Distribuídos: Os sistemas distribuídos estão em toda parte. A Internet permite que usuários de todo o mundo acessem seus serviços onde quer que possam estar. Cada organização

Leia mais

www.f2b.com.br 18/04/2006 Micropagamento F2b Web Services Web rev 00

www.f2b.com.br 18/04/2006 Micropagamento F2b Web Services Web rev 00 www.f2b.com.br 18/04/2006 Micropagamento F2b Web Services Web rev 00 Controle de Revisões Micropagamento F2b Web Services/Web 18/04/2006 Revisão Data Descrição 00 17/04/2006 Emissão inicial. www.f2b.com.br

Leia mais

Projeto de Sistemas I

Projeto de Sistemas I Instituto Federal de Educação, Ciência e Tecnologia de São Paulo Projeto de Sistemas I Professora: Kelly de Paula Cunha E-mail:kellypcsoares@ifsp.edu.br Requisitos: base para todo projeto, definindo o

Leia mais

Análise e Projeto Orientado a Objetos. Modelagem de Domínio

Análise e Projeto Orientado a Objetos. Modelagem de Domínio + Análise e Projeto Orientado a Objetos Modelagem de Domínio Introdução 2 n A modelagem do domínio está relacionada à descoberta das informações que são gerenciadas pelo sistema. O resultado dessa investigação

Leia mais

Tópicos em Engenharia de Software (Optativa III) AULA 2. Prof. Andrêza Leite andreza.lba@gmail.com (81 )9801-6619

Tópicos em Engenharia de Software (Optativa III) AULA 2. Prof. Andrêza Leite andreza.lba@gmail.com (81 )9801-6619 Tópicos em Engenharia de Software (Optativa III) AULA 2 Prof. Andrêza Leite andreza.lba@gmail.com (81 )9801-6619 Engenharia de Software Objetivo da aula Depois desta aula você terá uma revisão sobre o

Leia mais

Web Services: Metodologias de Desenvolvimento Carlos J. Feijó Lopes José Carlos Ramalho Fevereiro de 2004

Web Services: Metodologias de Desenvolvimento Carlos J. Feijó Lopes José Carlos Ramalho Fevereiro de 2004 Web Services: Metodologias de Desenvolvimento Carlos J. Feijó Lopes José Carlos Ramalho Fevereiro de 2004 1 Contextualização e arquitetura de funcionamento de um Web Service Os Web Services [PRV+01, Cer02]

Leia mais

Histórico da Revisão. Versão Descrição Autor. 1.0 Versão Inicial

Histórico da Revisão. Versão Descrição Autor. 1.0 Versão Inicial 1 of 14 27/01/2014 17:33 Sistema de Paginação de Esportes Universitários Documento de Arquitetura de Software Versão 1.0 Histórico da Revisão Data 30 de novembro de 1999 Versão Descrição Autor 1.0 Versão

Leia mais

Manual dos Serviços de Interoperabilidade

Manual dos Serviços de Interoperabilidade MINISTÉRIO DO PLANEJAMENTO, ORÇAMENTO E GESTÃO Secretaria de Logística e Tecnologia da Informação Manual dos Serviços de Interoperabilidade Sumário Lista de Figuras...3 Lista de Tabelas...4 Introdução...5

Leia mais

2 Engenharia de Software

2 Engenharia de Software 20 2 Engenharia de Software 2.1 Design de Sistemas Orientados a Objetos Os Sistemas Orientados a Objetos não são mais novidade hoje em dia já estando há muitos anos no mercado. A orientação a objetos permite

Leia mais

Orientação a Objetos

Orientação a Objetos 1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou

Leia mais

Introdução ao Modelos de Duas Camadas Cliente Servidor

Introdução ao Modelos de Duas Camadas Cliente Servidor Introdução ao Modelos de Duas Camadas Cliente Servidor Desenvolvimento de Sistemas Cliente Servidor Prof. Esp. MBA Heuber G. F. Lima Aula 1 Ciclo de Vida Clássico Aonde estamos? Page 2 Análise O que fizemos

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

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

Guia de Especificação de Caso de Uso Metodologia CELEPAR

Guia de Especificação de Caso de Uso Metodologia CELEPAR Guia de Especificação de Caso de Uso Metodologia CELEPAR Agosto 2009 Sumário de Informações do Documento Documento: guiaespecificacaocasouso.odt Número de páginas: 10 Versão Data Mudanças Autor 1.0 09/10/2007

Leia mais

AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: davidmr@ifce.edu.br CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0

AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: davidmr@ifce.edu.br CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0 AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: davidmr@ifce.edu.br CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0 SUMÁRIO 1 Conceitos Básicos... 3 1.1 O que é Software?... 3 1.2 Situações Críticas no desenvolvimento

Leia mais

Análise de Sistemas. Visão Geral: Orientação a Objetos. Prof. José Honorato Ferreira Nunes honorato.nunes@bonfim.ifbaiano.edu.br

Análise de Sistemas. Visão Geral: Orientação a Objetos. Prof. José Honorato Ferreira Nunes honorato.nunes@bonfim.ifbaiano.edu.br Análise de Sistemas Visão Geral: Orientação a Objetos Prof. José Honorato Ferreira Nunes Prof. José Honorato Ferreira Nunes honorato.nunes@bonfim.ifbaiano.edu.br Resumo: VISÃO GERAL: Modelagem de sistemas

Leia mais

Integração de Dados Plataforma Hub Magento E-Commerce

Integração de Dados Plataforma Hub Magento E-Commerce Integração de Dados Plataforma Hub Magento E-Commerce Facilitando Negócios Conectando softwares com Magento Plataforma de E-Commerce Integração de Dados Plataforma Hub Magento E-Commerce Este documento

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Faculdades SENAC Análise e Desenvolvimento de Sistemas 28 de abril de 2010 Principais suportes de Java RMI (Remote Method Invocation), da Sun Microsystems DCOM (Distributed Component Object Model), da

Leia mais

Sistemas de Informação I

Sistemas de Informação I + Sistemas de Informação I Dimensões de análise dos SI Ricardo de Sousa Britto rbritto@ufpi.edu.br + Introdução n Os sistemas de informação são combinações das formas de trabalho, informações, pessoas

Leia mais

GARANTIA DA QUALIDADE DE SOFTWARE

GARANTIA DA QUALIDADE DE SOFTWARE GARANTIA DA QUALIDADE DE SOFTWARE Fonte: http://www.testexpert.com.br/?q=node/669 1 GARANTIA DA QUALIDADE DE SOFTWARE Segundo a NBR ISO 9000:2005, qualidade é o grau no qual um conjunto de características

Leia mais

Sistemas Distribuídos Comunicação entre Processos em Sistemas Distribuídos: Middleware de comunicação Aula II Prof. Rosemary Silveira F. Melo Comunicação em sistemas distribuídos é um ponto fundamental

Leia mais

Modelagemde Software Orientadaa Objetos com UML

Modelagemde Software Orientadaa Objetos com UML Modelagemde Software Orientadaa Objetos com UML André Maués Brabo Pereira Departamento de Engenharia Civil Universidade Federal Fluminense Colaborando para a disciplina CIV 2802 Sistemas Gráficos para

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

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Modelo Cliente-Servidor: Introdução aos tipos de servidores e clientes Prof. MSc. Hugo Souza Iniciando o módulo 03 da primeira unidade, iremos abordar sobre o Modelo Cliente-Servidor

Leia mais

Esta dissertação apresentou duas abordagens para integração entre a linguagem Lua e o Common Language Runtime. O objetivo principal da integração foi

Esta dissertação apresentou duas abordagens para integração entre a linguagem Lua e o Common Language Runtime. O objetivo principal da integração foi 5 Conclusão Esta dissertação apresentou duas abordagens para integração entre a linguagem Lua e o Common Language Runtime. O objetivo principal da integração foi permitir que scripts Lua instanciem e usem

Leia mais

)HUUDPHQWDV &RPSXWDFLRQDLV SDUD 6LPXODomR

)HUUDPHQWDV &RPSXWDFLRQDLV SDUD 6LPXODomR 6LPXODomR GH6LVWHPDV )HUUDPHQWDV &RPSXWDFLRQDLV SDUD 6LPXODomR #5,6. Simulador voltado para análise de risco financeiro 3RQWRV IRUWHV Fácil de usar. Funciona integrado a ferramentas já bastante conhecidas,

Leia mais

Hoje é inegável que a sobrevivência das organizações depende de dados precisos e atualizados.

Hoje é inegável que a sobrevivência das organizações depende de dados precisos e atualizados. BANCO DE DADOS Universidade do Estado de Santa Catarina Centro de Ciências Tecnológicas Departamento de Ciência da Computação Prof. Alexandre Veloso de Matos alexandre.matos@udesc.br INTRODUÇÃO Hoje é

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

Roteiro para a escrita do documento de Especificação de Requisitos de Software (ERS)

Roteiro para a escrita do documento de Especificação de Requisitos de Software (ERS) Roteiro para a escrita do documento de Especificação de Requisitos de Software (ERS) Definição Geral: Disciplina de Compiladores Prof. Jorge Bidarra (UNIOESTE) A especificação de requisitos tem como objetivo

Leia mais

Wilson Moraes Góes. Novatec

Wilson Moraes Góes. Novatec Wilson Moraes Góes Novatec Copyright 2014 Novatec Editora Ltda. Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998. É proibida a reprodução desta obra, mesmo parcial, por qualquer processo,

Leia mais

ALESSANDRO RODRIGO FRANCO FERNANDO MARTINS RAFAEL ALMEIDA DE OLIVEIRA

ALESSANDRO RODRIGO FRANCO FERNANDO MARTINS RAFAEL ALMEIDA DE OLIVEIRA ALESSANDRO RODRIGO FRANCO FERNANDO MARTINS RAFAEL ALMEIDA DE OLIVEIRA INTRODUÇÃO O projeto de um banco de dados é realizado sob um processo sistemático denominado metodologia de projeto. O processo do

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

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: 10 DATA: / / PROFESSOR: Andrey APRESENTAÇÃO O objetivo desta aula é apresentar e discutir os conceitos de coesão e acoplamento. DESENVOLVIMENTO Projetar

Leia mais

APLICATIVO WEB PARA O SETOR DE EXTENSÃO IFC VIDEIRA

APLICATIVO WEB PARA O SETOR DE EXTENSÃO IFC VIDEIRA APLICATIVO WEB PARA O SETOR DE EXTENSÃO IFC VIDEIRA Autores: Claudiléia Gaio BANDT; Tiago HEINECK; Patrick KOCHAN; Leila Lisiane ROSSI; Angela Maria Crotti da ROSA Identificação autores: Aluna do Curso

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

Documento de Análise e Projeto VideoSystem

Documento de Análise e Projeto VideoSystem Documento de Análise e Projeto VideoSystem Versão Data Versão Descrição Autor 20/10/2009 1.0 21/10/2009 1.0 05/11/2009 1.1 Definição inicial do documento de análise e projeto Revisão do documento

Leia mais

Laboratório de Computação VI JAVA IDL. Fabricio Aparecido Breve - 981648-9

Laboratório de Computação VI JAVA IDL. Fabricio Aparecido Breve - 981648-9 Laboratório de Computação VI JAVA IDL Fabricio Aparecido Breve - 981648-9 O que é Java IDL? Java IDL é uma tecnologia para objetos distribuídos, ou seja, objetos em diferentes plataformas interagindo através

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

UML 2. Guia Prático. Gilleanes T.A. Guedes. Novatec. Obra revisada e ampliada a partir do título Guia de Consulta Rápida UML 2

UML 2. Guia Prático. Gilleanes T.A. Guedes. Novatec. Obra revisada e ampliada a partir do título Guia de Consulta Rápida UML 2 UML 2 Guia Prático Gilleanes T.A. Guedes Obra revisada e ampliada a partir do título Guia de Consulta Rápida UML 2 Novatec capítulo 1 Introdução à UML A UML (Unified Modeling Language ou Linguagem de Modelagem

Leia mais

Ontologia Aplicada ao Desenvolvimento de Sistemas de Informação sob o Paradigma da Computação em Nuvem

Ontologia Aplicada ao Desenvolvimento de Sistemas de Informação sob o Paradigma da Computação em Nuvem Ontologia Aplicada ao Desenvolvimento de Sistemas de Informação sob o Paradigma da Computação em Nuvem Luiz Cláudio Hogrefe Orientador: Prof. Roberto Heinzle, Doutor Roteiro Introdução Fundamentação teórica

Leia mais

Análise e Projeto Orientados a Objetos Aula IV Requisitos. Prof.: Bruno E. G. Gomes IFRN

Análise e Projeto Orientados a Objetos Aula IV Requisitos. Prof.: Bruno E. G. Gomes IFRN Análise e Projeto Orientados a Objetos Aula IV Requisitos Prof.: Bruno E. G. Gomes IFRN 1 Introdução Etapa relacionada a descoberta e descrição das funcionalidades do sistema Parte significativa da fase

Leia mais

2 Diagrama de Caso de Uso

2 Diagrama de Caso de Uso Unified Modeling Language (UML) Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Diagrama de Caso de Uso (Use Case) Autoria:Aristófanes Corrêa

Leia mais

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064 Sistemas Distribuídos Professora: Ana Paula Couto DCC 064 Processos- Clientes, Servidores, Migração Capítulo 3 Agenda Clientes Interfaces de usuário em rede Sistema X Window Software do lado cliente para

Leia mais

Gerenciamento de Incidentes

Gerenciamento de Incidentes Gerenciamento de Incidentes Os usuários do negócio ou os usuários finais solicitam os serviços de Tecnologia da Informação para melhorar a eficiência dos seus próprios processos de negócio, de forma que

Leia mais

Desenvolvimento de aplicação web com framework JavaServer Faces e Hibernate

Desenvolvimento de aplicação web com framework JavaServer Faces e Hibernate Desenvolvimento de aplicação web com framework JavaServer Faces e Hibernate Tiago Peres Souza 1, Jaime Willian Dias 1,2 ¹Universidade paranaense (Unipar) Paranavaí PR Brasil tiagop_ti@hotmail.com 2 Universidade

Leia mais

Sistemas Distribuídos Arquitetura de Sistemas Distribuídos I. Prof. MSc. Hugo Souza

Sistemas Distribuídos Arquitetura de Sistemas Distribuídos I. Prof. MSc. Hugo Souza Sistemas Distribuídos Arquitetura de Sistemas Distribuídos I Prof. MSc. Hugo Souza Como já vimos, os sistemas distribuídos são apresentados considerando um planejamento bem mais complexo relacionado aos

Leia mais

Governança de TI. ITIL v.2&3. parte 1

Governança de TI. ITIL v.2&3. parte 1 Governança de TI ITIL v.2&3 parte 1 Prof. Luís Fernando Garcia LUIS@GARCIA.PRO.BR ITIL 1 1 ITIL Gerenciamento de Serviços 2 2 Gerenciamento de Serviços Gerenciamento de Serviços 3 3 Gerenciamento de Serviços

Leia mais

Organização e Arquitetura de Computadores I. de Computadores

Organização e Arquitetura de Computadores I. de Computadores Universidade Federal de Campina Grande Unidade Acadêmica de Sistemas e Computação Curso de Bacharelado em Ciência da Computação Organização e Arquitetura de Computadores I Organização Básica B de Computadores

Leia mais

DESENVOLVIMENTO WEB DENTRO DOS PARADIGMAS DO HTML5 E CSS3

DESENVOLVIMENTO WEB DENTRO DOS PARADIGMAS DO HTML5 E CSS3 DESENVOLVIMENTO WEB DENTRO DOS PARADIGMAS DO HTML5 E CSS3 Eduardo Laguna Rubai, Tiago Piperno Bonetti Universidade Paranaense (Unipar) Paranavaí PR- Brasil eduardorubay@gmail.com, bonetti@unipar.br Resumo.

Leia mais