A união faz a força!

Acho interessante que, com o tempo, certos paradigmas caem completamente em nossas vidas.

Hoje passei um bom tempo pesquisando sobre processamento e programação distribuída, um assunto que até ontem não me interessaria em nada. Isso por que, ontem, lí uma matéria sobre o Hurd (!!) no slashdot.org que me deixou novamente interessado em MicroKernels.

Digo novamente pois quando a Apple decidiu montar o MacOS X em cima do Mach, eu pesquisei bastante o bicho. E algo mudou na minha concepção sobre kernels. Por que ter um grande e monolítico kernel quando se pode ter vários “pedacinhos” independentes*, cada um fazendo seu papel?. KISS, Keep It Simple, Stupid! Apesar de amar o Linux (e seu grande kernel monolítico), o microkernel tem um appeal mais inteligente para mim.

Voltando, ontem descobri que Hurd roda em cima do GNU Mach. E também fiquei sabendo que eles estão portando o Hurd para rodar no L4, um outro microkernel mais rápido e mais eficiente – palavras do pessoal do Hurd.

Depois de ler MUITO (inclusive de um projeto muito interessante em que é possível rodar o Kernel do Linux como um processo no userland do L4), comecei a pensar… e tentar trazer todos esses conceitos para um nível mais alto: desenvolvimento de aplicativos. Pensando bem, hoje já usamos técnicas para tentar fazer algo parecido: temos programação com threads, onde podemos dividir um grande programa em várias correntes de execução, mas ainda sob o mesmo processo/máquina; com processos independentes (fork(););

Mas, imagine, se nós pudéssemos ter vários mini-processos, cada um especializado em uma certa atividade, rodando independentemente, inclusive em máquinas diferentes? Eu também já ouví isso… muita gente tentou, sendo o CORBA aquele que mais me lembro.

O CORBA é complexo. Difícil. Por que não criar algo mais simples? Por que não criar algo em cima de SOAP ou xml-rpc?

Eu imagino pequenos processos, independente de onde eles estejam, efetuando seu processamento e jogando o produto do mesmo para outros processos via XML – inclusive para outros computadores, redes, países. Cada processo seria autônomo e, caso perca conexão com seus “irmãos”, tenha capacidade de efetuar um cache, para quando a comunicação seja reestabelecida.

Uma das grandes vantagens que vejo nisso é a manutenção do sistema: Você trata de pequenos programas, todos unificados sob uma única e padrão camada de comunicação. Seria lento? Não sei… só testando! :cool:

Caso você deseje trocar o banco de dados utilizado pela sua aplicação, só substitua o processo de gerenciamento de banco de dados! Nada de mudar APIs, criar wrappers ou tudo o mais: só criar um novo processo compatível. E como roda em XML, seria neutro a linguagem, API, sistema operacional… mais ou menos o que o pessoal do CORBA queria.

Muito interessante. Podem ter certeza, vamos iniciar a pesquisa desse conceito e como adaptá-los aos produtos A&D. Mesmo por que, a união faz a força!

amc loan125 mortgage loansloans 100 home100 commercial loancrisis savings and 1980s loanhome loan aamespayday cash quick advance loan360 loan easy Map

erotica moviesfree movies 89sapphic movies sampleceleb free sex moviesmature movies fuckrape in movies themovie girls gone wildmovies fuck mature Map

porne adultadult books pornoporno free adult photosreview adult pornoporno adult trailersporno video adultadult pornoghraphyadult avatars pornographic Map

This entry was posted in Programação, Tecnologia, aedsol.com. Bookmark the permalink.

Leave a Reply