La función se ejecuta y procesa en el servidor / azure y luego se envía de vuelta a las aplicaciones y se muestra

I trying to built some application with metro-UI with C# for Window 8, due to Window 8 will be running on tablet soon, and now i knew my application required a lot of processing power, thus, ideas come into my mind, what if i could make the high performance process on server; either get another VPS or Azure to process the functions then send back the processed function results to the Window 8 Metro-UI application ?

The high performance functions i mentioning about ::

  • face images recognition - recognize face on server then tell the result
  • Generate Image - some user upload image will put watermark and regenerate a new image
  • Crop Image - like facebook, crop the face part from big image
  • Edit Image - in case of the crop is not so right or the alignment got problem
  • Filter Data - big amount of data from user, need to filter then insert to server
  • y otros...

What come into my minds are, WCF ? but i never learn it in details before.. any keywords to research on this issues ?? Thank you for reply. =D

preguntado el 10 de marzo de 12 a las 08:03

please try to explain in more detail what you are trying todo -

@ntziolis, Thank you for your advice and now it's updated, hope you can understand my poor english =D -

1 Respuestas

Basically any technology allowing for communication between your application and a server can do what you ask as long. If you implement both sides you can define any relevant aspect like protocol, security etc.

Regarding Azure and WCF:

Yes you can implement what you ask via WCF on Azure... Azure and WCF by itself do not know anything about images or similar things - it is up to you to implement whatever you want...

You can use WCF even without Azure... basically WCF has some support for loadbalancing/routing etc built-in so you can even go and setup some webfarm for the heavy lifting...

WCF can use different protocols - some are more portable regarding other platforms (like HTTP/SOAP which is usable with iOS or Android for example), others are more performant (like a binary TCP-based protocol...). Some are more firewall-friendly (like http) etc. Which to choose depends really alot on what you need...

Regarding Metro:

Metro Apps can be implemented with C#, JavaScript etc. - depending on your situation it might be an option to implement this as a combination of HTML5/JavaScript client-side and WCF/C# server-side...

Regarding image editing etc.:

How to implement this depends on the functions you want to give the user... some things are achievable by using scaled-down version of the image client-side (like red-eye-correction) and some are rather complex (like high-end-color-correction) since they need several aspects (high resolution, color-management etc.).

There are several .NET based image processing libraries out there (free and commercial) which offer a wide variety of image-related function... some have cloud-specific interfaces (http and/or some UI-controls etc.). Be sure to check on licensing before using libraries in the cloud (Azure or similar)...

Edit image/Filter data is a wide field thus not specific enough... Compare image (in term of face) seems to imply that you want to do some recognition... this is a very complex and broad area but very well possible with .NET...

Since you don't give details on the use cases/scenarios it is hard to give any specific advice... feel free to add more details so the answers can be more specific...

ACTUALIZACIÓN - as per comments the OP wants to basically implement something similar to face recognition found on facebook:

Implemeting face recognition similar to facebook is a VERY BIG project IMHO... the algorithms for recognition are complex and the "good ones" are usually developed internally and not sold/licensed to others... so you will have to find some high-quality image-processing library and develop/implement your algorithm on top of that library. There are some good starting points for such algorithms but basically you will need to do a lot of work to enhance/refine them... for this you will need a lot of test data/images etc.

As for watermarks this is another complex area... some technologies are opensource, most are not robust enough depending on what you want to achieve... security of watermark varies alot... does it need to be robust enough for someone printing and scanning it back ? or for someone taking a photo off a screen ? or just for scaling ?

Another aspect is the legal side of this... several relevant aspects of such algorithms are patented which means you might need to acquire proper licenses... privacy is another legal aspect to keep in mind when implementing this sort of application...

UPDATE 2 - as per comments:

Some general search terms for implementing a process which calls functions on a server and gets the results back are "SOAP", "WCF", "WebService", "JSON".

You can find some general information:

respondido 12 mar '12, 12:03

@SLim no problem... I updated my answer too... from your question there are still not enough details... are you aiming for face recognition ? what exactly does "edit" mean ? something like Photoshop (professional desktop application) ? or more some minimal consumer-oriented photo-editing ? - Yahia

Yes, i am aiming face recognition.. but just forgot the keyword, Thx for remind =P and edit is align the image, crop the face but i dont want to use too much processor... Thank you =D - 1 myb

@SLim what does "verify" mean ? technical file format check ? some sort of integrity check ? some metadata-based check (like EXIF/XMP) ? what does "crop" mean ? some rectangular area ? or something path-based (like photoshop polygon based clipping) ? - Yahia

like what facebook did.. automatic look up for the face and crop the face part from a big image, verify is recognition - 1 myb

can you please suggest me the way to implement the process of run something on server and send back the result to application ? what is this process called and what is the tools available ?? Thank you =D - 1 myb

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.