Webservices, SOA, SOAP e REST Flashcards

1
Q

O que é SOA (Arquitetura Orientada a Serviços) ?

A

<ul>
<li>A Arquitetura Orientada a Servi&ccedil;os (SOA) &eacute; um paradigma para organiza&ccedil;&atilde;o e utiliza&ccedil;&atilde;o de recursos (capabilities) distribu&iacute;dos que est&atilde;o sob o controle de diferentes dom&iacute;nios propriet&aacute;rios. A SOA:
<ul>
<li>&Eacute; independente de implementa&ccedil;&atilde;o.</li>
<li>Possui foco nos processos de neg&oacute;cio.</li>
<li>Integra processos de neg&oacute;cio e a infraestrutura de TI.</li>
</ul>
</li>
<li>Aplicativo de software identificado por um URI (Uniform Resource Identifier), cujas interfaces e associa&ccedil;&otilde;es podem ser definidas, descritas e descobertas como artefatos XML.</li>
<li>Protocolos base
<ul>
<li>XML</li>
<li>HTTP</li>
<li>SMTP, não muito utilizado</li>
</ul>
</li>
</ul>

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Paradigma

A

<p>Nesse modelo, o provedor do servi&ccedil;o (service provider) publica a descri&ccedil;&atilde;o/contrato do servi&ccedil;o utilizando um arquivo <strong>WSDL</strong> (<em>Web service description language</em>) no reposit&oacute;rio <strong>UDDI</strong> (registro de servi&ccedil;os, service broker/registry, do ingl&ecirc;s: Universal Description, Discovery, and Integration). O solicitante (service requester/consumer) utiliza o UDDI para encontrar quais os dados que ele necessita por meio do contrato/descri&ccedil;&atilde;o do servi&ccedil;o (WSDL). Depois disso, ele contata o provedor do servi&ccedil;o (<strong>service provider</strong>) usando o protocolo <strong>SOAP</strong> (Simple Object Access Protocol) para enviar as requisi&ccedil;&otilde;es. O provedor do servi&ccedil;o valida as informa&ccedil;&otilde;es sobre o requisitante e envia os dados estruturados de resposta em um arquivo XML, usando tamb&eacute;m o protocolo SOAP. O arquivo XML necessita ser validado novamente pelo requisitante atrav&eacute;s de um arquivo XSD (XML Schema).</p>

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Principais elementos WSDL

A

<p>Os elementos abstratos do WSDL incluem:</p>

<ul>
<li><strong>Types</strong>: Define os tipos de dados das mensagens trocadas entre as aplica&ccedil;&otilde;es.
<ul>
<li><strong>Message</strong>: Representa a informa&ccedil;&atilde;o que ser&aacute; trocada entre as aplica&ccedil;&otilde;es.</li>
</ul>
</li>
<li><strong>Interface</strong>: Descreve sequ&ecirc;ncias de mensagens que um servi&ccedil;o envia e/ou recebe.
<ul>
<li><strong>Operation</strong>: Descreve a a&ccedil;&atilde;o suportada pelo servi&ccedil;o.</li>
</ul>
</li>
<li><strong>Binding</strong>: aqui devem ser apresentados os protocolos de comunica&ccedil;&atilde;o que os web services utilizam, incluindo o formato de mensagem.</li>
<li><strong>Service</strong>: Descreve um conjunto de pontos de extremidade em que uma determinada implementa&ccedil;&atilde;o implantada do servi&ccedil;o &eacute; fornecida.
<ul>
<li><strong>Endpoint</strong>: Define os detalhes de um ponto de extremidade espec&iacute;fico no qual um determinado servi&ccedil;o est&aacute; dispon&iacute;vel.</li>
</ul>
</li>
<li><strong>Description</strong>: &Eacute; apenas um cont&ecirc;iner para duas categorias de componentes: componentes WSDL 2.0 e componentes do sistema de tipo.</li>
</ul>

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Quais as funções do UDDI?

A
  • Publicação
  • Descoberta
  • Ligação/bind
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Quais os tipos de informações do UDDI?

A

<ul>
<li>Brancas
<ul>
<li>Informa&ccedil;&otilde;es gerais.</li>
</ul>
</li>
<li>Amarelas
<ul>
<li>Informa&ccedil;&otilde;es de categoriza&ccedil;&atilde;o.</li>
</ul>
</li>
<li>Verdes
<ul>
<li>Informa&ccedil;&otilde;es t&eacute;cnicas.</li>
</ul>
</li>
</ul>

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Quais os elementos de uma mensagem SOAP?

A

<ul>
<li>Um elemento <strong>Envelope</strong> que identifica o documento XML como uma mensagem SOAP.
<ul>
<li>Estrutura XML obrigat&oacute;ria, raiz da mensagem SOAP, que define <br></br>qual o conte&uacute;do da mensagem e quem ser&aacute; o destinat&aacute;rio que dever&aacute; processar a mensagem, com informa&ccedil;&atilde;o do namespace dos tipos de dados utilizados.</li>
</ul>
</li>
<li>Um elemento <strong>Header</strong> que cont&eacute;m informa&ccedil;&otilde;es de cabe&ccedil;alho.
<ul>
<li>Opcional e cont&eacute;m informa&ccedil;&otilde;es espec&iacute;ficas da aplica&ccedil;&atilde;o sobre a <br></br>mensagem SOAP. Se o elemento Header estiver presente, ele deve ser o primeiro elemento filho de um elemento Envelope.</li>
</ul>
</li>
<li>Um elemento <strong>Body</strong> que cont&eacute;m informa&ccedil;&otilde;es de chamada e de respostas.
<ul>
<li>Obrigat&oacute;rio e cont&ecirc;m a mensagem SOAP real destinada ao ponto <br></br>final. Em caso de falha, pode haver um elemento Fault como filho de Body.</li>
</ul>
</li>
<li>Um elemento <strong>Fault</strong> contendo informa&ccedil;&otilde;es de erro e de status.
<ul>
<li>opcional e &eacute; usado para indicar as mensagens de erros. Se um <br></br>elemento Fault estiver presente, ele deve aparecer como um filho do elemento Body e <strong>s&oacute; pode aparecer uma vez</strong> em uma mensagem SOAP.
<ul>
<li><code>&lt;faultcode&gt;</code>: Um c&oacute;digo que identifica o erro.</li>
<li><code>&lt;faultstring&gt;</code>: Uma explica&ccedil;&atilde;o do erro.</li>
<li><code>&lt;faultactor&gt;</code>: informa&ccedil;&atilde;o sobre quem causou o erro.</li>
<li><code>&lt;detail&gt;</code>: Cont&eacute;m informa&ccedil;&atilde;o de erro espec&iacute;fica da aplica&ccedil;&atilde;o relatada no elemento Body. </li>
</ul>
</li>
</ul>
</li>
</ul>

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Arquitetura REST (Representational State Transfer)

A

<ul>
<li>Abordagem de design estrutural para criar aplicativos fracamente anexados usando HTTP.</li>
<li>Servidor REST fornece conectividade aos recursos por meio de URIs/IDs <br></br>Globais.</li>
<li>O servi&ccedil;o REST n&atilde;o &eacute; uma cole&ccedil;&atilde;o de um paradigma ou regras espec&iacute;ficas; <br></br>&eacute;, em vez disso, uma arquitetura de estilo do software.</li>
</ul>

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Quais os métodos REST?

A

<ul>
<li>M&eacute;todos
<ul>
<li>GET, acessar;</li>
<li>POST, criar;</li>
<li>DELETE, remover;</li>
<li>PUT, atualizar ou criar.</li>
</ul>
</li>
</ul>

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Quais os princípios REST?

A

<ul>
<li>Princ&iacute;pios
<ul>
<li>Um protocolo cliente/servidor sem estado (stateless).</li>
<li>Um conjunto de opera&ccedil;&otilde;es bem definidas que se aplicam a todos os recursos de informa&ccedil;&atilde;o.</li>
<li>Uma sintaxe universal para identificar os recursos.</li>
<li>O uso de hiperm&iacute;dia, tanto para a informa&ccedil;&atilde;o da aplica&ccedil;&atilde;o como para as transi&ccedil;&otilde;es de estado da aplica&ccedil;&atilde;o.</li>
</ul>
</li>
</ul>

How well did you know this?
1
Not at all
2
3
4
5
Perfectly