Common development principles for xLim

In this post I’ll attempt to cover briefly major guidelines and principles that proved useful for this approach. The following principles are recommended to be followed for the efficient xLim 2 development: Employ version control and continuous integration (using only dedicated server for the releases) Great deal of xLim solutions’ business value is stored in …

How to implement complex UI composition in xLim?

Here’s another post that continues the topic of xLim extensibility and originates from Ayende’s blog. He has posted on an interesting problem of view composition. Here’s quick possible solution for the initial problem within the xLim 2 concept: Define reusable composite view that is just a wrapper for the list of views and their parameters public sealed class CompositeView …

Managing the flexibility

Basically, the capabilities of any given xLim 2.0 application are defined by the modules that have been loaded. Modules, when they are loaded, can do all sorts of complex things with .NET code: Register business objects. Register new components with different scopes, ownership, registration procedures (lambda, factory, reflection, instance etc) Resolve components registered by other modules and …

Organization of xLim solutions: development, svn and integration

Note, that I will not explicitly address database management in this structure (folder for the db-create, chained revision-based .cs and .sql upgrade scripts etc), since the XPO manages most part of the complexity here. Below you will find the folder structure for the root of your version control repository. *SVN:* Doc – development-related docs 000 …

xLim 2 Engine concept or simple continuous integration for businesses

xLim 2 Engine is an extremely simple concept and continues the idea from post on “How to simplify complex maintenance tasks of your information management solution?”. So, if you have architecture like this, you can just: take multiple maintenance and automation tools of yours throw out all the repetitive code (connection, logging, security, etc) and …

Organization of xLim solutions: development, svn and integration 2

In the last post in xLim 2 series I’ve talked about the overall folder organization of the xLim solutions (including documentation, version control and integration). Let’s drill down to the scope of the atomic Visual Studio solution. Caveat, Reader: although this solution structure is based on multiple articles, guidelines and delivered projects, it is tailored specifically for the xLim …

How to use IoC container with nested scopes for application composition?

Well, that’s simple. The idea itself comes from the CAB. Basically you can organize your application (whether it is a desktop client, an automation engine, web UI or something else) in such a manner: This sample desktop application is logically organized into the nested scopes (or contexts or containers). The Application Scope is the top-most. It contains …

Simplified architecture for the xLim 2 solutions

Basically that’s your generic Client-Server application that heavily relies on the Inversion of Control/Dependency Injection (and the inherent pluggability because of that) and uses the composite application approach for the client UIs (supported by the distributed model). Note, that the different types of UIs share the same in this structure. Web UI is just another type of interface, and thus there …

Managing xLim 2 flexibility: IoC Container Inspector

Schema Manager encapsulates three different ideas: Container Inspector Configuration Manager Validation Test Runner These three pieces are logically linked to each other, and because of that there’s the synergy effect. It makes the resulting combination even more efficient and easy to implement. Let’s talk about the container inspector bit for a while. The idea of …