SOA (Service-Oriented Architecture) Conceitos e Aplicação. Daniel Macêdo Batista IME/USP Março

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

Download "SOA (Service-Oriented Architecture) Conceitos e Aplicação. Daniel Macêdo Batista IME/USP Março"

Transcrição

1 SOA (Service-Oriented Architecture) Conceitos e Aplicação Daniel Macêdo Batista IME/USP batista@ime.usp.br Março

2 Objetivos do curso Melhores práticas Benefícios de SOA SOAP e REST Migração para SOA Exemplos Em resumo, a ideia é desmistificar o tópico

3 Roteiro Manhã (2h10m): Conceitos básicos de SOA e serviços Alguns exemplos simples XML, WSDL e SOAP Primeira parte da tarde (1h50m): REST, JSON e UDDI com exemplos Microserviços e composição de serviços Segunda parte da tarde (1h50m): Alguns exemplos com acesso a BD Conclusões e discussão

4 Conceitos básicos de SOA e serviços

5 O que é SOA (Service-Oriented Architecture Arquitetura Orientada a Serviços)? Um estilo arquitetural para projetos de sofware que suporta orientação a serviço (segundo o OpenGroup) Paradigma para troca de valores entre participantes que agem de forma independente (segundo o OASIS)

6 (Focando na definição do OpenGroup) O que é um serviço? Representação lógica de atividades de negócio Auto-contido Pode ser composto por outros serviços Uma caixa-preta para os consumidores

7 Representação lógica de atividades de negócio Informar a temperatura atual em uma cidade seria um serviço fornecido por uma companhia de previsão do tempo Informar a média de um aluno seria um serviço fornecido por uma universidade Passar a pensar nas ações

8 Auto-contido Todas as dependências de software do serviço de meteorologia são resolvidas pela companhia de previsão de tempo (consultar informações de satélite, fazer cálculos complexos, etc ) O mesmo vale para a média (verificação de permissões, acesso ao BD, etc...)

9 Composto por outros serviços Orquestração

10 Composto por outros serviços Coreografia

11 Caixa-preta Não importa como foi implementado e sim se responde adequadamente às solicitações Importante ser independente de tecnologia ou plataforma Quem vai acessar o serviço só quer usar

12 Na prática o que tudo isso quer dizer e como é feito? 1) Pensar em sistemas como conjuntos de serviços que reflitam as atividades 2) Implementar cada serviço como um código independente e pequeno (Reuso) 3) Disponibilizar os serviços via rede com suas descrições

13 Na prática o que tudo isso quer dizer e como é feito? 4) Se necessário, compor serviços para ter o sistema final 5) Quando necessário, tratar os dados devolvidos pelos serviços evitando mudanças constantes nos serviços

14 Na prática o que tudo isso quer dizer e como é feito?. SOA vai definir como integrar diversos pedaços de código espalhados pela rede (interface, protocolo e funcionalidade). No fim das contas estamos falando de programação modular

15 Tudo começa (na verdade estamos no passo 2!!) com 1 serviço escrito em alguma linguagem de programação, um web service...

16 O serviço estará no provedor de serviços. Preciso saber sobre ele UDDI (Universal Description Discovery and Integration)

17 O serviço estará no provedor de serviços. Preciso saber sobre ele WSDL (Web Services Description Language)

18 Já sei sobre o serviço, preciso invocá-lo Servidor web (porta 80 já aberta, todo lugar já tem um)

19 Já sei sobre o serviço, preciso invocá-lo SOAP (Simple Object Access Protocol) ou REST (Representational State Transfer)

20 Alguns exemplos simples

21 Exemplo 1: uma aplicação baseada em um serviço que recebe um nome e devolve um Olá <nome> Passo 1: Instalar um servidor web (ex.: Apache) Não necessário se só vai usar! Passo 2: Ter algum compilador ou interpretador com suporte a serviços (ex.: Java, PHP, perl,...)

22 Passo 1: Instalar um servidor web (ex.: Apache) apt-get install apache2 Passo 2: Ter algum compilador ou interpretador com suporte a serviços (ex.: PHP) apt-get install php5-common libapache2-mod-php5 php5-cli libnusoap-php

23 Passo 3: escrever o código do serviço e divulgá-lo [exemplo1-servico.php] require_once('nusoap/nusoap.php')

24 Passo 3: escrever o código do serviço e divulgá-lo require_once('nusoap/nusoap.php'); $server = new nusoap_server;

25 Passo 3: escrever o código do serviço e divulgá-lo require_once('nusoap/nusoap.php'); $server = new nusoap_server; $server->configurewsdl('server.hello', 'urn:server.hello');

26 Passo 3: escrever o código do serviço e divulgá-lo require_once('nusoap/nusoap.php'); $server = new nusoap_server; $server->configurewsdl('server.hello', 'urn:server.hello'); $server->wsdl->schematargetnamespace = 'urn:server.hello');

27 Passo 3: escrever o código do serviço e divulgá-lo $server->register('hello', array('nome' => 'xsd:string'), array('return' => 'xsd:string'), 'urn:server.hello', 'urn:server.hello#hello', 'rpc', 'encoded', 'servico que retorna o nome');

28 Passo 3: escrever o código do serviço e divulgá-lo function hello($nome) { return 'Olá '. $nome; }

29 Passo 3: escrever o código do serviço e divulgá-lo function hello($nome) { return 'Olá '. $nome; } $HTTP_RAW_POST_DATA=isset($HTTP_RAW_POST_DATA)? $HTTP_RAW_POST_DATA : ''; $server->service($http_raw_post_data);

30 Passo 4: usar o serviço Testando pelo navegador wsdl

31 Passo 4: usar o serviço Testando pelo navegador

32 Passo 4: usar o serviço Testando pelo navegador

33 Passo 4: usar o serviço Programando [exemplo1-cliente.php] require_once('nusoap/nusoap.php');

34 Passo 4: usar o serviço Programando require_once('nusoap/nusoap.php'); $wsdl = ' wsdl';

35 Passo 4: usar o serviço Programando require_once('nusoap/nusoap.php'); $wsdl = ' wsdl'; $cliente = new nusoap_client($wsdl);

36 Passo 4: usar o serviço Programando require_once('nusoap/nusoap.php'); $wsdl = ' wsdl'; $cliente = new nusoap_client($wsdl); $saida = $cliente->call('hello', array('daniel Batista'));

37 Passo 4: usar o serviço Programando require_once('nusoap/nusoap.php'); $wsdl = ' wsdl'; $cliente = new nusoap_client($wsdl); $saida = $cliente->call('hello', array('daniel Batista')); print_r($saida);

38 Passo 4: usar o serviço Programando Documentação em

39 Passo 4: usar o serviço Programando apt-get install perl libsoap-lite-perl verdade esse seria o passo 2) (na

40 Passo 4: usar o serviço Programando [exemplo1-cliente.pl] use SOAP::Lite;

41 Passo 4: usar o serviço Programando use SOAP::Lite; my $url = ' wsdl';

42 Passo 4: usar o serviço Programando use SOAP::Lite; my $url = ' wsdl'; my $service = SOAP::Lite->service($url);

43 Passo 4: usar o serviço Programando use SOAP::Lite; my $url = ' wsdl'; my $service = SOAP::Lite->service($url); print "A saída do serviço é: ", $service>hello("daniel Batista"), "\n";

44 Passo 4: usar o serviço Programando daniel@cliente:/tmp$./exemplo1-cliente.pl A saída do serviço é: Olá Daniel Batista Mais informações em

45 O que aconteceu nos bastidores?

46 O que aconteceu nos bastidores?

47 O que aconteceu nos bastidores? (Já vimos no navegador)

48 O que aconteceu nos bastidores?

49 O que aconteceu nos bastidores?

50 O que aconteceu nos bastidores?

51 O que aconteceu nos bastidores?

52 O que aconteceu nos bastidores?

53 Observações Acesso à rede é crítico (mas de fato já era) O acesso ao WSDL pode usar cache (menos uso de rede) O acesso ao servidor com o serviço pode ser via HTTPS (segurança) O exemplo tem dois servidores HTTP por causa do php

54 Observações Tudo pode rodar no mesmo servidor (no nosso caso havia apenas 1 servidor apache) Não está preso à linguagem Se a linguagem tem suporte a serviços, pode integrar com outros sistemas

55 Observações O hello não está tão bom. Ideal é devolver o mínimo possível de informação (se fosse inverter a string, mudaria o serviço?) Cuidado ao modificar serviços existentes! (Documentação) O SOAP no fim das contas foi XML + HTTP (foi usado 2 vezes)

56 XML, WSDL e SOAP

57 XML (Extensible Markup Language) Linguagem de marcação com conjuntos de regras para documentos A ideia é que seja amigável para humanos e máquinas (este segundo, útil para web services)

58 XML (Extensible Markup Language) Apesar de ser descrito como voltado para documentos, pode representar qualquer estrutura de dados (bom para o caso de interoperabilidade por causa das regras bom para web services)

59 XML (Extensible Markup Language) No caso de web services, pode ser usado em vários momentos do processamento. Esquemas com as regras para cada momento são importantes Já vimos exemplos. Mais detalhes adiante Mais informações em

60 WSDL (Web Services Description Language) Linguagem de definição de interface Descreve as funcionalidades de um serviço web Funciona como a assinatura de uma função em programação convencional

61 WSDL (Web Services Description Language) A ideia não é criar um arquivo com essa linguagem manualmente Baseada em XML (XML Schema) Atualmente está na versão 2.0 Mais informações em

62 WSDL (Web Services Description Language)

63 WSDL (Web Services Description Language) <?xml version="1.0" encoding="iso "?> <definitions xmlns:soapenv=" xmlns:xsd=" xmlns:xsi=" xmlns:soap-enc=" xmlns:tns="urn:server.hello" xmlns:soap=" xmlns:wsdl=" xmlns=" targetnamespace="urn:server.hello">

64 WSDL (Web Services Description Language) <types> <xsd:schema targetnamespace="urn:server.hello" > <xsd:import namespace=" /> <xsd:import namespace=" /> </xsd:schema> </types>

65 WSDL (Web Services Description Language) <message name="hellorequest"> <part name="nome" type="xsd:string" /></message> <message name="helloresponse"> <part name="return" type="xsd:string" /></message> <porttype name="server.helloporttype"> <operation name="hello"> <documentation>servico que retorna o nome</documentation> <input message="tns:hellorequest"/> <output message="tns:helloresponse"/> </operation> </porttype>

66 WSDL (Web Services Description Language) <binding name="server.hellobinding" type="tns:server.helloporttype"> <soap:binding style="rpc" transport=" <operation name="hello"> <soap:operation soapaction="urn:server.hello#hello" style="rpc"/> <input><soap:body use="encoded" namespace="urn:server.hello" encodingstyle=" <output><soap:body use="encoded" namespace="urn:server.hello" encodingstyle=" </operation> </binding>

67 WSDL (Web Services Description Language) <service name="server.hello"> <port name="server.helloport" binding="tns:server.hellobinding"> <soap:address location=" </port> </service> </definitions>

68 SOAP (Simple Object Access Protocol) Define informação baseada em XML usada para trocar informação estruturada entre nós de um ambiente descentralizado e distribuído Paradigma de troca de mensagens em uma via (one way) sem manutenção de estado

69 SOAP (Simple Object Access Protocol) Mensagens SOAP são escritas em XML Mensagens SOAP são transportadas principalmente sobre protocolos da camada de aplicação HTTP ou SMTP ( )

70 SOAP (Simple Object Access Protocol) Três principais características: extensibilidade, neutralidade e independência

71 SOAP (Simple Object Access Protocol)

72 SOAP (Simple Object Access Protocol) <?xml version="1.0" encoding="utf-8"?>

73 SOAP (Simple Object Access Protocol) <SOAP-ENV:Envelope SOAP-ENV:encodingStyle=" xmlns:soap-enc=" xmlns:soap-env=" xmlns:soap=" xmlns:tns="urn:server.hello" xmlns:wsdl=" xmlns:xsd=" xmlns:xsi=" >

74 SOAP (Simple Object Access Protocol) <SOAP-ENV:Body> <tns:hello> <nome xsi:type="xsd:string"> Daniel Batista </nome> </tns:hello> </SOAP-ENV:Body> </SOAP-ENV:Envelope>

75 SOAP (Simple Object Access Protocol) Bom pela neutralidade Melhor ainda quando usando HTTP (infra de rede já configurada)

76 SOAP (Simple Object Access Protocol) Ruim por usar XML tanto para mensagens pequenas quanto para transportar binários Necessário usar SOAP Message Transmission Optimization Mechanism (MTOM)

77 SOAP (Simple Object Access Protocol) Ruim pela verbosidade exigida do HTTP (Tudo usando POST) Mais informações em

78 REST, JSON e UDDI com exemplos

79 Algumas informações importantes do que vimos até agora Pensar no sistema como conjunto de serviços deixa ele mais próximo do mundo real Servidor HTTP está na base da infra para SOA (latência da rede pode ser problema)

80 Algumas informações importantes do que vimos até agora Aplicar SOA força (facilita) o reuso Aplicações passam a ser conjuntos de módulos menores (os serviços) Serviços podem estar escritos em qualquer linguagem

81 Algumas informações importantes do que vimos até agora Interoperabilidade fácil Maior responsabilidade na hora de escrever e manter os ``módulos'', por isso importante serem pequenos

82 Algumas informações importantes do que vimos até agora Quantidade de informação trocada é excessiva Uso do POST no HTTP para tudo não é uma boa prática Testar aos poucos é fundamental!

83 Já que a rede é um gargalo, seria interessante otimizar as mensagens trocadas de forma fácil Já que o HTTP tem muitos métodos, seria interessante tirar proveito deles ao acessar serviços

84 REST (Representational State Transfer) Diferente do SOAP, não é um protocolo, mas um estilo arquitetural de software para sistemas de hipermídia distribuídos A ideia é ter componentes para compor as aplicações

85 REST (Representational State Transfer) Ignora detalhes de implementação dos componentes e sintaxe de protocolos Foca nos papeis dos componentes, restrições quando interagem e interpretação dos elementos de dados

86 REST (Representational State Transfer) Seguindo as restrições do REST busca-se: desempenho, escalabilidade, simplicidade, facilidade de modificação, visibilidade, portabilidade e confiabilidade Seguindo as restrições do REST: RESTfull

87 REST (Representational State Transfer) Tipicamente vai operar sobre HTTP usando os possíveis métodos do protocolo (GET, POST, DELETE, PUT, etc...)

88 REST (Representational State Transfer) Tudo que foi visto até agora sobre REST casa muito bem com serviços web! Serviços web que seguem o estilo de REST são chamados APIs RESTfull

89 Para um serviço web ser RESTfull: Ter uma URI (Uniform Resource Identifier) base ( Usar algum formato de mídia da Internet (JSON geralmente é o mais usado mas pode usar XML por exemplo)

90 Para um serviço web ser RESTfull: Usar métodos padrão do HTTP Usar links de hipertexto para acesso aos recursos e mudança de estado

91 REST (Representational State Transfer) O que se vê na prática é um predomínio de REST quando o assunto é serviços web Mais informações em ertation/rest_arch_style.htm

92 Na prática o que tudo isso quer dizer e como é feito? Pensar em coisas ao invés de ações Os recursos serão acessados em links usando GET, POST, etc... Pensar em substantivos ao invés de verbos O servidor vai processar o GET, POST,...

93 Na prática o que tudo isso quer dizer e como é feito? Recurso: pessoa (Daniel) [URL] Serviço: informação de contato (via GET) [URL] Representação: nome, endereço, telefone (via JSON ou XML por exemplo) [Retorno]

94 Na prática o que tudo isso quer dizer e como é feito? (com um exemplo simples o mesmo anteriormente) Exemplo 1: uma aplicação baseada em um serviço que recebe um nome e devolve um Olá <nome> mas agora usando REST

95 Passo 1: Instalar um servidor web (ex.: Apache) Não necessário se só vai usar! Passo 2: Ter algum compilador ou interpretador com suporte a serviços (ex.: Java, PHP, perl,...)

96 Passo 1: Instalar um servidor web (ex.: Apache) apt-get install apache2 Passo 2: Ter algum compilador ou interpretador com suporte a serviços (ex.: PHP) apt-get install php5-common libapache2-mod-php5 php5-cli

97 Passo 3: escrever o código do serviço [exemplo1-servico-rest.php] $urls_validas = array("hello");

98 Passo 3: escrever o código do serviço $urls_validas = array("hello"); if (isset($_get["action"]) && in_array($_get["action"], $urls_validas)) {

99 Passo 3: escrever o código do serviço $urls_validas = array("hello"); if (isset($_get["action"]) && in_array($_get["action"], $urls_validas)) { if (isset($_get["nome"])) {

100 Passo 3: escrever o código do serviço $urls_validas = array("hello"); if (isset($_get["action"]) && in_array($_get["action"], $urls_validas)) { if (isset($_get["nome"])) { $retorno = hello($_get["nome"]);

101 Passo 3: escrever o código do serviço $urls_validas = array("hello"); if (isset($_get["action"]) && in_array($_get["action"], $urls_validas)) { if (isset($_get["nome"])) { $retorno = hello($_get["nome"]);} else { $retorno = "Nome faltando";} }

102 Passo 3: escrever o código do serviço else { $retorno = "Ação inexistente"; }

103 Passo 3: escrever o código do serviço else { $retorno = "Ação inexistente"; } function hello($nome) { return 'Olá '. $nome; }

104 Passo 3: escrever o código do serviço else { $retorno = "Ação inexistente"; } function hello($nome) { return 'Olá '. $nome; } exit(json_encode($retorno));

105 Passo 4: usar o serviço Testando pelo navegador action=hello&nome=daniel%20batista

106 Passo 4: usar o serviço Testando pelo navegador

107 Passo 4: usar o serviço Testando pelo navegador

108 Passo 4: usar o serviço Testando pelo navegador

109 Passo 4: usar o serviço Programando [exemplo1-cliente-rest.php] $retorno = file_get_contents(' -servico-rest.php?action=hello&nome=daniel %20Batista');

110 Passo 4: usar o serviço Programando $retorno = file_get_contents(' -servico-rest.php?action=hello&nome=daniel %20Batista'); $retorno = json_decode($retorno);

111 Passo 4: usar o serviço Programando $retorno = file_get_contents(' -servico-rest.php?action=hello&nome=daniel %20Batista'); $retorno = json_decode($retorno); print_r($retorno);

112 Passo 4: usar o serviço Programando

113 O que aconteceu nos bastidores?

114 O que aconteceu nos bastidores?

115 O que aconteceu nos bastidores?

116 O que aconteceu nos bastidores?

117 O que aconteceu nos bastidores?

118 Observações Menos código no cliente e no servidor (mesmo fazendo várias checagens que não foram feitas com SOAP) Menos trocas de mensagens Mensagens menores Melhor uso da rede OK!

119 Observações Processamento em cima dos métodos do HTTP (desnecessário instalar algum pacote extra) Uso demasiado do POST não mais!

120 Observações Dois problemas do SOAP melhorados Responsabilidade na hora de escrever os módulos continua Possibilidade de testar aos poucos continua

121 JSON (JavaScript Object Notation) O exemplo anterior com REST retornou dados via JSON (bem mais enxuto que XML) JSON é um formato leve para troca de dados

122 JSON (JavaScript Object Notation) Fácil para humanos lerem e escreverem Fácil para máquinas processarem e gerarem Independente de linguagem

123 JSON (JavaScript Object Notation) Construído sobre duas estruturas: Uma coleção de pares nome/valor (como um objeto) Uma lista ordenada de valores (como um array)

124 JSON (JavaScript Object Notation)

125 JSON (JavaScript Object Notation)

126 JSON (JavaScript Object Notation)

127 JSON (JavaScript Object Notation)

128 JSON (JavaScript Object Notation)

129 JSON (JavaScript Object Notation) { "id": 1, "name": "Daniel Batista", "nota": 7.50, "tags": ["mestrado", "doutorado"] } Mais informações em

130 UDDI (Universal Description, Discovery and Integration) Protocolo padronizado pela OASIS que define métodos para publicar e descobrir serviços em SOA Possibilita a criação de um servidor com registros de serviços web

131 UDDI (Universal Description, Discovery and Integration) Foi proposto para receber requisições SOAP e devolver WSDLs dos serviços Mais informações em

132 UDDI (Universal Description, Discovery and Integration) Embora apareça em muitos documentos sobre SOA, na prática é pouco usado e apenas internamente em organizações

133 Microserviços e composição de serviços

134 Microserviços Mais um estilo arquitetural para desenvolvimento de software (já vimos SOA e REST) Aplicações complexas devem ser formadas por pequenos processos independentes que se comunicam via APIs (similar ao do Unix)

135 Microserviços Serviços web podem ser esses processos Requisições aos serviços podem fazer o papel das APIs

136 Microserviços O importante é que os serviços tenham baixíssimo acoplamento e sejam focados em realizar uma tarefa pequena (a ideia da programação modular ao extremo) Diferente de SOA, um conjunto de microserviços é voltado para uma única aplicação, não para diversas

137 Microserviços Fáceis de substituir Organizados por funcionalidade Independente de tecnologia (usar a linguagem que melhor resolve o problema)

138 Microserviços Uma consequência (mesmo usando REST) é que muitos serviços mais uso da rede maior latência na aplicação

139 Microserviços Mais informações em ices.html

140 Composição de serviços Não faz muito sentido num cenário de microserviços porque conta com o reuso de serviços existentes A ideia é ter um serviço formado por outros serviços

141 Composição de serviços Na orquestração de serviços, há um serviço principal regendo toda a execução Na coreografia de serviços, os serviços comunicam-se entre si sabendo qual é o próximo passo mas sem ter noção da aplicação como um todo

142 Alguns exemplos com acesso a BD

143 Por que serviços web para acesso a BD ao invés de acesso direto ao BD ou replicação? Clientes mais leves (menos uso de CPU, mais tempo de bateria) Facilidade em realizar migrações (até se mudar de SGBD)

144 Por que serviços web para acesso a BD ao invés de acesso direto ao BD ou replicação? A camada a mais por causa do serviço pode aumentar a segurança (questionável) Facilidade para implementar cache A latência da rede não é um problema (se o BD está tão ou mais longe que o servidor web por exemplo)

145 Exemplo 2: uma aplicação baseada em um serviço que recebe um nome e devolve as informações desse nome que estão armazenadas em um BD

146 Exemplo 2 [exemplo2-servico-rest.php] $urls_validas = array("busca");

147 Exemplo 2 $urls_validas = array("busca"); if (isset($_get["action"]) && in_array($_get["action"], $urls_validas)) {

148 Exemplo 2 $urls_validas = array("busca"); if (isset($_get["action"]) && in_array($_get["action"], $urls_validas)) { if (isset($_get["nome"])) { $retorno = busca($_get["nome"]);}

149 Exemplo 2 $urls_validas = array("busca"); if (isset($_get["action"]) && in_array($_get["action"], $urls_validas)) { if (isset($_get["nome"])) { $retorno = busca($_get["nome"]);} else { $retorno = "Nome faltando";}} else { $retorno = "Ação inexistente";}

150 Exemplo 2 function busca($nome) { $mysqli = mysqli_connect("localhost", "usuario", "senha", "professores");

151 Exemplo 2 function busca($nome) { $mysqli = mysqli_connect("localhost", "usuario", "senha", "professores"); mysqli_set_charset($mysqli, 'utf8mb4');

152 Exemplo 2 $resultado = array(); $saida_query = mysqli_query ($mysqli, "SELECT * FROM PESSOA WHERE NOME LIKE '$nome%'"); while($linha = mysqli_fetch_array ($saida_query)) { $dados = array( 'nome' => $linha['nome'], 'endereco' => $linha['endereco'], 'nascimento' => $linha['nascimento'] ); array_push($resultado, $dados); } return $resultado;}

153 Exemplo 2 exit(json_encode($retorno));

154 Exemplo 2 [exemplo2-cliente-rest.php] $retorno = file_get_contents(' $retorno = json_decode($retorno); print_r($retorno);

155 Exemplo 2

156 Conclusões e discussão

157 Prós e contras de SOA Mudança de paradigma Possível aumento na latência dos sistemas Grande dependência da rede Interoperabilidade entre diferentes linguagens e plataformas Infra de rede já montada

158 Prós e contras de SOA Reusabilidade dos serviços Com uma boa biblioteca de serviços, foco no negócio e não na implementação

159 Quanto custa migrar (já tendo um servidor web)? Se for REST, provavelmente nada a mais a ser instalado Se for SOAP, alguns poucos pacotes Provavelmente a linguagem de preferência poderá ser mantida

160 Quanto custa migrar (já tendo um servidor web)? Necessário avaliar a carga no servidor após um tempo Capacitação (não muitas horas) da equipe

161 SOAP vs. REST APIs REST vem sendo oferecidas pelos principais provedores de conteúdo (Twitter, Facebook, Amazon, ) SOAP só se tiver que interagir com algo que já use SOAP por conta da carga extra na rede e códigos grandes

162 Microserviços vs. SOA Microserviços só se forem desenvolvidos poucos sistemas baseados em SOA Não usar microserviços se boa parte dos serviços será reusada em muitos projetos Não usar microserviços se a rede é um problema (questionável)

163 Replicação de dados vs. Serviços Dar preferência por serviços (mais uma camada facilita mudanças no SGBD sem modificações para o cliente) Evitar replicação garante dados sempre atualizados e reduz tráfego na rede (questionável)

164 Referências Códigos em Patricia Araujo de Oliveira. Seleção de Serviços Web em Coreografias Dissertação (Mestrado em Ciência da Computação) - Universidade de São Paulo, Coordenação de Aperfeiçoamento de Pessoal de Nível Superior. Orientador: Daniel Macêdo Batista. Victoriano Alfonso Phocco Diaz. Detecção de violações de SLA em coreografias de serviços Web Dissertação (Mestrado em Ciência da Computação) - Universidade de São Paulo, União Européia. Orientador: Daniel Macêdo Batista.

165 Referências Obs.: Todas as páginas foram acessadas pela última vez em 28 de Março de

166 Referências Obs.: Todas as páginas foram acessadas pela última vez em 28 de Março de File:WSDL_11vs20.png

167 Referências Obs.: Todas as páginas foram acessadas pela última vez em 28 de Março de

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

Arquitetura de Aplicações J2EE. Jorge Fernandes Outubro de 2003

Arquitetura de Aplicações J2EE. Jorge Fernandes Outubro de 2003 Arquitetura de Aplicações J2EE Jorge Fernandes Outubro de 2003 J2EE O que é Como se organiza Como funciona Elementos Arquitetura Típica Componentes de Software Reuso é um processo Publicar interfaces Distribuir

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

Arquitecturas de Software Enunciado de Projecto 2007 2008

Arquitecturas de Software Enunciado de Projecto 2007 2008 UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO SUPERIOR TÉCNICO Arquitecturas de Software Enunciado de Projecto 2007 2008 1 Introdução Na primeira metade da década de 90 começaram a ser desenvolvidas as primeiras

Leia mais

REST Um Estilo de Arquitetura de Sistemas Distribuídos

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

Leia mais

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

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

Leia mais

Criando e consumindo Web service REST com PHP e JSON. Palestrante: Weiberlan Garcia

Criando e consumindo Web service REST com PHP e JSON. Palestrante: Weiberlan Garcia Criando e consumindo Web service REST com PHP e JSON Palestrante: Weiberlan Garcia Weiberlan Garcia Consultor de Software Livre, trabalha na empresa Ambiente Livre Tecnologia. Desempenha funções de análise,

Leia mais

UNIVERSIDADE. Sistemas Distribuídos

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

Leia mais

Introdução à orientação a objetos

Introdução à orientação a objetos Universidade Federal de Juiz de Fora PET Elétrica Introdução à orientação a objetos Tutor: Francisco José Gomes Aluno: João Tito Almeida Vianna 18/05/2013 1 Programação Estruturada x Orientação a objetos

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

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

5 Everyware: Uma Arquitetura para Aplicações baseadas em serviços utilizando a Web Semântica

5 Everyware: Uma Arquitetura para Aplicações baseadas em serviços utilizando a Web Semântica 5 Everyware: Uma Arquitetura para Aplicações baseadas em serviços utilizando a Web Semântica! " " $ % &' (' $ ) * ' +,-$. / ) $0)( 5.1. Princípio de Organização 1* 2 " &)') $ $ *..*$ EveryWare: Uma Plataforma

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

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 Serviços Web WSDL SOAP UDDI Ferramentas. Serviços Web. (Web Services) Emerson Ribeiro de Mello

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

Leia mais

COMPARANDO APLICAÇÃO WEB SERVICE REST E SOAP

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

Leia mais

Conceito Básicos de Programação com Objetos Distribuídos. Programação com Objetos Distribuídos (C. Geyer) Conceitos de POD 1

Conceito Básicos de Programação com Objetos Distribuídos. Programação com Objetos Distribuídos (C. Geyer) Conceitos de POD 1 Conceito Básicos de Programação com Objetos Distribuídos Programação com Objetos Distribuídos (C. Geyer) Conceitos de POD 1 Autoria Autor C. Geyer Local Instituto de Informática UFRGS disciplina : Programação

Leia mais

Unidade 14: Web Services Prof. Daniel Caetano

Unidade 14: Web Services Prof. Daniel Caetano Programação Servidor em Sistemas Web 1 Unidade 14: Web Services Prof. Daniel Caetano INTRODUÇÃO Na maior parte deste curso foram estudados serviços desenvolvidos com o uso de tecnologias Servlet. Entretato,

Leia mais

Arquiteturas SOA, WOA, e REST

Arquiteturas SOA, WOA, e REST Arquiteturas SOA, WOA, e REST Aplicação de Software Social Fred Figueiredo Luiz Borges Pedro Pires Arquiteturas SOA, WOA e REST Desenvolvimento de aplicações orientadas ao fornecimento de serviços que

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

Minicurso Web Services com PHP

Minicurso Web Services com PHP Minicurso Vinícius Costa de Souza viniciuscs@unisinos.br http://www.inf.unisinos.br/~vinicius julho de 2005 Apresentações Nome Conhecimentos sobre Web Services Conhecimentos sobre PHP Expectativas referentes

Leia mais

ENGENHARIA DE SOFTWARE

ENGENHARIA DE SOFTWARE INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE Curso Técnico em Informática : ENGENHARIA DE SOFTWARE Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br Um conjunto estruturado

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

Técnicas de Programação para a Web. Luiz Cláudio Silva. Novembro de 2005. Apresentação

Técnicas de Programação para a Web. Luiz Cláudio Silva. Novembro de 2005. Apresentação Técnicas de Programação para a Web Luiz Cláudio Silva Novembro de 2005 Apresentação Objetivos Gerais Identificar os diversos modelos de funcionamento de uma aplicação Web Citar as caracterísitcas de uma

Leia mais

Web Services utilizando JAX-WS

Web Services utilizando JAX-WS Web Services utilizando JAX-WS JAX-WS Facilitar o uso da API JAX-RPC e do modelo de implantação Anotações baseados em JSR-181 Exemplo Básico: Anotações: @WebService @WebMethod @WebParam @WebResult Exemplo

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

ÁREA DO PROFESSOR (TUTOR)

ÁREA DO PROFESSOR (TUTOR) ÁREA DO PROFESSOR (TUTOR) O MOODLE (Modular Object Oriented Dynamic Learning Environment) é um Ambiente Virtual de Ensino-Aprendizagem (AVEA) de código aberto, livre e gratuito que se mantém em desenvolvimento

Leia mais

Sefaz Virtual Ambiente Nacional Projeto Nota Fiscal Eletrônica

Sefaz Virtual Ambiente Nacional Projeto Nota Fiscal Eletrônica Projeto Nota Fiscal Eletrônica Orientações de Utilização do Sefaz Virtual Ambiente Nacional para as Empresas Versão 1.0 Fevereiro 2008 1 Sumário: 1. Introdução... 3 2. O que é o Sefaz Virtual... 4 3. Benefícios

Leia mais

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

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

Leia mais

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

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

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

Leia mais

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

2ª edição. Daniel Adorno Gomes. Novatec

2ª edição. Daniel Adorno Gomes. Novatec 2ª edição Daniel Adorno Gomes Novatec Copyright 2010, 2014 da 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,

Leia mais

Fundamentos de Sistemas Operacionais

Fundamentos de Sistemas Operacionais Fundamentos de Sistemas Operacionais Aula 2 Princípios de Programação Prof. Belarmino Linguagem de Computadores Internamente os computadores usam instruções e armazenam os dados no formato numérico binário

Leia mais

UNIVERSIDADE REGIONAL DE BLUMENAU CENTRO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIÊNCIAS DA COMPUTAÇÃO BACHARELADO WEB SERVICE PARA INTEGRAÇÃO DE APLICAÇÕES QUE UTILIZAM TROCA DE MENSAGENS E CONTROLE DE

Leia mais

REST. Caio Nakashima caio.nakashima@mds.gov.br caionakashima@gmail.com

REST. Caio Nakashima caio.nakashima@mds.gov.br caionakashima@gmail.com REST Caio Nakashima caio.nakashima@mds.gov.br caionakashima@gmail.com 1 RESTful REpresentation State Transfer Estilo de arquitetura de software para sistemas distribuídos Termo proposto por Roy Fielding

Leia mais

RELATÓRIO DEFINIÇÃO. Resumo

RELATÓRIO DEFINIÇÃO. Resumo RELATÓRIO DEFINIÇÃO Resumo Desenvolvimento em Web Services para Avaliação de Conhecimentos no Sapien flex. Desenvolver interface grafica para Integração no sistema Sapien Flex, Construção de exames auto-corrigidos

Leia mais

Administração de Banco de Dados. José Antônio da Cunha CEFET - RN

Administração de Banco de Dados. José Antônio da Cunha CEFET - RN Administração de Banco de Dados José Antônio da Cunha CEFET - RN Introdução Com o SQL mail é possível mandar e-mail usando comandos específicos de dentro do código de procedures e até emitir notificar

Leia mais

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

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

Leia mais

Ambientes Visuais. Ambientes Visuais

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

Leia mais

Princípios e Conceitos de Desenho de Software. Projeto de Sistemas de Software Prof. Rodrigo Ribeiro

Princípios e Conceitos de Desenho de Software. Projeto de Sistemas de Software Prof. Rodrigo Ribeiro Princípios e Conceitos de Desenho de Software Projeto de Sistemas de Software Prof. Rodrigo Ribeiro Revisando... Processo Unificado PRAXIS Processo unificado: Dividido em fases e fluxos Fases Concepção,

Leia mais

Análise de Requisitos

Análise de Requisitos Análise de Requisitos Análise de Requisitos O tratamento da informação é um requisito que fundamenta o processo de desenvolvimento de software antes da solução de tecnologia a ser aplicada. Cada projeto

Leia mais

A Estrutura de um Web Service

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

Leia mais

Cadeira de Tecnologias de Informação. Ano lectivo 2009/2010. Sites dinâmicos. Com Expression Web TI2009/10 EWD_1. Filipa Pires da Silva (2009)

Cadeira de Tecnologias de Informação. Ano lectivo 2009/2010. Sites dinâmicos. Com Expression Web TI2009/10 EWD_1. Filipa Pires da Silva (2009) Cadeira de Tecnologias de Informação Ano lectivo 2009/2010 Sites dinâmicos Com Expression Web TI2009/10 EWD_1 .ASPX vs.html HTML: HTML é uma linguagem para descrever páginas web HTML significa Hyper Text

Leia mais

Engenharia de Software II

Engenharia de Software II Engenharia de Software II Aula 26 http://www.ic.uff.br/~bianca/engsoft2/ Aula 26-21/07/2006 1 Ementa Processos de desenvolvimento de software Estratégias e técnicas de teste de software Métricas para software

Leia mais

Universidade Federal de Juiz de Fora Ciência da Computação Sistemas Distribuídos Professor Ciro Barbosa

Universidade Federal de Juiz de Fora Ciência da Computação Sistemas Distribuídos Professor Ciro Barbosa Universidade Federal de Juiz de Fora Ciência da Computação Sistemas Distribuídos Professor Ciro Barbosa Web Service Plínio Antunes Garcia Sam Ould Mohamed el Hacen Sumário Introdução conceitual O Web Service

Leia mais

SIG-ISS Manual de integração do WebService para NFS-e

SIG-ISS Manual de integração do WebService para NFS-e Sistema Integrado de Gerenciamento do ISS SIG-ISS Manual de integração do WebService para NFS-e São Paulo, 9 de Janeiro de 2015. 1. Introdução Este manual tem como objetivo apresentar as especificações

Leia mais

Web Services: Metodologias de Desenvolvimento

Web Services: Metodologias de Desenvolvimento Web Services: Metodologias de Desenvolvimento Carlos J. Feijó Lopes José Carlos Ramalho Fevereiro de 2004 Resumo Os Web Services são uma tecnologia emergente, sobre a qual muito se tem especulado. No decorrer

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

Conceitos de Ajax Exemplos de uso do Ajax no braço, muitos exemplos, muito código (HTML, CSS, JavaScript, PHP, XML, JSON)

Conceitos de Ajax Exemplos de uso do Ajax no braço, muitos exemplos, muito código (HTML, CSS, JavaScript, PHP, XML, JSON) Márcio Koch 1 Currículo Formado na FURB em Ciência da Computação Pós graduado em Tecnologias para o desenvolvimento de aplicações web Mestrando em Computação Gráfica na UDESC Arquiteto de software na Senior

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

Web Services Uma Análise Comparativa

Web Services Uma Análise Comparativa Revista das Faculdades Integradas Claretianas N. 5 janeiro/dezembro de 2012 Web Services Uma Análise Comparativa Ricardo Frenedoso Da Silva ricardosilva.hrc@gmail.com Faculdades Integradas Claretianas

Leia mais

XML - Extensible Markup Language

XML - Extensible Markup Language Por Sergio Crespo XML - Extensible Markup Language Extensible Markup Language (XML) é linguagem de marcação de dados (meta-markup language) que provê um formato para descrever dados estruturados. Isso

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

Desenvolvimento de um sistema de leilão utilizando JavaServer Pages

Desenvolvimento de um sistema de leilão utilizando JavaServer Pages Desenvolvimento de um sistema de leilão utilizando JavaServer Pages Charles Burkhardt Orientador: Prof. Dr. Paulo Rodacki Gomes Roteiro da apresentação Introdução Conceitos Básicos Desenvolvimento do trabalho

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

Infra estrutura da Tecnologia da Informação

Infra estrutura da Tecnologia da Informação Infra estrutura da Tecnologia da Informação Capítulo 3 Adaptado do material de apoio ao Livro Sistemas de Informação Gerenciais, 7ª ed., de K. Laudon e J. Laudon, Prentice Hall, 2005 CEA460 Gestão da Informação

Leia mais

Gerenciamento e Interoperabilidade de Redes

Gerenciamento e Interoperabilidade de Redes EN-3610 Gerenciamento e Interoperabilidade de Redes Gerenciamento baseado na Web Prof. João Henrique Kleinschmidt Gerenciamento baseado na Web Web browser Acesso ubíquo Interface Web vs Gerenciamento baseado

Leia mais

Programação WEB. Prof. André Gustavo Duarte de Almeida andre.almeida@ifrn.edu.br www3.ifrn.edu.br/~andrealmeida. Aula II jquery UI

Programação WEB. Prof. André Gustavo Duarte de Almeida andre.almeida@ifrn.edu.br www3.ifrn.edu.br/~andrealmeida. Aula II jquery UI Prof. André Gustavo Duarte de Almeida andre.almeida@ifrn.edu.br www3.ifrn.edu.br/~andrealmeida Aula II jquery UI Introdução O que é jquery UI? Biblioteca que fornece maior nível de abstração para interação

Leia mais

CONSTRUÇÃO DE APLICAÇÕES DISTRIBUÍDAS UTILIZANDO SERVIÇOS WEB

CONSTRUÇÃO DE APLICAÇÕES DISTRIBUÍDAS UTILIZANDO SERVIÇOS WEB CONSTRUÇÃO DE APLICAÇÕES DISTRIBUÍDAS UTILIZANDO SERVIÇOS WEB Deusa Cesconeti e Jean Eduardo Glazar Departamento de Ciência da Computação Faculdade de Aracruz UNIARACRUZ {dcescone, jean}@fsjb.edu.br RESUMO

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

Os salários de 15 áreas de TI nas cinco regiões do Brasil

Os salários de 15 áreas de TI nas cinco regiões do Brasil Os salários de 15 áreas de TI nas cinco regiões do Brasil Entre 2011 e 2012, os salários na área de tecnologia da informação (TI) cresceram em média 10,78% um número animador, que pode motivar jovens estudantes

Leia mais

SOFTWARE DE CONTROLE DE ENTREGAS USANDO DISPOSITIVOS MÓVEIS E WEB SERVICE SOBRE A PLATAFORMA.NET

SOFTWARE DE CONTROLE DE ENTREGAS USANDO DISPOSITIVOS MÓVEIS E WEB SERVICE SOBRE A PLATAFORMA.NET SOFTWARE DE CONTROLE DE ENTREGAS USANDO DISPOSITIVOS MÓVEIS E WEB SERVICE SOBRE A PLATAFORMA.NET Autor: Ivan Carlos Junges Orientador: Francisco Adell Péricas Roteiro da Apresentação Introdução Objetivos

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

Gerenciador de Ambiente Laboratorial - GAL Manual do Usuário Módulo Controle de Qualidade Analítico

Gerenciador de Ambiente Laboratorial - GAL Manual do Usuário Módulo Controle de Qualidade Analítico Ministério da Saúde Secretaria Executiva Departamento de Informática do SUS DATASUS Gerenciador de Ambiente Laboratorial GAL Manual do Usuário Módulo Laboratório Manual de Operação_Módulo Laboratório_Controle

Leia mais

Curso de Aprendizado Industrial Desenvolvedor WEB

Curso de Aprendizado Industrial Desenvolvedor WEB Curso de Aprendizado Industrial Desenvolvedor WEB Disciplina: Programação Orientada a Objetos II Professor: Cheli dos S. Mendes da Costa Modelo Cliente- Servidor Modelo de Aplicação Cliente-servidor Os

Leia mais

Experiência 04: Comandos para testes e identificação do computador na rede.

Experiência 04: Comandos para testes e identificação do computador na rede. ( ) Prova ( ) Prova Semestral ( ) Exercícios ( ) Prova Modular ( ) Segunda Chamada ( ) Exame Final ( ) Prática de Laboratório ( ) Aproveitamento Extraordinário de Estudos Nota: Disciplina: Turma: Aluno

Leia mais

Roteiro... Sistemas Distribuídos Aula 4. Troca de mensagens. Comunicação entre processos. Conceitos de SD, vantagens e desvantagens

Roteiro... Sistemas Distribuídos Aula 4. Troca de mensagens. Comunicação entre processos. Conceitos de SD, vantagens e desvantagens Roteiro... Conceitos de SD, vantagens e desvantagens Infra-estrutura de um SD Considerações de projeto Sistemas Distribuídos Aula 4 Karine de Pinho Peralta Modelos de Comunicação - comunicação entre processos

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

Aprenda a instalar a plataforma de monitorização Cacti

Aprenda a instalar a plataforma de monitorização Cacti Aprenda a instalar a plataforma de monitorização Cacti Date : 27 de Março de 2014 Um administrador deve possuir as melhores ferramentas de monitorização para que tenha uma visão facilitada de toda a rede.

Leia mais

Lógica de Programação. Profas. Simone Campos Camargo e Janete Ferreira Biazotto

Lógica de Programação. Profas. Simone Campos Camargo e Janete Ferreira Biazotto Lógica de Programação Profas. Simone Campos Camargo e Janete Ferreira Biazotto O curso Técnico em Informática É o profissional que desenvolve e opera sistemas, aplicações, interfaces gráficas; monta estruturas

Leia mais

Introdução de XML. Dados da Web. Gerência de Dados da Web. A Web representa, nos dias de hoje, um repositório universal de dados, onde:

Introdução de XML. Dados da Web. Gerência de Dados da Web. A Web representa, nos dias de hoje, um repositório universal de dados, onde: Dados da Web Introdução de XML Banco de Dados II Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Departamento de Computação DECOM

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

A melhor plataforma aberta para redes sociais. Gustavo Caldeira Consultor em arquitetura de sistemas e web social caldeira.santos@gmail.

A melhor plataforma aberta para redes sociais. Gustavo Caldeira Consultor em arquitetura de sistemas e web social caldeira.santos@gmail. A melhor plataforma aberta Gustavo Caldeira Consultor em arquitetura de sistemas e web social caldeira.santos@gmail.com Tópicos Introdução Pré Requisitos/Instalação Plugins Extendendo o Elgg Performance

Leia mais

WSDL e UDDI. Pedro Miguel Martins Nunes WSDL. WSDL Exemplo prático Resumo UDDI. Serviço UDDI Estruturas de dados UDDI e WSDL API Resumo

WSDL e UDDI. Pedro Miguel Martins Nunes WSDL. WSDL Exemplo prático Resumo UDDI. Serviço UDDI Estruturas de dados UDDI e WSDL API Resumo e Serviço e e Tecnologias de Middleware 06/07 Curso de Especialização em Informática Departamento de Informática Faculdade de Ciências da Universidade de Lisboa 27.10.2006 e Serviço e 1 2 Serviço e 3 e...o

Leia mais

2. Gerar um arquivo XSD e referenciá-lo no WSDL, fazendo com que seja possível catalogar o XML Schema no catálogo de XML Schemas da e-ping;

2. Gerar um arquivo XSD e referenciá-lo no WSDL, fazendo com que seja possível catalogar o XML Schema no catálogo de XML Schemas da e-ping; Guia de Orientação para Implementação de Web Services Este documento apresenta alguns direcionamentos referentes à implementação de web services. É uma versão preliminar da construção do Guia de Orientação

Leia mais

Sobre o Visual C++ 2010

Sobre o Visual C++ 2010 O Visual Studio é um pacote de programas da Microsoft para desenvolvimento de software, suportando diversas linguagens como C#, C++, C, Java, Visual Basic, etc. Nesta série de tutoriais vou focar apenas

Leia mais

Fundamentos de Bancos de Dados 3 a Prova Caderno de Questões

Fundamentos de Bancos de Dados 3 a Prova Caderno de Questões Fundamentos de Bancos de Dados 3 a Prova Caderno de Questões Prof. Carlos A. Heuser Dezembro de 2009 Duração: 2 horas Prova com consulta Questão 1 (Construção de modelo ER) Deseja-se projetar a base de

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

DOCUMENTO DE REQUISITO DE SOFTWARE

DOCUMENTO DE REQUISITO DE SOFTWARE DOCUMENTO DE REQUISITO DE SOFTWARE PARTICIPANTES Belo Horizonte - 1

Leia mais

Modelagem de Sistemas Web. Ferramentas e metodologias para projeto de sistemas web

Modelagem de Sistemas Web. Ferramentas e metodologias para projeto de sistemas web Modelagem de Sistemas Web Aula 4 Ferramentas e metodologias para projeto de sistemas web Ferramentas e metodologias para projeto de sistemas web Ferramentas CASE Fontes: Sarajane e Marques Peres Introdução

Leia mais

tecnologias web e gestão de identidade

tecnologias web e gestão de identidade tecnologias web e gestão de identidade histórico serviços da era inicial da Internet telnet ftp gopher - estruturas hierárquicas www - hipertexto estudos sobre hipertexto e hipermídia sistemas locais www

Leia mais

Métricas de Software

Métricas de Software Métricas de Software Plácido Antônio de Souza Neto 1 1 Gerência Educacional de Tecnologia da Informação Centro Federal de Educação Tecnologia do Rio Grande do Norte 2006.1 - Planejamento e Gerência de

Leia mais

Módulo e-rede Magento v1.0. Manual de. Instalação do Módulo. estamos todos ligados

Módulo e-rede Magento v1.0. Manual de. Instalação do Módulo. estamos todos ligados Módulo e-rede Magento v1.0 Manual de Instalação do Módulo estamos todos ligados 01 02 03 04 Introdução 3 Versão 3 Requerimentos 3 Manual de instalação 4 05 06 4.1 Instruções iniciais 4 4.2 Instalação e

Leia mais

Fundamentos de Programação. Diagrama de blocos

Fundamentos de Programação. Diagrama de blocos Fundamentos de Programação Diagrama de blocos Prof. M.Sc.: João Paulo Q. dos Santos E-mail: joao.queiroz@ifrn.edu.br Página: http://docente.ifrn.edu.br/joaoqueiroz/ O processo de desenvolvimento (programação),

Leia mais

Implantação do Selo de Fiscalização Eletrônico em Minas Gerais. Manual Técnico de Informática Versão 1.4

Implantação do Selo de Fiscalização Eletrônico em Minas Gerais. Manual Técnico de Informática Versão 1.4 Implantação do Selo de Fiscalização Eletrônico em Minas Gerais Manual Técnico de Informática Versão 1.4 Histórico de alterações deste documento 22/10/2012 Alteração da descrição da composição do ato, bloco

Leia mais

Fundamentos de Teste de Software

Fundamentos de Teste de Software Núcleo de Excelência em Testes de Sistemas Fundamentos de Teste de Software Módulo 1- Visão Geral de Testes de Software Aula 2 Estrutura para o Teste de Software SUMÁRIO 1. Introdução... 3 2. Vertentes

Leia mais

Java RMI. RMI Remote Method Invocation. Chamadas Remotas de Procedimentos (RPC) RPC - Implementação

Java RMI. RMI Remote Method Invocation. Chamadas Remotas de Procedimentos (RPC) RPC - Implementação Java Remote Method Invocation Java Remote Method Invocation () é um protocolo Java para comunicação entre processos Permite objetos Java invocar transparentemente métodos de outros objetos (que podem estar

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

Sistemas de Informação

Sistemas de Informação Sistemas de Informação TCC em Re-vista 2011 121 PAULA, Diego Flávio de; VOLPATO, Tobias. 23 Gerenciamento eletrônico de documentos. 2011. 111 f. Trabalho de Conclusão de Curso (Graduação em Sistemas de

Leia mais

Análise e Projeto Orientado a Objetos. Nazareno Andrade Baseado no material dos profs. Hyggo Almeida e Jacques Sauvé

Análise e Projeto Orientado a Objetos. Nazareno Andrade Baseado no material dos profs. Hyggo Almeida e Jacques Sauvé Análise e Projeto Orientado a Objetos Nazareno Andrade Baseado no material dos profs. Hyggo Almeida e Jacques Sauvé O que veremos hoje? Análise e Projeto Definição Comparação Análise e Projeto OO Definição

Leia mais

SISTEMAS DISTRIBUÍDOS

SISTEMAS DISTRIBUÍDOS SISTEMAS DISTRIBUÍDOS Introdução Slide 1 Nielsen C. Damasceno Introdução Tanenbaum (2007) definiu que um sistema distribuído é aquele que se apresenta aos seus usuários como um sistema centralizado, mas

Leia mais

SOA na Prática Ricardo Limonta

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

Leia mais

Banco de Dados I. Prof. Edson Thizon ethizon@bol.com.br

Banco de Dados I. Prof. Edson Thizon ethizon@bol.com.br Banco de Dados I Prof. Edson Thizon ethizon@bol.com.br Conceitos Dados Fatos conhecidos que podem ser registrados e que possuem significado implícito Banco de dados (BD) Conjunto de dados interrelacionados

Leia mais

Cinco erros na hora de monitorar seu ambiente de T.I

Cinco erros na hora de monitorar seu ambiente de T.I Cinco erros na hora de monitorar seu ambiente de T.I Autor: Hernandes Martins Revisado por: Aécio Pires http://hernandesmartins.blogspot.com.br Email: hernandss@gmail.com Junho de 2015 Página 1 Conteúdo

Leia mais

Para entender o conceito de objetos em programação devemos fazer uma analogia com o mundo real:

Para entender o conceito de objetos em programação devemos fazer uma analogia com o mundo real: Introdução a Orientação a Objetos com Java Autor: Professor Victor Augusto Zago Menegusso. Orientação a Objetos É um paradigma de programação que define a estrutura de um programa baseado nos conceitos

Leia mais