Please use this identifier to cite or link to this item: https://repositorio.ufu.br/handle/123456789/12488
Full metadata record
DC FieldValueLanguage
dc.creatorPorto, Ivens Oliveira
dc.date.accessioned2016-06-22T18:32:16Z-
dc.date.available2010-02-08
dc.date.available2016-06-22T18:32:16Z-
dc.date.issued2009-09-03
dc.identifier.citationPORTO, Ivens Oliveira. Padrões e diretrizes arquiteturais para escalabilidade de sistemas. 2009. 161 f. Dissertação (Mestrado em Ciências Exatas e da Terra) - Universidade Federal de Uberlândia, Uberlândia, 2009.por
dc.identifier.urihttps://repositorio.ufu.br/handle/123456789/12488-
dc.description.abstractWith the use of computation in practically all areas of work, the systems (software) being used to provide great capacity of storage/processing/accesses are conceived as distributed systems. To those, scalability has become an important property to its project and architecture, making them deal with ever growing workloads of data and accesses while demanding satisfactory performance. An issue not fully explored is: how to build an architecture for a scalable system? There are works that discuss principles and general techniques for scalability, specially about performance improvement. However, this information is disorganized and unstructured. When beginning a system project there is always the question about which tiers, modules, object and relationships the designer must consider as a starting point. However, distributed systems, as particular as they may be, always present some similarities regarding data access, distributed processing, context sharing, etc. This master s thesis objective is to identify, catalog and discuss, architectural guidelines and techniques to help in designing and building horizontally scalable systems since its conception, transforming scalability from a system property to a fundamental aspect of their architecture. The basic idea is to oer to designers a set of architectural patterns that he can instantiate as he detects them during the systems analysis. For example, if there is massive access to the data, and thus the need to partition the database, the applicable architectural pattern (Sharding) specifies which tiers and sub-tiers must be part of the project. To make possible for designers to identify the scalability requirements and establish the scalability nuances, the architectural patterns are related into a pattern language. This language can be used as tools during the design of a scalable system. It should be noted the presentation of guidelines for achieving scalability in building systems. The guidelines and techniques are concerned, fundamentally, with horizontal scalability, that makes possible the execution of a system with several processing nodes. By increasing the number of nodes, the system increases, or maintains, its performance satisfactorily. The guidelines and patterns presented in this work are particularly applicable to web applications and distributed systems that deal with stored data. The architecture of a scalable system is presented and the applied patterns and guidelines are discussed along with how they were applied and which decisions lead to its use. A laboratory study allows the verification of the proposal eectiveness. This work has as its main result the presentation of architectural patterns, a pattern language e the guidelines to be used by software architects while building scalable systems.eng
dc.formatapplication/pdfpor
dc.languageporpor
dc.publisherUniversidade Federal de Uberlândiapor
dc.rightsAcesso Abertopor
dc.subjectArquiteturapor
dc.subjectEscalabilidadepor
dc.subjectDesempenhopor
dc.subjectPadrõespor
dc.subjectSistemas distribuídospor
dc.subjectEngenharia de softwarepor
dc.subjectTeorema cappor
dc.subjectArchitectureeng
dc.subjectScalabilityeng
dc.subjectPerformanceeng
dc.subjectPatternseng
dc.subjectDistributed systemseng
dc.subjectSoftware engineeringeng
dc.subjectCap theoremeng
dc.subjectRedes de computaçãopor
dc.titlePadrões e diretrizes arquiteturais para escalabilidade de sistemaspor
dc.typeDissertaçãopor
dc.contributor.advisor1Rosa, Pedro Frosi
dc.contributor.advisor1Latteshttp://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4791965U0por
dc.contributor.referee1Kofuji, Sergio Takeo
dc.contributor.referee1Latteshttp://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4727731T4por
dc.contributor.referee2Matias Júnior, Rivalino
dc.contributor.referee2Latteshttp://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4792617U6por
dc.creator.Latteshttp://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4734151J1por
dc.description.degreenameMestre em Ciência da Computaçãopor
dc.description.resumoCom o uso da computação em praticamente todas as áreas de atividades, os sistemas (software) destinados a prover grande capacidade de armazenamento/processamento/acessos passaram a ser concebidos como sistemas distribuídos. Para esses, escalabilidade tornou-se uma importante propriedade em seu projeto e arquitetura, fazendo com que tenham de lidar com cargas de trabalho, de dados e de acessos cada vez maiores enquanto exige-se que apresentem desempenho satisfatório. Uma questão ainda não totalmente explorada é: como arquitetar um sistema escalável? Existem trabalhos que discutem princípios e técnicas gerais de escalabilidade, especialmente sobre melhoria de desempenho. Entretanto, essas informações estão desorganizadas, e desestruturadas. Ao iniciar o projeto de um sistema, sempre há o questionamento sobre quais camadas, módulos, objetos e relacionamentos o projetista deve considerar como ponto de partida. Entretanto, os sistemas distribuídos, por mais particulares que sejam, sempre apresentam algumas similaridades quanto ao acesso a dados, processamento distribuído, compartilhamento de contextos, etc. Esta dissertação objetiva identificar, catalogar e discutir as diretrizes e técnicas arquiteturais para auxiliar nos projeto e construção de sistemas escaláveis horizontalmente desde sua concepção, transformando a escalabilidade de uma propriedade de sistema em um aspecto fundamental da sua arquitetura. A idéia básica é oferecer aos projetistas, um conjunto de padrões arquiteturais que ele possa instanciar à medida que ele os detecte na análise do sistema. Por exemplo, se houver massivo acesso a dados e, portanto, haja necessidade de particionar o banco de dados, o padrão arquitetural aplicável (Sharding) especificará quais camadas e subcamadas devem constar no sistema. Para que os projetistas possam identificar os requisitos de escalabilidade e estabelecer as nuances de escalabilidade, os padrões arquiteturais são relacionados em uma linguagem de padrões. Esta linguagem pode ser utilizada como uma ferramenta durante o projeto de um sistema escalável. Ressalte-se a apresentação de diretrizes para se alcançar escalabilidade na construção de sistemas. As diretrizes e técnicas se preocupam, fundamentalmente, com a escalabilidade horizontal, que torna possível a execução de um sistema em vários nós de processamento. Ao aumentar a quantidade de nós, o sistema aumenta, ou mantém, seu desempenho de maneira satisfatória. As diretrizes e padrões apresentados neste trabalho são aplicáveis particularmente a aplicações web e a sistemas distribuídos que trabalham com dados armazenados. É apresentada a arquitetura de um sistema escalável e discutido quais padrões e diretrizes foram utilizados, como foram aplicados e quais decisões levaram a sua aplicação no projeto do sistema. Um estudo em laboratório permite verificar a eficácia da proposta. O trabalho tem como principal resultado a apresentação de padrões arquiteturais, de uma linguagem de padrões e das diretrizes a serem utilizadas por arquitetos de software na construção de sistemas escaláveis.por
dc.publisher.countryBRpor
dc.publisher.programPrograma de Pós-graduação em Ciência da Computaçãopor
dc.subject.cnpqCNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAOpor
dc.publisher.departmentCiências Exatas e da Terrapor
dc.publisher.initialsUFUpor
dc.orcid.putcode81752950-
Appears in Collections:DISSERTAÇÃO - Ciência da Computação

Files in This Item:
File Description SizeFormat 
ivens.pdf1.51 MBAdobe PDFThumbnail
View/Open


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.