<< Chapter < Page | Chapter >> Page > |
Esses módulos proveem serviços e informações a outras partesdo sistema: por exemplo, uma operação de aluguel ou de transmissão de filmesdeve atualizar o histórico presente na conta do usuário. Isso ocorre porqueo módulo de sugestão usará periodicamente esse histórico a fim de gerar listasde filmes de acordo com as preferências do usuário.
Mas essa não é a única maneira de observarmos o sistema. Podemostambém ver o sistema como um conjunto de processos executando e se comunicandoem máquinas diferentes, como observado na [link] . O navegador do usuário, que pode ser consideradoparte do sistema e que está executando em uma máquina, se comunica usandoo protocolo HTTPS com um servidor de aplicações, que está executando emoutra máquina e que contém parte da lógica do negócio (e os módulos decadastro, autenticação, e atualização do usuário, entre outros). O servidorde aplicações, por sua vez, se comunica de forma diferente com cada um dossistemas de armazenamento presentes. Ele usa JDBC para obter dados de usuários,FTP para obter vídeos e HTTP para obter imagens. Já o motor de sugestão é vistocomo outro processo executando numa máquina diferente do servidor de aplicação.Esse processo, de tempos em tempos, lê, processa e atualiza informaçõesdo banco de usuários a fim de gerar a lista de filmes sugeridos. Ele tambémusa JDBC para se comunicar com o banco de usuários.
Na visão em que dividimos o sistema em partes funcionais, podemosperceber aspectos do software como a composição entre elementos ou pontosde reuso. Já na visão em que dividimos o sistema em processos, podemos observaroutros aspectos, como propriedades de comunicação e de interação entreas partes do sistema. Por exemplo, na primeira visão, os cadastros defilmes e de usuários podem compor um módulo maior responsável por todosos cadastros. Já na segunda visão, percebemos que a comunicação entreo navegador e o servidor de aplicações é síncrona, enquanto a comunicaçãoentre o motor de sugestão e o banco de dados é assíncrona em relação àsações dos usuários.
Notification Switch
Would you like to follow the 'Arquitetura de software' conversation and receive update notifications?