Dear All,
I
truly appreciate your help and feedback. I will give you below a
background about our situation, the results of the research I made, and
then I will mention my requirements.
I actually was refered to CSLA.NET from www.asp.net forums, and I need to know if CSLA.NET will be of value to us, with reagards to our requirements.
Background:
1.
I work in a company in IT Dept., and we are a team of 3-4 developers,
with different levels of skills in
ASP.NET, and with excellent development skills each in his area of
specialty (Lotus Notes, Java ...etc). We have highly skilled
developers in ASP.NET.
We are using VS2005/SQL Server for the Web Application Development, and
VSS for Source Control, in addition to other tools/platforms.
2.
The objective of our team is to develop Applications
for the End Users to increase their productivity (Using Web Based
Applications). The back-end systems are in UNIX/Adabas. We are using
CONNX SQL Gateway for Data Access from the Web Apps to Adabas. SAP
Portals will be deployed in a couple of months, and we are
migrating from UNIX/Adabas to SAP in a couple of years.
3. The applications we are developing may be targeted for ALL
Staff, or for
certain department/section in the company The total number of the Staff
is 1000 (aprox) and the avareage number of staff in each dept is 30.
4. Our
biggest problem
in developing Good Looking Professional Applications, and we
have not yet upgraded to VS2008, so I guess AJAX for .NET 3.x,
Silverlight and Expression are not an option for the near futures, but
surely, we will have to
upgrade sooner or later, which will take some time because we have to
arrange for training, licensing, budget ...etc.
5. The time frame to build the required applications is
usually tight (and always the users want the application to finish
yesterday). The average period to launch an application after
completing a development cycle is 2-3 months. The application goes
under continuous improvements over 6-10 months, and in some cases, it
will span over a couple of years.
Below is some info I found based on my research, on how to build good looking web applications:
1. Using CMS Tools like DotNetNuke from: http://www.dotnetnuke.com/. and.or Umbraco from:
http://www.umbraco.org/
, where such tools are very good in building attractive UI, but usually, as per my personal opinion, I do not recommend using such tools for cases like ours, because of the following:
1.1. They do a lot of things for you that you don't need, which causes BLOATED Output and possible performance issues.
1,2, They may impose some annoying limitations, which may force
you to perform some unusual tricks to make them happen, if that is
possible in the first place. So the time you saved to build the UI, has
been wasted in finding solutions for tricks.
1.3. They may require certain configuration which is not available, or will cause unwanted results.
1.4. They require a special learning curve. Each tool has its own
technique. I prefer to spend my time learning the original APS.NET
infrastructure instead.
1.5. They duplicate the functionality
provided by SAP Portal, and the effort needed to implement and learn how
to use this tool will be wasted.
1.6. For DNN, it generates a Huge number of objects
for SQL Server Database and Web Parts/Files/Folders under IIS, ie, it is
a Bloated Engine: Each time you create a web site for an application, it
will create a large number of objects which you have no control over, and
if you mix different web application in the same web site, it will confusing.
---> I am interested in your feedback about such CMS tools please, and how it compares to CSLA.NET ?
2. There is
also many other ASP.NET Starter Kits. or CSK and and the like, some of which
seems less complex than DNN and umbraco. I need your input on such
tools and how they are different from CSLA.NET. The related link:
http://www.asp.net/community/projects/
3, I also found the Enterprise Library from: http://msdn2.microsoft.com/en-us/library/aa480453.aspx. It looks very promising. But, it has no reference
to Web Templates, Master Pages, Style sheets, Themes, Site Navigation,
Dynamic Menus and User Interface in Greneral.
4. I
have done some research, and found the following links to which have ready
Web Templates for Master Page, Themes, Style Sheets, Menus
...etc...:
http://msdn2.microsoft.com/en-us/asp.net/aa336603.aspx
http://msdn2.microsoft.com/en-us/asp.net/aa336602.aspx
http://www.ex-designz.net/template/default.asp
http://www.beansoftware.com/ASP.NET-Tutorials/Globalisation-Multilingual-CultureInfo.aspx
http://www.asp.net/community/control-gallery/browse.aspx?category=22
We have found a lot of web templates and Master Pages
Samples, and Menu and Navigation Templates... but, the problem is that
they are Static, we need to do some work to replace the static menus
with Menu and Navigation Controls of ASP.NET. Do you have any feedback
on this issue ? Any alternative way ?
5. For Authentication and Authorization,
I was looking for a way to use Windows Authentication, and User Defined
Role Based Authorization (using GenericPrincipal instead of Windows NT
Groups), and I found this link which a sample code that will help me achieve
my requirement:
http://weblogs.asp.net/dneimke/archive/2003/09/29/29499.aspx
And, I will use the info from this link:
http://msdn2.microsoft.com/en-us/library/tksy7hd7.aspx
to build the required authorization
module.
6. I also found Ajax Control Toolkit which looks very promissing for UI. How does it compare to CSLA.NET ?
Our Requirements:
1. We are in bad need for a method, technique, easy to use
tool, or what ever you want to call it, we are looking for a way to
standardize and streamline the development of Web Applications among
the Team Members. The objective is to reuse the work completed by others
and have consistent way of developing application in all aspects, so that
it will be easy to hand-over the work from one team member to another
2. Rich User Interface. I do not
mean FLASH, Silverlite and the like, I mean good looking and professional web application
(look and feel and UI). To
be more specific,
this covers: Master Pages, Themes, Style sheets, Site Navigations,
Dynamic Menus (with User Roles), ... etc. and it does not have
to be fully automated. As you know, it is really not easy to work with
CSS, you must agree with me, don't you ? While CSS Editor/Builder makes
it a little bit easier, you still need to have the Artistic Skills to
be able to imagine what colors you need.
3. Standardize Authentication and
Authorization across all applications. We are mainly using Windows Authentication,
and for Authorization, I want to use user-defined Roles
and assigning roles to users, and control menu access and system functions
using roles.
4. Complete the development in
relatively a short period: Rapid Application Development,
Your feedback, comments and recommendations will be greatly appreciated.
Regards ...
Tarek.