• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 5
  • 4
  • 1
  • 1
  • Tagged with
  • 12
  • 12
  • 12
  • 5
  • 4
  • 4
  • 4
  • 4
  • 4
  • 3
  • 3
  • 3
  • 3
  • 2
  • 2
  • About
  • The Global ETD Search service is a free service for researchers to find electronic theses and dissertations. This service is provided by the Networked Digital Library of Theses and Dissertations.
    Our metadata is collected from universities around the world. If you manage a university/consortium/country archive and want to be added, details can be found on the NDLTD website.
1

The Abacus: A New Approach to Authorization

Siebach, Jacob Aaron Jess 09 August 2021 (has links)
The purpose of this thesis is to investigate the implementation of digital authorization for computer systems, specifically how to implement an efficient and secure authorization engine that uses policies and attributes to calculate authorization. The architecture for the authorization engine is discussed, the efficiency of the engine is characterized by various tests, and the security model is reviewed against other presently existing models. The resulting efforts showed an increase in efficiency of almost two orders of magnitude, along with a reduction in the amount of processing power required to run the engine. The main focus of the work is how to provide precise, performant authorization using policies and attributes in a way that does not require the authorization engine to break domain boundaries by directly accessing data stores. Specifically, by pushing attributes from source domains into the authorization service, domains do not require the authorization service to have access to the data stores of the domain, nor is the authorization service required to have credentials to access data via APIs. This model also allows for a significant reduction in data motion as attributes need only be sent over the network once (when the attribute changes) as opposed to every time that the engine needs the attribute or every time that an attribute cache needs to be refreshed, resulting in a more secure way to store attributes for authorization purposes.
2

Diretrizes para desenvolvimento de linhas de produtos de software com base em Domain-Driven Design e métodos ágeis / Guidelines for developing software product lines based on Domain-Driven Design and agile methods.

Macedo, Otávio Augusto Cardoso 20 February 2009 (has links)
Linhas de produtos de software (LPS) são coleções de sistemas que compartilham características comuns, desenvolvidas de forma sistemática a partir de um conjunto comum de ativos centrais. Dentre as técnicas propostas por vários autores para o desenvolvimento de LPS, dois padrões podem ser observados: o processo de desenvolvimento geralmente é sequencial e o foco do projeto (design) costuma estar em interesses técnicos, como alocação de componentes e separação em subsistemas, e não em um modelo de domínio. Embora essas práticas sejam reportadas como bem-sucedidas, um outro paradigma de desenvolvimento, baseado em métodos ágeis e em um conjunto de princípios de projeto conhecido como domain-driven design, é apresentado neste trabalho e pode produzir resultados mais satisfatórios, comparados aos métodos tradicionais. Essa hipótese é sustentada por comparações entre padrões de modelagem e por um estudo de caso feito neste trabalho / Software product lines (SPL) are collections of systems that have common features. Those systems are systematically developed from a common set of core assets. Two patterns outstand among the various techniques proposed by several authors for developing software product lines: the development process is generally sequential and the primary design concerns deal with technical issues, such as component allocation and system partitioning (into subsystems). The importance of a domain model is often neglected. Although such practices have been reported as successful, this work proposes another paradigm, which can yield more satisfactory results. This paradigm is based on agile methods and a set of design principles known as domain-driven design. This hypothesis is supported by comparing different modeling patterns and by developing a case study
3

Přístupy a praktiky k vývoji současných webových aplikací - realizace webové platformy pro tvorbu online vzdělávacích kurzů / Principals and practices present a web application development - implementation of web platform for the creation educative courses

Hoch, Tomáš January 2016 (has links)
This thesis deals with all web application development phases, analyses key activities and common issues of each phase and shows suitable principals and practices used to solve those issues. Described principals and practices do not only solve partial development problems just as isolated segments, but also takes into account overall web application solution. This thesis targets mostly junior developers, who through it might connect to their theoretical knowledge gained during studies and also gain knowledge representing the base knowledge of each developer. This thesis includes examples, findings and benefits resulting from an application of stated principals and practices during Leduvio platform development.
4

Domain-Driven Security’s take on Denial-of-Service (DoS) Attacks / Domändriven säkerhet som skydd mot Denial-of-Service-attacker

Arnör, Johan January 2016 (has links)
Many companies and organisations today suffer from Denial-of-Service (DoS) attacks, which can have direct and indirect economical consequences. This thesis tackles this problem with a novel approach by utilising domain specific behaviour and knowledge. The goal is to distinguish malicious attacks from legitimate usage and to alter overall system behaviour at the event of a DoS attack. Distributed DoS attacks (DDoS) are examined as well as a category suggested in this thesis, namely Domain DoS attacks. A simple e-commerce system is developed based on the principles of Domain-Driven Design in order to test the given approach. Five examples of DoS attacks are presented and tested towards the system. The results indicate that utilising domain behaviour is a suitable approach in order to mitigate DoS attacks, but it requires deep integration with the application itself. / Många företag och organisationer lider idag av Denial-of-Service-attacker (DoS-attacker), som kan få direkta och indirekta ekonomiska konsekvenser. Denna avhandling ser nytänkande på detta problem genom att dra nytta av domänspecifikt beteende och kunskap. Målet är att skilja skadliga attacker från legitimt användande och att ändra systemets beteende i händelse av en DoS-attack. Distribuerade DoS-attacker (DDoS) undersöks så väl som en kategori föreslagen i denna avhandling, kallad Domän DoS-attacker. Ett enkelt e-handelssystem utvecklas baserat på principer från domändriven design i syfte att testa den givna tesen. Fem exempel av DoS-attacker är presenterade och testade gentemot systemet. Resultaten indikerar att utnyttjandet av domänbeteende är ett lämpligt tillvägagångssätt för att avvärja DoS-attacker, men att det kräver djup integration med applikationen.
5

Diretrizes para desenvolvimento de linhas de produtos de software com base em Domain-Driven Design e métodos ágeis / Guidelines for developing software product lines based on Domain-Driven Design and agile methods.

Otávio Augusto Cardoso Macedo 20 February 2009 (has links)
Linhas de produtos de software (LPS) são coleções de sistemas que compartilham características comuns, desenvolvidas de forma sistemática a partir de um conjunto comum de ativos centrais. Dentre as técnicas propostas por vários autores para o desenvolvimento de LPS, dois padrões podem ser observados: o processo de desenvolvimento geralmente é sequencial e o foco do projeto (design) costuma estar em interesses técnicos, como alocação de componentes e separação em subsistemas, e não em um modelo de domínio. Embora essas práticas sejam reportadas como bem-sucedidas, um outro paradigma de desenvolvimento, baseado em métodos ágeis e em um conjunto de princípios de projeto conhecido como domain-driven design, é apresentado neste trabalho e pode produzir resultados mais satisfatórios, comparados aos métodos tradicionais. Essa hipótese é sustentada por comparações entre padrões de modelagem e por um estudo de caso feito neste trabalho / Software product lines (SPL) are collections of systems that have common features. Those systems are systematically developed from a common set of core assets. Two patterns outstand among the various techniques proposed by several authors for developing software product lines: the development process is generally sequential and the primary design concerns deal with technical issues, such as component allocation and system partitioning (into subsystems). The importance of a domain model is often neglected. Although such practices have been reported as successful, this work proposes another paradigm, which can yield more satisfactory results. This paradigm is based on agile methods and a set of design principles known as domain-driven design. This hypothesis is supported by comparing different modeling patterns and by developing a case study
6

Domain-Driven Security : Injection & Cross-site scripting / Domändriven säkerhet : Injection & Cross-site scripting

Stendahl, Jonas January 2016 (has links)
Many web applications are vulnerable to Injection and Cross-site scripting. These attacks are often focused on infrastructural parts of the application. This thesis investigates if Domain-Driven Design can unify existing technical protection mechanisms as well as provide protection for attacks aimed at the business logic of an application. The performance of data validation and transformation performed with components from Domain-Driven Design is evaluated. The evaluation is performed by exposing an E-commerce application to dangerous injection and cross-site scripting strings. The data validation was found to be accurate and flexible and context mapping aided the understanding of correct data treatment depending on where in the application it is located or travelling to.
7

Programų sistemų kūrimo metodų praplėtimas rolėmis / Role extended software development methods

Pisaravičius, Jaunius 27 June 2014 (has links)
Baigiamajame magistro darbe analizuojami rolinio modeliavimo aspektai įvairių programų sistemų kūrimo metodų ir procesų rėžiuose. Modeliavimo aspektai analizuojami objektinio programavimo evoliucijos kontekste. Apžvelgiamos įvairios prielaidos leidžiančios visuose programų sistemų kūrimo etapuose atskirti sistemos elgseną ir išreikštinai sistemą modeliuoti rolėmis. Darbe identifikuojamos programų sistemų kūrimo procesų dalys, kurios stokoja rolinio modeliavimo instrumentų. Pasiūlomi programų sistemų konstravimo etapo problemų susijusių su elgsenos modeliavimu klasikiniame objektiniame programavime sprendimo būdai. Taip pat pateikiamos programų sistemų kūrimo proceso modifikavimo rekomendacijos dėl rolinio modeliavimo panaudojimo visuose sistemos kūrimo etapuose. / Final master thesis comprises role modeling aspects in various software development processes and methods. The analysis is made in the context of object-oriented programming evolution. The survey is made on miscellaneous assumptions related to explicit role modeling and separation of system state and behaviour concerns in software development. The parts of software development process which have a lack of role modeling techniques are identified in this thesis. The suggestions of solutions to classic object-oriented programming behaviour modeling problems for software construction phase are made. Finally, the recommendations related to role modeling for software development process modification are made to support all the development phases.
8

[en] A FLEXIBLE ARCHITECTURE FOR REPLICATION OF HETEROGENEOUS BASES / [pt] UMA ARQUITETURA FLEXÍVEL PARA REPLICAÇÃO DE BASES DISTRIBUÍDAS HETEROGÊNEAS

VINCI PEGORETTI AMORIM 21 May 2007 (has links)
[pt] Os diversos serviços de replicação existentes no mercado adquiriram um alto grau de maturidade e desempenho. Entretanto, mostram pouca capacidade de lidar com bases heterogêneas. Este trabalho propõe uma arquitetura focada na replicação de bases heterogêneas. Para conseguir alta escalabilidade e manter a simplicidade, a arquitetura segue uma estrutura multi-agente e adota uma abordagem de projeto orientado a domínio. Em seguida, o trabalho descreve uma implementação de referência e discute decisões técnicas desenvolvidas, enfatizando os problemas de versionamento, verificação de consistência e demais regras de negócio. O trabalho apresenta ainda utilitários que facilitam a configuração e manutenção do sistema de replicação. / [en] The replication services available acquire high maturity and performance levels. However, they do not work with heterogeneous data bases. This dissertation first describes a software architecture that focus on how to provide replication services for heterogeneous bases. To obtain high scalability and to maintain simplicity, the architecture follows a multi- agent structure and adopts a domain-driven design approach. Then, the dissertation describes a reference implementation and discusses the technical decisions adopted, focusing on version control problems, consistency verification and specific businessoriented rules. The dissertation also describes utilities that facilitate the configuration and maintenance of the replication system.
9

Comparing Monolithic and Event-Driven Architecture when Designing Large-scale Systems / Jämföra monolitisk och event-driven arkitektur vid design av storskaliga system

Eder, Felix January 2021 (has links)
The way the structure of systems and programs are designed is very important. When working with smaller groups of systems, the chosen architecture does not affect the performance and efficiency greatly, but as these systems increase in size and complexity, the choice of architecture becomes a very important one. Problems that can arise when the complexity of software scales up are waiting for data accesses, long sequential executions and potential loss of data. There is no single, optimal software architecture, as there are countless different ways to design programs, but it is interesting to look at which architectures perform the best in terms of execution time when handling multiple bigger systems and large amounts of data. In this thesis, a case called "The Income Deduction" will be implemented in a monolithic and an event-driven architectural style and then be put through three different scenarios. The monolithic architecture was chosen due to its simplicity and popularity when constructing simpler programs and systems, while the event-driven architecture was chosen due to its theoretical benefits of removing sequential communicating between systems and thus reduce the time systems spend waiting for each other to respond. The main research question to answer is what the main benefits and drawbacks are when building larger systems with an event-driven architectural style. Additional research questions include how the architecture affects the organisation’s efficiency and cooperation between different teams, as well as how the security of data is handled. The two implementations where put through three different scenarios within the case, measuring execution time, number of HTTP requests sent, database accesses and events emitted. The results show that the event-driven architecture performed 9.4% slower in the first scenario and 0.5% slower in the second scenario. In the third scenario the event-driven architecture performed 49.0% faster than the monolithic implementation, finishing the scenario in less than half the amount of time. The monolithic implementation generally performed well in the simpler scenarios 1 and 2, where the systems had fewer integrations to each other. In these cases it is the preferred solution since it is easier to design and implement. The event-driven solution did perform much better in the more complex scenario 3, where a lot of systems and integrations were involved, since it could remove certain connections between systems. Lastly, this thesis also discusses the sustainability and ethics of the study, as well as the limitations of the research and potential future work. / Strukturen som system och program designas efter är väldigt viktigt. När en arbetar med mindre grupper av system så kommer den valda arkitekturen inte att påverka prestandan mycket. Men när dessa system växter i storlek och komplexitet så kommer valet av arkitektur vara väldigt viktigt. Problem som kan uppstå när mjukvarukomplexiteten ökar är väntandet på dataaccesser, långa sekventiella exekveringar och potentiell förlust av data. Det finns ingen optimal mjukvaruarkitektur, det finns oräkneligt många sätt att designa program. Det är intressant att kolla på vilka arkitekturer som preseterar bäst sätt till exekveringstid när en hanterar ett flertal större system och stora mängder data. I den här avhandlingen kommer ett fall, kallat "Ingångsavdraget", att implementeras i en monolitisk och en event-driven arkitekturell stil och sedan köras igenom tre olika scenarion. Den monolitiska arkitekturen var vald på grund av dess enkelhet och populäritet vid utveckling av enklar program och system. Den event-drivna arkitekturen valdes på grund av vissa teoretiska fördelar, så som att kunna undvika sekventiell kommunikation mellan systemen och därmed reducera tiden som systemen väntar på svar från varandra. Den huvudsakliga forskningsfrågan som ska besvaras är vad de största fördelarna och nackdelarna är när man bygger större system med en event-driven arkitekturell stil. Andra forskningsfrågor inkludera hur arkitekturen påverkar effektiviteten hos en organisation och samarbetet mellan olika team, samt hur datasäkerheten hanteras. De två implementationerna sattes igång tre olika scenarion inom fallet, där exekveringstid, antal HTTP-anrop skickade, databasaccesser och event skickad mättes. Resultaten visar att den event-drivna arkitekturen presterade 9.4% långsamare i det första scenariot och 0.5% långsamare i det andra scenariot. I det tredje scenariot presterade den event-drivna lösningen 49.0% snabbare än den monolitiska lösningen och avslutade därmed scenariot under hälften av tiden. Den monolitiska implementationen presterade generellt väl under de simplare scenarion 1 och 2, där systemen hade färre integrationer till varandra. I dessa fallen så är den den föredragna lösningen eftersom det är lättare att designa och implementera. Den event-drivna lösningen presterade mycket bättre i det mer komplexa scenario 3, där många system och integrationer var inblandade, eftersom den kunde ta bort vissa kopplingar mellan system. Slutligen så diskuteras även hållbarhet och etik i studien, samt begränsningarna av forskningen och potentiellt framtida arbete.
10

Integração da abordagem Domain-Driven Design e de técnica Behaviour-Driven Development no desenvolvimento de aplicações web

Santos, Eloisa Cristina Silva 01 June 2015 (has links)
Submitted by Alison Vanceto (alison-vanceto@hotmail.com) on 2016-09-30T12:23:06Z No. of bitstreams: 1 DissECSS.pdf: 2536269 bytes, checksum: a856f5027d19c2aaadf2834a69af7ff4 (MD5) / Approved for entry into archive by Ronildo Prado (ronisp@ufscar.br) on 2016-09-30T17:56:23Z (GMT) No. of bitstreams: 1 DissECSS.pdf: 2536269 bytes, checksum: a856f5027d19c2aaadf2834a69af7ff4 (MD5) / Approved for entry into archive by Ronildo Prado (ronisp@ufscar.br) on 2016-09-30T17:56:32Z (GMT) No. of bitstreams: 1 DissECSS.pdf: 2536269 bytes, checksum: a856f5027d19c2aaadf2834a69af7ff4 (MD5) / Made available in DSpace on 2016-09-30T18:05:54Z (GMT). No. of bitstreams: 1 DissECSS.pdf: 2536269 bytes, checksum: a856f5027d19c2aaadf2834a69af7ff4 (MD5) Previous issue date: 2015-06-01 / Conselho Nacional de Desenvolvimento Científico e Tecnológico (CNPq) / The agile methods of software development have emerged as an alternative to traditional approaches, to spend less time on documentation and more time with solving problems interactively and iteratively. In this context, the development approach Domain Driven Design (DDD) is a way of developing software in which the application design process is guided by a domain model. In conjunction with the DDD development approach, the existence of tests during the implementation of an application is required to ensure quality. Objective: This work aims to study the agile development approach Domain-Driven Design (DDD) and the software test techniques Test-Driven Development (TDD) and Behaviour-Driven Development (BDD). A case study was built to exemplify the integration of each test technique with DDD. The case study was developed with the support of the Apache Isis framework, from a well-defined domain model. Methodology: Based on the literature, the concepts of the DDD development approach and of the TDD and BDD test techniques, that provided the comparison between the techniques, and later, the implementation to illustrate this research, were extracted. The Apache Isis framework was used in this work because it allows develop DDD applications quickly. During the development of the sample system of this work, the possibility of creating an automatic generator tests and scenarios for BDD was noted. Results: A case study was created using the concepts of DDD and tests, with TDD and BDD. Furthermore, a prototype of tests and scenarios generator for software projects that use DDD, through the Apache Isis framework and tests using BDD, was developed. Conclusions: The combination of test techniques mentioned with DDD aim to boosting the development of applications, since DDD is not associate with any test technique. Writing scenarios with ubiquitous language is a great advantage to integrate DDD and BDD, because it allows a clear understanding for all involved in the project. Moreover, the creation of automatic generator speeds up the testing phase, and can detect errors that might go unnoticed or only be found as the project evolved. / Os métodos ágeis de desenvolvimento de software surgiram como uma alternativa às abordagens tradicionais, com o intuito de despender menos tempo com documentação e mais com a resolução de problemas de forma interativa e iterativa. Neste contexto, a abordagem de desenvolvimento Domain-Driven Design (DDD) representa uma forma de desenvolver software em que o processo de design de uma aplicação é guiado pelo modelo de domínio. Em conjunto com a abordagem de desenvolvimento DDD, a existência de testes durante a implementação de uma aplicação é necessária para garantir a qualidade. Objetivo: Este trabalho teve como objetivo o estudo da abordagem ágil de desenvolvimento Domain-Driven Design (DDD) e as técnicas de teste de software Test-Driven Development (TDD) e Behaviour-Driven Development (BDD). Um estudo de caso foi construído para exemplificar a integração de cada técnica de teste com o DDD. O estudo de caso foi desenvolvido por meio do framework Apache Isis, a partir de um modelo de domínio bem definido. Metodologia: Com base na literatura foram extraídos os conceitos da abordagem de desenvolvimento DDD e das técnicas de testes TDD e BDD que proporcionaram a comparação entre as técnicas e posterior implementação para exemplificar a pesquisa. O framework Apache Isis foi utilizado neste trabalho porque permite desenvolver aplicações com DDD de forma rápida. No decorrer do desenvolvimento do sistema exemplo deste trabalho, notou-se a possibilidade da criação de um gerador automático de testes e cenários para BDD. Resultados: Foi criado um estudo de caso empregando os conceitos de DDD e testes com o TDD e com o BDD. Além disso, foi desenvolvido um protótipo de gerador de testes e cenários para projetos de software que empregam DDD, por meio do framework Apache Isis e testes utilizando BDD. Conclusões: A junção das técnicas de testes citadas com o DDD visa potencializar o desenvolvimento de aplicações, uma vez que o DDD não aborda nenhuma técnica de teste. A escrita de cenários em linguagem ubíqua é um grande diferencial ao integrar DDD e BDD, pois permite um claro entendimento a todos os envolvidos do projeto. Ademais, a criação do gerador automático agiliza a fase de testes, sendo possível detectar erros que poderiam não ser notados ou apenas serem encontrados com a evolução do projeto.

Page generated in 0.04 seconds