C# project advice needed  !!!

Posted on 2005-04-29
Last Modified: 2010-04-16
 I need an advice and might be couple pointers regarding to C# .NET project.
I have to design insurance management system for small insurance agency.
Since I have never done financial application I need some advice how to approach this project.
Here is very broad project description

The agency has 3 branches and they want to be able access customer data from all locations. Currently they have about 10 workstation and 12 users more or less, and over 100 clients. However, they are growing and it going to be more clients at least this is what they are saying. They have 3 branches, but at this point of time project it going to be implemented only for one office. After that they want connect another two offices.

Wish list :
-      user authorization : two main type of user : super user with rights to modify data and regular user only with rights to prepare reports without rights to save, or update customer data or policy data.
-      preparing payment schedule for their customers
-      reporting system (
-      keep tracking policy expiration date
-      keep tracking customer payments
-      quote policy

There is one more important thing for them, when they take down payment from customer they are obligated to return money to insurance company in 25 days for individual customers and 14 for business customers.
They want to be able keep down payment money as long it is possible so they have to keep tracing these dates too. Otherwise they will be in trouble and pay some fine.

My Questions:

Should I do this as Desktop application or ASP.NET.
I’m worried about performance of ASP, the system will have to generate a lot of reports so wouldn’t be better to generate these reports on client side instead of IIS side. I could grab some data from database and process it with the client. What do you think?
I might be mistaken but in my opinion Windows Forms have more flexibility over ASP,

What about hardware for desktop application:

I have following options:
- Linux plus MySql
- Linux plus Oracle 10g
- Windows plus Oracle 10g
- Windows plus SQL2000 (it is possible but it might be too expensive configuration for this project, budget is very tight)


Question by:knobloch

    Expert Comment

    ASP and are completely different, for the most part windows forms and web forms use most of the same objects and most of the same code. It also depends on what reporting tool your using as well. .NET has great support for crystal reports. For example I built a application using a windows IIS server and a sql server 2000 database, I have about 30 people using it from all over the country accessing about 5000 different customers. I debated to on whether to build a windows based or a web based, and it didnt make sence for me not to build a web based. As for a database, you could go with mysql its just .net has great tools for connecting to SQL server and even oracle. I would say the best combo is, windows, and sql server. As far as performance it has been great, I have about 10 users that are using laptops with wireless cards running at 56K and the web application is very fast. Look into the web based crystal reports, its great. We put this application on our intranet and is not available to the outside. I really think intranet applications are the way to go.
    LVL 5

    Accepted Solution


    > Should I do this as Desktop application or ASP.NET.

    Yes, the better option is using ASP.NET, ASP.NET gives much more flexibilty in bringing the interface and functionality same like a desktop application. The main advantage of going for web interface instead of win gui interface is any user can work on your application with out having any specific software installed. All they need is browser that's all. And, while developing application in, try to follow cross browser functionality so, that it can be user across any browser/platform. I suggest you to go for ASP.NET as you were talking about that the app. is used in different geographical locations.

    > I’m worried about performance of ASP, the system will have to generate
    > a lot of reports so wouldn’t be better to generate these reports on
    > client side instead of IIS side. I could grab some data from database
    > and process it with the client. What do you think?

    There is no worry about that. ASP.NET is very power full in Caching the already resulted pages. But, you would be more knowledgeable in this techniques, and should made lot of shots in order to understand the techniques of handling resource heavy problems. Mixture of ASP.NET and JavaScript can reduce payload to the server eventually. I have faced lot of problems in producing reports (which sometimes contains 1lac records) in ASP.NET, but gradually i can able to understand the real problem and now i can deliver right solutions without spoiling the performance. Using GC properly in ASP.NET is more required for a good performance application. Using functionalities like "ServicedComponent" in ASP.NET, and reducing the Database lookups by limiting the rows, and Using Stored Procedures and triggers by reducing the Front-End to Back-End traverse can give you good performance. So, my fact is ASP.NET is good, but it's all about how we are handling it.

    > What about hardware for desktop application:

    As far as Database is concerned i will suggest you to go to Oracle or SQL Server. I have handled 12GB of data in SQL Server, I dont feel any harm to that. Define your database structure properly, that helps you in getting more performance. You have to use IIS, there is no option in that. Try to use DB and WebServer in separate machines. So, that it will give you right performance.

    > It is possible but it might be too expensive configuration for this
    > project, budget is very tight

    That's why Microsoft is called as M$ (MS).  :)


    Author Comment

    I'm not really ASP.NET person I know how to do it in Windows Forms.
    Could I run into some problem because of it?
    I'm especially worried about security issue and data manipulation.
    What do you think?  
    LVL 5

    Expert Comment

    No, that is not a issue as far as ASP.NET is concerned. Even you can use AD Security, or Forms Authentication (means normal db check for the user) or Passport Authentication. ASP.NET is good in security. Try to atleast have a lookup in ASP.NET concepts so that you will get good idea before starting the project.

    As far as the data manipulation is concerned, ASP cacheing will help you in reducing the db lookups unlike other languages you have to fetch anything or store anything (even the cached objects) in db. But, for example you have to display some set of rows depends on userid, what ASP.NET will do is it will cleverly show the cached page from the server. It will throw the query to DB server and it reduces the certain amout of db payload.

    I believe as far as your application is concerned ASP.NET is right choice.


    Author Comment


    Write Comment

    Please enter a first name

    Please enter a last name

    We will never share this with anyone.

    Featured Post

    Top 6 Sources for Identifying Threat Actor TTPs

    Understanding your enemy is essential. These six sources will help you identify the most popular threat actor tactics, techniques, and procedures (TTPs).

    In one of my recent projects, I was working with IP cameras, I need to take some pictures from the camera and do some processing on it. The first step, was to retrieve the image from camera into Image object. So that it can be displayed or …
    This article is for Object-Oriented Programming (OOP) beginners. An Interface contains declarations of events, indexers, methods and/or properties. Any class which implements the Interface should provide the concrete implementation for each Inter…
    It is a freely distributed piece of software for such tasks as photo retouching, image composition and image authoring. It works on many operating systems, in many languages.
    To add imagery to an HTML email signature, you have two options available to you. You can either add a logo/image by embedding it directly into the signature or hosting it externally and linking to it. The vast majority of email clients display l…

    759 members asked questions and received personalized solutions in the past 7 days.

    Join the community of 500,000 technology professionals and ask your questions.

    Join & Ask a Question

    Need Help in Real-Time?

    Connect with top rated Experts

    10 Experts available now in Live!

    Get 1:1 Help Now