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…
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.