Background:
===========
We are studying the possibility of creating a system that will have the 
following entities:
Customer(s) (appCustomer)
Service Provider(s) (appProviders) and
Manager(s)
Server(s)

appCustomers will have all appServices available to them and appServices will 
have at least one appManager and zero to many appServers.

Each one of these entities will run an application on android, ios and windoze 
phone at least, as well as (hopefully) linux, osx and windoze (these last three 
are needed for appManagers)

An appCustomer will use either an application or a given web site to request 
services via HTTP from the available appProviders.

Our system should immediately upon receiving this order, notify all involved 
appManagers and appServers, report back to appCustomer  who got notified of 
his/her request.

appManagers and appServers will interact with the system via applications in 
order to notify appCustomer/appManager(s) of any progress in serving the 
appService, until its completion.

All notification must be logged so that anyone involved in a given appService 
can check all activity and, for example, to allow appManagers to supervise the 
completion of a given appService request.

Reading the previous explanation I notice this is pretty much your common 
“Purchase Order System” except we need real time, bullet proof communications 
between all players, along with the possibility of SMS and mail capabilities as 
well as logs for all communication media.

Our system is to go live immediately with one (paying) customer representing 
around 100 appCustomers. We are expecting the live system to produce anywhere 
between 500 to 2000 notifications per day which is not a lot but (expected) 
growth will be exponential and might reach about a million notifications in 
about a year or two.

Observations:
=============
I'd like to keep this project python/C/C++ only, or at least as much as 
possible.
I'm not a seasoned python/C/C++ programmer though; but I'm in l.o.v.e. with 
python and C and C++.
I understand even less about communications and I know I have to use some way 
to push all notifications, but I have not been able to find a solution that 
will work on all needed platforms (android, ios, windows phone, linux, osx and 
windows). I wouldn't mind using two or three different push technologies if 
that was the case but: 

Questions:
==========
Isn't there a better way to push notifications?
Do I forcibly have to use a service such as “Urban Airship”, “Pushwoosh”, 
“Amazon SNS”, “Windows Azure Notification Hubs”, “Pushover”, “Prowl” or “Notify 
My Android”??
Would it be possible to build our own push service by using a combination of 
telnet, xmlrpc, websockets or xmpp along with twisted, tornado or gevent; 
living along with django and possible mezzanine in my “perfect python world”?
Am I asking too much or am I so lost I don't even make sense?

I've been reading about all these topics/products in the las couple of days and 
every line I read seems to get me the more confused...

When I was initially involved in this idea I thought it was all about finding a 
nice library for a good real time communications protocol 
(https://groups.google.com/forum/#!topic/django-users/vZQ3C4DS73g) but, as I 
said before; I know nothing about communications and in spite of all the good 
intentions of those answering that post; I am yet to make sense of everything.

I do not ask for a solution to my situation but at least some light as to what 
might be a good path to follow … I will make sure you confess a solution once I 
figure out what are you talking about :)

I will really appreciate and and all comments, ideas and recommendations … even 
epithets!

Thanks a lot in advanced!
Mario R. Osorio
-- 
https://mail.python.org/mailman/listinfo/python-list

Reply via email to