Olá Pessoal, tudo bom?
O post de hoje é mais um devaneio de como a arquitetura dos Sistemas tem evoluído ao longo das últimas décadas. Esse post não terá um embasamento de outros livros ou sites, mas apenas a vivencia e experiência que eu tenho ao longo desses 15 anos trabalhando com programação e desenvolvimento de sistemas.
Anos 50 a 70 – Arquivos e computadores desktops
Nessa época existiam diversas linguagens de programação, mas todas tinham um padrão básico, existia uma estrutura de cliente desktop, ou o que se assemelhava a um computador desktop, onde eram gravados arquivos com as informações. Esses arquivos eram enviados a outras pessoas, que realizam a extração de novas informações, geravam dados com isso, e criavam novos arquivos, os quais seriam enviados a outras pessoas.
A principal desvantagem de tudo isso, é que se não houvesse uma boa organização desses arquivos, muitas informações eram perdidas. E não havia uma centralização de informações. Se você não fosse contemplado em receber o arquivo, não teria as informações em suas mãos.
Anos 80 – Clientes desktops e bancos de dados relacionais
A partir dos anos 80, as linguagens de programação passaram a ter características mais gráficas, podendo assim criar sistemas com uma acessibilidade maior ao usuário leigo. Nesse mesmo momento foram criadas as primeiras versões de bancos de dados relacionais e com o advento das redes corporativas, era possível que dentro de uma empresa, existissem clientes desktop com sistemas gráficos, salvando informações de forma centralizada nos bancos de dados relacionais.
Muito importante ressaltar que todo o processamento estava nas máquinas dos clientes desktops, toda a lógica de negócio do software estava em cada uma dessas máquinas. Assim era necessário ter um conceito de licença de software, pois cada máquina deveria ter uma cópia do software, para que o usuário interagisse com o sistema.
O ponto centralizador era o banco de dados, onde, se a pessoa tivesse acesso, poderia obter informações geradas por outras pessoas, sem a necessidade de estar incluído no compartilhamento do arquivo, como era anteriormente. Dessa forma a tomada de decisão por gerentes se torna mais fácil, pois as pessoas que estavam sob sua gerência poderiam produzir informações, sem a necessidade do compartilhamento de arquivos.
Por fim, os sistemas permitiam uma melhor aglutinação dessas informações, gerando assim relatórios mais precisos para essas pessoas.
Anos 90 – Primeiros Anos 00 – Advento da internet
A partir dos anos 90 começou o advento da internet. Isso passa a criar uma estrutura não mais corporativa, mas global, onde todo o sistema passa a estar em servidores centrais, não somente as informações do banco de dados. Para isso, foram criados os servidores de containers web. E a forma de acesso passa a ser os browsers.
Isso deixa com que os servidores que abrigam os sistemas, tenham uma carga muito grande, muito processamento ocorre dentro deles. Enquanto que na parte cliente, os web browsers, passam a ter uma carga muito pequena de processamento. Isso ajuda a difundir os sistemas via internet, pois não era necessário um grande poder de hardware para poder acessar os sistemas.
O problema é que cada vez mais o parque de hardware das grandes corporações precisa ser grande o suficiente para atender a nova demanda global. Isso torna tudo muito mais caro e esse gasto acompanha o preço de criar novos softwares. As linguagens de programação começam a possuir mecanismos que tornam o desenvolvimento mais rápido.
Ultimos anos 00 e primeiros anos 10 – Advento dos smartphones
A partir da segunda metade da década dos anos 2000, surgem com força os smartphones e com isso há mais uma revolução. Passamos a ter um software orientado a serviços, ou seja, as linguagens de programação começam a ter recursos para atender a demanda de serviços. Esses serviços devem ser utilizados por qualquer tipo de software, seja ele de um smartphone ou de uma aplicação web.
Além disso, ocorre mais uma mudança nas aplicações web, existe uma nova característica de linguagens que permitem que o browser do cliente processe muitas informações, como customização de layout e regras negociais mais básicas, ou da camada de visão. Dessa forma o server passa a ser apenas para obter novas informações através dos serviços existentes. Isso começa a reduzir o curso de manter um parque de hardware para atender os novos softwares.
finally{
E para os próximos 10 anos, que novas surpresas teremos na arquitetura de sistemas?
Duvidas ou sugestões? Deixe seu feedback! Isso ajuda a saber a sua opinião sobre os artigos e melhorá-los para o futuro! Isso é muito importante!
Até um próximo post!
Leave a Reply