Click here to Skip to main content
15,881,844 members
Articles / Programming Languages / C#
Article

Inside Cdot-Insource Framework

Rate me:
Please Sign up or sign in to vote.
2.41/5 (7 votes)
9 Sep 20045 min read 33.6K   10   1
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:

Image 1

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.

Image 2

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:

Image 3

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…

Image 4

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…

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here


Written By
Web Developer
Switzerland Switzerland
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.

Comments and Discussions

 
GeneralIt is not english language Pin
alexsantos12-Sep-05 13:58
alexsantos12-Sep-05 13:58 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.