Your SlideShare is downloading. ×
Arquitetura, uma questão de "estilo"?
Arquitetura, uma questão de "estilo"?
Arquitetura, uma questão de "estilo"?
Arquitetura, uma questão de "estilo"?
Arquitetura, uma questão de "estilo"?
Arquitetura, uma questão de "estilo"?
Arquitetura, uma questão de "estilo"?
Arquitetura, uma questão de "estilo"?
Arquitetura, uma questão de "estilo"?
Arquitetura, uma questão de "estilo"?
Arquitetura, uma questão de "estilo"?
Arquitetura, uma questão de "estilo"?
Arquitetura, uma questão de "estilo"?
Arquitetura, uma questão de "estilo"?
Arquitetura, uma questão de "estilo"?
Arquitetura, uma questão de "estilo"?
Arquitetura, uma questão de "estilo"?
Arquitetura, uma questão de "estilo"?
Arquitetura, uma questão de "estilo"?
Arquitetura, uma questão de "estilo"?
Arquitetura, uma questão de "estilo"?
Arquitetura, uma questão de "estilo"?
Arquitetura, uma questão de "estilo"?
Arquitetura, uma questão de "estilo"?
Arquitetura, uma questão de "estilo"?
Arquitetura, uma questão de "estilo"?
Arquitetura, uma questão de "estilo"?
Arquitetura, uma questão de "estilo"?
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Arquitetura, uma questão de "estilo"?

997

Published on

Arquitetura de Software Vs Estilo Arquitetural

Arquitetura de Software Vs Estilo Arquitetural

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
997
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Arquitetura,umaquestãode“estilo”?Vanilson Burégio[vanilson.com] – [vaab@cin.ufpe.br]
  • 2. Arquitetura
  • 3. Porquearquitetura?
  • 4. Necessidadedeumaarquitetura...● 38anosdeconstrução–147pedreiros,0(zero)arquitetos● 160salas–40quartos,6cozinhas,2porões,950portas● 65portasviradasparaparedes,●13escadariassemuso,●24claraboiasnopisoNãoexistenenhumaplantadaconstruçãoWinchester “Mystery” House
  • 5. Earquiteturadesoftware?
  • 6. ArquiteturadeSoftwareOqueé?“A arquitetura de software de um programa ou sistemacomputacional é a estrutura (ou estruturas), a qual envolve oselementos de software, as propriedades desses elementosvisíveisexternamenteeseusrespectivosinter-relacionamentos”SoftwareArchitectureinPractice.LenBass,PaulClements,RickKazman
  • 7. Comodocumentararquitetura?
  • 8. DiferentesVisões
  • 9. EnocontextodeSOFTWARE?
  • 10. Diferentes Visões
  • 11. Eestiloarquitetural?Oqueé?
  • 12. EstiloArquiteturalConjuntoderegraserestrições[constraints]impostasaoprojetodeumprodutoparaaobtençãodepropriedadesdesejadas.DesenvolvimentoConjunto de ConstraintsPropriedadesBenéficasEstiloArquiteturalLimitaVisaObterEstabeleceProdutoUmaarquiteturasegueumestiloarquitetural...Definiçãogenérica:By Vanilson Burégiovanilson.com
  • 13. Naconstruçãocivil…
  • 14. ConstruçãoConjunto de ConstraintsPropriedadesbenéficasEstiloArquiteturalLimitaVisaobterPermitir oescoamento rápidoda neveEstabeleceEx.: Telhado deve seríngremeChalé SuícoArquiteturas distintas, o mesmo estilo. By Vanilson Burégiovanilson.com
  • 15. EnocontextodeSOFTWARE?
  • 16. DesignConjunto de ConstraintsAtributos deQualidadeEstiloArquiteturalLimitaVisaatenderAlta disponibilidade,performance,discoverability,Segurança,interoperability, etc..EstabeleceLimitam como aaplicação deve serconstruída, comoseus componentes econectores devemse comunicar.SOA, REST, Camadas,CDB, Client-server,Pipes&filters…SoftwareBy Vanilson Burégiovanilson.comSoftware é o produto.
  • 17. Adotando essa definição…• Podemos consider como estilos arquiteturais: SOAPipes&filtersRESTCamadasClient-server peer-to-peerData-flowBlackboardPublish-subscribeEvent-based….
  • 18. ArquiteturaVsEstilo• É possível criarmos arquiteturasDISTINTAS para sistemas específicosutilizando o MESMO estilo!
  • 19. Algunsexemplosdeabordagensanalisadassobaperspectivadeestilosarquiteturais…
  • 20. EstiloArquiteturalemCamadasConstraintsDividir logicamente o sistema em camadas com responsabilidades bemdefinidas. As funcionalidades do sistema são separadas de acordo comos papéis de cada camadaModelo mais comum: MVC (acesso a dados, apresentação e controle).A camada superior utiliza os serviços fornecidos pela camada inferior,nunca o contrário!Atributos de QualidadeAumento da Coesão;Performance: a distribuição das camadas sobre múltiplas camadasfísicas pode melhorar a escalabilidade, tolerância a falhas, eperformance.Isolamento: é possível isolar atualizações tecnológicas (upgrades) emcamadas individuais para reduzir riscos e minimizar o impacto em todosistema.Manageability. A separação de conceitos core ajuda a identificardependências e organizar o código em partes mais fáceis de gerenciarReusabilidade: definição de papéis promove reusabilidade. No modeloMVC, por exemplo, a camada do controlador pode ser facilmentereutilizada com uma camada de apresentação diferente (já fiz isso).
  • 21. EstiloArquiteturalSOA(Service-OrientedArchitecture)ConstraintAplicação deve expor e consumir funcionalidadescomo um serviço, usando contratos e mensagensAtributos de QualidadeAbstração. Serviços são autônomos e acessadosatravés de um contrato formal, que prove BAIXOacoplamento e abstraçãoDiscoverability: serviços podem expor descriçõesque permitem outras aplicações e serviços localizá-los e automaticamente determinar a interface;Interoperabilidade: como os protocoles eformatos de dados são baseados em padrões daindústria, o provedor e consumidor de um serviçopode ser construído e implantado em diferentesplataformas
  • 22. • Constraint– Projetar o sistema como um conjunto de filters que transformam stream de dadosde entrada em um stream de dados de saída e os pipes conduzem os streams dedados.– Filtros são independentes (não armazenam estado) e não têm conhecimento dosfiltros conectados a ele.– Exemplos: Unix: ps –a | grep java | sort. Estilo adotado pelas aplicações geradascom o ifttt.com, Yahoo pipes, etc• Atributos de Qualidade– Execução concorrente;– flexibilidade de composição: filtros podem ser adicionados, substituídos, e reusados,sendo possível combinar 2 filtros quaisquer);– composição comportamental: o comportamento do sistema é a sucessão doscomportamentos dos seus componentes (filters).EstiloArquiteturalPipes&Filters
  • 23. • Constraint– Decompor a aplicação em componentes (funcionais ou lógicos) reutilizáveisque expõem interfaces bem definidas de comunicação• Atributos de Qualidade– reusabilidade;– facilidade de deployment: substituição de uma versão do componente poroutra não gera impactos no sistema, pois a interface de comunicação docomponente é mantida;– redução de custo: uso de componentes de terceiros permite a diluição docusto de desenvolvimento e manutençãoEstiloArquiteturalbaseadoemcomponentes
  • 24. • Constraint– “Segregrar” o sistema em 2 tipos de aplicações, onde a aplicação do tipocliente faz requisições ao servidor.– Na maioria dos casos, o servidor implementa toda a lógica da aplicação eacesso aos dados• Atributos de Qualidade– Maior segurança: todos os dados ficam armazenados no servidor, quegeralmente oferece maior controle de segurança que as aplicações clientes;– acesso a dados centralizado;– fácil manutenção: atualizações e reparados da aplicação feitos em um únicoponto: servidor.EstiloArquiteturalclient-server
  • 25. Arquitetura,umaquestãode“estilo”…
  • 26. Importante!Estilosevoluemparasatisfazernecessidadesemergentes…
  • 27. SoMAr:SocialMachine-orientedArchitectureSoMAr,umaquestãode“estilo”?SoMAr=(SOA+SNs+REST+ WOA+CDB...)*SocialMachinesCombinaçãodeestiloseprincípiosdedesign,vistossobaóticaUNIFICADAdeMáquinasSociais...
  • 28. Vanilson Burégio[vanilson.com] – [vaab@cin.ufpe.br]By Vanilson Burégiovanilson.comQuersabermaissobreSocialMachines?Visite: http://bit.ly/smparad

×