Estudando - Fundamentos de Arquitetura de Sistemas - Gustavo Kennedy Renkel

Olá, estou trazendo uma série de posts com minhas anotações dos meus estudos. Hoje o estudo é Fundamentos de Arquitetura de Sistemas da Digital Innovation One.

Vantagens e desenvolvimento de Web Services

O que são Web Services

Os serviços web ou web service são soluções para aplicações se comunicarem, independente de linguagem, software ou hardware.

São APIs que se comunicam por meio da rede com protocolo HTTP.

As vantagens são:

  • Linguagem comum
  • Integração
  • Segurança
  • Custo
  • Reutilização de implementação

As principais tecnologias são: SOAP, REST, XML e JSON.

Estrutura SOAP

Então entendo o que é o SOAP, em inglês “Simple Object Access Protocol”. É um protocolo baseado em XML com acesso via HTTP. As vantagens são, permitir integrações entre aplicações, independente de linguagem. E é um meio de transporte genérico, ou seja, pode ser usado por outros protocolos.

Estrutura SOAP

SOAP Envelope, SOAP Header e SOAP Body.

SOAP Envelope é o primeiro elemento do documento, usado para encapsular toda a mensagem SOAP.

SOAP Header é o elemento onde possui informações de atributos e metadados da requisição.

E o SOAP Body é o elemento que contém os detalhes da mensagem.

Entendendo WSDL e XSD

O Web Services Description Language é usado para descrever web services, como um contrato de serviço. É feito por um documento XML.

O XSD – XML Schema Definition é um XML usado para definir estrutura de dados que será validada no XML, como uma documentação, como montar o SOAP Message.

Aprendendo REST, API E JSON

O significado de REST é Representational State Transfer. É um estilo de arquitetura de software que define a implementação de um serviço web. Também pode trabalhar com formatos XML, JSON e outros.

As vantagens são as integrações entre aplicações e entre cliente e servidor; utiliza dos métodos HTTP para definir a operação efetuada e a arquitetura é de fácil compreensão.

A API é Application Programming Interface, que são conjuntos de rotinas documentados e disponibilizados por uma aplicação para que outras aplicações possam consumir suas funcionalidades.

O JSON – JavaScript Objetct Notation, é uma formatação leve utilizada para troca de mensagens entre sistemas.

Principais Métodos HTTP:

GET – solicita a representação de um recurso.

POST – solicita a criação de um recurso.

DELETE – solicita a exclusão de um recurso.

PUT – solicita a atualização de um recurso.

Código de estado:

Usado pelo servidor para avisar o cliente sobre o estado da operação solicitada:

1xx – informativo.

2xx – sucesso.

3xx – redirecionamento.

4xx – erro do cliente.

5xx = erro do servidor.

Conceitos de Arquitetura em aplicações web

Tipos de Arquitetura

Monolito

Os pros e contras são a baixa complexidade e monitoramento simplificado, mas possui stack única, possui compartilhamento de recursos, acoplamento e escalabilidade complexa.

Microserviços

Pros e Contras da #1

Stack dinâmica e simples escalabilidade. Mas possui acoplamento, monitoramento e provisionamento complexos.

Pós e Contras da #2

Stack dinâmica, simples escalabilidade e desacoplamento. Mas possui monitoramento e provisionamento complexos.

Pós e Contras da #3

Stack dinâmica, simples escalabilidade e desacoplamento. Mas possui provisionamento complexos e plataforma inteira depende do gerenciador de pipeline.