ePrints.FRI - University of Ljubljana, Faculty of Computer and Information Science

Distributed Dependancy Injection

Igor Habjan (2016) Distributed Dependancy Injection. EngD thesis.

Download (2026Kb)


    Applications nowadays are built of objects, which collaborate in order to provide their functionality, are interconnected by default and are by no means limited to a single domain of an application, a process or a computer. In this thesis a concept of dependency injection, which enables an object to explicitly declare and require its dependencies to be provided, is distributed across domain boundaries. In support of a distributed dependency injection we provide an external tool (a container) for assembling objects and resolving their dependencies (collaborators) from across domains. We provide a model in which a group of distributed dependency injection containers connect on behalf of the applications. We provide them with a middleware solution for seamless and fault-tolerant sharing of objects/dependencies between interconnected domains. A collection of support services (i.e. the distributed object replication middleware) transparently manages replication of objects created by the dependency injection principles across multiple computers. A fresh failover is ensured by invariable consistency upon invocations. This is temporarily relaxed during degraded situations (e.g. network failures) in order to achieve availability within the isolated groups. Recovery from failures is ensured by logging and check-pointing the state of the system on a regular basis; conflicting modifications are resolved. Our proof-of-concept implementation is an add-on to .NET Remoting middleware and an extension to the Unity Container.

    Item Type: Thesis (EngD thesis)
    Keywords: distributed systems, middleware, object-oriented programming, dependency injection, replication, .NET Framework
    Number of Pages: 100
    Language of Content: English
    Mentor / Comentors:
    Name and SurnameIDFunction
    doc. dr. Andrej Brodnik5540Mentor
    Link to COBISS: http://www.cobiss.si/scripts/cobiss?command=search&base=51012&select=(ID=1537136579)
    Institution: University of Ljubljana
    Department: Faculty of Computer and Information Science
    Item ID: 3577
    Date Deposited: 13 Sep 2016 15:08
    Last Modified: 23 Sep 2016 11:36
    URI: http://eprints.fri.uni-lj.si/id/eprint/3577

    Actions (login required)

    View Item