COMPOSE Component Oriented Service Engineering www compose ufpb
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? n n 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!. . . n n n 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! n n 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 !!!! ? ? : n Um monte coisas no mundo são orientadas à n n n 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 !!!! ? ? : n Necessitamos de uma re-organização dos processos. Como reusar componentes de forma sistemática? n n n 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? n n PESQUISA! O COMPOSE é um grupo de pesquisa e A resposta é: 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 n n n 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 para Dispositivos Móveis Linhas de Produtos. . .
Alguns trabalhos e o que estamos fazendo. . . n n 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. . n Trabalho Premiado no SBES! Pesquisando atualmente: q Recuperação de componentes: n q Middleware para dispositivos móveis + Linhas de produto: n q Talles Brito, Thiago Ribeiro e Hugo Nóbrega Thais Burity e Yuri Morais Desenvolvimento distribuído de software (DDS): n Yuri Negócio
Mas que ferramentas/tecnologias utilizamos? O que aprender no COMPOSE? n 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. . . n Os alunos do COMPOSE não somente programadores/engenheiros, temos que: q q q n 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? n Pré-requisitos: q q q n Saber programar! (tem que saber!) Ser criativo. Ser proativo. Gostar de estudar. Boa capacidade para resolver problemas. Como entrar no COMPOSE? q q www. compose. ufpb. br E-mail: talles@compose. ufpb. br Dúvidas, converse conosco (bata na porta). Mande um currículo (quando aparecer alguma oportunidade avisamos)!
Obrigado pela atenção!
- Slides: 13