Help me identify best practices for a software project
November 8, 2010 2:08 PM   Subscribe

I am being asked to help manage a software development project of a friend of mine's startup company after 2 years of not working and am looking for some insight from the hive since im feeling realllly rusty and down on myself and i want to show him i can do it. more inside....

I need advice concerning managing a 3-layer software development project (will be in .Net)

This is for a service based business lets say company x (providing supplies to clients at wholesale who then sell those at retail. They want to create a backoffice management platform for the company and its clients to use as well as a base for which clients to be able to create websites which take advantage of the complex database structure and its stored procedures. The structure is as follows:

Layer 1: web pages (aspx) hired and produced by the client
Layer 2: components (com) produced and paid for by company
Layer 3: database (sql) produced and paid for by company and containing stored procedures and relationships for the front end to use.

They want to create it in such a way that keeps the application source confidential by controlling component development themselves.

This is the only information I have been given so far about the project. My first assumption is that the com layer should basically be a web services layer which if they want that confidentiality and strict control was how we used to do it at my old job.

I also need to help define some good policies which would help assure quality control between the layers especially at layer 1.


For example:
1) the application must leave a log in main operations
2) the application will use stored procedures programmed in the database; will use a specific user/profile.

Can anyone give me any suggestions to create a reasonable list for our quality control or caveats and best practices?

Thanks so much in advance
posted by postergeist to Technology (5 answers total)
 
You might ask this question at Hacker News, only because there are a lot of people building these sorts of enterprise apps there. In general it might be a good resource for you.
posted by DarlingBri at 3:12 PM on November 8, 2010


1) using a com component from asp.Net is iffy as each instance will be destroyed on each page load. Look into using wcf with the proper threading setup to you won't have to create and destroy com objects.
2) log to a central location. Once you have 10 servers tailing all the logs is not going to work.
3) use the correct apppool setups in ii7. With one worker process you will never use more than one core.
4) proper indexing will stop SQL server from being a bottleneck
5) optimize stored procs. You can see a huge performance gain.
6) don't use your web services from your own app unless you have to. Link to your web service as a reference and not a web service for huge speed gains.
7) trust Microsoft. Linq is faster than anything most people can write. Plus someone else will maintain it.
8) don't try to subvert asp.net. If you want use asp.Net MVC and razor but don't fuck with webforms it will only cause pain
posted by Ad hominem at 5:20 PM on November 8, 2010


Couple more.

1) TFS build servers and gated chechins are worth the effort.
2) staging and production Need to be an exact match. Nothing sucks more than having to schedule a month in advance for Microsoft to come debug a strange IPSec problem that only affects production.
3) fiddler and wireshark are your best friends. Wcf gives crap errors.
4) always hit the wsdl in ie. If the web sevice loads you are good
5) a 503 means your app pool is stopped. Act like a hero a restart it
posted by Ad hominem at 5:36 PM on November 8, 2010


Have automated test for all the level 2 components that are run frequently. Have really good docs for level 2, clear and different examples that run against the dev version of the site.
posted by sammyo at 8:42 PM on November 8, 2010


Response by poster: Thanks for the very thorough response Ad hominem. Can you elaborate more on the com vs wcf point? Is com object destruction / construction related to sessions?
posted by postergeist at 9:10 AM on November 9, 2010


« Older Help me beanplate a little.   |   Sole proprietors at the movies? Newer »
This thread is closed to new comments.