Tópico 07 - Frameworks e Web Services

Tópico 07 - Frameworks e Web Services

Disciplina de Backend - Professor Ramon Venson - SATC 2025.2
Tópico 07 - Frameworks e Web Services

Web Services

Web Services são serviços que podem ser acessados pela Web.

Um web service permite que diferentes tipos de clientes acessem o serviço, mesmo em diferentes plataformas.

Disciplina de Backend - Professor Ramon Venson - SATC 2025.2
Tópico 07 - Frameworks e Web Services

Características

Um web service possui as seguintes características:

  • Interoperabilidade, trabalhando com diferentes tipos de clientes
  • Portabilidade, comunicando-se independente do sistema operacional ou linguagem de programação utilizada.
  • Escalabilidade, podendo atender múltiplos usuários.
Disciplina de Backend - Professor Ramon Venson - SATC 2025.2
Tópico 07 - Frameworks e Web Services

Web Services e Web APIs

Web API é um termo mais comum para descrever os serviços que fornecem dados para outros sistemas.

Estabelecendo um padrão de comunicação público, essas APIs são consumidas por diferentes clientes.

Disciplina de Backend - Professor Ramon Venson - SATC 2025.2
Tópico 07 - Frameworks e Web Services

Web API populares

São muitos os web services famosos que podemos acessar, como:

Disciplina de Backend - Professor Ramon Venson - SATC 2025.2
Tópico 07 - Frameworks e Web Services

Protocolos de Comunicação

Web services podem ser acessados por meio de diferentes protocolos de comunicação, como:

  • HTTP e HTTPS
Disciplina de Backend - Professor Ramon Venson - SATC 2025.2
Tópico 07 - Frameworks e Web Services

Formatos de Dados

Dado que web services são acessados por meio de diferentes plataformas, é necessário que os dados sejam enviados e recebidos em um formato padronizado. Esses formatos incluem:

  • XML
  • JSON
  • YAML
  • CSV
  • Plain Text
Disciplina de Backend - Professor Ramon Venson - SATC 2025.2
Tópico 07 - Frameworks e Web Services

Arquiteturas

Web services podem ser implementados usando diferentes arquiteturas, como:

  • SOAP
  • REST
  • gRPC
  • GraphQL
  • WebSockets
  • Entre outros
Disciplina de Backend - Professor Ramon Venson - SATC 2025.2
Tópico 07 - Frameworks e Web Services

Frameworks para Web Services

Existem diversos frameworks que facilitam o desenvolvimento de web services. Exemplos são:

  • Spring Web
  • NestJS
  • Express
  • Flask
  • Laravel
Disciplina de Backend - Professor Ramon Venson - SATC 2025.2
Tópico 07 - Frameworks e Web Services

Spring Web

Exemplo:

@RestController
public class HelloWorldController {
    @GetMapping("/")
    public String olaMundo() {
        return "Olá mundo";
    }
}
Disciplina de Backend - Professor Ramon Venson - SATC 2025.2
Tópico 07 - Frameworks e Web Services

NestJS

Exemplo:

import { Controller, Get } from '@nestjs/common';
@Controller()
export class AppController {
  @Get()
  getHello(): string {
  return 'Hello World!';
  }
}
Disciplina de Backend - Professor Ramon Venson - SATC 2025.2
Tópico 07 - Frameworks e Web Services

Express

Exemplo:

const express = require('express')
const app = express()
const port = 3000
app.get('/', (req, res) => {
  res.send('Hello World!')
})
app.listen(port, () => {
    console.log(`Example app listening on port ${port}`)
}
Disciplina de Backend - Professor Ramon Venson - SATC 2025.2
Tópico 07 - Frameworks e Web Services

Flask

Exemplo:

from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
    return 'Hello, World!'
Disciplina de Backend - Professor Ramon Venson - SATC 2025.2
Tópico 07 - Frameworks e Web Services

Laravel

Exemplo:

<?php
class PostController extends Controller
{
    public function index(): JsonResponse
    {
        return response()->json("Olá mundo!", 200);
    }
}
?>
Disciplina de Backend - Professor Ramon Venson - SATC 2025.2
Tópico 07 - Frameworks e Web Services

Microsserviços e Monolitos

Existem dois tipos de arquitetura de software frequentemente utilizados na construção de web services.

Enquanto monolitos são sistemas completos, com múltiplos domínios, microsserviços são sistemas menores que trabalham em conjunto.

Disciplina de Backend - Professor Ramon Venson - SATC 2025.2
Tópico 07 - Frameworks e Web Services

Deploy de Web Services

Para disponibilizar um web service para acesso público, é necessário hospedar em um servidor. Isso pode ser feito em diferentes tipos de infraestrutura:

  • Servidores Físicos - Configurando e gerenciando um servidor físico;
  • Servidores Virtuais Privados (VPS) - Utilizando um servidor virtual contratado;
  • Serviços de Nuvem - Com diferentes provedores de nuvem (AWS, Azure, GCloud...)
Disciplina de Backend - Professor Ramon Venson - SATC 2025.2
Tópico 07 - Frameworks e Web Services

Material de Apoio

Disciplina de Backend - Professor Ramon Venson - SATC 2025.2

* **Interoperabilidade**: Deve ser possível acessar o web service de qualquer cliente, independente do sistema operacional ou linguagem de programação utilizada. * **Portabilidade**: Deve ser possível acessar o web service de qualquer lugar, independente do local onde ele está hospedado. * **Escalabilidade**: Deve ser possível acessar o web service de qualquer lugar, independente do número de usuários que estão acessando o web service.