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ää: writing file python, writing file, writing right way, writing modes, writing code apps, writing programming language, get python code, programming language learn apps, programming language learn, web sight technologies, web programming learn online, web programming business, web development packages, web development cloud, web development learn online, web cloud development, web application make development, web application language, web application development services, use case amazon, simple programming problems, server side programming language, right crm, reliable writing services, python writing file

About the Employer:
( 69 reviews ) 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)