MathWS: Broker de Serviços Web para e-science

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

Download "MathWS: Broker de Serviços Web para e-science"

Transcrição

1 MathWS: Broker de Serviços Web para e-science Ely Edison Matos 1, Cristianne Nocelli 1, Regina Braga 1,2, Fernanda Campos 1,2 1 Mestrado em Modelagem Computacional 2 Núcleo de Pesquisa em Qualidade de Software Universidade Federal de Juiz de Fora Campus Universitário, Juiz de Fora, Minas Gerais Brasil {ely.matos,regina.braga,fernanda.campos}@ufjf.edu.br,nocelli@caed.ufjf.br Abstract. The amount of e-science software components deserves a sophisticated treatment. This article presents the MathWS, a broker, based on ontologies, to register, discover and execute mathematical web services. The Broker prototype uses innovative technologies such as OWL-S and MathML languages, and inference engines. Services can implement an algorithm or encapsulate an existent mathematical implementation. The broker structure, independent of applications that effectively execute algorithms, provides interoperability and reusability within e-science domains. Resumo. O volume de componentes de softwares disponíveis para e-science faz com que essa base de serviços computacionais mereça um tratamento sofisticado. Este artigo apresenta o MathWS, um broker, baseado em ontologias, para registro, descoberta e execução de serviços web matemáticos. O protótipo faz uso de tecnologias inovadoras como os padrões OWL-S e MathML e mecanismos de inferência para descoberta de serviços. Os serviços podem implementar um algoritmo ou encapsular o acesso a implementações existentes. Independente da aplicação que efetivamente executará os algoritmos, a estrutura do broker pretende garantir uma alta interoperabilidade e uma especificação reutilizável em vários domínios da e-science.. 1. Introdução A Sociedade Brasileira de Computação (SBC) identificou a e-science, ou ciência em larga escala, como uma área estratégica para pesquisa nos próximos anos [SBC 2006]. Neste contexto, o volume de componentes de softwares disponíveis para a ciência em larga escala faz com que essa base de serviços computacionais mereça um tratamento sofisticado quanto à sua descrição, disponibilidade, interfaces, histórico de uso, etc., de tal forma que o cientista possa compor itens de solução de problemas. A pesquisa em ciência em larga escala envolve, entre outras, as áreas de Modelagem Computacional e Simulação [Barba 2006] e se apóia fortemente na Análise Numérica, executando experimentos virtuais em substituição à construção de uma infraestrutura física [Campos 2007]. Vários algoritmos matemáticos foram desenvolvidos ao longo dos últimos 40 anos. Estes algoritmos são implementados em programas isolados, agrupados em bibliotecas ou em pacotes interativos. A utilização das linguagens de programação Fortran [J3 2006] ou C [Kernighan 1988], ou de interfaces próprias de um pacote, dificulta a reutilização, prendendo o desenvolvimento da solução de um problema a uma tecnologia específica. O uso de serviços web é útil neste cenário, provendo o desacoplamento da resolução do problema e dos algoritmos matemáticos utilizados. Serviços web matemáticos devem permitir ao usuário não apenas escolher qual implementação usar para um dado algoritmo, mas também orquestrar (compor) os serviços oferecidos por bibliotecas diferentes. A linguagem XML tem sido usada em padrões para descrever os serviços através de WSDL (Web Service Description Language) e para publicar um serviço através de UDDI (Universal Description, Discovery and Integration) 41

2 [W3C 2007]. Entretanto, estas abordagens não são consideradas adequadas para capturar a natureza completa de um serviço matemático [Caprotti 2004]. A taxonomia de UDDI é de um nível muito alto e serviços matemáticos com funções distintas seriam agrupados sob uma única categoria. Por exemplo, uma categoria Sistema de Equações, englobaria tanto sistemas lineares quanto nãolineares, quando na realidade os algoritmos para resolução destes sistemas são diferentes. Categorias de alto nível dificultariam a tarefa de descoberta de um serviço específico para um problema matemático. Por outro lado, a WSDL permite a descrição do serviço em um nível mais baixo, porém um serviço matemático deve possuir uma descrição em nível mais alto, independente dos tipos de dados efetivamente usados na sua implementação. Por exemplo, para o cliente de um serviço web deve ser possível identificar que o parâmetro para um serviço é uma matriz, não importando se os dados são fornecidos formatados em um tipo string ou em um tipo vetor. A conversão de matriz para o tipo específico seria feita programaticamente. As descrições dos serviços estão, portanto, em um nível muito alto ou muito baixo de abstração. Um nível intermediário ideal pode ser alcançado agregando semântica aos serviços web. Os esforços para a consolidação da Web Semântica [Berners-Lee 2001] levaram ao desenvolvimento da OWL-S (Ontology Web Language for Services) [OWL-S 2004], que provê os blocos básicos para codificar uma descrição semântica dos serviços, construída sobre OWL (Ontology Web Language) [OWL 2004]. No contexto de propostas de infra-estrutura para e-science, este artigo apresenta o MathWS, um broker baseado em ontologias para registro, descoberta e execução de serviços web matemáticos. O registro da descrição semântica do serviço é feito através do armazenamento, em banco de dados, dos conceitos inferidos na ontologia. A descoberta usa uma máquina de inferência para recuperar serviços que combinem com os conceitos fornecidos pelo cliente. A execução utiliza a descrição WSDL contida na ontologia para acessar o serviço, bem como realiza a conversão dos parâmetros de conceitos semânticos para os tipos de dados esperados pelo serviço. Um protótipo implementando serviços matemáticos foi construído com o uso do software matemático Maple [Maple 2006]. No entanto, a estrutura do broker é independente dos aplicativos que irão efetivamente executar os algoritmos. A próxima seção apresenta alguns trabalhos correlatos. As ontologias usadas como base para a descrição dos serviços são descritas na seção 3. A arquitetura e implementação do MathWS são apresentadas na seção 4. Um exemplo, que ajuda na compreensão do processo, é apresentado na seção 5. A seção 6 apresenta alguns resultados preliminares. Finalmente, as conclusões mostram as dificuldades encontradas e apontam os passos futuros. 2. Trabalhos correlatos Os trabalhos relacionados à arquitetura do MathWS podem ser classificados em duas áreas distintas: serviços web matemáticos e serviços web semânticos. No primeiro caso destaca-se o projeto MONET [MONET 2006] e o projeto MathBroker [MathBroker 2006], enquanto os projetos das universidades de Carniege-Mellon [CMU 2004] e Maryland [Mindswap 2004] estão associados às questões semânticas. O projeto MONET, proposto para investigar a área de serviços web matemáticos, gerou vários produtos, como a implementação de um broker [Aird 2005], a definição da linguagem para descrição de serviços MSDL (Mathematical Service Description Language) [MSDL 2003], várias ontologias associadas ao domínio [Caprotti 2004] e o componente InstanceStore [Turi 2006, Bechhofer 2005]. Alguns destes produtos estão sendo utilizados no MathWS. O diferencial do MathWS em relação ao MONET é o uso de padrões propostos ou estabelecidos para a web, tais como OWL-S para descrição dos serviços e MathML [MathML 2007] para descrição dos objetos matemáticos, o que garante uma maior interoperabilidade do MathWS com aplicativos já existentes, além de uma especificação mais reutilizável. 42

3 O projeto MathBroker se propõe a desenvolver um framework para realizar o broker de serviços matemáticos distribuídos entre vários servidores em rede. Atualmente o projeto MathBroker II está desenvolvendo uma linguagem de consulta de alto-nível para pesquisa de serviços e o uso de OWL-S. O MathWS já usa o OWL-S tanto para descrever quanto para acessar o serviço e as consultas são feitas através de uma combinação de máquina de inferência e acesso SQL. Assim, não é necessário especificar uma nova linguagem de consulta. No contexto de serviços web semânticos, pesquisadores do Software Agents Group, da Canergie Mellon University, desenvolveram uma série de ferramentas [CMU 2004], como parte da construção de uma IDE. Enquanto estas ferramentas são de uso geral para Web Semântica, o MathWS trabalha em um domínio específico (serviços matemáticos) com uma ontologia própria para o domínio. Na University of Maryland, o Semantic Web Research Group também desenvolveu uma API OWL-S [Mindswap 2004] que provê uma API Java para ler, escrever e executar serviços web descritos em OWL-S. Novamente, o diferencial do MathWS consiste em trabalhar em um domínio específico e ter mapeada uma ontologia para o mesmo. Outros projetos relacionados podem ser citados. Na University of Western Ontario, os pesquisadores utilizaram a infra-estrutura do projeto MONET para prover o registro e descoberta de serviços matemáticos implementados em Maple [Smirnova 2004], com uso de OpenMath [OpenMath 2007]. No MathWS é usado o suporte nativo do Maple para MathML [MathML 2007], não sendo necessário um programa intermediário para conversão do código. Na University of Bath, o projeto GENSS (Grid-Enabled Numerical and Symbolic Services) [GENSS 2006], também estendendo o projeto MONET, busca a combinação de grid computing e serviços web matemáticos. No MathWS o suporte a grid computing ainda não foi abordado. 3. Ontologias MathWS Um objetivo importante na Web Semântica é permitir que as descrições dos serviços possam ser compartilhadas e utilizadas sem intervenção humana. Este objetivo pode ser alcançado através do uso de uma ontologia padrão, como a OWL-S, para descrever os serviços, com classes e propriedades descritas em OWL. A OWL-S é considerada uma linguagem para especificar a função de uma operação, através de pré-condições e efeitos, e os tipos semânticos de cada entrada e saída do serviço. OWL-S assume que as definições dos conceitos semânticos estão disponíveis através de URIs 1 acessíveis via web. Isto permite que os serviços e os programas clientes compartilhem os termos e possam acessar as definições dos conceitos referenciados, representados em OWL. Para os testes iniciais um sub-conjunto das ontologias desenvolvidas pelo projeto MONET [MONET 2006] foi reutilizado. Este sub-conjunto é composto pelas ontologias GAMS [GAMS 2003], Algorithm e Problem. No MathWS, uma ontologia importa outra ontologia quando necessário. Nenhuma ontologia usada contém instâncias. As ontologias GAMS e Problem são usadas na caracterização do problema matemático e a ontologia Algorithm é usada na descrição do serviço que soluciona dado problema. Estas ontologias estão expressas em OWL e são usadas na descrição dos serviços com OWL-S. As ontologias são detalhadas nas seções seguintes. As figuras apresentam os termos de cada ontologia, embora não representem as ligações ontológicas entre estes termos GAMS Guide to Available Mathematical Software (GAMS) [GAMS 2003] é um serviço oferecido pelo National Institute for Science and Technology (NIST) que provê um índice online dos softwares matemáticos disponíveis, classificados de acordo com o problema que eles resolvem. Ele está 1 URI (Universal Resource Identifier) é uma string de caracteres usada para identificar ou nomear um recurso acessível remotamente. Cada protocolo possui uma sintaxe específica para a URI, chamada URI Scheme. 43

4 baseado fortemente em software numérico (pacotes comerciais e de domínio público). GAMS pode ser compreendido como uma taxonomia. No MathWS GAMS foi representado com classes OWL. Cada classe GAMS corresponde a uma classe OWL e a especialização de uma classe de problemas é representada com através de sub-classes. A subclassificação é usada pelos sistemas de raciocínio (reasoners) no processo de pesquisa de serviços. A Figura 1 apresenta uma representação do nível mais alto da taxonomia, enquanto a Figura 2 apresenta detalhes na classe D (Linear Algebra). Figura 2 Taxonomia GAMS (detalhe da classe D). Figura 1 Taxonomia GAMS (visão geral) Ontologia Algorithm A ontologia de algoritmos 2 serve de referência para a implementação de algoritmos pelos serviços matemáticos. A ontologia descreve algoritmos conhecidos em computação científica. A classe Algorithm está subdividida em três subclasses: Numeric, Symbolic e Symbolic_Numeric, para representar computação aproximada, exata ou uma mistura das duas. No MathWS a ontologia Algorithm foi estendida para representar os algoritmos para resolução numérica de sistemas lineares e não-lineares (implementados no protótipo). A Figura 3 apresenta uma representação parcial da ontologia Ontologia Problem A ontologia de problemas 3 foi projetada para representar um problema matemático específico. Um problema pode ser descrito em termos de suas entradas e saídas, pré-condições e pós-condições. Nesta implementação a ontologia Problem está sendo usada apenas como mais um mecanismo de classificação do serviço. Posteriormente, esta ontologia poderá ser usada na composição de serviços. A Figura 4 apresenta uma representação parcial da ontologia Descrição de um Serviço Matemático Considerando as ontologias apresentadas, no MathWS cada serviço é caracterizado por 2 elementos: a) Classificação do serviço: - Descrição do problema que o serviço resolve, com referência à ontologia Problem; - Classe GAMS em que o serviço matemático está enquadrado. b) Implementação: - Algoritmo usado, com referência à ontologia Algorithm

5 Figura 4 Ontologia Problem (visão parcial). Figura 3 Ontologia Algorithm (visão parcial) Para customizar a ontologia OWL-S, foi criada uma ontologia auxiliar chamada MathWsService, com a classe MathWSProfile (uma sub-classe de OWL-S Profile) com propriedades referentes à descrição do problema, à classificação GAMS e ao algoritmo utilizado no serviço web. Esta ontologia também define as classes Equation e SystemOfEquations, usadas para descrever os parâmetros dos serviços em um nível mais alto de abstração. A Figura 5 apresenta uma representação parcial desta ontologia usando a sintaxe abstrata de OWL [AOWL 2007]. Ontology( ObjectProperty(mathwsAlgorithm domain(mathwsprofile) range(algorithm:algorithm)) ObjectProperty(mathwsGams domain(mathwsprofile) range(gams:gams)) ObjectProperty(mathwsProblem domain(mathwsprofile) range(problem:problem)) ObjectProperty(equations domain(systemofequations) range(< Class(Equation partial Parameters) Class(MathWsProfile partial profile:profile) Class(SystemOfEquations partial Parameters)) 4. MathWS broker Figura 5 Ontologia MathWSService (visão parcial notação AOWL). O MathWS é um broker de acesso a algoritmos matemáticos via serviços web descritos semanticamente (utilizando ontologias). Estes serviços podem implementar um algoritmo específico, ou podem encapsular o acesso a implementações já existentes. Além de fornecer uma interface padronizada para acesso aos algoritmos, existe a possibilidade de orquestração de serviços web matemáticos para a resolução de problemas mais complexos usando a combinação de diversas implementações. Descrever um serviço semanticamente permite acrescentar informações adicionais sobre a natureza e finalidade do serviço, apresentar as condições em que ele pode ser usado, definir seus parâmetros em um nível mais alto de abstração e formalizar sua utilização em conjunto com outros serviços. As ontologias OWL-S, associadas à ontologia de um domínio específico (a matemática, no caso do MathWS), proporcionam esta descrição semântica. 45

6 4.1. Arquitetura Uma visão geral da arquitetura do MathWS é apresentada na Figura 6, com 3 camadas distintas: - Client Layer: implementa uma interface para interação com o usuário do broker, podendo ser desenvolvida em qualquer linguagem que permita acesso a serviços web. No teste do protótipo foi utilizada uma aplicação escrita na linguagem PHP. - Mediation Layer: representada pelo broker MathWS. O próprio broker está implementado como um serviço web, com 3 componentes principais: -Client Manager, responsável pela interação com os clientes do broker, para consultar os serviços disponíveis e registrar ou executar um serviço. -Store Manager, responsável pelo armazenamento dos registros de serviços, sendo usado na localização de um ou mais serviços específicos. -Execute Manager, responsável pela codificação dos parâmetros e execução do serviço web. - Service Layer: abrange os serviços web que implementam (ou encapsulam) os algoritmos matemáticos. No teste do protótipo foram criados serviços web escritos na linguagem Java, encapsulando o acesso a algoritmos escritos como programas do software Maple. Figura 6 Visão geral da arquitetura do MathWS Broker. O MathWS tem como principais funcionalidades o registro, a descoberta e a execução de serviços matemáticos: a) Registro do serviço: o cliente informa ao broker a URI referente à ontologia que descreve o serviço. A Figura 7 apresenta uma representação parcial de um exemplo desta ontologia em AOWL (referente à implementação do algoritmo Cholesky [Saunders 1999], para sistemas de equações lineares). Um ou mais parâmetros que caracterizam o serviço (problema, classificação GAMS e algoritmo implementado) são obtidos a partir da ontologia. Estes dados são repassados pelo Client Manager ao Store Manager. O Store Manager encapsula o Instance Store (IS) [Turi 2006, Bechhofer 2005], um componente Java desenvolvido para lidar com as inferências sobre os indivíduos de uma ontologia. O IS armazena as asserções relativas aos indivíduos em um banco de dados relacional, juntamente com informações adicionais inferidas através de uma máquina de inferência para DL (Description Logics). A URI da ontologia que representa o serviço é armazenada como um indivíduo da ontologia MathWS. 46

7 /* Cholesky Service description */ Individual(choleskyService type(service:service) value(service:presents choleskymathwsprofile) value(service:describedby choleskyprocess) value(service:supports choleskygrounding)) /* Cholesky Service Profile description */ Individual(choleskyMathWSProfile type(mathwsservice:mathwsprofile) value(profile:servicename "cholesky"^^<http... XMLSchema#string>) value(mathwsservice:mathwsgams GamsD2) value(mathwsservice:mathwsalgorithm CholeskyAlgorithm) value(mathwsservice:mathwsproblem zero_of_linear_system) value(profile:hasinput b) value(profile:hasinput A) value(profile:hasoutput choleskyreturn) value(service:presentedby choleskyservice)) /* Cholesky Service Process description */ Individual(choleskyProcess type(process:atomicprocess) value(service:describes choleskyservice) value(process:hasinput A) value(process:hasinput b) value(process:hasoutput choleskyreturn)) Individual(A type(process:input) value(process:parametertype " /* Cholesky Service Grounding description */ Individual(choleskyGrounding type(grounding:wsdlgrounding) value(service:supportedby choleskyservice) value(grounding:hasatomicprocessgrounding choleskyatomicprocessgrounding)) Individual(choleskyAtomicProcessGrounding type(grounding:wsdlatomicprocessgrounding)... value(grounding:wsdldocument " mathws.mmc.ufjf.br:8080/linearsystem/services/linearsystem?wsdl"^^... ) value(grounding:owlsprocess choleskyprocess)... ) Figura 7 Representação parcial de uma ontologia de serviço (notação AOWL). b) Descoberta do serviço: o cliente informa ao broker um ou mais parâmetros que caracterizam o serviço desejado (problema, classificação GAMS e/ou algoritmo implementado). Estes dados são usados pelo Client Manager para consultar o Store Manager, que retorna como resultado uma lista de URIs de ontologias de serviços que atendem aos parâmetros. O Client Manager retorna ao cliente do broker esta lista de URIs. c) Execução do serviço: o cliente informa ao broker a URI OWL-S do serviço desejado. Esta URI é passada pelo Client Manager ao Execute Manager, para execução do serviço correspondente. O Execute Manager realiza as transformações nos parâmetros, quando necessário, usando XSLT 4 [XSLT 1999], utiliza a referência a WSDL presente na ontologia, executa o serviço e repassa para o Client Manager o resultado obtido. Este resultado é retornado para o cliente do broker. 5. Exemplos de uso do MathWS Esta seção apresenta exemplos de utilização do broker MathWS, com base nas ontologias descritas anteriormente. O objetivo é validar as tecnologias envolvidas e testar a viabilidade da ferramenta em aplicações reais em e-science. Os serviços são referentes à resolução de sistemas de equações lineares e não-lineares. As imagens são retiradas da aplicação cliente usada para teste do protótipo. 4 XLST (extensible Stylesheet Language Transformations) define uma linguagem baseada em XML para expressar regras de transformação de uma classe de documentos XML para outra. 47

8 5.1. Registro de serviços Para registro do serviço é fornecida a URI da ontologia OWL-S correspondente. A descrição do serviço (Problem, GAMS e Algorithm) é obtida a partir da ontologia. A Figura 8 mostra o registro do serviço que implementa o método Cholesky [Saunders 1999] para resolução de sistemas lineares. No protótipo foram registrados serviços que implementam os algoritmos dos métodos Jacobi [Black 2007], Cholesky e Gauss [Black 2007b] para resolução de sistemas lineares e um serviço que implementa o método Newton-Raphson [Weisstein 2007], para sistemas não-lineares. Figura 8 Exemplo de registro do serviço no MathWS Execução do serviço Para executar um serviço no MathWS é necessário antes realizar sua descoberta, submetendo a descrição completa ou parcial do serviço (Problem, GAMS e Algorithm) (Figura 9). Figura 9 Formulário de execução do serviço no MathMS. O retorno é uma lista de URIs OWL-S dos serviços que atendem à descrição (ou uma lista vazia caso nenhum serviço atenda à descrição). Observe-se que a descrição do serviço especificou como algoritmo Linear System. Embora nenhum serviço implemente este algoritmo, a ontologia de Algoritmos (Figura 3) mostra que tanto Jacobi, quanto Cholesky e Gauss estão classificados sob a classe Linear_System. Como resultado da consulta, os três serviços são apresentados e, neste segundo passo, o usuário deve escolher qual executar. Feita a escolha, através da consulta à ontologia são descobertos os parâmetros (quantidade, nome e tipo) que devem ser fornecidos. 48

9 Supondo que o usuário escolha o Método Cholesky, são apresentados, no terceiro passo, os campos para fornecimento de dois parâmetros. Os parâmetros para os serviços web devem ser fornecidos em MathML. A fim de facilitar essa tarefa, utilizou-se o editor AsciiMathML [Jipsen 2007] que permite a representação de elementos matemáticos em ASCII, com uma sintaxe mais simples e mais intuitiva que o MathML. A transformação do tipo semântico SystemOfEquations para string é feita através de XSLT. Finalmente, o serviço é executado e o resultado é apresentado. 6. Resultados Preliminares Com os resultados iniciais do projeto, podemos destacar alguns pontos importantes observados. Apesar do protótipo apresentar o broker como uma estrutura centralizada, o mesmo é um serviço web, o que permite a sua utilização de forma descentralizada, uma vez que ele pode ser distribuído em vários servidores e localizado através do uso de UDDI. Os serviços web matemáticos também são distribuídos pela rede e localizados através da referência ao WSDL, armazenada na descrição semântica do serviço. A distribuição do serviço, aliada ao fato de ter sido programado na linguagem Java e ser executado sob um servidor de container (ou um servidor de aplicações), permite uma alta escalabilidade, o que contribui para melhorar seu desempenho. A implementação do broker como um serviço web também permite o acesso através da qualquer linguagem de programação que possa utilizar este tipo de serviço, contribuindo para o desacoplamento entre a solução codificada pelo cliente e a programação dos serviços matemáticos. Isto possibilita o acesso a várias bibliotecas matemáticas existentes (e.g., NAG [NAG 2007]) e a composição de algoritmos para a solução de um problema específico. O uso de linguagens padronizadas também é relevante, por possibilitar a utilização de diversas ferramentas já existentes, além de promover a compatibilidade entre serviços criados por desenvolvedores diferentes. 7. Conclusões A Modelagem Computacional e as Simulações, ferramentas fundamentais para a e-science, se apóiam fortemente na Análise Numérica. Os algoritmos matemáticos são usados intensamente na resolução de problemas científicos e estão implementados em programas isolados, bibliotecas ou pacotes interativos, escritos em diversas linguagens de programação e acessados através de interfaces não padronizadas. Isto dificulta sua reutilização, induzindo os desenvolvedores a reescrever uma nova solução para seu caso específico. Mesmo quando implementações existentes são reutilizadas, a solução de um problema fica acoplada a uma tecnologia específica. O uso de serviços web matemáticos é útil neste cenário, desvinculando a implementação de uma solução para um problema específico da implementação de algoritmos gerais. Este artigo detalhou a especificação do broker MathWS, cujo objetivo é o registro, a descoberta e a execução de serviços web matemáticos descritos semanticamente através de OWL-S. A associação de serviços matemáticos e Web Semântica é relativamente recente. As linguagens utilizadas estão em fase de pesquisa e os padrões propostos ainda estão em discussão. Como conseqüência, avanços na área são necessários e o MathWS é um esforço no sentido de testar a integração destes padrões e tecnologias em projetos reais de e-science, com a utilização de ontologias de domínios específicos. Como exemplo, estão em estudo os mecanismos de integração do broker com a linguagem CellML [CellML 2007], usada na criação de modelos biológicos. Com a implementação do protótipo do broker, observou-se a necessidade de algumas extensões, como a criação de mecanismos para escolha do serviço a ser executado, quando a consulta retornar mais de uma possibilidade (ranking) e da melhoria no processo de realização de consultas. A definição e implementação da arquitetura MathWS é uma proposta de modelo que norteará as pesquisas futuras do grupo, como por exemplo a questão da orquestração de serviços em um ambiente distribuído. 49

10 Referências Bibliográficas Aird M-L., Medina W. B. and Padget J. (2005). Brokerage for Mathematical Services in MONET. In L. Cavedon, Z. Maamar, D. Martin, and B. Benatallah, editors, Extending Web Services Technologies, volume 13 of Multiagent Systems, Artificial Societies, and Simulated Organizations. Springer, May ISBN: AOWL (2007) OWL Web Ontology Language Semantics and Abstract Syntax. Acesso em: 30 de maio Barba, L. (2006) Introduction to Scientific Computing: Two-lecture series for post-graduates. University of Bristol, Bechhofer, S., Horrocks, I., Turi, D. (2005). The OWL Instance Store: System Description. Proceedings CADE-20, Lecture Notes in Computer Science, Springer-Verlag. Berners-Lee, T., Hendler, J.; Lassila, O. (2001) The Semantic Web. A new form of Web content that is meaningful to computers will unleash a revolution of new possibilities. Scientific American, 01/05/2001. Disponível em: /0501issue/0501bernerslee. Acesso em: 30 de maio Black, N., Moore, S. and Weisstein, E. W. (2007) "Jacobi Method." From MathWorld--A Wolfram Web Resource. Acesso em: 30 de maio Black, N., Moore, S. and Weisstein, E. W. (2007b). "Gauss-Seidel Method." From MathWorld--A Wolfram Web Resource. Acesso em: 30 de maio Campos, F. C. A., Braga, R. M. M. e Matos, E. (2007) Uma ferramenta de busca na web usando ontologia para métodos numéricos e computacionais. In: CILAMCE 2007, 2007, Porto. Anais CILAMCE 2007, Caprotti O., Dewar, M. and Turi, D. (2004). Mathematical service matching using description logic and owl. In Mathematical Knowledge Management, pages CellML (2007) CellMl Homepage. Acesso em: 30 de maio CMU (2004).Semantic Web Service Tools. Acesso em: 30 de maio ebxml (2006). Electronic Business Using XML. Acesso em: 30 de maio GAMS (2003) Guide to Available Mathematical Software. Acesso em: 30 de maio GENSS (2006) The GENSS Project. GENSS Home Page, www. Available from Acesso em: 30 de maio J3 (2006) Fortran Standards Technical Committee. Disponível em: Acesso em: 30 de maio Jipsen, P. (2007) ASCIIMathML - Translating ASCII math notation to Presentation MathML. Kernighan, B. W.; Ritchie, D. M., (1988) C Programming Langauge. Prentice-Hall. MathML (2007) W3C Math Home. Acesso em: 30 de maio MathBroker (2006) MathBroker II: Brokering Distributed Mathematical Services. Acesso em: 30 de maio Mindswap (2004) OWL-S API. Acesso em: 30 de maio MSDL (2003) The MONET Consortium. Mathematical Service Description Language: Final version. Technical Report Deliverable D14, The MONET Consortium, March Available from Acesso em: 30 de maio MONET (2006) MONET Consortium. MONET Home Page, www. Available from Acesso em: 30 de maio NAG (2007). Numerical Algorithms Group. Acesso em: 30 de maio OpenMath (2007) OpenMath Homepage. Acesso em: 30 de maio OWL (2004). OWL Web Ontology Language. Acesso em: 30 de maio OWL-S (2004) OWL-S: Semantic Markup for Web services. Acesso em: 30 de maio Saunders, M. A. (1999). Solution of sparse linear equations using Cholesky factors of augmented systems, Report SOL 99-1, Dept of EESOR, Stanford University (1999), 9 pages. SBC (2006) Sociedade Brasileira de Computação, Grandes Desafios de Pesquisa em Computação no Brasil: Relatório Final, Disponível em: &content=downloads&id=231.. Acesso em: 30 de maio Smirnova Elena S., Clare S. M., Watt Stephen M., Andrea A., Grzegorz B., Andrzej T. (2004) An architecture for distributed mathematical web services. MKM 2004 : Mathematical Knowledge Management (Bialowieza, September 2004). Turi, D. (2006). Instance Store. Acesso em: 30 de maio W3C (2007) World Wide Web Consortium Acesso em: 30 de maio Weisstein, Eric W. (2007). "Newton s Method." From MathWorld--A Wolfram Web Resource. XSLT (1999) XSL Transformations (XSLT). Acesso em: 30 de maio

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

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

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

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

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

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

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

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

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

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 2 Computação em Nuvem Desafios e Oportunidades A Computação em Nuvem

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

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

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

DAS6607 - Inteligência Artificial Aplicada à Controle de Processos e Automação Industrial

DAS6607 - Inteligência Artificial Aplicada à Controle de Processos e Automação Industrial DAS6607 - Inteligência Artificial Aplicada à Controle de Processos e Automação Industrial Aluno: André Faria Ruaro Professores: Jomi F. Hubner e Ricardo J. Rabelo 29/11/2013 1. Introdução e Motivação 2.

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

CONCEITOS INICIAIS. Agenda A diferença entre páginas Web, Home Page e apresentação Web;

CONCEITOS INICIAIS. Agenda A diferença entre páginas Web, Home Page e apresentação Web; CONCEITOS INICIAIS Agenda A diferença entre páginas Web, Home Page e apresentação Web; O que é necessário para se criar páginas para a Web; Navegadores; O que é site, Host, Provedor e Servidor Web; Protocolos.

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

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

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

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

Dado: Fatos conhecidos que podem ser registrados e têm um significado implícito. Banco de Dados:

Dado: Fatos conhecidos que podem ser registrados e têm um significado implícito. Banco de Dados: MC536 Introdução Sumário Conceitos preliminares Funcionalidades Características principais Usuários Vantagens do uso de BDs Tendências mais recentes em SGBDs Algumas desvantagens Modelos de dados Classificação

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

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

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

UNIVERSIDADE PRESBITERIANA MACKENZIE FACULDADE DE COMPUTAÇÃO E INFORMÁTICA

UNIVERSIDADE PRESBITERIANA MACKENZIE FACULDADE DE COMPUTAÇÃO E INFORMÁTICA EDITAL DO PROGRAMA DE CERTIFICAÇÕES EM COMPUTAÇÃO MACK COMPUTING CERTIFICATION MCC 2º SEMESTRE DE 2014 O Diretor da Faculdade de Computação e Informática (FCI), no uso de suas atribuições estatutárias

Leia mais

Um Simulador para Avaliação da Antecipação de Tarefas em Sistemas Gerenciadores de Workflow

Um Simulador para Avaliação da Antecipação de Tarefas em Sistemas Gerenciadores de Workflow Um Simulador para Avaliação da Antecipação de Tarefas em Sistemas Gerenciadores de Workflow Resumo. A fim de flexibilizar o fluxo de controle e o fluxo de dados em Sistemas Gerenciadores de Workflow (SGWf),

Leia mais

ONTOLOGIA DE DOMÍNIO PARA ANÁLISE DE BLOGS

ONTOLOGIA DE DOMÍNIO PARA ANÁLISE DE BLOGS Centro Universitário Feevale ONTOLOGIA DE DOMÍNIO PARA ANÁLISE DE BLOGS Fernando Mertins Prof. Orientador: Rodrigo Rafael Villarreal Goulart Dezembro de 2007 Roteiro da Apresentação Introdução Objetivos

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

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

Universidade Paulista

Universidade Paulista Universidade Paulista Ciência da Computação Sistemas de Informação Gestão da Qualidade Principais pontos da NBR ISO/IEC 12207 - Tecnologia da Informação Processos de ciclo de vida de software Sergio Petersen

Leia mais

Tecnologia para Sistemas Inteligentes Apontamentos para as aulas sobre. Introdução à Representação e Processamento de Ontologias: Framework O3f

Tecnologia para Sistemas Inteligentes Apontamentos para as aulas sobre. Introdução à Representação e Processamento de Ontologias: Framework O3f Tecnologia para Sistemas Inteligentes Apontamentos para as aulas sobre Introdução à Representação e Processamento de Ontologias: Framework O3f Luís Miguel Botelho Departamento de Ciências e Tecnologias

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

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

Palavras-chave: i3geo, gvsig, Mapserver, integração, plugin. Contato: edmar.moretti@terra.com.br ou edmar.moretti@gmail.com

Palavras-chave: i3geo, gvsig, Mapserver, integração, plugin. Contato: edmar.moretti@terra.com.br ou edmar.moretti@gmail.com III Jornada Latinoamericana e do Caribe do gvsig Artigo: Integração do software i3geo com o gvsig Autor: Edmar Moretti Resumo: O i3geo é um software para a criação de mapas interativos para internet qu

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

O padrão RDF na descrição de imagens

O padrão RDF na descrição de imagens O padrão RDF na descrição de imagens Edeilson Milhomem da Silva 1, Parcilene Fernandes de Brito 1 1 Sistemas de Informação Centro Universitário Luterano de Palmas (CEULP/ULBRA) Cx. Postal 160 77054-970

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

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

Sistemas de Informação Geográfica Prof. Tiago Eugenio de Melo, MSc.

Sistemas de Informação Geográfica Prof. Tiago Eugenio de Melo, MSc. Sistemas de Informação Geográfica Prof. Tiago Eugenio de Melo, MSc. SUMÁRIO Apresentação da ementa Introdução Conceitos Básicos de Geoinformação Arquitetura de SIGs Referências Bibliográficas APRESENTAÇÃO

Leia mais

3 Modelo de Controle de Acesso no Projeto de Aplicações na Web Semântica

3 Modelo de Controle de Acesso no Projeto de Aplicações na Web Semântica 3 Modelo de Controle de Acesso no Projeto de Aplicações na Web Semântica Este trabalho tem o objetivo de integrar o controle de acesso no projeto de aplicações na web semântica. Uma arquitetura de software

Leia mais

3 Trabalhos Relacionados

3 Trabalhos Relacionados 35 3 Trabalhos Relacionados Alguns trabalhos se relacionam com o aqui proposto sob duas visões, uma sobre a visão de implementação e arquitetura, com a utilização de informações de contexto em SMA, outra

Leia mais

LINGUAGENS E PARADIGMAS DE PROGRAMAÇÃO. Ciência da Computação IFSC Lages. Prof. Wilson Castello Branco Neto

LINGUAGENS E PARADIGMAS DE PROGRAMAÇÃO. Ciência da Computação IFSC Lages. Prof. Wilson Castello Branco Neto LINGUAGENS E PARADIGMAS DE PROGRAMAÇÃO Ciência da Computação IFSC Lages. Prof. Wilson Castello Branco Neto Conceitos de Linguagens de Roteiro: Apresentação do plano de ensino; Apresentação do plano de

Leia mais

IMPLEMENTAÇÃO DAS CAMADAS Inference Machine e Message Service Element PARA UM SERVIDOR DE SISTEMA DE GERENCIAMENTO DE Workflow HOSPITALAR

IMPLEMENTAÇÃO DAS CAMADAS Inference Machine e Message Service Element PARA UM SERVIDOR DE SISTEMA DE GERENCIAMENTO DE Workflow HOSPITALAR IMPLEMENTAÇÃO DAS CAMADAS Inference Machine e Message Service Element PARA UM SERVIDOR DE SISTEMA DE GERENCIAMENTO DE Workflow HOSPITALAR Jeferson J. S. Boesing 1 ; Manassés Ribeiro 2 1.Aluno do Curso

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

Padrões de projeto 1

Padrões de projeto 1 Padrões de projeto 1 Design Orientado Objeto Encapsulamento Herança Polimorfismo Design Patterns 2 Responsabilidades Booch e Rumbaugh Responsabilidade é um contrato ou obrigação de um tipo ou classe. Dois

Leia mais

Universidade Federal de Santa Maria Curso de Arquivologia. Disciplina de Banco de Dados Aplicados à Arquivística. Versao 1.

Universidade Federal de Santa Maria Curso de Arquivologia. Disciplina de Banco de Dados Aplicados à Arquivística. Versao 1. Universidade Federal de Santa Maria Curso de Arquivologia Disciplina de Banco de Dados Aplicados à Arquivística Prof. Andre Zanki Cordenonsi Versao 1.0 Março de 2008 Tópicos Abordados Conceitos sobre Banco

Leia mais

Uso de taxonomias na gestão de conteúdo de portais corporativos.

Uso de taxonomias na gestão de conteúdo de portais corporativos. Gestão de Conteúdo web através de ontologias: conceitos e aplicações Fernando Silva Parreiras Contextualização O que? Uso de taxonomias na gestão de conteúdo de portais corporativos. Quem? Gerentes, consultores

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

Padrões, Ferramentas e Boas Práticas no Desenvolvimento de Software para Web Semântica

Padrões, Ferramentas e Boas Práticas no Desenvolvimento de Software para Web Semântica Padrões, Ferramentas e Boas Práticas no Desenvolvimento de Software para Web Semântica Ernesto F. Veiga, Márcio V. Oliveira Sena, Renato de F. Bulcão Neto ernestofonseca@inf.ufg.br marciovinicius@inf.ufg.br

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

ADM041 / EPR806 Sistemas de Informação

ADM041 / EPR806 Sistemas de Informação ADM041 / EPR806 Sistemas de Informação UNIFEI Universidade Federal de Itajubá Prof. Dr. Alexandre Ferreira de Pinho 1 Sistemas de Apoio à Decisão (SAD) Tipos de SAD Orientados por modelos: Criação de diferentes

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

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos 11 Objetivos Este capítulo apresenta uma introdução aos sistemas distribuídos em geral Arquiteturas de cliente servidor Características das arquiteturas de 2 e 3 camadas Ambiente

Leia mais

SISTEMA DE WORKFLOW PARA MODELAGEM E EXECUÇÃO DE PROCESSOS DE SOFTWARE. Aluno: Roberto Reinert Orientador: Everaldo A. Grahl

SISTEMA DE WORKFLOW PARA MODELAGEM E EXECUÇÃO DE PROCESSOS DE SOFTWARE. Aluno: Roberto Reinert Orientador: Everaldo A. Grahl SISTEMA DE WORKFLOW PARA MODELAGEM E EXECUÇÃO DE PROCESSOS DE SOFTWARE Aluno: Roberto Reinert Orientador: Everaldo A. Grahl Roteiro de apresentação Introdução Objetivos Fundamentação Teórica Workflow Processo

Leia mais

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia.

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia. 1 Introdução aos Sistemas de Informação 2002 Aula 4 - Desenvolvimento de software e seus paradigmas Paradigmas de Desenvolvimento de Software Pode-se considerar 3 tipos de paradigmas que norteiam a atividade

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

Kassius Vargas Prestes

Kassius Vargas Prestes Kassius Vargas Prestes Agenda 1. Introdução Web Services 2. XML, SOAP 3. Apache Tomcat 4. Axis 5. Instalação Tomcat e Axis 6. Criação de um Web Service 7. Criação de um cliente Baixar http://www.inf.ufrgs.br/~kvprestes/webservices/

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

Software de rede e Modelo OSI André Proto UNESP - São José do Rio Preto andre.proto@sjrp.unesp.br O que será abordado Hierarquias de protocolos (camadas) Questões de projeto relacionadas às camadas Serviços

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

Geração do Portal CPCX - UFMS pelo UNION: Um Estudo de Caso

Geração do Portal CPCX - UFMS pelo UNION: Um Estudo de Caso Geração do Portal CPCX - UFMS pelo UNION: Um Estudo de Caso Lourival dos Santos Pires Júnior, Tony Carlos Bignardi dos Santos, Amaury Antônio de Castro Junior, Carlos Alberto da Silva, Leila Lisiane Rossi

Leia mais

Concepção e Elaboração

Concepção e Elaboração UNIVERSIDADE ESTADUAL PAULISTA INSTITUTO DE BIOCIÊNCIAS, LETRAS E CIÊNCIAS EXATAS DEPARTAMENTO DE CIÊNCIAS DE COMPUTAÇÃO E ESTATÍSTICA Análise e Projeto Orientado a Objetos Concepção e Elaboração Estudo

Leia mais

Arquitetura de Banco de Dados

Arquitetura de Banco de Dados Arquitetura de Banco de Dados Daniela Barreiro Claro MAT A60 DCC/IM/UFBA Arquitetura de Banco de dados Final de 1972, ANSI/X3/SPARC estabeleceram o relatório final do STUDY GROUP Objetivos do Study Group

Leia mais

Desenvolvimento de um CMS 1 para a criação e publicação de web sites acessíveis por deficientes visuais.

Desenvolvimento de um CMS 1 para a criação e publicação de web sites acessíveis por deficientes visuais. Desenvolvimento de um CMS 1 para a criação e publicação de web sites acessíveis por deficientes visuais. Tales Henrique José MOREIRA 1 ; Gabriel da SILVA 2 ; 1 Estudante de Tecnologia em Sistemas para

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

Metadados. 1. Introdução. 2. O que são Metadados? 3. O Valor dos Metadados

Metadados. 1. Introdução. 2. O que são Metadados? 3. O Valor dos Metadados 1. Introdução O governo é um dos maiores detentores de recursos da informação. Consequentemente, tem sido o responsável por assegurar que tais recursos estejam agregando valor para os cidadãos, as empresas,

Leia mais

Universidade da Beira Interior

Universidade da Beira Interior Universidade da Beira Interior Relatório Apresentação Java Server Pages Adolfo Peixinho nº4067 Nuno Reis nº 3955 Índice O que é uma aplicação Web?... 3 Tecnologia Java EE... 4 Ciclo de Vida de uma Aplicação

Leia mais

AUTOMAÇÃO SUPERVISÃO E CONTROLE E A APLICAÇÃO DA ARQUITETURA ORIENTADA A SERVIÇOS SOA.

AUTOMAÇÃO SUPERVISÃO E CONTROLE E A APLICAÇÃO DA ARQUITETURA ORIENTADA A SERVIÇOS SOA. AUTOMAÇÃO SUPERVISÃO E CONTROLE E A APLICAÇÃO DA ARQUITETURA ORIENTADA A SERVIÇOS SOA. Uma significativa parcela dos sistemas de automação de grandes empresas são legados de tecnologias de gerações anteriores,

Leia mais

SISTEMA DE AGENDAMENTO E GERENCIAMENTO DE CONSULTAS CLÍNICAS

SISTEMA DE AGENDAMENTO E GERENCIAMENTO DE CONSULTAS CLÍNICAS SISTEMA DE AGENDAMENTO E GERENCIAMENTO DE CONSULTAS CLÍNICAS Pablo dos Santos Alves Alexander Roberto Valdameri - Orientador Roteiro da apresentação Introdução Objetivos Motivação Revisão bibliográfica

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

Capítulo 11. Conceitos de Orientação a Objetos. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Capítulo 11. Conceitos de Orientação a Objetos. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Capítulo 11 Conceitos de Orientação a Objetos Objetivos do Capítulo Introduzir os conceitos fundamentais da Programação Orientada a Objetos. Apresentar o significado dos objetos e das classes no contexto

Leia mais

Uma Ontologia para Gestão de Segurança da Informação

Uma Ontologia para Gestão de Segurança da Informação Uma Ontologia para Gestão de Segurança da Informação Paulo Fernando da Silva, Henrique Otte, José Leomar Todesco, Fernando A. O. Gauthier Programa de Pós-Graduação em Engenharia e Gestão do Conhecimento

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

MAPEAMENTO DE CONSULTAS SQL EM XML ENTRE SISTEMAS GERENCIADORES DE BANCO DE DADOS RELACIONAIS

MAPEAMENTO DE CONSULTAS SQL EM XML ENTRE SISTEMAS GERENCIADORES DE BANCO DE DADOS RELACIONAIS Universidade Federal de Santa Catarina Centro Tecnológico Departamento de Informática e Estatística Curso de Sistemas de Informação RENATO SULZBACH MAPEAMENTO DE CONSULTAS SQL EM XML ENTRE SISTEMAS GERENCIADORES

Leia mais

INE5380 - Sistemas Distribuídos

INE5380 - Sistemas Distribuídos INE5380 - Sistemas Distribuídos Object Request Broker e CORBA Por: Léo Willian Kölln - 0513227-4 Novembro de 2006 ORB Object Request Broker ORB aqui será tratado como um Middleware que permite a construção

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

Web Semântica e Matching de Ontologias: Uma Visão Geral

Web Semântica e Matching de Ontologias: Uma Visão Geral Web Semântica e Matching de Ontologias: Uma Visão Geral Hélio Rodrigues de Oliveira Departamento de Computação Universidade Federal do Ceará heliorodrigues@lia.ufc.br Bernadette Farias Lóscio Departamento

Leia mais

ARQUITETURA DE SOFTWARE

ARQUITETURA DE SOFTWARE ARQUITETURA DE SOFTWARE Em seu livro, que constitui um referencial sobre o assunto, Shaw e Garlan discutem arquitetura de software da seguinte maneira: Desde quando o primeiro programa foi dividido em

Leia mais

Projeto Demoiselle. Para perguntas e respostas, utilizem a lista de discussões de usuários da comunidade: demoiselle-users@lists.sourceforge.

Projeto Demoiselle. Para perguntas e respostas, utilizem a lista de discussões de usuários da comunidade: demoiselle-users@lists.sourceforge. Projeto Demoiselle Para perguntas e respostas, utilizem a lista de discussões de usuários da comunidade: demoiselle-users@lists.sourceforge.net Palestrantes: Antônio Carlos Tiboni Luciana Campos Mota 20/07/2009

Leia mais

Histórico da Orientação a Objetos Ciclo de vida de Desenvolvimento de SW

Histórico da Orientação a Objetos Ciclo de vida de Desenvolvimento de SW Histórico da Orientação a Objetos Ciclo de vida de Desenvolvimento de SW Baseado nos materiais dos profs: Prof.: Edilberto M. Silva http://www.edilms.eti.br Edna Canedo Marcio de Carvalho Victorino Brasília-DF,

Leia mais

Processos Técnicos - Aulas 4 e 5

Processos Técnicos - Aulas 4 e 5 Processos Técnicos - Aulas 4 e 5 Trabalho / PEM Tema: Frameworks Públicos Grupo: equipe do TCC Entrega: versão digital, 1ª semana de Abril (de 31/03 a 04/04), no e-mail do professor (rodrigues.yuri@yahoo.com.br)

Leia mais

Intranets. FERNANDO ALBUQUERQUE Departamento de Ciência da Computação Universidade de Brasília 1.INTRODUÇÃO

Intranets. FERNANDO ALBUQUERQUE Departamento de Ciência da Computação Universidade de Brasília 1.INTRODUÇÃO Intranets FERNANDO ALBUQUERQUE Departamento de Ciência da Computação Universidade de Brasília 1.INTRODUÇÃO As intranets são redes internas às organizações que usam as tecnologias utilizadas na rede mundial

Leia mais

UML 01. Curso Superior de Tecnologia em Banco de Dados Disciplina: Projeto de Banco de Dados Relacional 1 Prof.: Fernando Hadad Zaidan

UML 01. Curso Superior de Tecnologia em Banco de Dados Disciplina: Projeto de Banco de Dados Relacional 1 Prof.: Fernando Hadad Zaidan Faculdade INED UML 01 Curso Superior de Tecnologia em Banco de Dados Disciplina: Projeto de Banco de Dados Relacional 1 Prof.: Fernando Hadad Zaidan Referências BARBIERI, Carlos. Análise e Programação

Leia mais

Engenharia de Software: Introdução. Mestrado em Ciência da Computação 2008 Profa. Itana Gimenes

Engenharia de Software: Introdução. Mestrado em Ciência da Computação 2008 Profa. Itana Gimenes Engenharia de Software: Introdução Mestrado em Ciência da Computação 2008 Profa. Itana Gimenes Programa 1. O processo de engenharia de software 2. UML 3. O Processo Unificado 1. Captura de requisitos 2.

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

Programação com acesso a BD. Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br

Programação com acesso a BD. Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br Programação com acesso a BD Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br 1 Introdução BD desempenha papel crítico em todas as áreas em que computadores são utilizados: Banco: Depositar ou retirar

Leia mais

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO Santa Maria, 01 de Novembro de 2013. Revisão aula passada Projeto de Arquitetura Decisões de projeto de Arquitetura

Leia mais

Engenharia de Ontologias Seminário UPON

Engenharia de Ontologias Seminário UPON Engenharia de Ontologias Seminário UPON Núcleo de Estudos em Modelagem Conceitual e Ontologias Bruno Nandolpho Machado Vinícius Soares Fonseca Professor: Ricardo de Almeida Falbo Agenda RUP Método UPON

Leia mais

Microsoft.NET. Desenvolvimento Baseado em Componentes

Microsoft.NET. Desenvolvimento Baseado em Componentes Microsoft.NET Lirisnei Gomes de Sousa lirisnei@hotmail.com Jair C Leite jair@dimap.ufrn.br Desenvolvimento Baseado em Componentes Resolução de problemas específicos, mas que podem ser re-utilizados em

Leia mais

Um Driver NDIS Para Interceptação de Datagramas IP

Um Driver NDIS Para Interceptação de Datagramas IP Um Driver NDIS Para Interceptação de Datagramas IP Paulo Fernando da Silva psilva@senior.com.br Sérgio Stringari stringari@furb.br Resumo. Este artigo apresenta o desenvolvimento de um driver NDIS 1 para

Leia mais

Sistemas para internet e software livre

Sistemas para internet e software livre Sistemas para internet e software livre Metodologia de modelagem de aplicações WEB Image: FreeDigitalPhotos.net Domínio: Elementos de aplicação WEB Páginas Web Scripts Formulários Applets e ActiveX Motivação

Leia mais

Apesar de existirem diversas implementações de MVC, em linhas gerais, o fluxo funciona geralmente da seguinte forma:

Apesar de existirem diversas implementações de MVC, em linhas gerais, o fluxo funciona geralmente da seguinte forma: 1 Introdução A utilização de frameworks como base para a construção de aplicativos tem sido adotada pelos desenvolvedores com três objetivos básicos. Primeiramente para adotar um padrão de projeto que

Leia mais

SISTEMA COMPUTACIONAL PARA ANÁLISES DE DADOS EM AGRICULTURA DE PRECISÃO

SISTEMA COMPUTACIONAL PARA ANÁLISES DE DADOS EM AGRICULTURA DE PRECISÃO UNIVERSIDADE FEDERAL RURAL DO RIO DE JANEIRO INSTITUTO DE TECNOLOGIA DEPARTAMENTO DE ENGENHARIA PROJETO SISTEMA COMPUTACIONAL PARA ANÁLISES DE DADOS EM AGRICULTURA DE PRECISÃO ALUNO RICARDO CARDOSO TERZELLA

Leia mais

11/3/2009. Software. Sistemas de Informação. Software. Software. A Construção de um programa de computador. A Construção de um programa de computador

11/3/2009. Software. Sistemas de Informação. Software. Software. A Construção de um programa de computador. A Construção de um programa de computador Sistemas de Informação Prof. Anderson D. Moura Um programa de computador é composto por uma seqüência de instruções, que é interpretada e executada por um processador ou por uma máquina virtual. Em um

Leia mais

Roteiro. Arquitetura. Tipos de Arquitetura. Questionário. Centralizado Descentralizado Hibrido

Roteiro. Arquitetura. Tipos de Arquitetura. Questionário. Centralizado Descentralizado Hibrido Arquitetura Roteiro Arquitetura Tipos de Arquitetura Centralizado Descentralizado Hibrido Questionário 2 Arquitetura Figura 1: Planta baixa de uma casa 3 Arquitetura Engenharia de Software A arquitetura

Leia mais

PADRÕES PARA O DESENVOLVIMENTO NA WEB

PADRÕES PARA O DESENVOLVIMENTO NA WEB PADRÕES PARA O DESENVOLVIMENTO NA WEB Ederson dos Santos Cordeiro de Oliveira 1,Tiago Bonetti Piperno 1, Ricardo Germano 1 1 Universidade Paranaense (UNIPAR) Paranavaí PR- Brasil edersonlikers@gmail.com,

Leia mais