Você está na página 1de 27

PRTICAS PARA A ESPECIFICAO DE

ARQUITETURAS DE SOFTWARES NO CONTEXTO DE MQUINAS SOCIAIS PARA A WEB 3.0


Dissertao de Mestrado por

Elaine Gleyce Mira de Figueiredo (egmf@cin.ufpe.br)


Orientadores:

Prof. PhD. Silvio Romero de Lemos Meira Prof. PhD. Vinicius Cardoso Garcia

Sumrio
Introduo Objetivos, problema, justificativa.... Mquinas Sociais Reviso da Literatura de Arquiteturas de Softwares Para Mquinas Sociais Arquitetura de Referncia Para Mquinas Sociais Avaliao da Arquitetura Prticas Para Desenvolver Arquiteturas de Mquinas Sociais Experimentao das Prticas Concluso Referncias

Introduo
Apresentao e Justificativa:
Proliferao de servios e aplicaes para a Web; Trabalhar o conceito de Mquinas Sociais - SMs, e assim explorar a internet de forma mais cientfica;

Problemtica:
Manutenes complexas; Impactos na estratgia de negcio;

4 de 27

Introduo
Objetivo:
Recomendar prticas para auxiliar na especificao, e mesmo concepo, de arquiteturas de Mquinas Sociais;

Contribuio:

5 de 27

Mquinas Sociais

Mquinas Sociais so sistemas conectveis que possuem uma unidade de processamento interno e so capazes de interagir com outras SMs, a fim de, executar um servio (MEIRA. et al, 2011).

Figura 01. Representao da Mquina Social Fonte: MEIRA. et al, 2011

6 de 27

Mquinas Sociais

Figura 02: Taxonomia das SMs Fonte: MEIRA. et al, 2011

Figura 03: Exemplos de SMs

7 de 27

Mquinas Sociais
A priori requisitos como: Performance, Disponibilidade, Modificabilidade, e Interoperabilidade, so os mais importantes para as SMs, eles atuam na satisfao das necessidades e caractersticas das Mquinas Sociais.
Tm Autonomia Sociabilidade Constncia Necessitam Servios Comunicao facilitada Manuteno facilitada Infraestrutura Reatividade Conectividade Expanso
Figura 04. Caractersticas e necessidades das SMs

Mquinas Sociais
Colaborao Servios

8 de 27

Reviso da Literatura de Arquiteturas de Softwares Para Mquinas Sociais


Which the architecture of reference for Social Machines? QP1: What are reference architectures for Mashups? QP2: Which the reference architecture of Cloud Computing? QP3: What is the architecture of Social Networks? QP4: There is a model of architecture for Autonomous Systems? QP5: What are reference architectures of Web Applications?

Which the architecture of Social Networks OR Social Networking.

9 de 27

Reviso da Literatura de Arquiteturas de Softwares Para Mquinas Sociais

Repositrios de busca; Critrios de excluso e incluso; Registro do material;


Insero em um repositrio pblico:
http://dl.dropbox.com/u/8309962/Fichas%20de%20Leitura.docx

10 de 27

Reviso da Literatura de Arquiteturas de Softwares Para Mquinas Sociais


Baseado em critrios de classificao foram obtidos: 21 (vinte e um) textos entre artigos, peridicos e captulo de livro; 11 (onze) destes materiais mostraram maior contribuio.

Figura 05. Grfico de disperso nmero de estudos por questes

11 de 27

Reviso da Literatura de Arquiteturas de Softwares Para Mquinas Sociais


Fonte Mendeley IEEE Referncia (MERRIL, 2006) (LIU e LIANG, et al. 2009) Descrio Mashups: The new breed of web app Using Architecture Integration Patterns to Compose Enterprise Mashups CiteSeerX (VECCHIOLA; CHU; BUYYA, Aneka: A Software Platform for .NET-based Cloud

2009) Google Scolar Google Scolar (BEHRENDT et al. 2011) (WEISSMAN, 2010)

Computing IBM Cloud Computing Reference Architecture 2.0 The Force.com Multitenant Architecture
Understanding the Design of Salesforce.coms Internet Application Development Platform

CiteSeerX

(KOSSMANN, KRASKA, LOESING, 2010)

An Avaluation of Alternative Architectures for Transaction Processing in the Cloud. Facebook: An Example Canonical Architecture for Scaling Billions of Messages

Google Scolar

(HOFF, 2011)

Google Scolar Mendeley

(AVRAM, 2009) (MCCANN e HUEBSCHER, 2004)

Twitter, uma arquitetura Evoluindo Evaluation Issues in Autonomic Computing

IEEE Google Books

(IBM, 2006) (GOVERNOR, et al. 2009)

An Architectural Bluepoint for Autonomic Computing Web 2.0 Architectures

Figura 06. Materiais selecionados para o estudo (11 estudos mais relevantes)

12 de 27

Reviso da Literatura de Arquiteturas de Softwares Para Mquinas Sociais


Utilizao de Web Services; Definio de arquiteturas com a camada de infraestrutura suportada por Computao nas Nuvens; Utilizao de linguagens de programao que facilitem a rapidez na codificao, como por exemplo: a adoo da linguagem Rails que j suporta PHP e REST;

Algumas caractersticas das SMs foram bem tratadas pelas arquiteturas, facilitando o atendimento aos requisitos: performance e modificabilidade.

13 de 27

Reviso da Literatura de Arquiteturas de Softwares Para Mquinas Sociais

Figura 07. Pontos ou aspectos mais trabalhados pelas arquiteturas

14 de 27

Proposta de Arquitetura de Referncia Para Mquinas Sociais

Figura 09. Diagrama de Classe (Viso de mdulos_Wrapper e Processing Unit) Figura 08. Arquitetura de Referncia para SMs

15 de 27

Proposta de Arquitetura de Referncia Para Mquinas Sociais


Avaliao
Baseada no mtodo de inspeo - Checklist (TRAVASSOS, 2002, 2006 e DEBAUND,1998); Processo com planejamento; Adaptao dos itens de questionamento com os erros que seriam catalogados. Resultado
(https://www.dropbox.com/sh/sc6bv62petuczdm/ocjs_kklFH):

80% das respostas na 2 rodada estavam em conformidade


Figura 10. Resultado em percentual da 1 e 2 rodada

16 de 27

Prticas Para Desenvolver Arquiteturas de Mquinas Sociais


As prtica devem ser incorporadas a metodologia da fase de arquitetura de software, ou ao prprio processo de software. Precursores IEEE Std 830-1998 e IEEE Std 1471- 2000. Prticas:
PRTICA 1: Modelar processos e sub-processos de negcio de servio;
PRTICA 2: Reconhecer os servios funcionamento da Mquina Social; providos e requeridos para o

PRTICA 3: Conhecer os provedores de servio da aplicao; PRTICA 4: Verificar a necessidade de recursos que tornem a aplicao autogerencivel e como esses recursos podem ser implementados;

17 de 27

Prticas Para Desenvolver Arquiteturas de Mquinas Sociais


PRTICA 5: Determinar os recursos que implementaro os elementos States e Constraints;

Figura 11. Representao do framework de comunicao para as SMs

PRTICA 6: Adotar estratgias para sanar as fraquezas do estilo arquitetural camadas;

PRTICA 7: Determinar o recurso que prover a comunicao e a interoperabilidade. Web Services; e ESBs.

18 de 27

Prticas Para Desenvolver Arquiteturas de Mquinas Sociais


PRTICA 8: Selecionar o recurso Cloud Computing a ser adotado na SM; Recursos computacionais, economia e segurana. PRTICA 9: Selecionar os padres de projeto mais adequados para a arquitetura da Mquina Social;
Padres de Projetos Estruturais e Comportamentais
Nome Definio / Problema a ser resolvido

Adapter

Faz a adaptao de interfaces em momento que uma classe no tem a interface que corresponde ao domnio esperado pela aplicao.

State

Permite que um componente altere suas funes conforme a alterao do seu estado.
Figura 12. Padres de projeto recomendados

PRTICA 10: Selecionar o banco de dados no relacional.

19 de 27

Prticas Para Desenvolver Arquiteturas de Mquinas Sociais

Figura 13. Tecnologias propostas nas prticas para arquitetura de SMs


Figura 14. Relao entre as prticas e os requisitos no funcionais

20 de 27

Experimentao das Prticas


Experimento do tipo caso de uso, ou In vivo, [JURISTO e MORENO, 2001]; Objetivo Global: Determinar o efeito do uso das prticas e da arquitetura de referncia na definio de arquiteturas de Mquinas Sociais quanto a qualidade dessas arquiteturas; Questes: Requisitos Trabalhados:
Mtrica: Quantidade de pontos ou requisitos trabalhados.

Adequao da Arquitetura:
Mtrica: Quantidade de no conformidades encontradas.

21 de 27

Experimentao das Prticas


Hiptese Nula: NPORsemprticas+AR=NPORprticas+AR ADsemprticas+AR=ADprticas+AR Hiptese Alternativa: NPORsemprticas+AR<NPORprticas+AR ADsemprticas+AR<ADprticas+AR Variveis Independentes:
Tipo de Sm; habilidade da equipe; fase do processo de desenvolvimento.

Rudos.

22 de 27

Experimentao das Prticas


Execuo: Projeto Piloto; Caso de Uso.
Resultado: NPORprticas+AR = 7 NPORsemprticas+AR = 4 ADprticas+AR = 4 ADsemprticas+AR = 2
AD = casos de testes atendidos

Validades: Validade Externa; Validade de Concluso; Validade Interna.


23 de 27

Experimentao das Prticas


Resultado:
Os problemas de integrao entre as aplicaes foram descobertos no momento da analise arquitetural;
Melhorias na estratgia de negcio, na definio dos requisitos e da arquitetura; As facilidades que Cloud Computing poderiam trazer ao desenvolvimento do Editor foram notadas, entretanto, para a empresa os recursos de CC ainda algo fora da realidade;

O trabalho de definio de interface e design grfico para o Editor foi preciso.

24 de 27

Concluso
Atravs de SMs possvel reinventar projetos em rede; Foram sugeridas adaptaes no modo de usar a tecnologia para se construir Mquinas Sociais; Utilizar as prticas e a arquitetura proposta em outros projeto de software; Avaliao da arquitetura foi um processo interessante que pode ser replicado por ser dedicado as arquiteturas de referncias; O experimento mostrou que tanto prticas quanto arquitetura de referncia foram bem aceitas.

25 de 27

Referncias
MEIRA, Silvio; BUREGIO, Vanilson; NASCIMENTO, Lenadro; FIGUEIREDO, Elaine; NETO, Misael; ENCARNAO, Bruno; GARCIA, Vinicius. The Emerging Web of Social Machines, 2011. IEEE 35th Annual Computer Software and Applications Conference (pp. 26-27). Disponvel em: <http://goo.gl/YcIB6>. Acesso em: 01 mar. 2011. TRAVASOS, Guilherme; GUROV, Dmytro; AMARAL, Edgar. Engenharia de Software Experimental. Relatrio Tcnico, Universidade Federal do Rio de Janeiro, 2002. LAITENBERGER, O; DEBAUD, Jean. Scenarios, Quality Attributes, and Patterns: Capturing and Using their Synergistic Relationships for Product Line Architectures. 1998. Kaiserslautern, Germany, Fraunhofer Institute Experimental Software Engineering. JURISTO. Natalia; MORENO, Ana. Basics of Software Experimentation. 2 Ed. USA: Kluweer Academic Publishers, 2001. Engineering

26 de 27

PRTICAS PARA A ESPECIFICAO DE ARQUITETURAS DE SOFTWARES NO CONTEXTO DE MQUINAS SOCIAIS PARA A WEB 3.0

CONSIDERAES!!