Author Topic: Building a central feed system for many sites and apps  (Read 2431 times)

thesaintv12

  • Inner Core
  • Sr. Member
  • *
  • Posts: 471
    • View Profile
    • Email
Building a central feed system for many sites and apps
« on: December 13, 2011, 12:50:45 PM »
I have a system which I wrote (VB.NET) that has data which is updated daily.  Currently I use this to feed a few sites via ftp csv uploads.  Lets say it is weather data for example, but it is tailored to each site.

I want to expand on this so that it can feed mobile apps, facebook apps and a whole load more of my own sites.  As well as maybe sell the data as a service in the future.

At this point it has outgrown the ftp route, so I want to produce a web service.  The current app will feed the web service, the apps, sites etc will connect to the web service to get the tailored info.

I want to produce the first draft of this myself, so need to get to grips with the technology.  I am an experienced developer, but in a windows environment only.  This new infrastructure will include -

1. The local app which calculates the data for each tailored group
2. The Web Service
3. An Android app (just to prove that it will work....and I have a desire to code one)
4. New test sites

This has to be a low cost set up to start with.  I need to prove the idea before I raise money for it (I think).  I have the local app which is long running and automated it should just be a case of switching the feed to supply the web service.  From this point onwards I get a bit lost.  I have a gap in my knowledge which I need to fill.  As luck would have it I just won a £100 amazon voucher and while I would love some toys, I think it will be going on books.

The aim is to end up with an overall system which works on one set of data and presents sub sets of it in so many ways that I can have, for example, 100 android apps all presented as different things for different types of people, but all automatically fed from one main system.

I suppose I have a vision which I am not sure how to put together just yet, but I want to start taking the first steps in order to get the ball rolling.

There is a question here honest - Have you done anything like this before, what technology did you use and what are the pitfalls to look out for?


jetboy

  • Inner Core
  • Sr. Member
  • *
  • Posts: 433
  • Hens of warfare!
    • View Profile
    • Email
Re: Building a central feed system for many sites and apps
« Reply #1 on: December 13, 2011, 04:08:44 PM »
I work with a couple of .net developers, and it took me ages to get to grips with Microsoft-centric terms like 'web services'!

So you're looking to make some data available to multiple websites and mobile apps. Usually this'd be done with XML using XML-RPC or SOAP. It's a level of complexity beyond an affiliate or RSS feed, as you're essentially going to be creating an XML-based API (which ties in to your data subset requirement). I'd also be inclined to see what can be done with JSON as an alternative to XML. If the data's commercial-grade, you're going to need some form of authentication.

Normally, the data would be pulled from the server by the clients as a scheduled task, but an alternative would be to implement the 'observer pattern', where the subject (server) pings registered observers (clients) when data is updated. One of the gotchas is 10,000 apps all contacting your server on the hour. The observer pattern would be a first step towards putting the scheduling under the server's control.

thesaintv12

  • Inner Core
  • Sr. Member
  • *
  • Posts: 471
    • View Profile
    • Email
Re: Building a central feed system for many sites and apps
« Reply #2 on: December 13, 2011, 07:54:15 PM »
Thanks jetboy.  I am glad that there are things you have mentioned that I have not really looked at before.  I will make me learn a load of new skills.  I am outdated after spending the last few years of my employed life in management.

I had thought that rather than the server updating the clients on a schedule, that the clients would update only on request.  A site would need to be updated when the data is refreshed, but for an app (mobile or otherwise) it could just make a request when the app is opened, which might only be every week in some instances.  It would depend on speed I suppose, but it would take a lot of load off of the server.

I have done work with SOAP, and while I am traditionally a Microsoft man, I am running on my own money now, so simply want to find the most reliable solution without tying myself to one technology (even if that means some late nights with the books).  JSON looks sensible and seems to use things I already understand. 

Also, I don't want to restrict myself to clients which are available at the current time.  It needs to be as open and expandable as possible.  The idea of the data will never age, so I need a base to build on that will still be running in 25 years time (and beyond maybe, but I will be on a beach by then....I hope). 

Of course, I might be better farming out the development, but I like to do the base work so that I fully understand the process.