1 Replies - 943 Views - Last Post: 21 December 2011 - 08:43 AM

#1 foyst  Icon User is offline

  • New D.I.C Head

Reputation: 0
  • View blog
  • Posts: 3
  • Joined: 18-January 10

How to design scalable and portable application?

Posted 21 December 2011 - 05:03 AM

Hi everyone,

I was asked recently by a friend of mine to build him some software which he can use to record information on clients he works with. Specifically, he is setting up personal training programmes for them, so it'd be details like exercises, training logs etc.

I know this could be done by building a simple .NET Windows App linked to a SQL Express Database, but having been taught C# OO Programming at Uni a couple of years back, I'm looking for the best way to build a system that can be scalable and portable.

Ideally, I'd like to be able to eventually host the database in the cloud on SQL Server Azure, which he could interact with via a C# Application, and also clients could view their data via a website.

My problem is, having worked in Business Intelligence since uni, and only using C# for scripting work and small programs, I don't really know the best way to achieve this.

Attached Image

This is a quick design of how I believe such a system should be built.

Any guidance and feedback on what I've discussed so far would be greatly appreciated. Any reading material or search terms that will point me in the direction of skills I need to learn to build such a system would also help me out a lot.

Also, I have a query about the business layer logic. Should the UI be completely disconnected from it? The way I see it is if it doesn't then that introduces multiple places where the logic would need to be updated, where as if I could maintain it on an application server then it would ever only need updating here.

Thanks very much for taking the time to read this, and any advice would be greatly appreciated!

Ben

Is This A Good Question/Topic? 0
  • +

Replies To: How to design scalable and portable application?

#2 modi123_1  Icon User is online

  • Suitor #2
  • member icon



Reputation: 9381
  • View blog
  • Posts: 35,227
  • Joined: 12-June 08

Re: How to design scalable and portable application?

Posted 21 December 2011 - 08:43 AM

Quote

I was asked recently by a friend of mine to build him some software
...
My problem is, having worked in Business Intelligence since uni, and only using C# for scripting work and small programs, I don't really know the best way to achieve this.
...
Any reading material or search terms that will point me in the direction of skills I need to learn to build such a system would also help me out a lot.


First off, these three lines concern me. There's no shame of saying "hey - that's not my skill set" and having him use something like excel or a commerical-off-the-shelf setup. The mismatched skill set usually means buggy and a bear to maintain, and the "scalable" reeks of scope creep for a never ending project. Mind you this isn't me passing judgement on your skills, but I have seen this project setup a few thousand times (and I have been approached for similar issues) and it rarely ever goes well. If something is churned out it is so horrible and buggy that people's feelings get hurt, businesses lose cash, and no one wins. If nothing goes out that just means time's been wasted and the cost associated with that. *shrug*

Quote

scalable and portable.

Explain this - scalable in what way? Portable how? (Andriod app? Blackberry app?)

Quote

interact with via a C# Application, and also clients could view their data via a website.

Why double the work with a desktop app and a website? why not just a web app with set privledges: admin and client.

Quote

eventually host the database in the cloud on SQL Server Azure

Any reason for a cloud database over a mysql or mssql db hosted on a site?

Quote

direction of skills I need to learn to build such a system would also help me out a lot.

I would suggest looking into ASP.NET (which can be written in C#).

Quote

Also, I have a query about the business layer logic. Should the UI be completely disconnected from it?

That's a personal paradigm issue. Read up on Model-View-View Model about that.


Quote

and any advice would be greatly appreciated

On specific program design I would have to know more about what the vision for the data would be. I get it's a "personal training program", but that's a ton of ground on what should be stored.
Was This Post Helpful? 0
  • +
  • -

Page 1 of 1