Marcos Roriz $:

Pessoal, Geek, Anime, Jogos, Ciência da Computação e Open Source…

Projeto GingaCDN

leave a comment »

Vou falar um pouco sobre o projeto de pesquisa no qual estou participando, o GingaCDN. “O Ginga Code Development Network ou simplesmente GingaCDN é uma rede de desenvolvedores de componentes e ferramentas para o middleware brasileiro Ginga.” Tá mais o que é esse Ginga? O Ginga é o middleware (uma ‘camada’ em cima do SO utilizada para as aplicações se comunicarem) que gerenciará a interatividade da Tv Brasileira. O Ginga vai ser instalado nos set-top-box (o conversor digital, ex: ‘a caixinha da NET’) das TV Digitais. O Ginga então irá fornecer esse ambiente ‘interativo’ para as aplicações. Ainda estou me familiarizando com o Ginga, então qualquer desvio aponte🙂

As aplicações que podem ser executadas sobre o Ginga são divididas em duas categorias: procedurais e declarativas. Lembra de Linguagem de Programação? Existiam as linguagens procedurais, aquelas que realizam as instruções a serem executadas, como Java, C, C++. E também existem as linguagens declarativas, aquelas que apenas descrevem as instruções a serem executadas e não como faze-lá, como SQL, Prolog, XML.

O Ginga suporta ambos paradigmas de programação. Do lado procedural temos Java e do lado declarativo temos NCL (parecido com XML). A parte procedural é chamada Ginga-J e a declarativa é chamada Ginga-NCL. Além disso temos o GingaCC (Ginga Common Core). No qual as duas plataformas se comunicam. O GingaCC é feito em C, e nele é que se encontra as aplicações nativas do set-top-box e as rotinas que permitem a interatividade.

De maneira geral temos:

Ginga

Desenho abstrato do middleware Ginga

Dentro da pesquisa estão envolvidos várias universidade, daí o nome GingaCDN (Ginga Core Development Network) dentre elas várias universidades federais (UFPB, UFRGS, UFPEL, mais umas cinco…) e algumas particulares (PUC-RIO e PUC-MINAS). Cada universidade está responsável por algum(ns) componente(s) do Ginga. Na UFG estamos responsáveis pelo componente de comunicação entre aplicações do lado Ginga-J e gerenciador de aplicações.

As aplicações precisam se comunicar… e aí que entra o componente da UFG. Uma aplicação Ginga-J precisa se comunicar com outra, e além disso precisa comunicar com aplicações Ginga-NCL e aplicações nativas, GingaCC. Já viu a bagunça? Teremos que usar extensivamente JNI (Java Native Interface) para fazer as ‘traduções’ entre linguagens. Também usaremos IXC (InterXletCommunication), comunicação entre Xlets, que tratam de como as aplicações (no caso Xlets) irão conversar uma com as outras. Isso envolve comunicação remota de objetos, registros de objetos, stubs, entre outras coisas. É é isso que estamos trabalhando no momento…

Estou muito animado com a pesquisa, principalmente de se tratar de algo novo e interessante. Esse semestre irei fazer Redes 2 e Sistemas Distribuídos o que me dará uma boa base teórica para sustentar a pesquisa. E esqueci de falar que isso me renderá meu PFC? Essa pesquisa vai ser tudo de bom.

Written by marcosroriz

July 22, 2009 at 11:24 pm

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: