Entries categorized 'Norman' ↓

Distributed Norm

I have been lucky enough to spend the last year working with brilliant a new team of developers, in the logistics industry. Separated from nearly a decade steeped in Business Intelligence and ITIL, it has been a fantastic opportunity learning opportunity and has widened both my outlook and skills. Sometime...

Distributed Norm →

IEngine - Popping the bonnet

The heart of the Norman project, as previous posts have alluded to is the POCO object server, or Engine. This is described in the IEngine interface, show below. The default implementation of IEngine, ObviousCode.Norm.Vetinari.Engine, I shall discuss in later posts public interface IEngine { event PersistenceErrorsDetected...

IEngine - Popping the bonnet →

Functionality part 2 - Planned Remote Server

I have already discussed the basic concept of the engine . At the present (Alpha release 090208), the engine is running in a single tier mode, that is all applications using it have to reference the object specifically in code. An application built using Norman in this fashion could be set up to work...

Functionality part 2 - Planned Remote Server →

IModelModifiedBroker

As explained previously , IModelModifiedBroker is an interface for an object whose instance is shared throughout the model and raises events that describe changes to the model. In this way we can keep loosely coupled object relatively free of unnecessary relationships, as well as allow all code that...

IModelModifiedBroker →

Functionality part 1 - Object Chaining

So I've described the thinking behind Norman as well as how my 'Not an ORM' can be seen like kind of an ORM . I also make statements in the releases to the tune of " Still no object chaining, persistence errors or remote server functionality." in the release notes, with a kind of implicit belief...

Functionality part 1 - Object Chaining →

IBrokering - Avoiding meatball code

The What and Why of 'IModelModifiedBroker' and 'IBrokeredDataObject.' I am justifying my use of the term Brokered, from the definition of the base term broker as " One that acts as an agent for others" , the explanation for which is as follows. This is a pattern I have been using for a while...

IBrokering - Avoiding meatball code →

The ORM in NORM

Okay then , so what does Norman actually do? Simplistically, it provides an engine for a developer to use in order to create objects, and restore and persist objects from and to a datastore. Metadata attributes on objects handled by the engine describe to the engine how it needs to be created and restored...

The ORM in NORM →

IDataObject - Splitting the atom

Before we get too more involved with the engine, Let's take a look at the IDataObject hierarchy. IDataObject is the base interface of IBrokeredDataObject that describes the contract for every object served by the Norman engine . IBrokeredDataObject also inherits from IDisposable, and contains an instance...

IDataObject - Splitting the atom →

What is Norman

What is Norman ? I have described it in the past as a distributed object server.This should not be confused with the standard use of the term object server, a Media object server, a server that distributes reports, files and similar objects to users in a network, rather a POCO object server, serving...

What is Norman →