Model-Driven Software Factory
Modular Target Architectures Support
- Allows multi-architecture without additional cost
- Rich client (client/server architecture)
- Web ASP.NET application (n-tier architecture)
- Web SharePoint application (n-tier architecture)
- Smart Client application (n-tier architecture)
Integrated template engine
- Code generation for text based languages
- Template caching for an increased generation performance
- 100% reusable template engine
- Integrable as an MsBuild Task
- Exclusive Microsoft's RTF support. Allows direct Microsoft Word ® (all versions) editing for creating reports templates
Internationalization
- Dynamic localization of properties in the persistence layer
- Multilingual ready for all parts of the application
- .NET standard resource model support
Migration scenarios
- Database importer for existing SQL Server databases
- Database importer for existing Access databases. Existing OLEObject are exported and transformed into CodeFluent blobs.
- Database importer for existing Oracle Server databases
- Database importer for existing OLEDB Server databases (if the OLEDB provider supports the OLEDB schemas interface)
- Database importer for existing SQL Compact Edition databases
- Sparx Systems Enterprise Architect ® importer for existing UML projects
- XMI 2.x importer for existing UML projects
- ADO.NET Entity Framework importer for existing mapping projects
Tooling
- Client Console
- MSBuild integrable with a provided Task
- Microsoft Visual Studio ® 2003, 2005, 2008, 2010 integrable. CodeFluent Entities Modeler Tool (GUI - in beta) is fully integrated with Visual Studio ® 2008 and 2010.
- Easy preprocessing on the CodeFluent Xml model
- Generated files are easily debuggable for an increased productivity (Reflection mechanism is not used)
- CodeFluent is itself a 100% reusable API
- Source controllers and collaborative tools are supported
- CodeFluent models can be split in parts to favour collaborative work
Persistence and Storage Layer
Persistence
- Microsoft SQL Server ® 2000, 2005, 2008
- Oracle Database 9,10,11 support
- Customizable naming convention for tables and stored procedure generation
- Automatic generation of tables
- Automatic generation of stored procedures, including custom ones
- Automatic generation of keys (primary, secondary, foreign)
- Automatic generation of indexes
- Automatic generation of views
- Automatic generation of schemas (users)
- Automatic generation of dynamic server side SQL for multi criteria search procedures
- Manual (ADO.Net) or implicit (TransactionScope) transaction support
- Integrated concurrency management (RowVersion) for easier disconnected mode or SOA support
- RowGuidCol support in SQL Server for replication scenarios
- Automatic stored procedure generation using integrated CFQL query language
- Database differential engine for continuous generation and build support
Object-Relational Continuity
- Support for standard relational patterns (1:M, M:1, M:M relations, inheritance, associations)
- Extensive keying support (Guid, integer, strings, entities, composite keys)
- Fully hierarchical model (including relationships generation)
- Full support for enumerations values on all layers, from .NET to persistence layer, WCF, serialization, etc.
- Integrated query language ("CFQL") for easy custom stored procedure generation, independent from the target relational database system
- Automatic Binary Large Object (file, document, images, videos...) easy handling, with streaming
- Automatic paging support (client and server)
- Automatic sorting support (client and server)
- Automatic generation of LINQ to SQL attributes
- Persistence code is not generated dynamically, to ease debugging and favor testability of the solution
Middle-Tier Layer
Business Object Model Layer
- Support for standard OOP patterns (collections, generics, inheritance)
- Fully hierarchical model (including relationships generation)
- Code Generation (supports C# and VB.Net)
- Lightweight entities (struct and views) support
- Automatic caching support
- Support for Winforms automatic binding (INotifyPropertyChanged, IBindingList, IList)
- Support for WPF automatic binding (INotifyPropertyChanged, INotifyCollectionChanged, IBindingList)
- Support for Winforms and WPF 3.5 automatic validation (IDataErrorInfo)
- Support for ICloneable, IComparable, IEquatable, IList, ICollection, IDictionary and their generic equivalent interfaces
- Service layer (WCF) support
- XML serialization (XmlSerializer) support
- Property validation support (StringValidate, RegularExpressionValidate, CompareValidate, ObjectValidate, CustomValidate, ...), with error collections, and specific end-user oriented and localizable messages
- Generated model extensible with partial classes or snippet code integrated in the model
- Custom external business rule integration
- Integration of ILOG Rules for .NET ® as a business rule engine
- Integration of custom .NET Assemblies as a business rule engine
- Integration of script engines (VBScript, JScript, ...) as a business rule engine
- Not based on .NET Framework Reflection mechanisms
- POCO support, no base class needed
Service Object Model Layer
- Automatic generation of Windows Communication Framework (WCF) facades, server side
- A generic Windows WCF service host is provided, for all Windows versions, so you will not have to write specific Windows services to host your WCF services
- Complete support for WCF extensive configuration capabilities (no specific constraints on bindings, ...)
- Automatic generation of an embedded Background Intelligent Transfer Service (BITS) server for large binary objects (BLOB) upload and download
- Support for client and server inprocess debugging (without an external host server process)
- Automatic generation of a specific enhanced WCF proxy (optional, as standard proxy generation is still fully supported) on the client side, for an object oriented approach continuity:
- No need for metadata (mex). Saves network bandwidth
- Automatic generation of custom business rules on the client, if needed
- Automatic generation of validation rules on the client, if needed
- Support for WPF automatic binding (INotifyPropertyChanged, INotifyCollectionChanged)
- Support for WPF automatic validation (IDataErrorInfo)
- Support for WCF streaming for large binary objects (BLOB)
- Support for automatic asynchronous paged mode for large size collections
Web Service Layer (ASMX)
- Automatic generation of ASMX type web service facades
- Automatic generation of custom methods and business rules
User Interface Layer
Web Layer
- Automatic ASP.NET custom controls CodeDom generation
- Full multilingual support
- Automatic CSS based Web Site creation and deployment
- Template based generation (using Integrated template engine)
- Exclusive Excel and Access ® offline editing & over-the-web synchronization feature (HTTP/HTTPS)
- Automatic generation of fully 100% functional ASP.Net MembershipProvider, RoleProvider and ProfileProvider based on model entities
- Support of ObjectDataSource, GridView, DetailsView, FormView, ... classes
- Reusable generic ASP.NET controls provided: BooleanControl, CompareControl, CaptchaControl, CountryDataSource, ...
- Automatic generation of an embedded Background Intelligent Transfer Service (BITS) server for large binary objects (BLOB) upload and download. No need for IIS.
Office Applications Layer
- Exclusive Excel 2003, 2007 and 2010 (32-bit and 64-bit) ® offline editing & over-the-web synchronization feature (HTTP)
- Exclusive Access 2007 and 2010 ® over-the-web synchronization feature (HTTP)
- Support of IIS or WCF (3.5 or higher) as the backend. IIS is not needed if WCF is chosen
SharePoint WebParts Layer
(Requires a separate licence)
- Automatic SharePoint (WSS3, MOSS 2007 and MOSS 2010) custom web parts generation
- Automatic generation of Grid, Forms, in read and edit mode
- Server side paging
- Server side sorting
- Custom rendering support
- Multilingual support
- SharePoint CSS themes support
- Authorization support, based on ASP.Net MembershipProvider, RoleProvider and ProfileProvider in the SharePoint context
- Forms and columns layout editing at runtime for power users (Shared webparts)
Silverlight Layer
- Automatic generation of a complete remote object model to ease development and support, based on the exact same source as the WCF enhanced proxy layer (see Service Model Layer above)
- Automatic generation of custom business rules on the client, if needed
- Automatic generation of validation rules on the client, if needed
- Support for WPF/E automatic binding (INotifyPropertyChanged, INotifyCollectionChanged)
- Dynamic generation of asynchronous interfaces (per Silverlight "asynchronous-only" rule), but a synchronous usage pattern is proposed, to accelerate Silverlight development

