views:

72

answers:

2

Hello,

A friend and I would like to do a website to manipulate facebook data.

The structure is:

  • a php webrole (contains the webpage, user oauth login, interacts with queues, and interacts with sql azure database)
  • a F# worker role (does statistics and quite heavy data extractions)

The process is (assuming a new user):

  • user arrives on the webpage and oauth on facebook, the php webrole then posts a messages in a worktodo queue with the login info and token.

  • F# worker role reads the message off the worktodo queue and starts doing data crunching (facebook api ) and stats, then it writes the results in a sql azure database. Finally it posts a message to the workdone queue stating it has succeeded in doing the dataprocessing for the user.

  • Finally the php webrole reads the workdone queue and notices the work is done, and displays the algorithm results.

I have two questions:

  • is there a big flaw in this design?

  • what is the best way to collaborate: one person will do the php and another the F#, is there a way to use developpement storage from two different machines?

Thanks a lot! (apologizes if some find this stuff too basic, I am very much a beginner in all these matters)

+1  A: 

If you wanted to follow a bit more experimental path, you could also try looking at Phalanger. This is a project that compiles PHP code to .NET, so it may be possible to run it directly on Azure and nicely collaborate with F# (Phalanger has a few language extensions that allow you to call any .NET objects and some API for calling Phalanger objects from C#).

I was involved in the project some time ago, but it is now beign developed by other people (and as you can see from the check-ins, it is quite active again and they would surely be interested in collaborating to resolve possible Azure issues). If you were interested, let me know - I can give you some contacts, so that you can discuss the Phalanger status on Azure with them.

Tomas Petricek
Unless you want to call into .NET code from your PHP code, I don't see why he would use Phalanger instead of regular PHP.
smarx
@Tomas Petricek, as @smarx says the Php does not need to directly call the .Net code. In anycase thanks for offering to put me in contact.
jlezard
+1  A: 

I don't see anything wrong with this plan.

I don't think there's a way to have two machines pointing at the same development storage, but you can just use cloud storage (even when running locally). I do that all of the time; you will pay for bandwidth and storage transactions, but for most apps in testing, this cost is trivial.

smarx