Click here to Skip to main content
15,891,723 members
Articles / Programming Languages / C#

Genesis Hybrid Smart Client Framework - Part I

Rate me:
Please Sign up or sign in to vote.
4.90/5 (28 votes)
19 Jun 2009CPL5 min read 87.6K   45   29
This is part I of VII in a series of articles describing the Genesis Smart Client Framework. This article covers an overview of all the articles available in the series.
Genesis screen shot

Introduction

The Genesis Smart Client Framework was developed by Blue Marble, a South African software development house. The framework was developed as the means of distributing an application to a large wide-spread audience over the internet.

By providing a Dynamic Application Workspace, the framework allowed the development team to focus on developing task specific modules, while the framework dealt with keeping client software up to date with the latest version of the modules, and provided users access to modules they were allowed to work with.

This series of articles will expose the entire code base of the Genesis Smart Client Framework. Each article will cover one aspect of the framework, and will be accompanied by its source code.

Please refer to our web site www.bluemarble.co.za for the most up to date information about the Genesis Smart Client Framework or any of our newsfeeds.

In order to pursue our active interest in releasing this version of the Genesis Smart Client Framework as an open source product, we've created a profile on www.codeplex.com where we maintain the most recent copy of the source code. If you want the latest version of the Genesis Smart Client Framework source code, go to our CodePlex profile or download the latest release from CodePlex.

What is the Genesis Smart Client Framework

The Genesis Smart Client Framework is a development framework that allows developers the freedom to focus on the functional requirement of the code instead of the mechanics of how to deliver a consistent enjoyable user experience. It consists of a server component which hosts Web Services providing a central business layer and access to the databases, a Web Site which is consumed while displaying web pages inside the Windows Client and of course the Windows Client that consumes all of the services to provide a rich user experience.

Because of the sheer number of topics to cover in an article describing the Genesis Smart Client Framework, the articles will be broken into multiple parts. Each part will cover a specific functional area. Some parts won't make sense on their own, and will have to be read in conjunction with other parts. I will however try to keep things grouped together as much as possible to reduce confusion, and most importantly... boredom!

Part II - What is the Genesis Smart Client Framework

This article will introduce the developer to the Genesis Smart Client Framework. It will include some diagrams to explain how everything works together and some screenshots of the application. GOTO Part II.

Part III - The Back-end

This article will focus on the back-end of the Genesis Smart Client Framework. It will explain the database structure and system Web Services that are available. It might be unclear about how everything hangs together at this point in time. GOTO Part III.

Part IV - The Client

This article covers the Windows Client application that connects to the Web Services and consumes the services offered by the Genesis Smart Client Framework. GOTO Part IV.

Part V - Programming Concepts

This article will introduce the developer to programming concepts in the Genesis Smart Client Framework such as XML scripting and integrating the Web Forms experience with the Windows Forms experience. GOTO Part V.

Part VI - Managing the Genesis Smart Client Framework

Managing the applications hosted by the Genesis Smart Client Framework and the users and their access to the modules is an important part in ensuring a consistent experience for your users. This article will teach the operator how to manage the Genesis Smart Client Framework. GOTO Part VI.

Part VII - The Complete Source

After working through all of the articles and getting portions of source code, this article will shine a light on the big picture. In this article, you will find a complete set of all of the source code with detailed instructions on how to get it functional on your computer. GOTO Part VII.

Important Notes

  • Since I am using these articles to enter the Smart Client competition hosted by Code Project, it really does not help my goal of winning the competition if votes are distributed amongst my articles. If I can be so bold as to ask you, please return to this article (part I) to cast your votes and provide the rating.

Other Information

Blue Marble is proud to be a Microsoft BizSpark startup company.

DISCLAIMER

The Genesis Smart Client Framework is a commercial closed source application. It is being provided on CodeProject with all of the benefits that articles on CodeProject grant its users (i.e. Free and Fair use), however it must be noted that some modules contain a 3rd party control that we are unable to license via CodeProject. Once all of the articles are uploaded, the code will be extracted to a separate obfuscated library to protect our vendor's Intellectual Property. The full source code will be provided for this library, excluding the few lines that could compromise our License. An alternative will also be provided for developers who wish to use a completely free version.

DISCLAIMER UPDATE

An implementation of a standard Microsoft.NET controls user interface has been created and is available on CodePlex as of release 1.30.1024.0. This release complies with all of the CodeProject article publishing terms and conditions.

Image 2

License

This article, along with any associated source code and files, is licensed under The Common Public License Version 1.0 (CPL)


Written By
We Fix Code
South Africa South Africa
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.

Comments and Discussions

 
GeneralRe: Missing dll Pin
Clingfree12-Jul-09 10:00
Clingfree12-Jul-09 10:00 
GeneralRe: Missing dll Pin
Stephan Johnson12-Jul-09 14:13
Stephan Johnson12-Jul-09 14:13 
GeneralRe: Missing dll Pin
Stephan Johnson12-Jul-09 14:11
Stephan Johnson12-Jul-09 14:11 
GeneralRe: Missing dll Pin
Stephan Johnson22-Jul-09 11:41
Stephan Johnson22-Jul-09 11:41 
GeneralRe: Missing dll Pin
Clingfree22-Jul-09 13:23
Clingfree22-Jul-09 13:23 
GeneralRe: Missing dll Pin
Stephan Johnson22-Jul-09 13:27
Stephan Johnson22-Jul-09 13:27 
QuestionWhat's exactly this mean? Pin
ivanchain@hotmail.com22-Jun-09 21:58
ivanchain@hotmail.com22-Jun-09 21:58 
AnswerRe: What's exactly this mean? Pin
Stephan Johnson22-Jun-09 23:55
Stephan Johnson22-Jun-09 23:55 
Hi Ivan,


ivanchain@hotmail.com wrote:
What's exactly this mean?
1.Could we download it and use it in a commercial project OR NOT?


According to the Code Project license agreement, I don't think it allows you to use it as in a commercial application, however during my creation of the articles, I released a copy on Code Plex in an attempt to kick-start a full Open Source project. I believe that the license agreement that I
selected on Code Plex allows for the use of the application in commercial systems.

However, I am no lawyer, so if you disagree, or feel I should be using a different license agreement in order for the Genesis Smart Client Framework to become a full Open Source project with commercial application rights, please let me know.

ivanchain@hotmail.com wrote:
2.The 3rd party control you mentioned in the modules is a key part of the framework? If we don't use it, could we have an alternative control to take place? Or we have to use it to get some core function? How much is the 3rd party control? We have to buy it from who?


The Genesis Smart Client Framework is used in a commercial application that my company developed a few years back. It has been working like a dream in terms of user updates and development cycles. Because the system was originally used as a commercial system, I used the http://www.devcomponents.com/[^] DotNetBar suite of controls to enhance my User Interface.

Code Project requires that ALL users can access all of the features of whatever code sample you include, that meant that it is a problem that I am using a proprietry 3rd party control (DotNetBar).

During my creation of these articles, I included a sample windows client application that uses only the standard .NET controls to render the interface. This means that there is a freely available Smart Client application with no licensing requirements included in the release.

However, if you wish to purchase a license from http://www.devcomponents.com/[^] for the DotNetBar suite of controls, you are welcome to.

ivanchain@hotmail.com wrote:
3. An alternative will also be provided for developers who wish to use a completely free version.
What's you mean?


If you open the solutions folder in the release of the code, there is a BlueMarble.Genesis.Client solution. This solution contains a windows application project that implements the Genesis Smart Client Framework client API to create a Smart Client application. This solution uses only standard .NET controls to render the user interface.

There is no 3rd party licensing required.

I hope this answered all of your questions.

Regards

Stephan Johnson

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.