IOS, uma outra REBOLution

ArticleCategory:

Applications

AuthorImage:

Georges Tarbouriech

TranslationInfo:[Author and translation history]

original in en Georges Tarbouriech 

en to pt Bruno Sousa 

AboutTheAuthor

O George é um utilizador de Unix de há longa data. Ele gosta realmente daqueles produtos inovadores capazes de mudar o nosso modo de trabalhar.

Abstract:

IOS significa Sistema Operativo de Internet (Internet Operating System). É um produto comercial com a intenção de facilitar o trabalho colaborativo. A Rebol é a conceptora deste pedaço, incrível de software. A LinuxFocus teve a oportunidade de testar uma versão de avaliação por um período de 30 dias. Este artigo tenta apresentar esta REBOLution.

ArticleIllustration:

IOS

ArticleBody:[The article body]

A ideia

Entre outras coisas, o REBOL tem uma única propriedade: o tamanho extremamente pequeno das aplicações que pode desenvolver com a linguagem. Pode dar uma vista de olhos neste "velho" artigo para descobrir como pode ser poderoso e como é fácil desenvolver aplicações para cerca de 40 plataformas. Por exemplo, o Rebol/View tem 587 KB e permite-lhe desenvolver praticamente tudo o que precisa. Pode obtê-lo, livremente a partir do website da Rebol. Pode também fazer download de mais de 300 exemplos de scripts que lhe ensinarão tudo.
Nunca encontrará outro modo de criar aplicações tão pequenas em tamanho, com outra linguagem de programação. O IOS nasceu com a mesma filosofia. Ou seja, um servidor dedicado, que lhe fornece tudo o que precisa, e como cliente, tem imensas aplicações distribuídas, num desktop leve, correndo em cerca de 25 sistemas operativos diferentes. Claro que pode desenvolver as suas próprias aplicações de acordo com as suas necessidades. Contudo isto é um breve resumo, visto que o IOS é mais do que isto.

Os factos

Muita gente nova (e velha) pode perguntar: O que é que este "gajo" está a falar ? O que é que nos importa o tamanho ? Hoje em dia temos discos rígidos de 20 ou 40 GB, imensa RAM, CPUs "de corrida", porque é que devemos manter as coisas pequenas? Sentem-se a dizer-me : Vá lá meu velho, as coisas mudaram! Perfeitamente de acordo... MAS, e à cerca da Internet ?
Provavelmente já notou que cada vez mais pessoas utilizam a Internet. Muitos utilizam modems para se ligarem a websites, para enviar e receber o seu email, etc. E, claro que isto consome imensa largura de banda. Ou seja, mesmo com cabos ou uma ligação DSL, as ligações estão cada vez mais lentas.
Eu sei, ninguém se importa! Quem é que faz o "esforço" para enviar texto ou HTML em vez daqueles @#%*$ documentos de Word ou Excel, ou quem é que se importa enviar imagens JPEG em vez das de BMP? Muitos Poucos !!! E não falamos de websites "oferecendo" som, vídeo, imagens enormes, etc. Assim, trabalhar remotamente, está cada vez pior, cada dia que passa.
Contudo, cada vez mais as pessoas trabalham remotamente. Grandes companhias mundiais comerciais, firmas, organizações mundiais, etc e não nos esqueçamos da comunidade de software livre (para o desenvolvimento de software, documentação e por aí além). Quer isto dizer que têm pessoas a trabalhar em todo o mundo que precisa de comunicar, preferencialmente em tempo real. Isto é quase verdade... sem o Rebol. E então ?

A REBOLution

Hoje, para trabalhar remotamente, toda a gente utiliza utilitários bem conhecidos: 50 MB de browsers, 20 MB de software de mail, 10 MB de software de conferência, 1 GB se software de base de dados... para trocar algum tipo de dados. Preferencialmente, grande quantidade de dados (veja acima!). O que é que o Rebol oferece de novo ? Nada ! Os meus companheiros disseram-me: o messenger permite enviar mensagens, o mailer enviar mail, o gestor de tarefas administrar tarefas...
Novamente é verdade ! Com a excepção de o mailer ter 2915 Bytes (sem erros de digitação !), o messenger tem 14.5 KB, o programa who tem 7372 Bytes, o software de conferência tem 14.41 KB, e por aí adiante ! Todos estes utilitários estão disponíveis no seu desktop com um tamanho de executável de 610 KB para se ligar ao servidor. Isto é o tamanho para o cliente Linux; e é praticamente o mesmo para todas as plataformas disponíveis : 25 na altura da redacção deste artigo.
Eis o seu aspecto :

desk


Para compreender todo o conceito você deve saber que o REBOL lhe fornece uma linha de produtos que lhe permite quase tudo. Já mencionámos o Rebol/View (livre de taxas ou a versão "enhanced" por uma pequena taxa), mas pode adicionar o Rebol/Core (download livre), o Rebol/Command (comercial, ou seja não está livre de pagamentos) que é um produto a ser utilizado em conjunção com as RDBMS (Sistemas de administração de Base de Dados Relacionais) ou para administrar as scripts cgi, por exemplo. Claro, que todos estes produtos podem ser utilizados com o IOS. Isto faz uma "caixa utilitária" excelente: uma linguagem de programação (ou de mensagem) de cortar a respiração, a possibilidade de criar interfaces com os seus programas (chamados de "reblets") com bases de dados existentes ou servidores web, ou qualquer outra coisa. Como já foi dito no artigo anterior : o único limite vem da sua imaginação. Um exemplo tornará as coisas mais compreensíveis.

O Teste

Pedimos à Rebol por uma versão de avaliação do IOS e eles foram muito simpáticos em aceitar. Conseguimos, assim ter 3 contas de clientes no servidor Rebol. Obviamente, que não pudemos testar o lado do servidor : já falaremos disto mais tarde. Visto que é um teste da LinuxFocus, utilizámos ... o cliente Linux.
Tudo o que tivemos de fazer foi fazer download de um pequeno executável e executá-lo (Sim, Eu detesto executáveis, mas neste caso, digamos que eu confio na Rebol). Isto instala o cliente na sua máquina : demora menos de um minuto !
Se, por exemplo, tiver o Rebol/View instalado na sua máquina, nem sequer precisa de configurar o cliente visto que toda a informação que precisa já existe. Ou seja o endereço de email, os endereços dos servidores de pop e smtp... Contudo tem de fornecer o nome de utilizador e a palavra passe que a Rebol lhe deu. Ou seja : Está pronto !
Pode utilizar todos os utilitários presentes no desktop: o mensageiro, o software de email, de conferência, etc. Já agora, novas "reblets" são adicionadas frequentemente. Utilitários são também fornecidos, tais como uma calculadora, um clipboard, um painel de informação, etc: Aqui está:

deskutil


Os botões diferentes permitem-lhe aceder a cada área fornecida para as aplicações, documentação, etc. Os botões do utilizador são uma coisa boa visto que pode criar as suas próprias pastas neste espaço de trabalho. Pode especificar os utilizadores que têm acesso a esta pasta, basta nomea-los nos devidos campos. Depois põe nesta pasta o que lhe apetecer. Podem ser aplicações, figuras, documentos... Pode considerar esta pasta como um NFS (Network File System) "mundial"... sem os problemas de segurança ! Ou seja, os utilizadores segundo as permissões que lhes atribuiu podem ler, escrever para este directório. Claro, que toda esta matéria está presente no seu disco. Por outras palavras pode usá-lo sem estar ligado.
O que é que guardamos lá ?
Uma aplicação pequena que lhe permite ligar-se à última edição da LinuxFocus. É a mesma que foi vista num artigo anterior acerca da Rebol, com a excepção de o levar para uma edição diferente da LinuxFocus. Porque é que escrevi a mesma aplicação ? Porque a sintaxe alterou-se um pouco desde o último artigo. Eis aqui o novo source code

Como é que se parece ?

lfissue


Este programa tem 2182 Bytes, mas podemos dizer que só contém texto, botões, URLs e uma imagem de fundo... e muito pouco código. Nada realmente significativo, ou é ?
Tentemos algo mais elaborado.
Mais uma vez, tomaremos a LinuxFocus como exemplo. Agora e sempre, faremos uma base de dados simples. É suposto fornecer aos utilizadores permisões para consultar, criar, apagar registos. Claro que isto é um exemplo simples e assim não podemos fazer consultas ("queries"), só poderá seleccionar um registo de cada vez. Os registos são armazenados num ficheiro de texto chamado articles.r.
O programa chama-se lfdb.r e "pesa" 5983 Bytes !
Foi baseado no rebodex.r de Carl Sassenrath (fundador da Rebol), o qual faz parte dos exemplos fornecidos e acima mencionados.
Eis aqui código fonte

Observemo-lo a trabalhar :

deskdb


Como pode ver, não é nada extraordinário, mas trabalha e é muito pequeno em tamanho. Ou seja, trabalhando remotamente com ele é bastante rápido independentemente da ligação que se tenha.
É de dizer que cria tudo o quer num curto espaço de tempo e, torna-o utilizável para o resto do mundo como se tivessem no escritório ao lado. Lembre-se que podem utilizar a sua "criação" após terem desligado, visto terem as coisas no seu disco rígido.
Obviamente, que isto é um exemplo muito simples, mas mais uma vez, não existe limite para com o que pode fazer com o IOS. Por exemplo, estamos a falar de base de dados, pode utilizar o Rebol/Command para se ligar a um servidor RBMS.
Isto é só uma maneira de utilizar o IOS, existem muitas outras. basta que pense nas aplicações sofisticadas que pode criar com ele.
E agora, o mais importante : o único e só lado da segurança.

O lado de segurança

Logo que se tenham comunicações de Internet o risco de segurança é muito elevado. Como é que o Rebol lida com "isto" ?
Como habitual, mantiveram as coisas simples, fáceis e confiáveis.

O servidor

Como já mencionado, não fomos capazes de testar o servidor IOS. Mas um guia de administração está disponível a partir da documentação do desktop IOS. Além disto, as pessoas na Rebol são bastante simpáticas para responder às suas questões : isto não é assim tão frequente e tem de ser dito. Mas ainda mais interessante, respondem à sua questão tempo tempo real com a aplicação IOS messenger. Nada mau ? (A propósito, quando é que dormem, visto que um voo entre nós é de aproximadamente 9 horas?)
Primeiro de tudo, o servidor pode correr em diferentes Sistemas Operativos. A maioria dos servidores Unix e Windows podem fazer o trabalho. A segurança do IOS é feita desde dentro e integra-se na sua rede sem qualquer modificação das infraestruturas. Esperemos que a sua rede esteja já protegida com firewall, com um servidor proxy, com o NIDS (Sistema de detecção de intrusos na rede), com túneis (VPN), etc.
O IOS opera no topo do servidor web, utilizando o protocolo HTTP com uma técnica de túnel. Este servidor web é utilizado como gateway para se ligar ao servidor IOS. Um programa cgi actua como proxy, redireccionando os dados do servidor web para o servidor IOS. Todo a comunicação é enciptada. O servidor IOS armazena os dados. Um outro processo sincroniza os dados entre o servidor e o cliente. Ou seja os novos dados são, automaticamente, copiados para o seu disco rígido.
Por último, mas não o menos importante, demora cerca de 5 minutos a instalar o servidor, se já possuir um servidor web a rodar.
Claro que isto é uma explicação muito breve, mas mostra, que a filosofia do Rebol foi aqui aplicada, também. Acrescente-se que a Rebol fornece Reblets para facilitar a administração.

O cliente

Já descrevemos a facilidade de instalação do cliente. Pouco mais há adicionar, visto que demora cerca de 1 minuto.
Como cliente, você liga-se ao servidor com chaves de sessão únicas, assim a autenticação é garantida. Tudo o que circula na rede está encriptado. As ligações podem ser restringidas pelo endereço IP, a portos específicos (entrada, saída). Torna-se depois uma ligação ponto-a-ponto.
Respeitante aos ficheiros e directórios, as permissões podem ser administradas muito facilmente. Os acessos estão limitados a uma área específica. Ou seja, o utilizador só pode aceder à sua própria área. E assim por diante.
Há muito mais a dizer acerca do esquema de segurança do IOS, mas precisaríamos de vários artigos para dar cobro a tudo.
Para abreviar, a segurança do IOS está muito bem pensada. Eu testei a circulação de dados com o tcpdump e não vi nada a não ser a ligação em si. Fiz um scan ao servidor com o nmap e não obtive nenhuma resposta. Claro que, isto não quer dizer que não há vulnerabilidades : todos sabemos que a segurança nunca atinge 100%, contudo a Rebol fez um outro excelente trabalho.

A parte "comercial"

Está bem, a Rebol está a fornecer software proprietário. Claro que o tem de vender para viver, apesar de obter muitos produtos livremente. Contudo, por exemplo, o IOS é vendido de diferentes modos: eis aqui a linha de produtos do IOS.
O IOS Express é para grandes/médios negócios.
O IOS Lite é para pequenos negócios.
O IOS Host is é para negócios hospedados : O Rebol hospeda-se nos seus servidores.
O IOS Alliance é um programa de suporte para programadores comerciais.
Obviamente, consoante a escolha, o preço a pagar é diferente. O preço de introdução está definido com $2000 para o servidor e 10 clientes. Clientes adicionais ficam a $100 cada um. Para uma grande quantidade de clientes, o desconto pode ser negociado.
Isto é só para informação e pode mudar num futuro próximo, segundo o número de aplicações fornecidas pelo IOS.

Regressando ao Futuro

O IOS está muito à frente, ao manter as coisas simples, que se torna difícil explicar todas as suas vantagens. A maioria das pessoas utiliza produtos diferentes, no seu trabalho do dia-a-dia e nem sequer notam que tais produtos não são os mais adequados. Ou estão agarrados a eles, ou não estão curiosos para tentar algo de diferente. Por vezes, nem sequer têm escolha. Contudo, produtos como o IOS, são uma verdadeira revolução, comparativamente aos que utilizamos hoje. Para este excelente pedaço de software, a Rebol não tem competidores. O problema é que ao estar muito avançada, significa que desde muito cedo outros competidores podem beneficiar. O mundo dos computadores está cheio de exemplos tristes.
Vamos para a habitual "area" fora de contexto.
O fundador da Rebol, Carl Sassenrath, costumava trabalhar para a Commodore, um grande feitor, para os que não sabiam. O computador Amiga foi um dos seus produtos. O SO da Amiga é um dos mais avançados da altura : o primeiro computador pessoal multitarefa, o primeiro verdadeiro computador multimedia, o primeiro a utilizar múltiplos chips, etc. A Commodore não foi capaz de o vender como merecia. Levou anos, até que outros feitores ou editores atingissem o mesmo nível técnico... mas estes "outros" tiveram sucesso na venda dos seus produtos, por vezes "obrigando" as pessoas a comprá-los.
O Carl esteve envolvido neste excelente trabalho do SO da Amiga.

Mais tarde, ainda para a Commodore, o Carl trabalhou no CDTV, digamos o pai das "caixas set-top". Novamente, a Commodore não foi capaz de o vender. Contudo, alguns meses mais tarde, após o lançamento da CDTV, outro grande produtor, lançou um idêntico... e teve sucesso na sua venda. Tudo isto para dizer que o Carl esteve sempre à frente, mas, talvez, muito à frente. O que deveria ter sido uma vantagem, tornou-se num (tipo de) desvantagem. O seu trabalho foi para benefício de outros, mais tarde.

Outro exemplo podia ser o NeXT e o seu Sistema Operativo (SO), o NeXTSTEP. Após 10 anos decorridos, as pessoas descobriram o MacOS X, sem que soubessem, na maioria, que era já um velho sistema... chamada NeXTSTEP. Este é um pouco diferente, visto que o mesmo homem está por detrás de ambos os sistemas.
Mas novamente, parece que estar muito à frente pode produzir um mau resultado. Uma frase resume o "correcto" modo de trabalhar: "Nós não copiamos(plágio), nós somente, tentamos não cometer os erros daqueles que abriram o caminho" (a verdadeira frase pode ser um pouco diferente). Advinhe quem disse isto ! Alguma ideia ?

Esta digressão conduz-nos a uma questão : trabalharam Carl e seus amigos em prol de outros ? Bem, muitas pessoas não se apercebem do avanço que o IOS e a gama de produtos da Rebol têm. Contudo isto poderia "dar" ideias a alguns editores. Mas há uma coisa que não conseguiram fazer : o tamanho das aplicações e a linguagem para as criar. Como, não acredito que a velocidade das comunicações na Internet melhore amanhã, continuo a pensar que a Rebol é a única que entende o problema. Estou impressionado com as altas velocidades atingidas na Internet, mas quando é que estarão disponíveis para toda a gente ? Nem sequer falemos dos custos.
Claro que, as ligações por cabo e DSL melhoram um pouco as coisas comparativamente às ligações por modem ou ISDN (pelo menos, às vezes, especialmente as ligações por cabo). De qualquer modo, mesmo com grande velocidades, as aplicações com tamanho mais pequeno serão mais rápidas que as maiores. Para uma companhia é algo importante : significa custos menores (as comunicações são mais curtas), maior eficiência (as pessoas podem trabalhar desligadas sem terem necessidade de fazer download de vários Mbs de dados), maior segurança (visto que a maioria dos servidores em todo o mundo são como escravos), e por aí adiante.

Por último, mas não o menos importante, a maior parte da segurança é administrada pelo servidor IOS e não requer o conhecimento necessário para securizar uma rede. Ou seja, se a sua rede é como os mencionados escravos, então terá uma segurança aceitável instalando somente o servidor IOS... mesmo que eu não recomende isto !

O fim

O trabalho remoto colaborativo está a espalhar-se cada dia que passa. Muitas, soluções bem conhecidas existem, mas na maioria são bastante dispendiosas e pesadas de implementar. A Rebol dá-nos um novo modo de trabalhar, de pensar : aplicações distribuídas leves. A abordagem relativamente às aplicações distribuídas não é nova, mas quando adiciona "leve", então é.
Produtos como o IOS e amigos representam uma nova abordagem. Como habitual, "existe mais de uma maneira de o fazer", mas a da Rebol é, realmente inacreditável. Eu não estou a dizer que se deve ver livre de outras linguagens de software. Por exemplo, continuo a "gostar" do Perl ou do MySQL. Mas o IOS é algo mais : utilizado em conjunto com Rebol/Core, Rebol/View, Rebol/Command, torna-se no utilitário final para o trabalho remoto cooperativo.
Claro, você está a ler a LinuxFocus e nós, normalmente, falamos acerca de software livre. Contudo, o software proprietário, quando realmente inovador, não pode ser deixado de lado, especialmente se correr na maioria dos Sistemas Operativos disponíveis.
Rejeitar este facto parecer-se-ia integrismo.
Ainda mais que, as pessoas na Rebol, não são somente prestáveis e simpáticas bem como de mente aberta, o que não é verdadeiro para outras, incluindo algumas pessoas na comunidade de software livre. Desculpem-me, mas isto é outro facto !
Sugestão : tente os produtos da Rebol e como a Apple diga "pense diferente". Esqueça ao que está habituado e faça alguns testes com o diverso software da Rebol. Tenho a certeza que não se lamentará do tempo dispendido. Para um bom começo visite o website da Rebol. Faça download do Rebol/View e das scripts de exemplo : entenderá tudo acerca da REBOLution.
Pode ler o livro "Rebol" do meu amigo Olivier Auverlot a partir da revista Francesa "Login". Este livro foi escrito em Françês, mas uma tradução Inglesa está a caminho e deve ser apresentada muio em breve (se não foi já publicada na altura desta redacção).
Se quiser saber mais acerca do IOS, encontrará imensa informação no website da Rebol. É recomendável ler o scenario visto que fornece um exemplo do que uma companhia média pode fazer com o IOS.
Aprecie !
Estamos ou não a viver num tempo fabuloso ?