Hi!

I have started a new interesting project. We will develop some kind of web shop, with features normally not found in commercial webshops. (Can't go into details for obvious reasons).

Anyway, the customer want to split the development between my country (high cost) and India (low cost). He want the app designed so it consist of APIs between the different tiers (presentation, business, service, database) so that they can move for example the presentation tier development to India.

My task is to come up with a reference architecture for this product. My ideas are to develop the presentation in ASP.NET, data access/tier in LINQToSQL and the link between pres and business is vis WCF using the service contracts as interfaces.

Do you experts see any problems with this general design? The WCF services need to be exposed via internet with rather high level of security, both in the development environment and the production. I have very little knowledge with WCF (1 dev project only) so I would really need some help with this. What to think about, what transportation protocol, webservices?

SO basically, it boils down to these questions

1) Is it wise to split the product in these logical tiers considering the different geographical placements.

2) For webshops in general, what performance issues can I face? For a minute there, my thoughts ventured towards a biztalk solution... overkill?

3) How should the service tier be developed considering it needs to be exposed over internet and need high level security.

4) Payments? Any comments about this? I take it one can buy this service and easily plug it in the existing app?

I hope the questions are not too "far out"? I am very grateful for some assistance so I can get started. It's been a while since I did .NET development/design, I have been working wiht T-SQL for the past 1.5 years. So I need a jump start .


kind regards
Henrik