What+is+it?+why+is+that+important?


 * ELEFLEX™** is an open source, .NET C#, enterprise application framework for building end-to-end, high performance, service-oriented architecture solutions.


 * Current Wording**
 * Current Wording**

Designed as a foundation for standardizing service-based applications, it provides a compact, reflection-less, canonical model to allow interoperability over application boundries. It is a 100% native library that has been designed with platform independence and source code generation in mind.


 * Proposed Wording **

The ELEFLEX model enables the solution to be defined in a human understandable,s uccinctly defined, domain designed forma t. The ELEFLEX canonical model enables it to generate a highly computable reflection-less solution.



We are proud to support the open source community and release all source code under the [|Affero General Public License] (AGPL), as well as a [|Subscription License] that allow our customers to close-source their solutions to protect copyright, intellectual property or other business concerns. Subscribers also receive access to new features, services, applications, updates, documentation, forums and support not available to the AGPL-licensed community. Get a head start on the competition!

Our 24-month, code-conversion policy allows our open source customers to purchase and develop with subscriber-only source code by providing a date that subscriber source code can be released publicly via terms of the AGPL. Subscriber-only source code (as well as customer solutions) cannot be publicly released until the conversion date to AGPL.

ELEFLEX™ has been built with guiding principles in mind, //Elegance in Simplicity and Flexibility in Design//, to ensure that it will support the next generation of enterprise applications developed in the future!

__What is it, What is that, Why is it important?__
 * 1) Canonical model
 * What is a Canonical model?
 * **Canonical Model** is a [|design pattern] used to communicate between different data formats. A form of [|Enterprise Application Integration], it is intended to reduce costs and standardize on agreed data definitions associated with integrating business systems. A Canonical Model is any model that is [|canonical]in nature, i.e. a model which is in the simplest form possible based on a standard, common view within a given context. Often the term Canonical Model is used interchangeably with Canonical Data Model, an enterprise design pattern which provides common data naming, definition and values within a generalized data framework.
 * **Design Pattern:** A common way of solving a problem
 * **Enterprise Application Integration:** A solution that may or may not use a Design Pattern
 * Why is that important?
 * Provides a standardized model from which to build a customized infrastructure from.
 * The canonical model in Production Ready makes terms used by the solution: 1) concise, 2) consistent, & 3) common so that it is easier for developers to understand
 * 1) Reflection-less model
 * What is a reflection?
 * In [|computer science], **reflection** is the ability of a [|computer program] to examine (see [|type introspection]) and modify the structure and behavior (specifically the values, meta-data, properties and functions) of an [|object] at [|runtime]. It provides for a late-binding, rather than early-binding.
 * What is missing here?
 * Would it be accurate to say that because of the "reflection-less model" that... The Production Ready solution increases runtime performance because it only uses objects established prior to runtime?
 * Why is that important?
 * Although reflection does provide powerful capabilities, there is a small performance degradation with its use. By eliminating all reflection usage within the context of processing a request, ELEFLEX can provide the optimal, fastest processing.
 * This article provides a brief overview of the degradation. Although the numbers are small, using reflection in code will actually perform hundreds, if not thousands, of these instructions per request, systematically gnawing away at an applications performance. In a high performance, transaction environment this equates to a lot of time. Which is why ELEFLEX has shown in test applications 10-20% performance increases in the number of transactions processed over time compared to NHibernate and Entity Framework.[]
 * This article provides a little more in-depth review of reflection pitfalls.
 * [] (model)
 * What is a compact model?
 * The library and the code files needed for the application is very small and provides for a small footprint.
 * Why is that important?
 * This makes it easier for developers to understand, write code, and deploy it due to it's small file size.
 * 1) high performance (solutions)
 * What is a high performance solution?
 * Processing information as fast as possible
 * Why is that important?
 * Obvious
 * 1) Enterprise Application Framework
 * What is EAF?
 * In [|computer programming], a **software framework** is an [|abstraction] in which software providing generic functionality can be selectively changed by additional user written code, thus providing application specific software. A software framework is a universal, reusable [|software platform] used to develop applications, products and solutions. Software frameworks include support programs, compilers, code libraries, an [|application programming interface (API)] and tool sets that bring together all the different components to enable development of a project or solution.
 * Why is that important?
 * Can rapidly build large systems with little effort.