Share |


From Matrix Platform

Jump to: navigation, search



The platform implementation is in 12 assemblies (excluding unit testing) as shown in the diagram below.

These include all the available systems, each significant system residing in its own assembly.

An overview of the assemblies of the platform (click to see image only)

Matrix Platform Systems

Each framework system handles a specific set of tasks and responsibilities; a project may use one or many of these systems. Since each system is component based, as well as completely open sourced, it can be extended and modified according to specific requirements. The Super Pool and Message Bus are suitable for a very wide array of applications and can find application in almost any project. The Diagnostic system is even more versatile since it covers a very basic requirement - diagnosing and monitoring run-time operation of your system. In contrast the Data Storage system is purpose built for storing and retrieving very large series of consecutive objects very quickly.

Super Pool (Matrix.Framework.SuperPool)

The Super Pool provides a unique way of handling organization and communication between the components of your solution. It can be utilized, or directly allows - distributed execution, inter-process communication, invocation control, component service access and component management.

Super Pool Standalone Assembly (Matrix.Framework.SuperPool.Standalone)

This is a Standalone version of the same Super Pool system, that allows to use that system by only referencing a single assembly (the SuperPool.Standalone.dll). The Super Pool is the top level system, and it contains the largest part of the innovations and value the platform provides, so having a standalone assembly allows to use it much more easily.

Message Bus (Matrix.Framework.MessageBus)

The Message Bus provides a fast and optimized still flexible and powerful system for communication between components. It makes usage of the Common.Sockets system to also allow TCP/IP based communication. The design of the Message Bus hides the details of the underlying communication mechanism, thus providing a completely unified access to the communication services for all its members.

Data Storage (Matrix.Framework.DataStorage)

This framework is currently aimed at storing large series of sequential objects in files; its focus is speed of read and write operations as well as operating with very large files (containing millions of items).

Test Framework (Matrix.Framework.TestFramework)

This system assist automated performance testing of methods, classes or components. It has fairly limited features and is used in booperation with the nUnit framework to cover all possible testing scenarios.

Matrix Platform Common

Besides framework systems, the platform also contains common modules. These are components that store commonly functionality, used throughout the solution; they are the bottom level of underlying infrastructure. Each module resides in a separate assembly bearing its name.

Diagnostics (Matrix.Common.Diagnostics)

Full article on this topic will become available soon.

The Diagnostics system provides a set of functionalities related to tracing and monitoring of the application operation. It provides GUI controls that allow to query and filter the diagnostic data in run-time, allowing a much more detailed run-time tracing experience. It also supports full log4net output, so it can integrate with any tools designed for it as well.

Socket Communication (Matrix.Common.Sockets)

The Common.Sockets is a compact, lightweight, extremely fast, binary based TCP/IP communication system. It is used to connect remote Message Bus and Super Pool components, but can also be utilized on its own. It is based on asynchronous sockets, and is designed with efficiency and speed in mind.

Common Core Assembly (Matrix.Common.Core)

Full article on this topic will become available soon.

The Common Core is a set of helper classes and sub systems, that assist the operation of the remaining elements in a solution. There are helpers dedicated to File Operations, Serialization, Statistics, Invocation, Application Lifetime, Reflection and others.

Common Extended Assembly (Matrix.Common.Extended)

The Common Extended helpers further extend the functionalities provided by Common Core, adding support for Operations, External Connectivity (, Twitter and Email), Thread Pool and Security.

Source Code

The source code of the platform has been implemented using strict and consistent coding standards. To download the latest source code, see the instructions in the downloads page.

External References

The platform currently uses 4 external assemblies:

  • HtmlAgilityPack provides automation for operating with HTML queries and parsing.
  • Log4Net provides extended logging support.
  • nUnit handles automated unit testing.

All of the assemblies used are open source and with license compatible with the LGPL used by the Matrix Platform source code.

modified on 7 July 2010 at 11:39 ••• 121,767 views