Need help with pushing technology ... and a bit more ...


Mario R. Osorio

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

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.

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. withpython 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:

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 daysand 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 (!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

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Latest member

Latest Threads