Καταρχήν, υπάρχει έτοιμη λύση μέσω των WCF Data Services τα οποία ευτυχώς, δεν έχουν να κάνουν με WCF. Τα WCF Data Services σου παρέχουν ένα REST API (απλό HTTP δηλαδή) για να κάνεις queries και να διαβάσεις δεδομένα από ένα Entity Framework μοντέλο. Τα δεδομένα είναι σε μορφή Atom ή Json και υπάρχουν client libraries για .NET, Java και Javascript, αν δεν θέλεις να παίζεις με URLs. Από τη στιγμή που υπάρχει MySQL driver για το Entity Framework, η δουλειά σου δεν θα είναι και πολύ δύσκολη. Με τα WCF Data Services έχεις τα πλεονεκτήματα του HTTP (απλότητα στο στήσιμο και ρυθμίσεις, CACHING!) χωρίς το βαρύ configuration που απαιτεί το WCF.
Πιο σημαντικό όμως είναι να σκεφτείς τι και γιατί θέλεις να δώσεις προς τα έξω. Τι μορφή θα έχουν τα δεδομένα, τι permissions θα πρέπει να δώσεις, πως θα γίνεται το authentication (OAuth κανείς?). Σε κάποια σενάρια, ίσως θα ήταν καλύτερα να φτιάξεις μία καθαρά REST εφαρμογή (π.χ μέσω ενός Web API project) που θα δίνει στους άλλους πολύ συγκεκριμένα πράγματα και δεν θα τους επιτρέπει να κάνουν "περίεργα" queries. Επιπλέον, η μορφή των δεδομένων θα πρέπει να είναι απλοποιημένη σε σχέση με το σχήμα της βάσης, το οποίο σημαίνει ότι το μοντέλο σου δεν θα πρέπει να είναι αντίγραφο της βάσης. Μπορεί μία παραγγελία να είναι σπασμένη σε 3-4 πίνακες, ο άλλος όμως περιμένει να την πάρει με μία κλήση, όχι 3-4, και σίγουρα δεν θέλει να δει πράγματα που λέγονται Order_Table, Order_Detail_Table κλπ.
Παναγιώτης Καναβός, Freelancer
Twitter: http://www.twitter.com/pkanavos