Building an architecture for a multi-tier client server application

I have chosen Python as a language and I have setup up an environment for programming in Python. Now I want to decide the best architecture for a complex CRM application that I will keep on accumulating more and more modules into it. Also the application should use cloud computing technologies like rackspace and/or Amazon cloud services.

The questions that I want the bidder to answer is

1. What are the different tiers of the application ? for example where would the business logic of CRM modules lie? and where the DB functionalities would lie? and for each tier define :

-What is its role?

-What is its inner architecture?

-How it will function? How it communicate with the other tiers?

-Where it will be hosted? on clients machine or on cloud like EC2?

2. Also how to do the networking between the different tiers? I'd really like to have the client send a simple request to the server along the lines of "fetch this (or these) object(s)", or "update this value in this object", then let the server decide if the user actually is allowed to do so, and then make the

change in the database.

3. Also I want the bidder to provide some technical sight on the best packages to use for each layer and for the networking . For example, would SQLAlchemy be a reliable package to use for the DB access layer? and or should I use the standard DBAPI of Python? Also what packages should I use for networking?

Here's a broad overview of what I need to do: cross-platform, client-side GUI apps that interact with a CRM server backed by a database in addition to a file sharing application that uses cloud storage transparently. The DB could be hosted locally (offline mode) or hosted remotely on one of the cloud services (online mode). the bidder needs to give a hint about how to do synch. in case of switching from offline to online modes and how to handle expected problems like concurrency for the DB and for the file sharing.

None of this is developed yet--actually, it's not even to the point of specs yet, I'm just trying to learn the best way to do this before I get into development. I want to plan this application out as thoroughly as possible before writing any code, and I want to do it the Right Way

Plz make sure to avoid handling this as a normal web application becoz I won't accept a traditional web application. Instead I want to end up with building desktop clients. I expect the client application(s) to be installed on local machines that connects to the core CRM server wherever it is hosted. The core CRM server might be spitted by itself into local tier that resides on the local machine and another tier that resides on a cloud service like EC2

Taidot: Amazon Web Services, Liiketoiminta-analyysi, Asiakkuudenhallinta, Tietokannan hallinto, tietojärjestelmäarkkitehtuuri

Näytä lisää: multi tier application cloud computing, writing to a file in python, writing to a file in c, writing the right way, writing out a business plan, writing modes, writing code for apps, writing a programming language, where to learn programming, where to get python code, what's the best programming language to learn, what programming language to learn for apps, what programming language to learn, what programming language should i learn, what is the best web programming language, what is the best programming language to learn, what is the best programming language, what is the best language for web development, what is server side programming, what is client services, what is a programming language, what is an object in programming, what is a function in programming, web sight technologies, web programming learn online

Tietoa työnantajasta:
( 69 arvostelua ) Fort Worth, United States

Projektin tunnus: #1708853

Myönnetty käyttäjälle:


Hired by the Employer

$1500 USD 30 päivässä
(16 Arvostelua)