Soluções de integração: SOA, web services e REST + XML/XSD



Documentos relacionados
UFG - Instituto de Informática

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

UNIVERSIDADE. Sistemas Distribuídos

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

Web Services. (Introdução)

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

Serviços Web: Arquitetura

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

Introdução a Web Services

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

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

Sistemas Distribuídos

3 Serviços na Web (Web services)

Programação Cliente em Sistemas Web

Arquiteturas SOA, WOA, e REST

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

Service Oriented Architecture SOA

Introdução ao Modelos de Duas Camadas Cliente Servidor

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

XML e Banco de Dados de Internet. Tópicos Especiais em Tecnologia da Informação Profa. Késsia R. C. Marchi

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

Serviços Web: Introdução

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

Web Services. Autor: Rômulo Rosa Furtado

A Estrutura de um Web Service

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

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

Kassius Vargas Prestes

Service Oriented Architecture (SOA)

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

SOA na Prática Ricardo Limonta

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

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

XML. 1. XML: Conceitos Básicos. 2. Aplicação XML: XHTML 3. Folhas de Estilo em Cascata XML

Programação para Internet Avançada. 4. Web Services. Nuno Miguel Gil Fonseca

XML: uma introdução prática X100. Helder da Rocha

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

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

Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA

Microsoft.NET. Desenvolvimento Baseado em Componentes

XHTML 1.0 DTDs e Validação

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

DESENVOLVIMENTO WEB DENTRO DOS PARADIGMAS DO HTML5 E CSS3

Roteiro para Transmissão Ambiente de Testes da Guias Online

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

XML (extensible Markup Language)

REST. Caio Nakashima

COMPARANDO APLICAÇÃO WEB SERVICE REST E SOAP

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

XML extensible Markup Language. Prof. Fellipe Aleixo

Programação Web Prof. Wladimir

DOCUMENTAÇÃO DO FRAMEWORK - versão 2.0

Arquitetura Orientada a Serviços (SOA) Copyright e-core LTDA, Todos os direitos reservados.

Sistema Nacional de Registro de Hóspedes - SNRHos. PGTUR Plataforma de Gestão do Turismo Manual Técnico de Utilização do Web Service Versão 1.

3. Explique o motivo pelo qual os protocolos UDP e TCP acrescentam a informação das portas (TSAP) de origem e de destino em seu cabeçalho.

REST Um Estilo de Arquitetura de Sistemas Distribuídos

GERÊNCIA DE DADOS SEMIESTRUTURADOS -XML. Prof. Angelo Augusto Frozza, M.Sc.

Fase 1: Engenharia de Produto

PRODUTO 1 (CONSTRUÇÃO DE PORTAL WEB)

Técnicas e processos de produção. Profº Ritielle Souza

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

GERÊNCIA DE DADOS SEMI ESTRUTURADOS -XML. Prof. Angelo Augusto Frozza, M.Sc.

PRnet/2013. Linguagem de Programação Web

4. Qual seria o impacto da escolha de uma chave que possua letras repetidas em uma cifra de transposição?

Tecnologias Java para Implementação de NF e Edilmar Alves Novembro/2008 edilmaralves@intersite.com.br

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

Curso de Aprendizado Industrial Desenvolvedor WEB

A Figura... mostra a arquitetura técnica de serviços na Web

Integração Orientada a Serviços

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

Um documento XML possui Unidade lógica - os elementos Usuário "inventa" as marcas através de DTDs

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

Eduardo Bezerra. Editora Campus/Elsevier

Qualidade de Software MPS.BR - Questões CESPE (2010 a 2013)

SISTEMAS DISTRIBUIDOS

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

Este relatório tem por objetivo, abordar a sintaxe XML.

Rotina de Discovery e Inventário

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

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

Personalizações do mysuite

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

INT-9: Implementing ESB Processes with OpenEdge and Sonic David Cleary

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

Manual dos Serviços de Interoperabilidade

Desenvolvimento Cliente-Servidor 1

UNIVERSIDADE DA BEIRA INTERIOR Faculdade de Engenharia Departamento de Informática

Transcrição:

Soluções de integração: SOA, web services e REST + XML/XSD WWW.DOMINANDOTI.COM.BR

Acesse nosso site em WWW.DOMINANDOTI.COM.BR Cursos Livros Fórum Simulados Blog Materiais Turmas em Brasília, na sua cidade, e cursos online Edições publicadas, lançamentos e promoções Interação direta entre estudantes e com os professores Questões inéditas, ranking de notas e correções em vídeo Dicas e macetes de estudo, indicações de bibliografia, etc. Versões atualizadas de notas de aula e listas de exercícios Curta o Dominando TI no e receba nossas dicas sobre concursos!

XML extensible Markup Language Voltado para a troca de informações Formato para descrever dados estruturados Transporte e armazenamento de dados O conjunto de tags não é pré-definido É independente de software e hardware Mantido pelo W3C. Baseada em SGML 3

Partes de um Documento XML elemento raiz declaracão XML <?xml version=''1.0'' encoding=''iso-8859-1''?> <usuario> <foto href=''/imagens/logoduke2.gif'' /> <nome>duke Java</nome> <endereco>rua Imaginária, 20 4º andar Centro 19920 Fonseca RN</endereco> </usuario> <email>dukejv@script.com.br</email> <telefone tipo=''residencial''> <ddd>84</ddd> <numero>32562589</numero> </telefone> atributos - 321 Deodoro da elementos 4

(ANAC/2012/Cespe/Analista Adm./85) Um arquivo XML possui atributos e elementos. No exemplo 1, que se segue, sexo é atributo e, no exemplo 2, sexo é elemento, provendo, em ambos os exemplos, a mesma informação. 5

Documentos XML bem formados Para que possa ser manipulado como uma árvore, um documento XML precisa ser bem formado. Regras Ter um, e apenas um, elemento raiz Todos os elementos devem ter uma tag de fechamento Elementos deve estar corretamente aninhados Valores dos atributos devem estar entre aspas ou apóstrofes. Atributos não devem se repetir em um mesmo elemento. XML diferencia caracteres maiúsculos de minúsculos (case sensitive) O próprio navegador pode ser utilizado para verificar as regras. Há validadores online (http://w3schools.com/xml/xml_validator.asp) 6

(TRE-MS/2013/Cespe/Analista Judiciário/44) (1/2) Acima, está mostrado o conteúdo total de um arquivo XML, em que os números à esquerda indicam apenas as linhas em que informações são apresentadas e não fazem parte do conteúdo do arquivo. Tendo como referência essas informações, assinale a opção correta, à luz dos padrões XML. 7

(TRE-MS/2013/Cespe/Analista Judiciário/44) (2/2) A) Há erro nas linhas 4 e 9, pois não se pode repetir uma tag, no caso, <marca>. B) Há erro nas linhas 6 e 11, pois valores de atributos devem ficar entre aspas. C) Por não haver outra tag igual até o final do documento, não é necessário fechar a tag <carro> introduzida na linha 8. D) A sintaxe para a descrição da versão e da codificação estão corretamente definidas na linha 1. E) As tags em XML podem ser maiúsculas ou minúsculas sem distinção, tal como utilizado nas linhas 2 e 12. 8

XML Válido Um XML é dito válido quando for bem formado e estiver de acordo com a gramática que define sua estrutura. A gramática é definida em um esquema: elementos fazem parte de um vocabulário limitado certos atributos têm valores e tipos definidos elementos são organizados de acordo com uma estrutura hierárquica DTD e XML Schema são linguagens para descrição de esquemas XML. 9

DTD vs. XML Schema Soluções padrão do W3C DTD <!ELEMENT contato (nome, email, telefone)> <!ATTLIST contato codigo NMTOKEN #REQUIRED> Simples mas não é XML Não suporta namespaces Limitado quanto a tipos de dados XML Schema <xsd:schema xmlns:xsd=" /XMLSchema"> <xsd:element name="contato"> <xsd:complextype> <xsd:attribute name="codigo" use="required"> É XML, porém mais complexo Suporta namespaces Permite definição de tipos 10

(Serpro/2013/Cespe/Sup./92) - Adaptada ( ) Para ser considerado válido, um documento XML precisa estar em conformidade com um DTD (document type definition) ou com um XML Schema. 11

(Basa/2012/Cespe/Prod. e Infra/111) ( ) DTD (document type definition) e XSD (XML schema description) são dois formatos de interoperabilidade de dados usados no escopo do padrão XML, e, de modo geral, um documento DTD é semanticamente menos expressivo que seu equivalente XSD. 12

Documentos válidos Válidos em relação a um XML Schema contém: <bilhete Declaração de pelo menos um namespace de aplicação no documento Declaração de namespace padrão da instância XML Schema Atributo schemalocation (do namespace padrão) associando o(s) namespace(s) de aplicação a um (ou mais) documento(s) XML Schema xmlns="urn:123456789" xmlns:xsi="http://www.w3.org./2001/xmlschema-instance" xsi:schemalocation="urn:123456789 bilhete.xsd"> 13

XML Schema: Tipos Há duas qualidades de tipos Tipos simples representam tipos de dados básicos como texto, números, tokens, booleanos Fazem parte do namespace do XML Schema (requerem prefixo associado ao identificador do namespace), por exemplo: xs:int, xs:string Tipos complexos representam estruturas do documento como entidades, atributos, etc. 14

XML Schema Tipo Simples não pode conter outros elementos, apenas valor textual <xs:element name= sobrenome" type="xs:string"/> <xs:element name= idade" type="xs:integer"/> <xs:element name= datanasc" type="xs:date"/> <sobrenome>zouza</sobrenome> <idade>26</idade> <datanasc>1984-11-21</datanasc> 15

XML Schema Tipos Complexos <xs:element name= empregado"> <xs:complextype> <xs:sequence> <xs:element name= nome" type="xs:string"/> <xs:element name= sobrenome" type="xs:string" maxoccurs="10" minoccurs="0" /> </xs:sequence> </xs:complextype> </xs:element> Indicador de ordem Indicador de ocorrência <empregado> <nome>marcelo</nome> <sobrenome>pacote</sobrenome> </empregado> 16

(SERPRO/2013/Cespe/Analista/116) Com relação aos conceitos e aplicações de gestão eletrônica de documentos, julgue os itens a seguir. Em um documento XML, não é possível definir regras de tipos de dados para elementos e atributos, uma vez que o documento é um arquivo do tipo texto. 17

XML Schema <?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/xmlschema" targetnamespace="http://www.xml.com" xmlns= http://www.xml.com elementformdefault="unqualified"> <xs:element name="nota"> <xs:complextype> <xs:sequence> <xs:element name="de" type="xs:string" /> <xs:element name="para" type="xs:string" /> <xs:element name="titulo" type="xs:string" /> <xs:element name="descricao" type="xs:string" /> </xs:sequence> </xs:complextype> </xs:element> </xs:schema> 18

(TRT/2013/Cespe/Téc. Judiciário/94) ( ) Uma especificação em XML Schema é sempre iniciada com tag <schema> e concluída com tag <//schema>. Todas as declarações de elementos devem ser inseridas entre as duas tags, bem como a definição de atributos e tipos deve ser inserida no corpo do programa. 19

(TRE-BA/2010/CESPE) (1/2) Acerca do XML, julgue os itens a seguir. ( ) Em XML, as tags definem elementos de dados e o texto fornece o dado real representado no documento. ( ) A sintaxe básica para um elemento XML pode ser corretamente representada pela instrução a seguir. <nome_do_elemento>texto</nome_do_elemento> ( ) Um documento XML pode conter definições para o elemento raiz e para os elementos filhos, podendo também conter elementos vazios. 20

(TRE-BA/2010/CESPE) (2/2) ( ) A instrução a seguir está sintaticamente correta e permite o uso de algarismos romanos para codificação de números. <?xml version="1.0" encoding="iso-8859-1"?> ( ) As marcações XML não fazem distinção entre letras minúsculas e maiúsculas. ( ) Um documento XML sempre deve ter um elemento principal, também conhecido como root tag. 21

Gabarito (ANAC/2012/Cespe/Analista Adm./85) c (TRE-MS/2013/Cespe/Analista Judiciário/44) b (Serpro/2013/Cespe/Sup./92) certo (Basa/2012/Cespe/Prod. e Infra/111) certo (SERPRO/2013/Cespe/Analista/116) e (TRT/2013/Cespe/Téc. Judiciário/94) e (TRE-BA/2010/CESPE) ccceec 22

Web Services WWW.DOMINANDOTI.COM.BR

Web Services Contexto Como surgiu? Interoperabilidade 24

(ANTT/2013/Cespe/Analista Adm./104) Julgue os itens a seguir, referentes à arquitetura orientada a serviços (SOA). ( ) Web services provêm um meio padrão para a interoperação entre diferentes aplicativos de software, que podem ser executados em uma variedade de plataformas e(ou) frameworks. 25

Web Services - modelos Tradicional XML SOAP (Simple Object Access Protocol) WSDL UDDI REST (Representational State Transfer) Baseado em métodos HTTP 26

Web Services - Arquitetura 3 - Provê serviço Serviço cliente << SOAP >> Provedor de serviço 2 - Busca serviço << SOAP >> << SOAP >> 1 - Registra-se Registro de serviços 27

Web Services - Papéis Provedor de serviço: responsável pela descrição e publicação de um determinado serviço Web no registro de serviços. As informações estão representadas em um documento XML escrito na linguagem padrão WSDL(Web Service Description Language); Consumidor do serviço: responsável por descobrir um serviço, obter a sua descrição e usá-lo; Registro dos serviços: mantém um diretório com informações sobre serviços, armazenados no padrão UDDI (Universal Description, Discovery and Integration). 28

(MPOG/2013/Cespe/Téc. de Nível Superior V/69) Com relação à engenharia de software, julgue os próximos itens. ( ) A engenharia de software orientada a serviços possui uma arquitetura com padrões de serviços web por meio de tecnologias XML, como, por exemplo, o SOAP, para a mensageria, e o WSDL, para definição de serviços. 29

Exercício [01] (ANTAQ/2009/CESPE) ( ) Web service é um conjunto de tecnologias utilizadas na integração de sistemas e na comunicação entre aplicações diferentes. Para a representação e estruturação dos dados nas mensagens recebidas/enviadas, é utilizado o XML (extensible markup language). As chamadas às operações, incluindo-se os parâmetros de entrada e saída, são codificadas no protocolo UDDI (universal description, discovery and integration). Os serviços (operações, mensagens, parâmetros etc.) são descritos usando-se a linguagem WSDL (web services description language). O processo de publicação, pesquisa e descoberta de web services utiliza o protocolo SOAP (simple object access protocol). 30

Exercício [02] (TRE/2010/CESPE) (1/2) Com relação a web services, assinale a opção correta. a) As arquiteturas de aplicação de web services são arquiteturas firmemente acopladas, nas quais as ligações entre serviços não podem mudar durante a execução. b) SOAP (Simple Object Access Protocol) é um protocolo com base em HTML que permite troca de informações entre aplicações em um ambiente distribuído. c) UDDI (Universal Description, Discovery and Integration) é um diretório para armazenamento de informações a respeito de web services. Essas informações são descritas em SOAP. 31

Exercício [02] (TRE/2010/CESPE) (2/2) d) A linguagem WSDL (Web Services Description Language) é utilizada para descrever web services. e) Segundo o W3C (World Wide Web Consortium), web services são apropriados somente para aplicações em que componentes de um sistema distribuído são executados em plataformas semelhantes de um mesmo fornecedor. 32

(TRE-MS/2013/Cespe/Téc. Judiciário/57) Com relação a webservices, assinale a opção correta. A) Um webservice não pode implementar corretamente uma arquitetura orientada a serviço (SOA). B) Tarefas como a criação de interfaces gráficas para usuários estão fortemente relacionadas à função de webservice. C) O webservice consiste em chamadas de métodos em que os seus desenvolvedores utilizam em conjunto tanto XML quanto XLS. D) A implementação do protocolo SOAP (Simple Object Access Protocol) é utilizado para segurança entre os webservices. E) As definições de como o webservice deve ser acessado, como, por exemplo, os valores que ele retorna, são descritas em um arquivo XML com a padronização WSDL (Web Service Description Language). 33

(TRE-MS/2013/Cespe/Analista Judiciário/43) (1/2) No que se refere a SOA e webservices, assinale a opção correta. A) O WS-Security propõe uma série de extensões para aprimorar a segurança dos web services no UDDI e no WSDL. Por questão de compatibilidade, essas extensões não afetam os cabeçalhos do envelope SOAP. B) UDDI é um serviço de diretório em que é possível registrar e localizar web services. C) WSDL é descrito em formato XML e tem por única função descrever os valores e formatos dos dados que serão intercambiados entre os sistemas. 34

(TRE-MS/2013/Cespe/Analista Judiciário/43) (2/2) D) SOAP é um protocolo do tipo statefull, independente de sistema operacional, embasado em troca de mensagem oneway e projetado para ser simples e extensível por meio de tecnologia XML. E) SOA é uma arquitetura de desenvolvimento cujo objetivo é criar módulos funcionais denominados serviços, fortemente acoplados e independentes de plataforma. É embasada em XML e incentiva reutilização de código e interoperabilidades entre sistemas. 35

Web Services - SOAP SOAP (Simple Object Access Protocol) é um protocolo para troca de informações estruturadas em uma plataforma descentralizada e distribuída, utilizando tecnologias baseadas em XML. Independente de qualquer modelo de programação ou outra implementação específica. Define um envelope para transmissão de mensagens, oferece regras para representar remote procedure calls (RPCs); 36

Web Services - SOAP SOAP possibilita que dois processos ( possivelmente em duas máquinas diferentes) se comuniquem, desconsiderando o hardware e a plataforma que eles estão sendo executados. Um dos grandes benefícios do SOAP é que ele é aberto e foi adotado pela maioria das grandes empresas de hardware e software. 37

Exercício [03] (Serpro/2013/Cespe/Desv./107 ) ( ) A comunicação entre sistemas clientes e servidores para troca de mensagens pode ser realizada por meio de SOAP (simple object access protocol), que é um protocolo para troca de informações estruturadas independente de linguagem de programação. 38

(MPOG/2013/Cespe/Téc. de Nível Superior V/89) No que se refere aos padrões WSDL e SOAP, julgue os itens a seguir. ( ) SOAP utiliza o protocolo HTTP como forma de transportar dados na camada de aplicação, permite troca de mensagens baseado em XML e tem seu uso relacionado a web services. 39

Exercício [04] (STJ/2008/CESPE) ( ) O SOAP encapsula mensagens que podem ser transmitidas via HTTP; permite o modelo de interação cliente-servidor; define como usar XML para representar mensagens de requisição e resposta. Um documento XML é transportado no corpo de uma mensagem SOAP; no modelo cliente-servidor, o corpo de uma mensagem SOAP pode conter uma requisição, mas não uma resposta. 40

Web Services Mensagem SOAP - Envelope: define o conteúdo da mensagem (obrigatório) - Cabeçalho: contém informação de controle e processamento (opcional) - Corpo: contém informação da chamada e da resposta (obrigatório) MENSAGEM SOAP ENVELOPE SOAP CABEÇALHO SOAP Cabeçalhos CORPO SOAP Dados da mensagem específica 41

Web Services Mensagem SOAP POST /cadirreg HTTP/1.1 Host: www.tcu.gov.br Content-Type: text/xml; charset="utf-8" Content-Length: 256 <SOAP:Envelope xmlns:soap= "http://www.w3.org/2001/12/soap-envelope"> <SOAP:Header> <!-- conteudo do cabecalho --> </SOAP:Header> <SOAP:Body xmlns:tcu="http://www.tcu.gov.br/cadirreg"> <tcu:getinfogestor> <cpf>87598930104</cpf> </tcu:getinfogestor> </SOAP:Body> </SOAP:Envelope> 42

(PEFOCE/2012/Cespe/Perito Criminal/75) ( ) SOAP é um protocolo leve destinado à troca de informações estruturadas em um ambiente distribuído e descentralizado. Uma mensagem SOAP, por exemplo, é um documento XML composto de três partes obrigatórias: envelope, cabeçalho e corpo. 43

(CNJ/2013/Cespe/Analista Judiciário/71) ( ) Um dos elementos de uma mensagem SOAP é o corpo (body), no qual devem estar contidas as informações de erro e status. 44

Web Services - WSDL WSDL (Web Services Description Language) é uma linguagem baseada em XML utilizada para descrever Web Services. Trata-se de um documento escrito em XML que além de descrever o serviço, especifica como acessá-lo e quais as operações ou métodos disponíveis. 45

(MPOG/2013/Cespe/Téc. de Nível Superior V/90) ( ) Um documento WSDL é estruturado em HTML e descreve web services como um conjunto de pontos de serviço que operam baseados em trocas de protocolo de rede. As operações e mensagens relativas a um serviço são descritas de forma específica, ligados a protocolos de rede, sem formatos de mensagens concretos e com o objetivo de definir um ponto de serviço. 46

(CNJ/2013/Cespe/Analista Judiciário/70) Acerca de interoperabilidade de sistemas, julgue os itens subsequentes. ( ) A linguagem WSDL é utilizada para descrever web services limitadas ao tipo request-response. 47

Web Services - WSDL Definem como a interface é implementada por um fornecedor Figura obtida em http://en.wikipedia.org/wiki/web_service 48

(CPRM/2013/Cespe/Analista /82) Com relação a interoperabilidade de sistemas, julgue os itens a seguir. ( ) A WSDL 2.0 possui uma parte abstrata, responsável por definir type, messages, operations e PortType, e uma parte concreta, que define binding, service e endpoint. 49

Web Services Exemplo (1/2) 50

Web Services Exemplo (2/2) 51

Exercício [05] (STJ/2008/CESPE) ( ) O WSDL separa a parte abstrata de uma descrição de serviço da parte concreta; nessa descrição, a parte concreta contém as definições de tipos usados pelo serviço e a parte abstrata especifica como e onde o serviço pode ser contatado. Os documentos WSDL podem ser acessados via um serviço de diretório como o UDDI; as definições WSDL podem ser geradas a partir de definições de interfaces escritas em outras linguagens. 52

Web Services - UDDI UDDI (Universal Description, Discovery and Integration) é uma especificação que define um serviço de registro para Web Services. Usuários de serviços podem usar UDDI para descobrir serviços que lhes interessem e obter os metadados necessários para utilizar esses serviços. 53

UDDI UDDI Páginas brancas: contêm nome da empresa, endereço, números de telefone e outros identificadores relativos ao negócio onde a empresa atua; Páginas amarelas: baseadas em categorias Páginas verdes: contêm informações técnicas sobre os serviços expostos pelo provedor. 54

(CNJ/2013/Cespe/Analista Judiciário/72) ( ) Nos registros de negócio UDDI, a descrição da forma de acesso aos web services é um procedimento contido nas páginas verdes (green pages). 55

Exercício [06] (TRT/2008/CESPE) - adaptada ( ) O UDDI é uma especificação técnica que tem como objetivo descrever, descobrir e integrar web services. É embasado na tecnologia XML, que fornece uma plataforma neutra de dados. * neutra = indiferente, imparcial 56

REST Representational State Transfer Outra abordagem para implementação de Web Services CRUD com métodos HTTP Create (HTTP POST) Retrieve (HTTP GET) Update Delete (HTTP PUT) (HTTP DELETE) + Simplicidade, baixo overhead de comunicação - Segurança, controle transacional 57

REST Exemplos e WADL WADL (Web Application Description Language) está para REST assim como WSDL está para SOAP. Cada recurso (substantivo, entidade) é modelado como uma URI http://editoraexemplo.com.br/api/livros http://editoraexemplo.com.br/api/livros/7 http://editoraexemplo.com.br/api/livros/7/depoimentos?pa ge=2&size=10 58

Exercício [07] (TCU/2010/CESPE) (adaptada) ( ) O estilo de arquitetura de software denominado REST (representational state transfer) demanda mais recursos computacionais que o modelo de desenvolvimento de sistemas embasado em SOAP (single object access protocol). 59

Exercício [08] (MPU/2010/CESPE/Técnico) ( ) REST (Representationals State Transfer) é uma tecnologia que está sendo utilizada em web services, como substituta das tecnologias SOAP (Simple Object Access Protocol) e WSDL. 60

Gabarito dos Exercícios [01] errado [02] d [03] certo [04] errado [05] errado [06] certo [07] errado [08] certo (ANTT/2013/Cespe/Analista Adim./104) c (MPOG/2013/Cespe/Téc. de Nível Superior V/69) c (TRE-MS/2013/Cespe/Téc. Judiciário/57) e (TRE-MS/2013/Cespe/Analista Judiciário/43) b (MPOG/2013/Cespe/Téc. de Nível Superior V/89) c (PEFOCE/2012/Cespe/Perito Criminal/75) e (CNJ/2013/Cespe/Analista Judiciário/71) e (MPOG/2013/Cespe/Téc. de Nível Superior V/90) e (CNJ/2013/Cespe/Analista Judiciário/70) e (CPRM/2013/Cespe/Analista/82) e* (CNJ/2013/Cespe/Analista Judiciário/72) c * difere gabarito definitivo oficial 61

SOA WWW.DOMINANDOTI.COM.BR

Contextualização 63

Introdução Estratégia que propõe a organização dos ativos de software de forma que eles possam representar processos, atividades ou tarefas de negócio de forma direta. Provimento de serviços Devem ser baseados em padrões e facilmente combinados e reutilizados. Organização por meio de processos 64

Introdução Visa integrar sistemas existentes e futuros Agrupa processos de negócios Trata-os como serviços interoperáveis 65

(BASA/2012/Cespe/Tec. Científico/Redes/108) ( ) Aplicações legadas que rodam em plataforma alta podem ser expostas como serviço e integradas em aplicações desenvolvidas para plataforma baixa, mediante uma abordagem de arquitetura orientada a serviço (SOA). 66

Características e termos chave Baixo acoplamento Componentes independentes que interagem por meio de interfaces bem definidas Neutralidade de implementação Linguagens de programação, plataforma de hardware ou qualquer outro elemento tecnológico não são limitantes. Interoperabilidade Permite que sistemas coexistam e se comuniquem Agrega flexibilidade à arquitetura 67

SOA X Web Services Web Services SOA 68

(MPOG/2013/Cespe/TI/105) No que se refere ao SOA (service-oriented architeture), julgue os itens a seguir. ( ) O SOA garante serviços fortemente acoplados, fracamente coesos e com alta possibilidade de reutilização. 69

(MPOG/2013/Cespe/TI/106) ( ) De acordo com o SOA, um limite representa a fronteira entre a interface pública de um serviço e sua realização privada. Ultrapassar limites em SOA é barato e altamente recomendado porque torna o serviço público e acessível a outros sistemas. 70

(MPOG/2013/Cespe/TI/107) ( ) O SOA promove a integração entre o negócio e a tecnologia da informação por meio de serviços, que são o principal componente dessa arquitetura. 71

(MPOG/2013/Cespe/Téc. de Nível Superior V/71) No que diz respeito à análise e ao projeto orientados a objetos, julgue os itens que se seguem. ( ) A arquitetura orientada a serviço (SOA) é uma forma de representar-se a tecnologia por meio de uma arquitetura que dá suporte a serviços, composições e inventário de serviços, de forma otimizada. 72

(ANAC/2012/Cespe/Analista Adm./80) ( ) Ao utilizar-se a arquitetura orientada a serviços (SOA), segue-se um conceito de arquitetura corporativa, situação em que os códigos são gerados para toda a empresa e são reutilizados de maneira eficiente e por várias aplicações. 73

(ANTT/2013/Cespe/Analista Adm./106) ( ) A SOA pode ser definida como um tipo de arquitetura que utiliza serviços como blocos de construção para facilitar a integração em ambientes corporativos e a reutilização de componentes por meio do baixo acoplamento. 74

Visão SOA Processo de Negócio Meta-Aplicações Serviços 75

Visão SOA Exemplo Fonte: http://linux.ime.usp.br/~cef/mac499-06/monografias/filipemadeira/monografia.pdf 76

ESB Enterprise Service Bus Front-End Meta-Aplicações Serviço Serviço Serviço ESB (Enterprise Service Bus) SOA 77

ESB Exemplos de produtos Apache ServiceMix Oracle Enterprise Service Bus Open ESB Mule Microsoft BizTalk JBOSS/Glassfish 78

Camadas 79

Vantagens Diminuição do número de redundâncias de funcionalidades Baixo acoplamento entre aplicações Alta interoperabilidade entre plataformas Alta reutilização das regras de negócio Redução de custos Resposta rápida a mudanças nos processos de negócio Agilidade nas mudanças Serviços são facilmente testados 80

SOA Modelo Operacional Triangular Usuário de serviços Executa (Consolida e Requisita) Provedor de serviço Procura Registra Registro de serviços Paradigma procura-consolida-executa (find-bind-execute) 81

Arquitetura Orientada a Serviços SOA é uma arquitetura fracamente acoplada. Os serviços disponibilizados podem ser reutilizados e aplicados em diferentes áreas dentro e fora da organização sem ajustar a tecnologia subjacente. Um serviço consiste da funcionalidade que precisa ser especificada no contexto do negócio e em termos do contrato entre o provedor e o consumidor. Os detalhes de implementação podem ser omitidos. Em SOA os serviços são partes de um ou mais processos de negócio distribuídos. 82

Gabarito (BASA/2012/Cespe/Tec. Científico/Redes/108) certo (MPOG/2013/Cespe/TI/105) e (MPOG/2013/Cespe/TI/106) e (MPOG/2013/Cespe/TI/107) c (MPOG/2013/Cespe/Téc. de Nível Superior V/71) c (ANAC/2012/Cespe/Analista Adm./79) c (ANTT/2013/Cespe/Analista Adim./106) c 83