Interop São Paulo - Script

Slide 1 e 2
Saudações à platéia e ao evento. Apresentação do palestrante.

Slide 3 – O Princípio
Para muitas pessoas, pode parecer que o discurso da Microsoft sobre interoperabilidade é algo recente. De fato, o termo "interoperabilidade", mesmo não sendo novo, parece até que tornou-se moda. Uma prova disto é estarmos reunidos para falar sobre isso em um evento como este. Mas não é moda não! A interoperabilidade há muito tempo tem sido levada em conta por fornecedores de tecnologia. Comecei a trabalhar com TI em uma época que conectávamos aos computadores IBM periféricos de outros fabricantes, que tinham que interoperar com as máquinas da IBM. Quando os computadores pessoais, rodando primeiro o DOS e mais tarde o Windows, começaram a entrar no ambiente empresarial, não raro eles tinham que comunicar-se com as aplicações que já rodavam nos computadores de grande porte. Mesmo as aplicações em software livre e de código aberto, ao se popularizarem cada vez mais no ambiente empresarial, tinham que preocupar-se em interoperar com o que já existia. Começamos a ver o Linux como servidor de arquivos e impressoras em redes Windows, servidores Windows autenticando usuários em redes Linux e, quando vamos a um banco, é comum que o computador, rodando Windows ou Linux, de um atendente, esteja acessando aplicações feitas há mais de 20 anos rodando em um mainframe IBM.

Mas nesses vinte minutos que tenho, vou focar-me nos Innovation Centers de Interoperabilidade e Código Aberto que a Microsoft apóia nas Universidades brasileiras, cujas equipes de bolsistas, desenvolvedores, estão sob a minha gestão.

Slide 4
Como falei para vocês no início, trabalho desde 1993 com Linux. Desde antes com softwares de código aberto de maneira geral. Gerenciei o desenvolvimento de sistemas e criei modelos de negócios utilizando, como base, sistemas de código aberto. Qual não foi a minha surpresa, então, quando no final de 2005 o Roberto Prado, gerente de estratégias da Microsoft, convidou-me a falar sobre isto na sede da empresa, aqui em São Paulo. Eu já havia lido sobre o laboratório de Open Source da Microsoft, gerenciado na época, pelo Bill Hilf, mas ainda desconhecia o que estava sendo feito pela empresa aqui no Brasil. Na própria palestra que ministrei na Microsoft já surgiu o assunto interoperabilidade, uma vez que, mesmo trabalhando com o desenvolvimento de softwares com base no Linux, os clientes que eu atendia tinham, em seus ambientes, sistemas da Microsoft com os quais tínhamos que nos conectar.

Em abril de 2006 o Prado colocou no ar o Porta25, um canal de comunicação sobre as iniciativas de interoperabilidade e código aberto da Microsoft, e um dos primeiros posts falava sobre a participação da Microsoft no Fórum Internacional de Software Livre, em Porto Alegre. Na época, a Infomedia TV, que tinha um stand no Fórum, queria promover a discussão entre a comunidade de código aberto e a Microsoft, falando sobre licenças de software, aspectos de desenvolvimento, ferramentas e, claro, interoperabilidade. Do lado da Microsoft, o Prado foi convidado a organizar um grupo de palestrantes. Do outro, pediram que eu sugerisse nomes para debater com a Microsoft. Acabamos, eu e o Prado, em lados opostos da mesa, discutindo ao vivo, pela Internet, a questão de licenças de software. Só esta história tomaria mais do que o tempo desta palestra...

Slide 5
... mas basta dizer que tivemos direito à manifestação de protesto do presidente da Free Software Foundation, Richard Stallman, que acabou ajudando a trazer ainda mais repercussão para os debates. Depois disso, ainda tive a oportunidade de, na Linux World de São Paulo, intermediar uma conversa entre o Bill Hilf e o Jon "maddog" Hall, da Linux International e, em seguida, o Prado convidou-me para assumir...

Slide 6
... a gestão dos projetos dos Innovation Centers de Interoperabilidade e Código Aberto mantidos em parceria com Universidades brasileiras. A idéia é que estes Innovation Centers trabalhem com questões que envolvam o desenvolvimento multi-plataforma, ajudem com pesquisas que propiciem mais interoperabilidade entre sistemas, e que todo este desenvolvimento seja feito em código aberto, disponibilizado para todos os interessados. Mas todo esse trabalho deve estar conectado, também, à vida acadêmica dos bolsistas e professores envolvidos, gerando artigos e trabalhos de graduação e pós-graduação. Hoje são mais de 20 bolsistas e cerca de 10 professores trabalhando nesta parceria. Temos Innovation Centers de Interoperabilidade e Código Aberto na Unicamp, UFRGS e Unesp, com colaborações também da PUC-RS e da UFPA. Todo o trabalho desenvolvido por essa turma pode ser acessado através do link www.codeplex.com/ndos

Slide 7
Aqui estão alguns de nossos colaboradores. A foto à esquerda, acima, mostra a equipe da UFRGS, ao lado o pessoal da UFRGS e Unicamp participando do Simpósio
Brasileiro de Arquitetura de Computadores. Abaixo, dois momentos do Innovation Day que fizemos no final de 2007, aqui em São Paulo, na sede da Microsoft, quando juntamos as equipes da UFRGS, Unicamp, Unesp e UFPA para trocarem experiências sobre seus projetos.

Slide 8 - Projetos
Vou falar rapidamente sobre eles, destacando apenas um de cada instituição, apenas por uma questão de tempo.

Slide 9 - Unicamp
Na Unicamp temos um professor orientador e cinco bolsistas (dos quais três estão aqui presentes ...) e um projeto principal, o Interop Router, sobre o qual falarei um pouco mais nos próximos slides. Durante o desenvolvimento deste projeto, os desenvolvedores tiveram que aprender uma série de coisas, desde a virtualização de sistemas operacionais até maneiras de autenticar usuários de forma única e segura nos ambientes Windows e Linux, utilizando sistemas de diretório de ambos os sistemas, AD no Windows e OpenLdap no Linux.

[Havendo tempo e, sentindo a platéia, perguntar se os ouvintes estão familiarizados com o termo virtualização e discorrer um pouco mais sobre ele, se for o caso]

Além de terem documentado tudo isto, a equipe ainda acabou apresentando uma série de palestras dentro da Unicamp e em vários outros lugares sobre seu trabalho, falando também de inovação tecnológica, mercado de TI, entre outros assuntos. Mas vamos ao Interop Router.

Slide 10
Vocês sabem o que é um cluster? De forma bem simples, quando um programa requer alta capacidade de processamento para executar uma tarefa (como simulações de túneis de vento para a modelagem de aviões, previsão do tempo, previsão do comportamento do mercado financeiro, geração de imagens tridimensionais complexas e animações), ao invés de usar-se apenas um computador para isto, divide-se este programa em várias tarefas que possam ser executadas ao mesmo tempo, de forma paralela, e usam-se vários computadores para a sua execução. Estes vários computadores, que trabalham em conjunto, formam um "cluster".

Slide 11
O Interop Router permite que um desenvolvedor ou usuário, de um programa destes que consuma muitos recursos, submeta suas tarefas e dados, através de uma interface web, para grupos de clusters que estejam conectados a ele. Não importa qual o sistema operacional que o cluster utilize. O sistema hoje funciona com clusters Linux e Windows, mas como o código é aberto, caso alguém queira fazê-lo funcionar também com o Mac OS X, isto também é possível.

Slide 12
Não vou explicar cada um dos componentes do Interop Router, mas esta figura mostra que ele fica entre o programa de um usuário e o cluster que irá executar as tarefas. Como eu disse antes, a submissão de tarefas é feita por uma interface web, mas nada impede que ela ainda seja mais automatizada, com um programa sendo submetido diretamente através de uma API.

Slide 13
Na UFRGS nosso Innovation Center é um pouco diferente. Lá cada um ou dois bolsistas tocam um projeto, com um professor orientador para cada um deles.

  • Trabalhamos com a autenticação de usuários em ambientes mistos no projeto AD+OpenLdap, que contou também com uma revisão e apoio da equipe da Unicamp;
  • com um conversor de formatos para o padrão OpenXML – que inclui na documentação um tutorial bem legal de como criar um simples documento OpenXML;
  • o HL2GLSL, que faz a tradução entre linguagens usadas nas placas gráficas, permitindo o porte de jogos entre múltiplos ambientes;
  • o VISA, que trata de questões de virtualização na arquitetura de computadores com múltiplos núcleos;
  • o MPIHASH, que em cima de um projeto da Universidade de Indiana, pretende aumentar a capacidade de processamento paralelo para a linguagem C#;
  • o SILAB, que é um projeto que estamos concluindo agora, que serve para facilitar a instalação de laboratórios e telecentros, independente dos sistemas operacionais usados, e que tem por base as práticas do Windows Desktop Deployment;
  • o MDVis, que usa múltiplos displays, com qualquer sistema operacional, para a composição de um mosaico que forma imagens – uma alternativa econômica para telas de tamanho muito grande e projeções;
  • e o V-ART

Slide 14
O V-ART é um conjunto de bibliotecas para a simulação de humanos com articulações anatomicamente corretas. No momento, estamos trabalhando na geração destes humanos para ambientes web multimídia, usando o Silverlight da Microsoft, o que significa que ele rodará também no ambiente de código aberto Moonlight.

Slide 15
Não tenho como mostrar muitos exemplos aqui, vocês podem seguir os links que estou mostrando nestes slides para mais informações. No final eu passo os links que levarão a todos os demais. Mas este é um exemplo comum e já utilizado. Muita gente tem problema com a articulação da mandíbula, a chamada ATM, a Síndrome da Articulação Temporo-Mandibular. Só sei o nome porque minha filha mais velha é estudante de medicina. Fazer uma cirurgia para resolver isto é um processo invasivo e, em muitos casos, a fisioterapia ou o uso de aparelhos ortodônticos são alternativas. Fazendo-se uma série de imagens de um paciente com esta síndrome, com o uso de um tomógrafo, é possível, posteriormente, usar o V-Art para reconstruir esta articulação e seus movimentos, simulando efeitos cirúrgicos ou exercícios de fisioterapia, apenas submetendo o paciente ao procedimento adequado depois disto. Articulações mais complexas, como a do joelho, também já foram simuladas usando o V-Art.

Slide 16
Como nos slides anteriores, vou falar rapidamente dos vários projetos que temos na Unesp e exemplificar apenas um deles. Temos dois projetos que envolvem diretamente a questão de segurança e verificação de autoria de documentos através de assinaturas digitais.

  • O AC.NET usa o certificado de atributos (padrão X.509) para o controle do fluxo de documentos entre as pessoas que tem autoridades diversas sobre o mesmo: imagine um documento que é criado, passa por uma revisão, vai para o departamento jurídico, onde cada uma das pessoas pelas quais passa o documento tem certas funções, ou atributos. No final, depois da certificação de que este documento passou por todas estas pessoas, é que ele pode ser publicado;

  • o Assinador Digital permite que um grupo de documentos seja assinado em lote, como em um cartório, onde vários documentos são autenticados depois de sua revisão;
  • o DocTISS é difícil de explicar em poucas palavras, mas ele obedece ao padrão da agência nacional de saúde para a troca de documentos. Usando o Word e o DocTiss, é possível gerar documentos neste padrão;
  • o ThinkApps é um conjunto de aplicações educacionais multi-plataforma;
  • o Linux Middleware... é um dos meus preferidos. Usa-se um kernel Linux para se ter um Windows personalizado, que pode ser usado em qualquer máquina. Leve seu Windows em sua pendrive... Interoperabilidade de hardware, usando a interoperabilidade de sistemas operacionais;
  • Para o Moodle Sharepoint Framework eu reservei um slide à parte...

Slide 17
... mas este é mais fácil de explicar. O Moodle é um ambiente em código aberto, usado para a oferta de educação à distância, por muitas instituições de ensino. O Sharepoint é o ambiente da Microsoft que muitas empresas usam para criar sua Intranet. Que tal disponibilizar material do Moodle na intranet com o Sharepoint? Este projeto da Unesp faz isto. Estamos começando a trabalhar na integração do Moodle da UFRGS com o Sharepoint da Unicamp usando o projeto da Unesp. Uma de nossas metas com os Innovation Centers é propiciar a integração entre as Universidades participantes.

Slide 18 – Possibilidades
Falei de muitas das coisas que fazemos, talvez até, em alguns momentos, sendo técnico demais, mas o que dá pra fazer com tudo isso?

Slide 19
Eu, a torcida do glorioso Grêmio e todos os demais que o conhecem somos fãs do Rafinha Bastos, que tem muitos de seus vídeos disponíveis no Youtube. A comédia do Rafinha é ácida, crítica, inteligente. Mas tente assistir a qualquer um dos vídeos dele sem som, como os surdos são obrigados a fazê-lo! Não seria legal ter um plugin que permitisse abrir um gadget, um desklet, ou qualquer outro tipo de janela que, em tempo real, traduzisse o que o Rafinha fala, em seus vídeos, para LIBRAS?

Slide 20
O V-ART, do Innovation Center UFRGS/Microsoft, trata de alguns aspectos desta questão. Usando um programa desenvolvido para o V-ART, que é o Action Builder, já foi possível criar um humano que fala em LIBRAS, a linguagem de sinais, a segunda linguagem oficial do Brasil. Para o reconhecimento da fala há vários projetos em andamento. Direcionando a saída de áudio do vídeo do Rafinha para um sistema de reconhecimento de fala, e daí para um arquivo XML que possa ser reconhecido pelo Human LIBRAS, tá pronta a solução!

Claro, as coisas não são tão simples assim. Esperar que um usuário seja obrigado a instalar as bibliotecas do V-ART, o Human LIBRAS, mais algum software de reconhecimento de fala e os integre com a saída de áudio de um vídeo do Youtube é destruir, para uma grande maioria, a acessibilidade da solução. As coisas precisam ser mais simples. Por isto, o Kao, do projeto V-ART, está fazendo uma pesquisa que permitirá que os humanos gerados pelo V-ART possam executar suas ações em um navegador web, através do Silverlight ou do Moonlight, plugins que permitem a exibição de animações sofisticadas diretamente no navegador. A idéia é que estas ações possam ser também exibidas em um gadget ou desklet (aquelas janelinhas no desktop que normalmente mostram fotos, calendários, notícias, previsão do tempo, etc), como mostrei no slide anterior.
(volta rapidamente ao slide anterior)

Slide 21
O reconhecimento da fala e seu processamento por um humano virtual que a traduza, em tempo real, para LIBRAS são trabalhos que requerem um grande poder de processamento. Estas tarefas podem ser divididas para a execução paralela, entre vários computadores. Aí entra outro projeto, desenvolvido no Innovation Center Unicamp/Microsoft, o Interop Router.

Slide 22
Mas não acaba por aqui. Queremos que nosso humano virtual ainda dê aulas em LIBRAS, dentro de uma empresa que tenha um projeto para a admissão de surdos. Muito do conteúdo, já em modo texto, disponível no Moodle, pode ser... Bom, vocês pegaram o espírito da coisa...

Falo com minhas filhas que moram em Porto Alegre e Brasília, com voz e imagem, via web, através de meu computador. Abro o meu celular da mesma forma que o Capitão Kirk abria seu comunicador para pedir ao Scotty que o teletransportasse. São coisas do futuro que tornaram-se corriqueiras em meu dia-a-dia. Ainda veremos o tempo em que riremos do mouse e do
teclado.

Slide 23
Mas antes eu já havia falado sobre uma das metas dos Innovation Centers, que é a de conectar o que fazemos com a produção acadêmica...

Slide 24
Durante o ano fiscal de 2008 da Microsoft, que foi de julho de 2007 a junho de 2008, apresentamos nossos trabalhos em 21 eventos acadêmicos nacionais e internacionais, nove eventos de TI profissionais e três eventos comunitários, incluindo o Fórum Internacional de Software Livre. Dentre os eventos internacionais...

Slide 25
... um deles foi o Workshop of Computer Architecture Education, um evento tri-concorrido para trabalhos voltados à educação em arquiteturas de computadores, que neste ano aconteceu em Pequim, na China, pouco antes das Olimpíadas. O Henrique e a Manuela, aqui na foto, foram apresentar o VISA, sobre o qual falei brevemente quando mostrei os projetos da UFRGS, uma proposta de linguagem assembly preparada para a virtualização em processadores com múltiplos núcleos. Este trabalho acabou transformando-se no trabalho de conclusão do curso da Manuela, que agora é Cientista da Computação pela UFRGS.

Slide 26
Claro que todos os projetos que citei aqui são de código aberto. E as equipes que os desenvolvem estão abertas a todo o tipo de colaboração. Resumir três anos em 20 minutos é impossível, mas espero ter despertado curiosidade suficiente para que vocês acessem estes links e vejam que, de fato, unimos interoperabilidade, código aberto, inovação tecnológica, produção acadêmica e visão de futuro em nossos innovation centers. Obrigado a todos!

Slide 27
Temos tempo para perguntas?



Design: Dobro Comunicação. Desenvolvimento: Brod Tecnologia. Powered by Drupal