Duvida codigo no Angular

estou aprendendo Angular, e estou com uma duvida nesse codigo

O que seria esse subscribe?
O que seria esse Observable?

OBS: li a documentação não entendi muito bem. Quem poder me ajudar ficarei agradecido.

//Classe serviço

export class DadosAuxiliaresEstabelecimentoService {
 public getDadoEstabelecimentoAuxiliares(): Observable<DadosAuxiliaresEstabelecimento[]> {
        return this.get('listaEstabelecimento').map(res => res.json());
    }
}

class DadosEstabelecimentoComplementarComponent{

public listar() {
        return this.dadosEstabelecimentoService.getDadoEstabelecimentoAuxiliares()
            .subscribe(dados => this.listarEstabelecimento = dados);
    }
}

Observable é a classe responsável por gerenciar uma requisição ao server e ficar “observando” o retorno.
O subscribe é a função a ser executada quando o retorno foi recebido e precisa ser ajustado para o que você precisa (provavelmente, retorno do Service para quem o chama).

obrigado