A: 

It sounds like you've already made a lot of the key architectural decisions - around technology, anyway.

I would say any platform / technology you choose can be made to work; just as any can be perverted and screwed up.

Stored Procs are good for speed - they're also a good security measure.

I suggest you draw up your solution architecture formally - having it documented will help those who come after you (or yourself after time has gone by), and the process of documenting it will help your thinking process.

Key things to include:

  • Architectural Goals. What are the things you want to achieve architecturally? These will probably align well with the high-level Non-Functional Requirements (NFR) set out by the business client. For example: are you aiming for high re-use of existing technology so that the business doesn't have to diversify into new areas.
  • Architectural Decisions. "We choose to use [technology / component / pattern] "x" because it's well supported". Or "we choose 'A' over 'B' because even though B is faster, A is more secure - which aligns with key NFR's.

Once you've done this it should be easier to make decisions; sometimes you might already know the answer in your head - but it's not that clear, writing it down can help.

Adrian K
Hey thanks for the response.. meaning to get back to you a few days ago. All very good points, and certainly will be aiming to at least get the architectural points down as you explained.
David S