COMPOSE: Component
Oriented Service Engineering
www.compose.ufpb.br
Apresentação dos Feras!
Talles Brito Viana
Mestrando em Informática – PPGI/UFPB
Universidade Federal da Paraíba - UFPB
9 de Outubro de 2008
O que são componentes?


Composição permite que “coisas” pré-fabricadas
sejam reusadas ao “re-arranjar” tais “coisas” para
que sejam criadas novas unidades de composição
(componentes!)[Szyperski].
Idealmente, componentes são unidades
executáveis, independentes de produção, aquisição
e distribuição.
Analogias comuns!...



Componentes de software foram
inicialmente pensados de forma
análoga aos componentes de
hardware em geral (Circuitos
Integrados – CI).
Já se falou/pensou na idéia de
“Software CI” - “Software Bus”
Logo, seria possível seguir tal
analogia, e assim fazer software
“
componentizado”.
Vantagens do uso de componentes!




Produzir software do zero é custoso.
O uso repetido é a idéia central do “reuso”! Após
diversas reutilizações, o custo de se fazer um
componente (para reuso) torna-se menor do que
construir soluções do zero.
Software “sob medida” pode ser demorado de ser
produzido em um mundo de mudanças rápidas – outro
já fez o que você devia ter feito  !
Diferentes componentes de diferentes qualidades
(em termos de desempenho, eficiência e outros
fatores) podem ter diferentes preços –
competitividade!
Mas, existem problemas  !!!!!!!! ????:




Um monte coisas no mundo são orientadas à
componentes (principalmente nas outras engenharias),
exceto software! [em 2002, mas hoje creio que ainda não...]
“Componentização” é uma bem estabelecida disciplina
em outras engenharias, mas até [2002 ano do Szyperski, mesmo
assim, já estamos em 2008] ainda não é bem-sucedida no
“mundo do software”.
Descrições devem ser cuidadosamente generalizadas
para promover reuso em um suficiente número de
diferentes contextos.
Interoperabilidade: como ser independente de
distribuição? Padrões são difíceis de alcançar, pois
empresas são competidoras.
Mas, existem problemas  !!!!!!!! ????:




Necessitamos de uma re-organização dos
processos. Como reusar componentes de forma
sistemática?
Onde armazenar componentes? Como encontrar
componentes armazenados de forma fácil?
Abordagens de componentes têm mais usuários quando
é oferecida uma suficiente, grande e variada
quantidade de componentes – isto é necessário!
Linguagens/métodos/processos orientados à
componentes devem permitir que os engenheiros de
software resolvam os problemas que encontrarem no
seu “dia-a-dia”.
Como resolver tais problemas?

A resposta é: PESQUISA!

O COMPOSE é um grupo
de pesquisa e
desenvolvimento criado em Março de 2005 pelo
Professor Doutor Glêdson Elias. O grupo trabalha na
área de Engenharia de Software. O grupo é um dos
pioneiros no estado da Paraíba a trabalhar com
tecnologia de componentes, investigando os
benefícios do reuso de software, tais como
diminuição de custo de desenvolvimento e aumento
na qualidade do software.
Nossos Tópicos de Interesse











Desenvolvimento Baseado em Componentes
Reuso de Software
Busca e recuperação de componentes
Sistemas de Repositórios de Componentes
Processos de Desenvolvimento
Arquiteturas Orientadas a Serviços
Desenvolvimento Distribuído de Software
Middleware
Middleware para Dispositivos Móveis
Linhas de Produtos
...
Alguns trabalhos e o que estamos
fazendo...


OLIVEIRA, João Paulo F.; BRITO, Talles;JÚNIOR, Sebastião Rabelo;ELIAS, G. Um Serviço de
Repositório Compartilhado e Distribuído para Suporte ao Desenvolvimento Baseado em
Componentes.SBES 2007 - Simpósio Brasileiro de Engenharia de Software. João Pessoa - PB,
2007.
OLIVEIRA, João Paulo F.; BRITO, Talles;OLIVEIRA, Adriana E.; JÚNIOR, Sebastião Rabelo;ELIAS, G.
X-CORE: Um Serviço de Repositório Compartilhado e Distribuído de Componentes de
Software. Salão de Ferramentas - SBES 2007 - Simpósio Brasileiro de Engenharia de Software.
João Pessoa - PB, 2007.
...

Trabalho Premiado no SBES!
Pesquisando atualmente:
 Recuperação de componentes:


Middleware para dispositivos móveis + Linhas de produto:


Talles Brito, Thiago Ribeiro e Hugo Nóbrega
Thais Burity e Yuri Morais
Desenvolvimento distribuído de software (DDS):

Yuri Negócio
Mas que ferramentas/tecnologias utilizamos?
O que aprender no COMPOSE?

No dia-a-dia, aprendemos a usar diversas tecnologias (inclusive de
componentes!!, claro) e ferramentas... (algumas consideradas da
moda, outras nem tanto..)
Mas não é exatamente isso...

Os alunos do COMPOSE não são somente
programadores/engenheiros, temos que:







Pesquisar (Ler muito!).
Criar (Pensar muito!).
Implementar suas idéias (Programar muito!)
Escrever (Fácil? Isso dá um trabalho!).
Divulgar (Apresentar, falar em público!).
Mestrado (PPGI-UFPB!) (Defender a tese!).
Tecnologia é só pra usar... o objetivo é formar
alunos pesquisadores!
Pré-requisitos: Como entrar no
COMPOSE?

Pré-requisitos:






Saber programar! (tem que saber!)
Ser criativo.
Ser proativo.
Gostar de estudar.
Boa capacidade para resolver problemas.
Como entrar no COMPOSE?




www.compose.ufpb.br
E-mail: [email protected]
Dúvidas, converse conosco (bata na porta).
Mande um currículo (quando aparecer alguma oportunidade
avisamos)!
Obrigado pela atenção!
Download

COMPOSE