ANÁLISE DE LINGUAGENS DE COMPOSIÇÃO PARA WEB SERVICES

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

Download "ANÁLISE DE LINGUAGENS DE COMPOSIÇÃO PARA WEB SERVICES"

Transcrição

1 DALTON LUIZ MARCÍLIO ANÁLISE DE LINGUAGENS DE COMPOSIÇÃO PARA WEB SERVICES Dissertação apresentada como requisito parcial à obtenção do grau de Mestre em Informática, Curso de Pós-Graduação em Informática, Setor de Ciências Exatas, Universidade Federal do Paraná. Orientadora: Profa. Dra. Maria Salete Marcon Gomez Vaz CURITIBA JANEIRO 2006

2 II SUMÁRIO 1 Introdução Componentes de Serviços e Software Web Services SOAP - Simple Object Access Protocol WSDL - Web Services Description Language UDDI - Universal Description, Discovery and Integration Entidades Regulamentadoras dos Web Services OASIS - Organization for the Advancement for Structured Information Standards W3C - World Wide Web Consortium WS-I - Web Services Interoperability Organization Composição de Web Services Linguagens de Composição para Web Services Requisitos de uma Linguagem de Composição Processo de Negócio no Contexto das Linguagens de Composição Metadados e Padronização BPML Business Process Modelling Language XLANG X Language WSFL - Web Service Flow Language BPEL4WS - Business Process Execution Language for Web Services WSCI - Web Service Choreography Interface WS-CDL - Web Service Choreography Description Language Estudo de Caso e Análise Exemplo de um Processo interorganizacional Implementação WS-CDL da Coleta de Taxas Municipais Implementação BPEL4WS da Coleta de Taxas Municipais Características de Comparação dos Padrões de Linguagens de Composição Resultados Obtidos na Análise dos Padrões de Linguagens de Composição Conclusões e Trabalhos Futuros Referências Anexos A. Exemplo de uso dos Web Services A.1. Código A.2. Resultado final em XML A.2.1. Url que chama o WebService... 63

3 III A.2.2. Retorno em XML A.3. Arquivo de publicação WSDL A.4. Arquivo envelope para WebService - SOAP... 68

4 IV ÍNDICE DE FIGURAS FIGURA 1 DEFINIÇÃO DE SERVIÇO ATRAVÉS DE UMA APLICAÇÃO... 5 FIGURA 2 CENÁRIOS DE WEB SERVICES... 9 FIGURA 3 ELEMENTOS DE UMA MENSAGEM SOAP FIGURA 4 UDDI DENTRO DA ESTRUTURA DE WEB SERVICES FIGURA 5 CENÁRIO DE PADRÕES DE WEB SERVICES FIGURA 6 CENÁRIO DETALHADO DE PADRÕES DE WEB SERVICES FIGURA 7 EXEMPLO DE COMPOSIÇÃO DE SERVIÇOS FIGURA 8 LINGUAGENS DE COMPOSIÇÃO DE WEB SERVICES AO LONGO DO TEMPO FIGURA 9 EXEMPLO DE CODIFICAÇÃO BPML FIGURA 10 EXEMPLO DE CODIFICAÇÃO XLANG FIGURA 11 EXEMPLO DE CODIFICAÇÃO WSFL FIGURA 12 EXEMPLO DE CODIFICAÇÃO BPEL4WS FIGURA 13 EXEMPLO DE CODIFICAÇÃO WSCI FIGURA 14 EXEMPLO DE CODIFICAÇÃO WS-CDL FIGURA 15 DIAGRAMA DE ATIVIDADES COLETA DE TAXAS MUNICIPAIS... 42

5 V ÍNDICE DE TABELAS TABELA 1 PROTOCOLOS TABELA 2 PADRÕES DE METADADOS TABELA 3 PADRÕES DE METADADOS E AMBIENTE DE DESENVOLVIMENTO TABELA 4 COMPARAÇÃO DAS LINGUAGENS DE COMPOSIÇÃO... 53

6 VI RESUMO Web Services são componentes de software que podem ser acessados através da Internet por outros softwares. O objetivo principal dos Web Services é a interoperabilidade total entre aplicações. Como a integração entre sistemas requer mais do que a habilidade de manipular simples operações, há a necessidade de ferramentas para a modelagem de complexos processos de negócio, visando assim maior qualidade nas informações a serem analisadas. Essas ferramentas são linguagens de composição baseadas em Metadados, que apresentam características próprias de descrição de serviços, composição, orquestração, execução e interpretação. Neste trabalho são abordados os conceitos, descrições e uma análise entre as mais importantes linguagens de composição para Web Services com o objetivo de apresentar um entendimento do panorama relativo a padronização dos componentes da referida tecnologia, com foco especial às linguagens de composição. Palavras-chave: Web Services, Metadados, Linguagens de Composição de Web Services.

7 VII ABSTRACT Web Services are software components that can be accessed through the Internet by other softwares. The main goal of Web Services is the full interoperability among applications. Since the integration among systems requires more work than the ability of manipulating simple operations, it s necessary to use tools for modeling complex business processes, aiming more quality of information that is to be analyzed. These tools are language compositions based on Metadata that presents its own features of description services, compositions, orchestration, execution and interpretation. In this work, the concepts, descriptions and an analysis among the most important composition languages for Web Services are broached, with the objective to present an agreement of the relative overview the standardization of the components of the related technology, with special focus to the composition languages. Keywords: Web Services, Metadata, Web Services Composition Languages.

8 1 1 Introdução No cenário mundial atual a Internet é utilizada por muitas organizações para a geração de negócios e troca de informações. Devido a esses fatores as tecnologias de sistemas empregados por essas empresas muitas vezes precisam passar por um processo de adaptação e re-implementação dos recursos existentes a fim de fornecer subsídios para a divulgação dos seus serviços e o intercâmbio de informações, levando assim ao ganho de vantagens competitivas. É neste ambiente que a tecnologia de Web Services promete ser uma das soluções viáveis a serem analisadas, pois seu objetivo principal é a integração de sistemas, onde padrões web podem oferecer interoperabilidade total entre aplicações. A tecnologia foi desenvolvida levando-se em consideração os problemas e limitações encontradas em outras plataformas, a reutilização de soluções previamente desenvolvidas nas empresas, servidores Web e protocolos de comunicação, entre outras características. Este documento envolve um estudo analítico das linguagens de composição e seus Metadados referentes à gama de serviços Web Services, que é um gabarito de tecnologias que permite que diferentes aplicações, em diferentes plataformas e linguagens, conversem entre si através da Internet. De acordo com esse contexto e com o advento das linguagens de composição para Web Services, que envolvem estruturas que permitem a execução e o gerenciamento de complexos processos de negócio em uma organização, vêm à tona a necessidade de analisar tais linguagens a fim de perceber suas características de adaptação às diversas situações que podem existir tanto para uso acadêmico quanto comercial além de discutir as várias padronizações de composição para auxiliar as diversas entidades na compreensão das linguagens. Este trabalho está estruturado como se segue: O capítulo 2 discute os aspectos relacionados a composição de serviços e sistemas bem como a contextualização sobre Web Services, apresentando assim os padrões já estabelecidos para tal tecnologia.

9 2 O capítulo 3 relaciona a fundamentação e padronização existente na tecnologia Web Services. Neste mesmo capítulo são apresentadas as principais entidades reguladoras de Web Services e das linguagens de composição; uma abordagem em relação a questão da composição de Web Services incorporada à composição de sistemas; as características desejáveis de toda linguagem de composição e a inserção da tecnologia na esfera pertinente aos processos de negócio bem como a descrição das principais linguagens de composição em relação aos próprios Metadados ao longo do tempo. Um estudo de caso sendo ilustrado pelas linguagens de composição que estão em contínuo processo de evolução é demonstrado no capítulo 4. No mesmo capítulo é apresentada uma análise comparativa entre as linguagens abordadas, levando em consideração características comuns e comportamentos analisados em suas especificações. Finalmente, o capítulo 5 apresenta as conclusões deste trabalho e questões a serem pesquisadas em um trabalho futuro.

10 3 2 Componentes de Serviços e Software O conceito de transformação de desenvolvimento de aplicações em um desenvolvimento baseado em componentes já possui vários anos de discussões. Entretanto, sua adoção em grande escala ainda depende do desenvolvimento de tecnologias e padrões que sejam aptos a descrever essas peças de software de forma independente de sua codificação e implementação. É possível estabelecer uma comparação entre a utilização de componentes de software e um quebra-cabeça. Cada componente pode ser, de forma análoga, como uma peça do quebra-cabeça que deve ser encaixada com as outras para formar uma estrutura complexa (ou, no caso do software, a aplicação final). Em se tratando de desenvolvimento de software, esta composição ainda ganha mais uma dimensão, pois a questão abstrata dos componentes de software permite uma dinâmica ainda maior no agrupamento, o que resulta em uma enorme gama de criação de diferentes aplicações a partir dos mesmos componentes, o que no caso do quebra-cabeça não é verdadeiro. De acordo com esse contexto, um aspecto muito importante é a capacidade de composição dinâmica destes componentes, que deve ser feita de forma automatizada por alguma espécie de software responsável pela composição e coordenação destes serviços. Com o advento da Web e a grande quantidade de fontes de informação e de serviços disponíveis na rede, existe um fator determinante que dificulta ainda mais essa composição, que é a semântica das informações envolvidas. É sabido que não existe uma forma única de descrever os recursos na Internet ou rede, então as inconsistências e ambigüidades que fatalmente aparecerão precisam ser tratadas de alguma forma. Por conta dos fatos descritos acima, o desenvolvimento de aplicações baseadas em serviços distribuídos na Internet envolve a composição de serviços tanto em relação as funcionalidades dos mesmos como a estruturação e integração dos dados trocados entre os diferentes serviços que compõem o sistema.

11 4 Assim, existe a necessidade da introdução de semânticas nos dados trocados entre os módulos do sistema, permitindo que os computadores possam raciocinar e executar tarefas complexas utilizando componentes de software que não foram projetados para trabalhar juntos a princípio. De uma forma genérica, um serviço pode ser definido como toda e qualquer fonte de informações disponibilizada através da Internet. Estas fontes podem estar conectadas diretamente a componentes de software (como sistemas de bancos de dados) ou a tarefas que são executadas por pessoas intermediadas por algum meio de comunicação (como uma reserva sendo feita através de em um hotel). Uma questão fundamental no desenvolvimento de aplicações orientadas a serviços é a definição de uma forma única de acesso e gerenciamento dos serviços. Isto pode ser feito através de um padrão para definição e descrição dos serviços e de tecnologias de middleware para o desenvolvimento de software. Componentes podem ser definidos como unidades de composição com interfaces especificadas através de contratos e com dependências de contexto. Um componente de software pode ser apresentado de forma independente e é passível de composição por terceiros [30]. Uma outra definição apresenta componentes de software como unidades reutilizáveis de uma solução, que devem ser integradas a um todo para que efetuem um papel na solução [31]. De acordo com a definição de serviço apresentada anteriormente, um Componente de software pode ser entendido como uma unidade de software responsável por apresentar ao sistema as informações relativas a uma tarefa atômica, que pode ser executada por uma máquina ou por uma pessoa. A Figura 1 representa os serviços compostos por componentes em um sistema.

12 5 FIGURA 1 DEFINIÇÃO DE SERVIÇO ATRAVÉS DE UMA APLICAÇÃO A utilização plena destes componentes de software pode trazer como conseqüência um substancial incremento na qualidade das soluções resultantes, um aumento da produtividade da equipe e do processo de desenvolvimento utilizado e incremento da confiança e segurança dos componentes propriamente ditos, pois estes podem ser devidamente testados e validados. A partir deste ponto, a solução de problemas através da decomposição de uma solução em unidades relevantes, ou seja, dividir para conquistar, pode vir a facilitar o entendimento do problema, além de contribuir para a redução dos custos associados ao desenvolvimento e evolução da solução. Além de decompor, é preciso documentar e evitar possíveis acoplamentos entre as unidades geradas, para que o processo de evolução dos componentes da solução possa ser feito com o menor impacto possível. Como exemplos de componentes pode-se citar desde funções, classes, pacotes, componentes CORBA, subsistemas, processos distribuídos, Web Services até agentes de software. A taxa de complexidade e os serviços oferecidos por cada uma dessas tecnologias variam bastante, acarretando com

13 6 isso uma inexistência de uma tecnologia que de fato possibilite a unificação entre as mais diversas abordagens. Além de todos estes aspectos, o desenvolvimento de software baseado em componentes precisa ser analisado sobre duas perspectivas. A primeira diz respeito a como desenvolver um componente e está interessada em definir claramente o escopo, limitações e características oferecidas pela unidade. A segunda se preocupa em como reutilizar e compor diferentes componentes para solucionar determinado problema. De acordo com esta visão sobre desenvolvimento orientado a componentes, uma aplicação baseada em serviços tem como ponto principal a escolha de uma tecnologia de componentes que permita o desmembramento e a distribuição das partes através de uma rede. Uma vez escolhida, cabe ao analista da aplicação determinar qual a melhor forma de realizar a composição dos dados e das funcionalidades destes componentes de software. Como exemplo de tecnologia de componentes para a realização de tais serviços, podemos citar Web Services, tecnologia que é o escopo deste trabalho e é apresentada no capítulo seguinte. Como forma de entender o mecanismo de componentes no contexto de uma aplicação baseada em serviços, é importante entender a arquitetura típica da tecnologia de componentes. Tomando Web Services como base, é possível definir três tipos básicos de entidades: Service Provider (Provedor de Serviço ou Área de Publicação), Service Broker (Serviço de Busca e Registro) e Service Requester (Serviço de Requisições e Gerenciamento). O comportamento desses serviços é ilustrado na Figura 2. Um serviço distinto é fornecido por um Provedor de Serviço. Este publica suas funcionalidades em algum sistema de busca por serviços, que recebe o nome de Serviço de Busca. Um Serviço de Requisições é uma classe que irá utilizar alguma funcionalidade de um Web Service para realizar alguma tarefa mais completa. Para tal, ela entra em contato com algum Broker de Serviços através de algum padrão para descoberta (por exemplo, UDDI). Ao receber a resposta, o

14 7 Serviço de Requisições terá as interfaces padrão para acesso aos serviços que atendem às suas necessidades. Essas interfaces fazem parte da descrição do serviço, que normalmente é feita em uma linguagem específica para isso, a WSDL (Web Services Description Language). A partir deste ponto, os serviços fornecidos pelos Provedores de Serviço poderão ser acessados utilizando um protocolo de acesso a objetos remotos (como por exemplo, SOAP). De acordo com os fatos apresentados, fica claro que são necessários três padrões para a definição de uma tecnologia de componentes. Estes permitem que componentes sejam descritos, acessados e publicados de uma forma homogênea. Como forma de contextualizar estes três padrões e apresentar as suas características mais comuns serão detalhados a seguir os conceitos comuns utilizados na tecnologia de Web Services.

15 8 3 Web Services Recomendada pela W3C, uma das entidades regulamentadoras para Web Services, o conceito de Web Services permite que aplicações criadas possam ser publicadas e invocadas através da Internet. Esta tecnologia tornou-se rapidamente um padrão porque tem como base a linguagem XML, que utiliza os protocolos padrões da Internet, como o HTTP/SMTP, que já são amplamente utilizados [26,27]. Sendo aplicações modulares, autodescritivas, acessíveis através de uma URL, independentes das plataformas de desenvolvimento e que permitem a interação entre aplicações sem intervenção humana, os Web Services apresentam-se como a solução para os atuais problemas de integração de aplicações. Os componentes básicos de sistemas que utilizam Web Services, independente de qualquer linguagem de programação, são os seguintes: 1. Protocolo de comunicação (SOAP Simple Object Access Protocol); 2. Linguagem para a descrição dos seus serviços e tipo dos dados utilizados (WSDL - Web Services Description Language); 3. Mecanismo de publicação e busca dos serviços (UDDI - Universal Description, Discovery and Integration). A Figura 2 ilustra o cenário de trabalho de um Web Services e as tecnologias envolvidas.

16 Gerenciador de Serviços Registro de Serviços 9 Individual Lookup Busca Repositório Remoto de Web Services Invocar WS Invocação Composição e Execução Proc. Abs. Web Service Composição Execução Web Services Remotos Web Services Remotos Publicação de Web Services Execução Web Services Remotos FIGURA 2 CENÁRIOS DE WEB SERVICES Nas seções seguintes são descritas as tecnologias envolvidas e apresentadas na Figura SOAP - Simple Object Access Protocol SOAP originou-se da idéia de um mecanismo de RPC (Remote Procedure Calls) baseado em XML originalmente proposto por Dave Winer em SOAP é uma especificação da W3C proposta por organizações como Userland, Ariba, Microsoft, IBM, Compaq, HP, Lotus, SAP entre outras. É um protocolo elaborado para facilitar a chamada remota de funções via Internet, permitindo que dois programas se comuniquem de uma maneira muito semelhante às páginas Web [28]. A comunicação entre clientes e servidores é feita através do protocolo SOAP. Dessa maneira, as RPC (Remote Procedure Calls - Chamadas Remotas de Procedimento) são codificadas em XML e operam sobre HTTP. Com isso, pode-se acessar os serviços de um objeto localizado em um outro local da rede, através de uma chamada local a este objeto. Para o transporte de mensagens é

17 10 usado o HTTP, que torna o SOAP um protocolo leve, elimina inúmeros problemas de outras tecnologias com proxys. Antes de serem enviadas pela rede, as chamadas de RPC (emitidas pela aplicação cliente) são encapsuladas segundo o Padrão SOAP. Ao receber a mensagem ocorre o processo contrário, desencapsulando-as e extraindo as chamadas de método. A aplicação servidora então processa esta chamada, e envia uma resposta ao cliente. O processo então se repete: a resposta é também encapsulada e enviada pela rede. Na máquina cliente, esta resposta é desencapsulada e repassada para a aplicação cliente. Uma grande vantagem do SOAP é a de que não tem que contornar os esquemas de segurança para realizar a comunicação entre clientes e servidores. Como o SOAP usa o HTTP como camada de transporte ele opera na porta 80, que na maioria dos casos está liberada pelo proxy/firewall. Conceitualmente não existe diferença entre uma requisição a um método e a uma página HTML. A especificação SOAP (definida pela W3C) define as seguintes informações, como necessárias em toda chamada de RPC: A URI, equivalente à URL, do HTTP do objeto alvo; Nome do método; Os parâmetros do método (requisição ou resposta); Uma assinatura do método opcional; Um cabeçalho opcional. Uma mensagem SOAP consiste basicamente em uma estrutura com os elementos apresentados na Figura 3:

18 11 FIGURA 3 ELEMENTOS DE UMA MENSAGEM SOAP Envelope: Toda mensagem SOAP deve ter um. É o elemento raiz do documento XML. O Envelope pode conter declarações de namespaces e também atributos adicionais, como o que define o estilo de codificação, que define como os dados são representados no documento XML. Cabeçalho (Header): É um cabeçalho opcional. Ele carrega informações adicionais, como por exemplo, se a mensagem deve ser processada por um determinado nó intermediário. Quando utilizado, o cabeçalho deve ser o primeiro elemento do Envelope. Corpo: O corpo é um elemento obrigatório e contém o payload, ou seja, a informação a ser transportada para o seu destino final. Fault: É um elemento opcional do corpo, usado para carregar mensagens de status e erros retornadas pelos "nós" ao processarem a mensagem. A segurança no envio de mensagens SOAP pode ser trocada pela rede utilizando HTTPS ao invés de HTTP. Como HTTPS utiliza SSL no seu transporte, fica garantida a proteção contra possíveis intervenções. Além disso, o cliente e servidor podem verificar cada um suas respectivas identidades. Apesar de garantir a segurança quanto a intrusos, em muitos casos é necessária a autenticação de usuários de Web Services. Estes serviços irão fornecer algum tipo de combinação de usuário/senha durante a fase inicial de registro no serviço e então será utilizada para acessos futuros [28].

19 WSDL - Web Services Description Language A descrição de um Web Service se dá através de um arquivo WSDL cujo formato está em XML. Este arquivo tem como objetivo descrever a interface do serviço, ou seja, os métodos que são disponibilizados pelo Web Service, parâmetros recebidos, a resposta enviada e ainda o processo de comunicação com o servidor SOAP. É através do WSDL que o UDDI (Universal Description, Discovery and Integration) descreve os detalhes de localização e chamada ao Web. Em outras palavras, o WSDL é para o SOAP o que o IDL (Interface Definition Language) é para o CORBA ou DCOM [29]. Um cliente SOAP vai ler a estrutura do arquivo WSDL e, a partir dos dados referenciados, se comunicar com o servidor SOAP para acesso ao serviço descrito. O WSDL é extensível para permitir a descrição de serviços e suas mensagens independentemente dos formatos de mensagem e dos protocolos de rede que sejam usados. Esse padrão possui cinco elementos importantes, divididos em duas camadas: abstrata e concreta. A definição abstrata é composta por tipos, mensagens e port (portas). Os tipos de dados são aqueles que são enviados e recebidos dentro da mensagem. Depois de definidos os tipos, são definidos os dados que serão enviados pelo sistema através da definição de mensagem. Já port trata-se de uma série de operações relacionadas à mensagem, como entrada, saída e tratamento de exceções. A Definição concreta é composta das ligações e dos serviços. As ligações fazem mapeamento da implementação com a interface descrita em XML. Já o serviço está relacionado ao port. O serviço indica se o elemento, um nome ou um subelemento que aparece várias vezes. 3.3 UDDI - Universal Description, Discovery and Integration O UDDI é um grande cadastro global. São as páginas amarelas dos Web Services. Como as páginas amarelas tradicionais, pode-se procurar por uma

20 13 companhia que ofereça os serviços necessários, ler sobre o serviço oferecido ou contatar alguém para obter mais informações. Um diretório UDDI é um arquivo XML que descreve o negócio e os serviços. O registro tem três partes: Páginas brancas: descrevem a companhia: nome, endereço e contatos; Páginas amarelas: incluem as categorias, baseada em taxonomias padrões. Páginas verdes: descrevem a interface para o serviço, em nível de detalhe suficiente para se escrever uma aplicação que use o Web Service. A forma como os serviços são definidos no documento UDDI é chamado Type Model ou tmodel. Em muitos casos, o tmodel contém o arquivo WSDL que descreve a interface SOAP do Web Service. O diretório UDDI também inclui várias maneiras de procurar os serviços. Por exemplo, pode-se procurar por fornecedores de um serviço em uma locação geográfica específica ou por negócios de um tipo específico. Os provedores de serviço registram ou publicam seus Web Services nesse diretório e um mecanismo de descoberta localiza o Web Service para um cliente, mediante uma pesquisa. A pesquisa pode ser por tipo de serviço ou por fornecedor. A versão atual do UDDI é a Versão 2(2002), mas a Versão 3 já se encontra em discussão no W3C. Um aspecto importante na Versão 3 é o suporte a assinaturas digitais. Isso vem ao encontro de questões relevantes de segurança existentes até então. Através desse mecanismo passa a ser possível ter uma maior certeza de que o serviço oferecido pelo fornecedor é realmente o esperado, podendo-se ter mais confiança na sua integridade. A Figura 4 ilustra o contexto do UDDI dentro da estrutura de um Web Service, localizado em conexão direta com o servidor Web.

21 14 FIGURA 4 UDDI DENTRO DA ESTRUTURA DE WEB SERVICES Um Web Service é composto por vários protocolos, a grande maioria padronizados, apresentados na Tabela 1. Nesta tabela, os protocolos referenciados e a linguagem de marcação XML fazem parte da comunicação que envolve o protocolo SOAP. WSDL e UDDI já foram explanados por este trabalho. As linguagens de composição pertencem a área de Outros padrões ainda não definidos, onde a discussão desses padrões é o foco deste trabalho. Outros padrões ainda não definidos Universal Description Discovery Integration ( UDDI ) Web Services Description Language ( WSDL ) Simple Object Access Protocol ( SOAP ) Extensible Markup Language ( XML ) Protocolos Internet ( TCP/IP, HTTP, SMTP ) TABELA 1 PROTOCOLOS A Figura 5 indica as linguagens de descrição de Web Services em um contexto global, incluindo exemplos de linguagens de composição.

22 15 Composição de Web Services BPEL4WS, WSFL, etc Publicação e Busca UDDI Camada de Descrição dos Serviços - WSDL Camada de Comunicação XML - SOAP Camada de Transporte: HTTP,SMTP, etc FIGURA 5 CENÁRIO DE PADRÕES DE WEB SERVICES FIGURA 6 CENÁRIO DETALHADO DE PADRÕES DE WEB SERVICES A Figura 5 detalha os principais componentes de uma estrutura de Web Services, onde a sua camada de composição e os Metadados relacionados são tratados nas seções seguintes. A Figura 6 apresenta o cenário de padrões para Web Services de uma forma mais detalhada, desde os componentes dos protocolos de comunicação SOAP (TCP/IP, HTTP e XML), os protocolos de definição, busca e divulgação (WSDL e UDDI) e as linguagens de composição no nível mais elevado da hierarquia, que são responsáveis pela segurança, a qualidade de serviço (QoS) e gerenciamento dos Web Services.

23 Entidades Regulamentadoras dos Web Services Algumas entidades que regulamentam o uso, padronização e divulgação dos Web Services estão descritas neste capítulo OASIS - Organization for the Advancement for Structured Information Standards A OASIS foi criada para estabelecer padrões para Web Services. É formada por um Comitê Técnico criado para desenvolver um Modelo de Componentes para Serviços em Web (WSCM). Dentro do Comitê Técnico WSCM existe o grupo de trabalho "Working Group Web Services User Interface" (WSUI) que submeteu as primeiras especificações ao OASIS para considerações do WSCM. O novo comitê tem duas metas principais: Habilitar negócios para distribuir aplicações na Web através de múltiplos canais de revenda; Habilitar novos serviços ou aplicações a serem criados ou liberar as aplicações existentes através da Web. Isto deve permitir que as companhias possam transferir Web Services através de portais e plataformas independente de produtos proprietários W3C - World Wide Web Consortium A W3C, entidade criada em 1994 tem o objetivo de guiar a Internet de forma concisa e padronizada. Para isto o W3C, desenvolve protocolos, especificações (como HTML e CSS) e ferramentas que garantem a inter-operacionalidade da Internet. É composta de vários subgrupos de estudo WS-I - Web Services Interoperability Organization A WS-I é uma organização que promove a divulgação dos Web Services, a interoperabilidade entre plataformas, sistemas operacionais e linguagens de

24 17 programação. Tem o objetivo de criar protocolos genéricos e independentes para a segurança e eficiência na entrega de mensagens, capaz de manter a compatibilidade entre as plataformas. Promove também a educação e divulgação de como os Web Services podem ser utilizados, suas potencialidades e perspectivas de uso. 3.5 Composição de Web Services A composição de Web Services envolve as mesmas dificuldades levantadas na composição de componentes. Entre os maiores desafios para uma correta coordenação de componentes, é possível citar três itens importantes: Em relação a dificuldade em garantir que os componentes efetuem as diferentes tarefas de acordo com os contratos estabelecidos pela coordenação; A questão da necessidade de mecanismos de autenticação e segurança que possam garantir uma não repudiação e sigilo nas transações descritas no contrato; A importância da criação de módulos para controle de transações e tolerância a falhas, dado que o fraco acoplamento entre os componentes faz com que os mecanismos de tratamento de erros e controle de execução também sejam fragmentados. No entanto, o desenvolvimento de sistemas baseados em serviços permite a criação de software sem que os desenvolvedores saibam que componentes irão utilizar a princípio, sua localização e sua implementação. Esta característica permite que os componentes sejam escolhidos de forma dinâmica em tempo de execução. Essa propriedade garante maior poder de adaptação, distribuição e tolerância a falhas por parte das aplicações. De acordo com esses princípios, uma aplicação orientada a serviços é uma composição de componentes fracamente acoplados. Tomando como base às aplicações orientadas a serviços, é possível imaginar a seguinte situação como exemplo: Um sistema de pacote de viagens,

25 18 detalhado na Figura 7, onde um cliente solicita reservas para um determinado pacote turístico. Neste sistema, é possível realizar reservas para avião, hotel e aluguel de carro. A partir do pedido de reserva, é então definido um processo para reserva do itinerário. Esta especificação e definição podem definir ordens de precedência e prioridade para chamada dos componentes do sistema bem como critérios de parada em caso de erros e caminhos alternativos em função dos resultados parciais. FIGURA 7 EXEMPLO DE COMPOSIÇÃO DE SERVIÇOS Para a execução de todas as partes deste processo, é possível utilizar um conjunto de componentes totalmente diferentes e de serviços distintos na Internet,

26 19 desde que estes atendam às especificações definidas de acordo com alguma linguagem de especificação (por exemplo, WSDL). Dessa forma, dois serviços distintos podem representar diferentes entidades no mundo real (cada hotel ou companhia aérea pode representar um serviço diferente) ou implementações independentes de uma mesma entidade física (serviços e rotinas redundantes de um mesmo provedor). 3.6 Linguagens de Composição para Web Services Embora os Web services terem estabelecido a base de mensagens e protocolos para integração e são eficientes para algumas interações, eles não são suficientes para a integração de processos de negócio que envolvem múltiplas empresas. A integração de processos de negócio em cenários reais de negócio envolvem interações de longa duração, gerenciamento de transações e invocação de estados e são dirigidos por um motor de workflow que executa um processo específico de negócio para automatizar o fluxo de informações e as operações de negócio. Isso acarreta na necessidade de linguagens de composição de Web Services, que provêm mecanismos que executarão a complexidade da execução de processos de negócio. A composição de Web Services é relacionada a agregação e composição de Web Services para criar processos de negócio. Enquanto apenas uma única linguagem padronizada é desejada para a especificação da composição de Web Services, os esforços de organizações e indústrias têm resultado em duas idéias principais: Vários trabalhos relacionados ao tema, como execuções de Web services, orquestração de Web Services e coreografia de Web Services que contribuem para a criação de processos de negócio baseados em Web Services.

27 20 Várias linguagens de composição de Web Services, como WSFL, BPEL4WS e WS-CDL para a modelagem de processos de negócio com Web Services. As linguagens de composição para Web Services constituem o topo da pirâmide dos padrões de Web Services, e são utilizadas para promover a orquestração e coreografia de Web Services. A orquestração descreve os processos de negócio que interagem com Web Services internos e/ou externos em uma ordem pré-definida para realização do negócio lógico. A coreografia descreve a colaboração entre os parceiros no processo de negócio, onde as colaborações envolvem as trocas de mensagens que são realizadas entre os Web Services. De acordo com a complexidade dos processos de negócio, uma linguagem de composição deve prover certos mecanismos para facilitar a modelagem e execução de processos de negócio baseados em Web Services. A composição de Web Services promete a interoperabilidade e reusabilidade de vários processos de negócio, onde diversas empresas como IBM, Microsoft e Sun desenvolveram vários padrões para essas linguagens. Os processos de refinamento e convergência desses padrões ainda estão acontecendo. FIGURA 8 LINGUAGENS DE COMPOSIÇÃO DE WEB SERVICES AO LONGO DO TEMPO.

28 21 A Figura 8 mostra a evolução e as entidades envolvidas na criação desses padrões através dos últimos anos Requisitos de uma Linguagem de Composição Os requisitos para uma linguagem de composição para Web Services são os que seguem: Deve ser auto-suficiente para expor detalhes de um serviço como seu perfil, modelos de processos e mecanismos binding; Deve ser capaz de especificar interfaces de componentes em uma implementação de maneiras independentes; Deve dar suporte ao desenvolvimento de componentes reutilizáveis em um framework usando programação básica de controle de construções; Deve prover suporte para processos baseados em construção e controle de modelagens. O modelo deve ser capaz de manipular composições seqüenciais, construções concorrentes como split, fork, split+join, construções em loop como iterações, repeat and while e construções não-determinísticas como choice e switch. Isso também implica em prover suporte à modelagem de subprocessos. Deve ser capaz de especificar descrições de processos de uma maneira abstrata sem amarrá-la a detalhes da execução atual para habilitar descrições reutilizáveis e também ser capaz de modelar processos executáveis que encapsulam o comportamento interno de um serviço. Deve expor a construção de modelagens que especificam responsabilidades definidas pelos agentes envolvidos no processo de composição, isto é, agentes de pedidos, agentes provedores e o casamento de padrões; Deve fornecer tolerância a falhas, deadlocks, livelocks e mecanismos de manipulação de exceções;

29 22 Deve estar apta a modelar especificações de componentes, como abstrações de comportamentos de componentes. Ser adequadamente expressiva tendo semântica de definição e uma robusta base composta de modelos formais, para facilitar descrições composições automatizadas de serviços através de agentes de software; Deve ser capaz de modelar restrições, na forma de regras, para inibir interações indesejadas entre os serviços. Isso também inclui suporte para modelos transacionais e a qualidade do serviço. Segurança e Privacidade formam uma parte integral de qualquer serviço de uma linguagem de composição. A linguagem deve estar apta a modelar a segurança como uma requisição funcional do sistema Processo de Negócio no Contexto das Linguagens de Composição Para o entendimento das linguagens de composição de Web Services, torna-se necessário estabelecer alguns conceitos relacionados ao termo processo de negócio. Processo de negócio da empresa: é a descrição dos passos necessários à execução das atividades sem considerar o sistema envolvido. Processo de negócio executável: esses sistemas são chamados de BPMS (Business Process Management System). Limita-se a execução dentro de uma única corporação. Sua execução não é limitada a minutos ou horas, ao invés disso, ele pode demorar dias, meses ou anos. BPML, XLNG e WSFL definem essa categoria de processo de negócio. Processos de negócio ebxml: é uma especificação de colaboração a qual pode ser usada para descrever como dois processos de negócio concorrentes interagem no nível de negócio.

30 23 Atividades do processo de negócio: representa uma interação de curta duração entre usuários ou sistemas. Um exemplo típico é uma aplicação OLTP (On Line Transaction Processing) J2EE. Workflow ou Workflow do processo de negócio: sistemas de workflow são associados à gerência automatizada de documentos, os quais requerem revisões e aprovações. Esses sistemas têm pouca ou nenhuma integração com sistemas da empresa No capítulo seguinte são apresentados os principais conceitos e os padrões já estabelecidos de Metadados bem como as linguagens de composição e os paradigmas de representação de processos de Web Services e seus respectivos Metadados através de processos de negócio. São abordadas as linguagens de composição WSFL, XLANG, WSCI, BPML, BPELW4S e WS-CDL, suas principais características e a forma com que tratam os Metadados para a manipulação nos Web Services Metadados e Padronização As pessoas que têm contato com ferramentas de Tecnologia da Informação utilizam alguma forma de Metadados, mesmo eventualmente sem saber quem as usam ou o seu significado. A definição mais comum de Metadados é dados sobre dados. Embora esta definição seja uma expressão da verdade e englobe todas as tentativas de definição, ela não dá a verdadeira dimensão de todos os aspectos que a envolvem. Os Metadados não fornecem somente o formato e o nome dos itens de dado, ele fornece o contexto em que o elemento de dado existe. Fornecem também informações tais como o domínio dos possíveis valores, a relação do elemento de dados com outros, regras de negócio do dado e mesmo a origem do dado. A seguir são apresentados alguns conceitos formais de Metadados:

31 24 São dados que descrevem os atributos de um recurso. Eles suportam funções como: localização, descoberta, documentação e outros. UKOLN(2000). Fornecem o contexto para entender os dados através do tempo. Inmon (1998) São o instrumental para transformar dados brutos em conhecimento. ComputerWire(2000). É todo dado físico (contido em software ou outra mídia) e conhecimento (adquirido pelos empregados e outras mídias) de dentro e fora da organização, incluindo informação sobre dados físicos, processos técnicos e de negócio, regras e restrições dos dados, e estrutura dos dados usados pela organização. Marco (2000, p. 4-5). A finalidade principal dos Metadados é documentar e organizar de forma estruturada os dados das organizações com o objetivo de minimizar duplicação de esforços e facilitar a manutenção dos dados. Segundo Terry Moriarty (1997, p ) estas diferentes interpretações estão relacionadas ao estágio da organização dentro da hierarquia evolucionária de gestão do conhecimento. Nesta abordagem, organizações no nível mais baixo da hierarquia gerenciam dados brutos. Organizações mais avançadas são capazes de administrar seus recursos de informação ao nível de Informação, Conhecimento ou Sabedoria. No nível de informação, o foco é nos relacionamentos entre todos os componentes do sistema e os papéis individuais que eles assumem no sistema. Uma organização que está envolvida ao ponto em que pode mostrar explicitamente as regras de negócio governando seu comportamento está atingindo o nível mais avançado da hierarquia. Neste patamar, a organização monitora ativamente seus sistemas para garantir que seu comportamento esteja como planejado, e dessa forma são possíveis as detecções e diagnósticos de qualquer comportamento anormal do sistema.

32 25 Existem diversos padrões de Metadados para finalidades distintas de informações. Para se ter uma idéia da variedade de esforços é mencionado alguns destes padrões segundo a pesquisa de Souza (2000) na Tabela 2. Padrão de Metadados Descrição Directory Interchance Format (DIF) Cria entradas de diretórios que descrevem um grupo de dados. Government Information Locator Service (GILS) Informações governamentais. Federal Geographic Data Committee (FGDC) Descrição de dados geo-espaciais. Machine Readable Card (MARC) Catalogação bibliográfica. Dublin Core (DC) Dados sobre páginas da web. Consortium for the Interchange of Museum Informações sobre museus. Information (CIMI) TABELA 2 PADRÕES DE METADADOS Para efeito deste estudo são considerados os principais padrões de Metadados relacionados com o ambiente de desenvolvimento de aplicações conforme Tabela 3. Órgão Padrão Descrição Tipo ISO ISO/IEC Especificação e padronização de elementos de dados. ISO IRDS - Information Resource Controle de um ambiente de Dictionary System gerenciamento de recurso da informação. EIA CDIF - CASE Data Interchange Definição de metamodelos para Format integração de ferramentas. ECMA PCTE - Portable Common Tool Environment Trata de interfaces de ferramentas/repositório. W3C XML - extensible Mark-up Define e estrutura páginas da web. Language Facilita a troca de Metadados na Internet. MDC MDIS - Meta Data Interchange Padrão para troca de Metadados entre Specification Ferramentas da Tecnologia de Informação. Jure Jure Facto Jure Facto Facto

33 26 MDC OIM - Open Information Model Facilita compartilhamento e reuso no desenvolvimento de aplicações e data warehouse. Facto TABELA 3 PADRÕES DE METADADOS E AMBIENTE DE DESENVOLVIMENTO Deste conjunto (Tabela 3) a ser estudado, somente os trabalhos da ISO (11179 e IRDS) e da ECMA (PCTE) são padrões de jure, ou seja, desenvolvidos por representações nacionais e oficiais. Todos os outros são padrões de facto, ou seja, conduzidas por consórcios de empresas do mercado BPML Business Process Modelling Language BPML é um padrão proposto pela BPMI.org (Business Process Management Initiative), uma organização independente consorciada pela Sun, Intalio, Sterling Commerce e outras. BPML pode ser visto como uma linguagem que compete com outros standards como WSFL da IBM a XLANG da Microsoft, o qual recentemente gerou uma fusão criando o BPEL4WS. BPML foi originalmente desenvolvida para habilitar o gerenciamento baseado em padrões para processos de e-business usados com a tecnologia BPMS (Business Process Management System). Ela pode ser aplicada a uma variedade de cenários, incluindo integração de aplicações empresariais e composição de Web Services. A linguagem BPML é uma especificação dedicada a processos de negócio executáveis. A especificação inclui suporte compreensivo em controles de fluxos, fluxo de dados e fluxo de eventos com estruturas de envio, recebimento e execução paralela e sincronização. Os principais ingredientes do BPML relacionados a Metadados são: atividades, processos, contextos, propriedades e sinais. As atividades são componentes que realizam funções específicas. Existem dois tipos de atividades: simples e complexas. Atividades simples são atômicas enquanto que as complexas são decompostas em atividades menores.

34 27 Um processo é uma atividade complexa que pode ser invocada por outros processos. Um processo que é definido independentemente de outros processos é chamado um processo top-level. Um processo que é definido para executar dentro de outro processo é chamado de processo aninhado. Além disso, existem dois tipos de processos especiais: processos de exceção e de compensação. FIGURA 9 EXEMPLO DE CODIFICAÇÃO BPML A Figura 9 apresenta um exemplo de codificação em BPML, onde é demonstrado um processo composto por uma ou mais seqüências, que por sua vez são compostas por uma ou mais atividades. Contextos são muito importantes em BPML. Um contexto define um ambiente para execução de atividades relacionadas. O contexto pode ser usado para trocas de informação e execuções coordenadas. Um contexto contém definições locais que só são aplicadas dentro do escopo daquele contexto. Definições locais incluem propriedades, processos e sinais, entre outros. Contextos podem ser aninhados em um contexto filho (recursivamente) que herda definições de seus contextos pai e podem sobrepor características. Um processo pode ter um contexto no qual ele pode ser compartilhado por todas as atividades que o executam como parte daquele processo. Propriedades são usadas para trocas de informação e podem existir somente em um contexto. Uma definição de propriedade tem um nome e um tipo enquanto cada instância da propriedade tem um valor no alcance dos tipos de uma definição correspondente. Pode-se pensar em propriedades como atributos (ou variáveis de

35 28 instanciação) de um processo. Sinais são usados para coordenar a execução de atividades que são executadas dentro de um contexto comum para sincronizar atividades paralelas. Dessa forma, Sinais podem ser entendidos como mensagens, e há construções a serem enviadas como uma mensagem (sinais raise) e esperar uma mensagem sincronizar o sinal. A notação das atividades é utilizada para especificar a execução de funções com seus comportamentos especificados por atributos. Tipos suficientes de atividades são contemplados, com 10 atividades simples e 7 complexas que modelam a execução estruturada de processos de negócio. A definição de um processo é um template que instancia instâncias de processos. Ela é construída para modelar a execução de processos de negócio. As exceções são manipuladas através de processos de exceção e manipuladores de falhas. A compensação também é suportada para reverter o efeito das atividades em processos. As transações de operações de negócio são suportados com três maneiras através de declaração de atividades: Como atividades atômicas, processos persistentes e transações aninhadas. A notação de agendamento é utilizada para gerar eventos por tempo que podem ser disparados na instanciação de processos. BPML foi construída no topo da descrição de serviço WSDL. O padrão oferecido pela BPMI é muito similar a BPEL. Como diferenças principais BPML habilita a especificação de múltiplos processos em um único documento XML e relações de comunicação entre esses processos. Além disso, BPML não está amarrada com WSDL. Conseqüentemente, o protocolo de comunicação de BPML é concordante XLANG X Language Originada pela Microsoft, XLANG é o segundo predecessor de BPEL. É uma linguagem que torna possível formalizar processos de negócios como longas interações em uma organização. As interações entre serviços podem ocorrer através de trocas de mensagens expressas em forma de operações WSDL.

36 29 A especificação define extensões WSDL para descrever comportamentos de processos de um Web Service similar a WSCI. De forma adicional, provê meios de definir correlação de mensagens, regras, eventos e manipulação de exceções bem como declaração de transações. Um serviço de descrição XLANG é definido como um serviço de descrição WSDL com elementos de extensão que descrevem o comportamento do serviço como parte do processo de negócio. XLANG foca no comportamento público e visível na forma de trocas de mensagens. Uma interação em XLANG é uma instanciação de um serviço. Dessa forma as mensagens trocadas não necessariamente precisam ser entregues para a correta porta de destino, mas também para a instância correta do serviço que define a porta, onde cada mensagem contém um token de correlação. Um conjunto de tokens de correlação (chamado conjunto de correlação ) é definido como um conjunto de propriedades compartilhadas por todas as mensagens no grupo de correlação. XLANG assume que determinadas port types, usadas na definição de serviços de descrição XLANG, são restrições que contém somente operações de entrada, ou somente operações de saída. Um comportamento de um serviço XLANG é composto por ações. Essas ações podem ser operações WSDL, delays (por exemplo, uma thread tem que ser pausada para outros processos serem executados), e ações raise (isto é, a notificação de condições excepcionais). Em um serviço XLANG, as ações são combinadas usando processos básicos de controle, como while, sequence, empty, switch, all, pick e formas avançadas context e compensate. O processo de context provê um framework para declarações locais, manipulação de exceções e comportamentos transacionais. Contextos podem ser usados para delinear o escopo de parte de um comportamento que tem propriedades de transação. Um exemplo de uma codificação XLANG está na Figura 10, que demonstra o operador all, que compõe toda a seqüência de atividades do processo de negócio.:

37 30 <all> <sequence> <! realizar reserva de avião --> </sequence> <sequence> <!-- realizar reserva de veículo--> </sequence> <sequence> <! realizar reserva de hotel--> </sequence> </all> FIGURA 10 EXEMPLO DE CODIFICAÇÃO XLANG Internamente XLANG sinaliza que um processo de compensação implícito ou explícito está associado com um contexto, e isso pode ser invocado usando o processo de compensação. XLANG não informa a respeito de ações de compensação, mas sobre processos de compensação WSFL - Web Service Flow Language A linguagem proposta pela IBM é um dos predecessores de BPEL. É uma linguagem completa e neutra e está integrada com UDDI e WSDL para seleção dinâmica de Web Services. WSFL habilita desenvolvedores a criar, executar e combinar Web Services em complexos processos e fluxos de trabalhos. Em um ambiente WSFL são inclusos os conceitos de suporte de transação, informação gráfica de posições, e dados estatísticos. O controle de fluxo em WSFL é modelado via grafos direcionados. WSFL por si só não negocia com modelos de processos de negócio; particularmente é uma especificação de como implementar um modelo de processo de negócio usando a arquitetura de Web Services. WSFL pode ser usado para criar uma representação em XML de um modelo de negócio, e então suprir a representação XML em uma aplicação middleware desenvolvida para invocar e gerenciar os processos. Um documento WSFL usa elementos de Metadados como Tipos Provedores de Serviço para identificar as regras dos implementadores de

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

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

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

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

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

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

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

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

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

Glossário Apresenta a definição dos termos, siglas e abreviações utilizadas no contexto do projeto Citsmart.

Glossário Apresenta a definição dos termos, siglas e abreviações utilizadas no contexto do projeto Citsmart. Apresenta a definição dos termos, siglas e abreviações utilizadas no contexto do projeto Citsmart. Versão 1.6 15/08/2013 Visão Resumida Data Criação 15/08/2013 Versão Documento 1.6 Projeto Responsáveis

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

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

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

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

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

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

Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto

Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto Engenharia de Software I Informática 2009 Profa. Dra. Itana Gimenes RUP: Artefatos de projeto Modelo de Projeto: Use-Case Realization-projeto

Leia mais

ENGENHARIA DE SOFTWARE I

ENGENHARIA DE SOFTWARE I ENGENHARIA DE SOFTWARE I Prof. Cássio Huggentobler de Costa [cassio.costa@ulbra.br] Twitter: www.twitter.com/cassiocosta_ Agenda da Aula (002) Metodologias de Desenvolvimento de Softwares Métodos Ágeis

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

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

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

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

5 Estudo de caso: utilizando o sistema para requisição de material

5 Estudo de caso: utilizando o sistema para requisição de material 61 5 Estudo de caso: utilizando o sistema para requisição de material A fim de avaliar as características da arquitetura proposta e a corretude da implementação, realizamos experiências com cenários de

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

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

Feature-Driven Development

Feature-Driven Development FDD Feature-Driven Development Descrição dos Processos Requisitos Concepção e Planejamento Mais forma que conteúdo Desenvolver um Modelo Abrangente Construir a Lista de Features Planejar por

Leia mais

UNIDADE 4. Introdução à Metodologia de Desenvolvimento de Sistemas

UNIDADE 4. Introdução à Metodologia de Desenvolvimento de Sistemas UNIDADE 4. Introdução à Metodologia de Desenvolvimento de Sistemas 4.1 Motivação Sistemas de Informação são usados em diversos níveis dentro de uma organização, apoiando a tomada de decisão; Precisam estar

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

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

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

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

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

Leia mais

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

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

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

PRODUTO 1 (CONSTRUÇÃO DE PORTAL WEB)

PRODUTO 1 (CONSTRUÇÃO DE PORTAL WEB) RELATÓRIO DE ENTREGA DO PRODUTO 1 (CONSTRUÇÃO DE PORTAL WEB) PARA A ELABORAÇÃO DOS PLANOS MUNICIPAIS DE GESTÃO INTEGRADA DE RESÍDUOS SÓLIDOS PMGIRS PARA OS MUNICÍPIOS DE NOVO HORIZONTE, JUPIÁ, GALVÃO,

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

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

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

Programação Cliente em Sistemas Web

Programação Cliente em Sistemas Web Programação Cliente em Sistemas Web WEBSERVICES Cap 18. - Sistemas distribuídos e serviços web em Deitel, H.M, Sistemas Operacionais, 3 ª edição, Pearson Prentice Hall, 2005 Fonte: Rodrigo Rebouças de

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

Comunicando através da rede

Comunicando através da rede Comunicando através da rede Fundamentos de Rede Capítulo 2 1 Estrutura de Rede Elementos de comunicação Três elementos comuns de comunicação origem da mensagem o canal destino da mensagem Podemos definir

Leia mais

Engenharia de Software III

Engenharia de Software III Engenharia de Software III Casos de uso http://dl.dropbox.com/u/3025380/es3/aula6.pdf (flavio.ceci@unisul.br) 09/09/2010 O que são casos de uso? Um caso de uso procura documentar as ações necessárias,

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

Professor: Rômulo César romulodandrade@gmail.com www.romulocesar.com.br BPMN

Professor: Rômulo César romulodandrade@gmail.com www.romulocesar.com.br BPMN Professor: Rômulo César romulodandrade@gmail.com www.romulocesar.com.br BPMN Benefícios da modelagem Em uma organização orientada a processos, modelos de processos são o principal meio para medir o desempenho

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

MÓDULO 7 Modelo OSI. 7.1 Serviços Versus Protocolos

MÓDULO 7 Modelo OSI. 7.1 Serviços Versus Protocolos MÓDULO 7 Modelo OSI A maioria das redes são organizadas como pilhas ou níveis de camadas, umas sobre as outras, sendo feito com o intuito de reduzir a complexidade do projeto da rede. O objetivo de cada

Leia mais

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

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

Leia mais

Resumo do BABok 2.0 O Guia de Referência de Análise de Negócio Curso de Analista de Negócio 3.0

Resumo do BABok 2.0 O Guia de Referência de Análise de Negócio Curso de Analista de Negócio 3.0 O que é BABok? O BABok 2.0, Corpo de Conhecimento de Análise de Negócios, é considerado como um Guia Referência de Práticas de Análise de Negócio. Este guia é publicado e mantido pelo IIBA. O guia BABok

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

BPMN (Business Process. George Valença gavs@cin.ufpe.br

BPMN (Business Process. George Valença gavs@cin.ufpe.br BPMN (Business Process Modeling Notation) George Valença gavs@cin.ufpe.br 31/10/2012 Introdução Modelagem de processos No ciclo de vida BPM, a etapa de modelagem de processos consiste em um conjunto de

Leia mais

PROGRAMAÇÃO AVANÇADA -CONCEITOS DE ORIENTAÇÃO A OBJETOS. Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br

PROGRAMAÇÃO AVANÇADA -CONCEITOS DE ORIENTAÇÃO A OBJETOS. Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br PROGRAMAÇÃO AVANÇADA -CONCEITOS DE ORIENTAÇÃO A OBJETOS Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br ROTEIRO 1. Conceitos de Orientação a Objetos Introdução O paradigma da POO Classes

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

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

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

http://www.wikiconsultoria.com.br/100-motivos-implantar-crm/

http://www.wikiconsultoria.com.br/100-motivos-implantar-crm/ Continuando a série 100 motivo para implantar um CRM, veremos agora motivos referentes a BackOffice de CRM. Se você não tem a primeira parte da nossa apresentação, com os primeiros 15 motivos para implantar

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

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

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

Leia mais

APLICAÇÃO REDE APLICAÇÃO APRESENTAÇÃO SESSÃO TRANSPORTE REDE LINK DE DADOS FÍSICA 1/5 PROTOCOLOS DE REDE

APLICAÇÃO REDE APLICAÇÃO APRESENTAÇÃO SESSÃO TRANSPORTE REDE LINK DE DADOS FÍSICA 1/5 PROTOCOLOS DE REDE 1/5 PROTOCOLOS DE O Modelo OSI O OSI é um modelo usado para entender como os protocolos de rede funcionam. Para facilitar a interconexão de sistemas de computadores, a ISO (International Standards Organization)

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

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

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

Definição de Padrões. Padrões Arquiteturais. Padrões Arquiteturais. Arquiteturas de Referência. Da arquitetura a implementação. Elementos de um Padrão

Definição de Padrões. Padrões Arquiteturais. Padrões Arquiteturais. Arquiteturas de Referência. Da arquitetura a implementação. Elementos de um Padrão DCC / ICEx / UFMG Definição de Padrões Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Um padrão é uma descrição do problema e a essência da sua solução Documenta boas soluções para problemas recorrentes

Leia mais

Requisitos de Software

Requisitos de Software Requisitos de Software Centro de Informática - Universidade Federal de Pernambuco Kiev Gama kiev@cin.ufpe.br Slides originais elaborados por Ian Sommerville e adaptado pelos professores Márcio Cornélio,

Leia mais

2 Geração Dinâmica de Conteúdo e Templates de Composição

2 Geração Dinâmica de Conteúdo e Templates de Composição 2 Geração Dinâmica de Conteúdo e Templates de Composição Alguns dos aspectos mais importantes na arquitetura proposta nesta dissertação são: a geração dinâmica de conteúdo e a utilização de templates de

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

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

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

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

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

Conceitos de Banco de Dados

Conceitos de Banco de Dados Conceitos de Banco de Dados Autor: Luiz Antonio Junior 1 INTRODUÇÃO Objetivos Introduzir conceitos básicos de Modelo de dados Introduzir conceitos básicos de Banco de dados Capacitar o aluno a construir

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

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

A Linguagem de Modelagem Unificada (UML)

A Linguagem de Modelagem Unificada (UML) Aécio Costa A Linguagem de Modelagem Unificada (UML) Percebeu-se a necessidade de um padrão para a modelagem de sistemas, que fosse aceito e utilizado amplamente. Surge a UML (Unified Modeling Language)

Leia mais

BPM e SOA. Grinaldo Lopes de Oliveira (grinaldo@gmail.com) Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas

BPM e SOA. Grinaldo Lopes de Oliveira (grinaldo@gmail.com) Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas BPM e SOA Grinaldo Lopes de Oliveira (grinaldo@gmail.com) Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas Como funcionam as organizações? O que ébpm Business Process Management (BPM)

Leia mais

3 SERVIÇOS IP. 3.1 Serviços IP e alguns aspectos de segurança

3 SERVIÇOS IP. 3.1 Serviços IP e alguns aspectos de segurança 3 SERVIÇOS IP 3.1 Serviços IP e alguns aspectos de segurança Os serviços IP's são suscetíveis a uma variedade de possíveis ataques, desde ataques passivos (como espionagem) até ataques ativos (como a impossibilidade

Leia mais

ARCO - Associação Recreativa dos Correios. Sistema para Gerenciamento de Associações Recreativas Plano de Desenvolvimento de Software Versão <1.

ARCO - Associação Recreativa dos Correios. Sistema para Gerenciamento de Associações Recreativas Plano de Desenvolvimento de Software Versão <1. ARCO - Associação Recreativa dos Correios Sistema para Gerenciamento de Associações Recreativas Versão Histórico da Revisão Data Versão Descrição Autor Página

Leia mais

UFG - Instituto de Informática

UFG - Instituto de Informática UFG - Instituto de Informática Curso: Sistemas de Informação Arquitetura de Software Prof.: Fabrízzio A A M N Soares professor.fabrizzio@gmail.com Aula 3 Introdução à Arquitetura de Software (continuação)

Leia mais

RESPOSTA AO QUESTIONAMENTO FORMULADO POR EMPRESA INTERESSADA NO CERTAME.

RESPOSTA AO QUESTIONAMENTO FORMULADO POR EMPRESA INTERESSADA NO CERTAME. RESPOSTA AO QUESTIONAMENTO FORMULADO POR EMPRESA INTERESSADA NO CERTAME. Brasília, 10 de fevereiro de 2010. Pregão n 062/2009 Lote 1: Lote 2: Operação, Gerenciamento de Redes, Servidores, Storage & Archive,

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

Guia de utilização da notação BPMN

Guia de utilização da notação BPMN 1 Guia de utilização da notação BPMN Agosto 2011 2 Sumário de Informações do Documento Documento: Guia_de_utilização_da_notação_BPMN.odt Número de páginas: 31 Versão Data Mudanças Autor 1.0 15/09/11 Criação

Leia mais

Profa. Gislaine Stachissini. Unidade III GOVERNANÇA DE TI

Profa. Gislaine Stachissini. Unidade III GOVERNANÇA DE TI Profa. Gislaine Stachissini Unidade III GOVERNANÇA DE TI Information Technology Infrastructure Library ITIL Criado pelo governo do Reino Unido, tem como objetivo a criação de um guia com as melhores práticas

Leia mais

Modelos de Sistema. 2007 by Pearson Education. Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 8 Slide 1.

Modelos de Sistema. 2007 by Pearson Education. Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 8 Slide 1. Modelos de Sistema Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 8 Slide 1 Objetivos Explicar por que o contexto de um sistema deve ser modelado como parte do processo de RE Descrever

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

Entendendo como funciona o NAT

Entendendo como funciona o NAT Entendendo como funciona o NAT Vamos inicialmente entender exatamente qual a função do NAT e em que situações ele é indicado. O NAT surgiu como uma alternativa real para o problema de falta de endereços

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

BPMN (Exemplos e Exercícios) e UDDI

BPMN (Exemplos e Exercícios) e UDDI DAS5316 BPMN (Exemplos e Exercícios) e UDDI Prof. Ricardo J. Rabelo (rabelo@das.ufsc.br) Responsável pela elaboração dos slides Alexandre Perin (perin@das.ufsc.br) Florianópolis (SC), 2010. Roteiro BPMN

Leia mais

Diretrizes Complementares para Aplicação da Análise de Pontos de Função no PAD

Diretrizes Complementares para Aplicação da Análise de Pontos de Função no PAD Diretrizes Complementares para Aplicação da Análise de Pontos de Função no PAD Ricardo Gaspar (21) 2172-8078 ricardo.gaspar@bndes.gov.br 10 de Junho de 2013 Agenda Contextualização Diretrizes de Contagem

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

DATA WAREHOUSE. Introdução

DATA WAREHOUSE. Introdução DATA WAREHOUSE Introdução O grande crescimento do ambiente de negócios, médias e grandes empresas armazenam também um alto volume de informações, onde que juntamente com a tecnologia da informação, a correta

Leia mais

Banco de Dados I. Apresentação (mini-currículo) Conceitos. Disciplina Banco de Dados. Cont... Cont... Edson Thizon (edson@esucri.com.

Banco de Dados I. Apresentação (mini-currículo) Conceitos. Disciplina Banco de Dados. Cont... Cont... Edson Thizon (edson@esucri.com. Sistemas da Informação Banco de Dados I Edson Thizon (edson@esucri.com.br) 2008 Apresentação (mini-currículo) Formação Acadêmica Mestrando em Ciência da Computação (UFSC/ ) Créditos Concluídos. Bacharel

Leia mais

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

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

Leia mais