Inside Cdot-Insource Framework






2.41/5 (7 votes)
Sep 9, 2004
5 min read

33817
This article describes the architecture of the "Cdot-Insource Framework".
Abstract
This article describes the architecture of the "Cdot-Insource Framework" developed by Cdot Inc, a Swiss based software company. The input for this article was gathered in an interview (18th August 2004) with Mr. Steiner and Mr. Seidmann, both working for Cdot.
The Cdot-Insource Framework consists of wrapper libraries and 3-Tier implementation fundaments making software development simpler.
Note: I can't provide you with the source code of the Cdot-Insource Framework because it’s a product that can be bought together with support services.
Content
1 Philosophy
2 Architecture
2.1 Client
2.2 Web- and
App-Server
2.3 Database
3 Features
3.1 Documentation
3.2 Office
integration
3.3 User controls abstraction
3.4 Other features…
4
Summary
1 Philosophy
The philosophy behind the Cdot-Insource Framework is to make implementation of 3-Tier solutions easy through providing wrappers and template implementation of each Tier. The wrappers include 3rd party components as well as Microsoft products.
“Insource” is defined as “Companies were using external staff and resources within IT activities that remained under in-house management” – University of Cambridge 1996. The efforts of Cdot Ltd are going in this direction of service providing to their customers – mainly small or middle software development companies, that want to profit from the knowledge of Cdot without doing their own technology research in-house.
So the philosophy of “Insource” is to have a company (e.g. Cdot Inc) do technology research and filter the software knowledge to present your company (with e.g. 3 developers and 2 sales – not forgetting you the CEO ;-) ) with what you need to know about current technology and how you should use it.
I liked the following two graphics to help understand this concept:
The first picture shows that if you intend to replace your solution with a new generation – you have to do everything yourself: selecting technology, becoming accustomed to the technology, implementing the solution …
The second picture shows that you can receive support from an external service that guides you with new technology for every generation you want to build. Your in-house developers profit from the “lesions learned” by Cdot Ltd while experimenting with the new technology earlier. Your efforts can start at a higher level (and are therefore less) as the graph implies…
2 Architecture
The Cdot-Insource can be used to build classical 3-Tier architecture, as you can see on the following graph. The red rectangle shows the support of the Cdot-Insource Framework.
Not much magic here – but support and wrappers everywhere.
2.1 Client
CDOT-Client-Templates are fully functional with Windows Application with Toolbars, Officebars, … that wait for you to be extended with specific functions.
CDOTLoader supports Smart-Client deployment. The controls and forms will be loaded on demand (lazy loading) from the server.
2.2 Web- and App-Server
CDOT-Server-Templates are default configuration of service providers hosted in IIS, COM+ or Windows Services… as on the client side, the template needs to be extended with the logic you can concentrate on.
CDOTSecurity helps to build hand-crafted user and permission management – not bound to the Windows ACL’s. Note that IMHO is not such a good idea, but they told me it is what their costumers want to use!
2.3 Database
CDOTBase provides for dataprovider-independent data access methods by encapsulating the ADO.NET technology. Cdot-InSource itself is not directly tied to the database, which means there is no specific database context required for Cdot-InSource to “work”.
3 Features
In this section I’d like to describe some features that impressed me – I can’t cover everything of course that’s why I have only selected three. The following graph gives a good overview of the modularization of the features Cdot-InSource framework provides:
3.1 Documentation
I know it’s a bit weird to say “documentation” is a feature… but have a look for yourself on the following print screen…
3.2 Office integration
As you can see in the help print screen above, there are objects from Excel, Outlook and Word to easily communicate with them. Some wrappers that might save hours of programming I guess…
3.3 User controls abstraction
You have a wrapper layer around all common user controls – including not only the ones from Microsoft, but also common 3rd party control providers, in particular Janus © and Synchfusion ©.
Especially I liked the wrapper around the data grid control. It gives you the incredible power to change the underlying data grids (from MS, Janus or Syncfusion) while keeping the formatting of columns, colors …
3.4 The other features…
Finally here is the list of features as I received it from Cdot Ltd:
- Templates for client and servers (including Web Services, Windows Services, Remoting, COM+)
- WS-Security-Support
- User- and Right-management
- Auditing-Model for tables
- Smart Client deployment
- Report-Designer-Client
- PDF-Support
- Integration of ChartFx in GUI and Reports
- Wrapped, simplified data access to MSSQL, ORACLE- and Sybase
- Exception handling
- Thread-pooling and -management
- Dataset support
- Janus Grid
- Synchfusion
- Dynamic Toolbars
- Outlook-Bars
- RichText Controls
- Picture-Control
- Sliders
- Integration of schedule and calendar (JANUS)
- Microsoft Office integration
- Online Translation of dialogs
- Required flag for controls
- Min-/Max-Value for numeric edit controls
- Web-Portal integration (IBuySpy and DotNetNuke)
- Tools for locking functionality
- Integration of Nunit / NunitForms
- Dialog support for simple tables
- Build process using VS.NET and nAnt
- Licensing modules
- Concurrent user support
4 Summary
If you’re searching not only for wrappers and template implementation, but also service and know-how to transfer to your development team, it seems to be a good alternative instead of programming everything on your own…