• Nenhum resultado encontrado

aula1

N/A
N/A
Protected

Academic year: 2021

Share "aula1"

Copied!
36
0
0

Texto

(1)

Introdução

Serviços Web

(2)

Serviços Web

Conceitos Básicos

Para entendermos sobre o funcionamento de Serviços Web, precisamos possuir

conhecimento de:

- Linguagem de Programação - Arquitetura Cliente x Servidor - XML

(3)

Serviços Web - O que são?

Serviços Web (Web Services) é uma solução de integração

e comunicação entre sistemas e aplicações em diferentes plataformas e arquiteturas.

Através desta tecnologia é possível que novas aplicações se comuniquem e interajam com software legados e que sistemas desenvolvidos em plataformas diferentes sejam compatíveis.

(4)

Serviços Web - O que são?

Web Service faz com que os recursos da aplicação estejam disponíveis sobre a rede de uma forma normalizada.

Utilizando-se de Web Services, uma aplicação pode invocar outra para realizar uma tarefa simples ou complexa, mesmo que as duas aplicações estejam em diferentes sistemas operacionais e escritas em linguagens diferentes.

(5)

Serviços Web - O que são?

O objetivo de um Web Service é o de providenciar a

comunicação de aplicações através da rede ou

(6)

Serviços Web - Papéis

• Há três papéis importantes

dentro da arquitetura de web services: Provedor de Serviços,

Consumidor de serviços e o Registro dos serviços.

• A interação destes papéis

envolve as operações de publicar, pesquisar e fazer a ligação dos serviços.

(7)

Serviços Web - Papéis

Provedor de serviços (service provider): É o responsável pela

implementação e disponibilização dos web services na INTERNET. Para que alguém possa utilizá-lo, é preciso descrever o serviço em um formato padrão, compreensível para qualquer um que precise usar esse serviço e também publicar as características sobre o serviço em um registro central disponível.

Consumidor de serviços (service consumer): É o usuário de um serviço

disponível na INTERNET que foi implementado por um provedor de serviço.

Registro do serviço (service broker): Refere-se à localização do serviço. Ele

(8)

Arquitetura - Cliente x Servidor

É a estrutura mais simples de

computação distribuída, com a função de distribuir as tarefas e cargas entre os fornecedores de um recurso ou serviço, designados como servidores, e os requisitantes dos serviços, designados como clientes.

(9)

Cliente - Servidor - Estrutura Básica

Servidor Web Service Páginas Web Sistema Web Cliente Requisita Responde

(10)

Servidores

Um servidor é um host que está executando um ou mais serviços ou programas que compartilham recursos na rede com os clientes.

São computadores de maior poder de processamento e armazenamento, se comparado com computadores pessoais.

(11)

Servidores - Características

• Execução continua;

• Sempre esperando por um pedido de um cliente;

• Atende os pedidos e, em seguida, responde aos clientes com os resultados dos dados solicitados;

• Pode se comunicar com outros servidores para atender a um pedido especifico do cliente;

(12)

Clientes

Diferentemente do servidor, o cliente não compartilha seus recursos, mas solicita conteúdo ou função para o servidor.

Os cliente são os responsáveis por iniciar as sessões de comunicação com os servidores que aguardam requisições de entrada.

(13)

Clientes - Características

• Inicia pedidos para os servidores; • Espera por respostas;

• Recebe respostas;

• Conecta-se com um pequeno número de servidor de uma só vez;

• Normalmente interage diretamente com os usuários finais através de quaisquer interface com o usuário;

(14)

XML - EXtensible Markup Language

XML é uma linguagem de marcação simples e flexível, sendo um subtipo da Standard

Generalized Markup Language

(SGML).

Sua finalidade é a de ser uma linguagem designada para descrever e estruturar informações com o propósito de serem facilmente compartilhadas

(15)

XML - O que é?

Um arquivo XML é um arquivo de texto, composto por tags aninhadas e delimitadas.

A sua primeira linha, identifica a versão do documento, em seguida, a próxima linha identifica o elemento raiz, seguido de linhas que compõem os elementos derivados de sua raiz.

(16)

XML - Exemplo

<?xml version = “1.0” encoding = “UTF-8”?> <carro marca = “Audi”>

<modelo>R8</modelo> <cor>Vermelho</cor>

<ano>2013</ano>

</carro> O que são atributos

de um documento XML?

(17)

XML - Características

• Separação do conteúdo da formatação;

• Simplicidade e legibilidade, tanto para humanos quanto para computadores;

Possibilidade de criação de tags sem limitação;

• Criação de arquivos para a validação de estrutura (DTD);

(18)

XML - Bem formado x Válido

Para um arquivo XML estar “bem formado” é necessário validar se o mesmo se encontra em conformidade com regras sintáticas.

Um arquivo XML “válido" é um documento bem formado que está em conformidade com as regras de um Document

(19)

XML - DTD

O DTD define quais elementos são permitidos em um documento XML. O seu propósito é o de definir a estrutura do documento com uma lista de possíveis elementos. Com o seu uso, cada arquivo XML pode carregar consigo uma descrição do seu próprio formato.

Desta forma, aplicações independentes podem concordar usar um formato de DTD comum, para estabelecer a troca de informações.

DTDs podem ser utilizados por aplicações para checar a validade dos dados recebidos.

(20)

Exemplo - DTD

<?xml version=“1.0” encoding=“UTF-8”?> <!DOCTYPE nota SYSTEM “Nota.dtd”> <nota>

<para>Joana</para> <de>Guilherme</de>

<assunto>Lembrete</assunto>

<mensagem>Não se esqueça de ir no dentista!</mensagem> </nota>

XML

<!DOCTYPE nota [

<!ELEMENT nota (para,de,assunto,mensagem)> <!ELEMENT para (#PCDATA)>

<!ELEMENT de (#PCDATA)>

<!ELEMENT assunto (#PCDATA)>

<!ELEMENT mensagem (#PCDATA)> ]> DTD Existem outros padrões de validação de XML.

(21)

JSON - Javascript Object Notation

Similar ao XML, o JSON é um

formato de transferencia de dados computacionais.

Embora o JSON seja um subconjunto da notação de objetos JavaScript, não é necessário a utilização de JavaScript para sua criação e leitura.

(22)

JSON - História

A motivação para a criação do JSON foi a necessidade de se construir um padrão de armazenamento e transmissão de informações, que fosse mais compacto e seus dados mais

estruturados, tornando o parsing das informações algo

(23)

JSON - Sintaxe

A escrita de um documento JSON é extremamente simples: Para cada valor representado, se atribui um nome (rótulo) que descreve seu significado. Esta sintaxe é derivada da forma utilizada em JavaScript.

Por exemplo, para representar o ano de 2014, usaríamos a seguinte sintaxe:

(24)

JSON - Sintaxe

Um par nome/valor deve ser representado pelo nome em aspas duplas, seguido de dois pontos, seguido do valor. Os valores podem possuir apenas 3 tipos básicos: numérico (inteiro ou real), booleano e string.

A seguir ira ser demonstrado cada um desses tipos básicos na notação JSON.

(25)

JSON - Exemplos

Representando um número real: “altura”: 1.95

Representando uma string:

“site”: “www.google.com.br”

Representando um número negativo: “temperatura”: -2

Representando um valor booleano: “casado”: true

Valores do tipo string devem ser

representados entre aspas !

(26)

JSON - Sintaxe

A partir dos tipos básicos, é possível construir tipos

complexos: array e objeto. Os arrays são delimitados por

colchetes, com seus elementos separados por virgulas.

Exemplos - Arrays

[“RS”, “RJ”, “SP”, “ES”] [ [1,5] , [-1,9], [100, 0] ]

(27)

JSON - Sintaxe

Os objetos são especificados entre chaves e podem ser compostos por pares nome/valor, por arrays e também por outros objetos. Desta forma um objeto JSON pode representar, virtualmente, qualquer tipo de informação.

(28)

JSON - Exemplo

{

“titulo”: “JSON x XML”,

“resumo”: “o duelo de dois modelos de representação de informações”,

“ano”: 2012,

“genero”: [“ação”, “aventura”, “ficção”] }

(29)

JSON - Exemplo

{

“titulo”: “JSON x XML”,

“resumo”: “o duelo de dois modelos de representação de informações”, “ano”: 2012,

“genero”: [“ação”, “aventura”, “ficção”] },

{

“titulo”: “JSON James”,

“resumo”: “a história de uma lenda do velho oeste”, “ano”: 2011,

“genero”: [“western”, “ação”] }

É possível representar mais de um objeto ou registro de uma só vez

(30)

JSON - Sintaxe

Por fim, é importante citar que a palavra chave “null” deve ser utilizada para a representação de valores nulos.

Exemplo

(31)

JSON - Exemplo

{

“Aluno” : [

{“nome”: “Pedro” , “notas”: [ 9, 8, 7 ]}, {“nome”: “Julia” , “notas” : [8, 10, 7]},

{“nome”: “Milene”, “notas”: [10, 10, null]} ]

(32)

JSON - Schema

Assim como o XML possui documentos para validar a sua estrutura e seus dados, o JSON também os possui, chamado de JSON Schema.

O JSON Schema serve como um contrato entre aplicações para definir a sua estrutura, tipos de dados e para validar essas informações.

(33)

JSON Schema - Exemplo

JSON

(34)

JSON x XML

Podemos entender que o JSON é um “concorrente” do XML na área de troca de informações. Vejamos algumas das suas semelhanças e diferenças nos próximos slides.

(35)

JSON x XML - Semelhanças

• Os dois modelos representam informações no formato texto.

• Ambos possuem natureza auto-descritiva (ou seja, basta “bater o olho” em um

arquivo JSON ou em um arquivo XML para entender o seu significado).

• Ambos são capazes de representar informação complexa, difícil de representar no

formato tabular. Alguns exemplos: objetos compostos (objetos dentro de objetos), relações de hierarquia, atributos multivalorados, arrays, dados ausentes, etc.

• Ambos podem ser utilizados para transportar informações em aplicações AJAX. • Ambos podem ser considerados padrões para representação de dados. XML é

um padrão W3C, enquanto JSON foi formalizado na RFC 4627.

• Ambos são independentes de linguagem. Dados representados em XML e JSON

podem ser acessados por qualquer linguagem de programação, através de API’s específicas.

(36)

JSON x XML - Diferenças

• JSON não é uma linguagem de marcação. Não possui tag

de abertura e muito menos de fechamento!

• JSON representa as informações de forma mais compacta.

• JSON não permite a execução de instruções de

processamento, algo possível em XML.

• JSON é tipicamente destinado para a troca de informações,

enquanto XML possui mais aplicações. Por exemplo: nos dias atuais existem bancos de dados inteiros armazenados em XML e estruturados em SGBD’s XML nativo.

Referências

Documentos relacionados

Diferentemente do prazo fixado para pagamento dos precató- rios, as RPVs são depositadas pelos Tribunais Regionais Federais nos bancos ofi- ciais, mensalmente, obedecido o prazo de

Em nosso espaço de coworking, localizado no Brooklin, você encontrá uma variedade de pensadores inovadores, focados em seus trabalhos e em metas para alcançar o sucesso.. Com

Não estamos nos negando a estudar, a participar de cursos de formação, mas almejamos uma formação contínua, que nos ajude a alcançar os níveis de qualidade

Reunir com os alunos e outros colegas para socialização dos registros, avaliação e novos encaminhamentos que contribuam para o sucesso do

Em primeiro lugar, apercebemo-nos de que «um alguém» admite mais espaço para a abundância interna a cada consciência individual.. É-nos impossível ser exactamente como outrem;

As coisas relativas à vida com Deus e ao seu serviço lhes são tediosas, e não podem encontrar qualquer alegria nelas, porque apagaram o Espírito Santo e

A grande vantagem dos serviços de consultoria para as empresas, neste caso, é que não há necessidade de contratação de um profissional a mais para o quadro permanente

Assim, com o aprofundamento e a apreciação das perspectivas educacionais, esta estratégia não apenas vai contribuir para uma estruturação inter-pessoal