From Matrix Platform
Matrix Platform is an Open Source software development platform built using C# and Microsoft .NET 2.0 Framework.
The platform provides a flexible, reusable, durable environment for building .NET solutions. It is suitable for building desktop, client-server, web based or even cloud computing solutions. The most important set of functions provided by the platform are related to component management, communication, thread management and run-time system diagnostics. These features are standalone and can be used as a complimentary part to existing solutions or as a base for new ones.
The diagram on the right shows the areas of usability and application. Green areas indicate good coverage and red and yellow ones indicate less or none.
The Matrix Platform offers excellent extendability options so the areas with limited support can be built using a custom solution or alternative framework. For example it is feasible to utilize Entity Framework in order to cover data access and WPF for the Graphical User Interface.
Building applications with the platform is a controlled process with no compromise to versatility or flexibility. The architecture it allows greatly assists in handling common problems like feature creep or frequent requirement changes.
The platform is aimed at delivering maximum usability, and despite it covers a fairly wide array of functionalities, it's learning curve is not steep. The software design is an evolution to existing architectures, allows full flexibility in application architecture, intuitive design and organization. Usage is straightforward and easy, simple and advanced features are accessible in similar fashion.
You can see here what application requirements are resolved by the systems in the Matrix Platform. The purpose is to provide the reusable infrastructure elements of a software solution from Day 1 of the development effort.
Matrix Platform has no requirements whatsoever for the additional components. Its full open source allows you to integrate as tightly or as loosely as needed.
Suggested complimentary frameworks and toolkits
- Scripting Microsoft.CSharp
The Matrix Platform contains several distinguished systems, that can operate together to allow building well structured and organized applications. These are the systems of the platform:
- Super Pool offers a unique way of handling organization and communication between system components; it utilizes distributed execution, allows inter-process communication, invocation control, component service access, (remote) component management and more; this framework is the biggest innovation inside the Matrix Platform.
- Message Bus is a fast and flexible system for communication between components; local and remote operation modes supported, as well as advanced features like intelligent message delivery and auto-reconnection.
- Data Storage offers a specific, highly optimized solution for storing very large series of sequential objects in files; its focus is speed of read and write operations as well as operating with very large files; the future versions of this system will extend its capabilities to cover a much wider spectrum of application.
- Socket Communication is a compact, lightweight, highly optimized, binary based TCP/IP communication library; based entirely on asynchronous sockets for maximum performance.
- Diagnostics focuses on extended runtime tracing and monitoring of the application operation; it also provides WinForms GUI controls that query and filter the diagnostic data during the actual application run; full integration with nLog supported.
- Test Framework offers a small set of classes that assist automated performance testing of methods, classes or components as well as some WinForms GUI controls to complement them.
- Common Core Assembly & Common Extended Assembly (description only) assist the operation of the remaining elements in a solution and serves them with basic infrastructure functionality, common to all other parts of the platform.
You can find more information on this topic in the Documentation section of the web site.
- Why do we need a platform other than the .NET framework itself?
The Matrix Platform offers a set of higher level "services" to any application, that are not available in the .NET framework by default. Relying on these services drastically improves the durability of the resulting software, increases the development speed and brings the overall software production effort to a new level of scalability, flexibility and risk management.
- Why use .NET 2.0 instead of 3.5 or 4.0?
The 2.0 framework has a great advantage that it is fully compatible with Mono, so it can also run under Linux as well as Mac OSX. However if you do not need support for these OS, you can use and build the Matrix Platform under any .NET 3.5 or 4.0 solution just as well. The new features brought by the latest .NET framework are a welcome addition to any application using the Matrix Platform, and even by merely referencing them - they improve the performance of the platform itself due to the increased speed of some of the .NET platform components.
Compatibility & Requirements
The Matrix Platform requires .NET framework 2.0 to run. It can run on any Windows machine (Windows XP or later) as well as Linux and Mac OSX using Mono. It is also possible to use Wine to run entire applications in emulation mode, however Mono is the preferred option since it provides native execution compared to the virtualization support provided by Wine.
Contributions & Donations
The Matrix Platform is free, open source software. If you wish to help the platform grow, donate money, contribute source code, or simply convey your impressions of our work - contact us or post your comments on our facebook page.
The Matrix Platform is free open source software licensed under the LGPL agreement.