Forum poświęcone Ruby on Rails i językowi programowania Ruby
Nie jesteś zalogowany.
Witam Wszystkich,
Prosze sie nie smiac, bo mam nietyopowa sprawe ![]()
Jedna aplikacja stojaca na hoscie "X", wielu klientow na roznych hostach w sieci Internet.
Klienci maja korzystac z bazy danych aplikacji na hoscie "X", maly handicap : host "X" udostepnia tylko ruch po HTTP, malo tego, nie chodzi o sam numer portu, rowiez tylko ruch HTTP jest przepuszczany.
Zalozenie jest wiec takie, ze jesli wykonam rzadanie http://aplikacja_klient.pl/ ,aplikacja zamiast pytac lokalna baze MySQL, wyslaloby opakowane w dokument http zapytanie SQL do hosta "X", ktory przetworzy rzadanie HTTP na plain SQL, wykona zapytanie i odpowiedz serwera SQL opakuje z powrotem w dokument HTML i zwroci jako odpowiedz.
Sa jakies gotowce tego typu ? Jesli nie ma to jak sie za cos takiego zabrac ?
Pozdrowienia
Offline
To się nazywa szumnie "API"
Chociaż trochę przegięciem gruchy jest robienie akrobacji do obejścia głupiej polityki hostingu / administracji / firewalla.
I musisz je dobrze przemyśleć, konkretnie w kwestii autentykacji / autoryzacji.
Pierwszy złośliwy klient wysyłający "DROP DATABASE" zamyka Ci temat.
Offline
Tomash napisał:
To się nazywa szumnie "API"
![]()
Chociaż trochę przegięciem gruchy jest robienie akrobacji do obejścia głupiej polityki hostingu / administracji / firewalla.
Znalazlem cos takiego http://code.nytimes.com/projects/dbslayer i cos takiego http://github.com/harrisj/activerecord-dbslayer-adapter
Tomash napisał:
I musisz je dobrze przemyśleć, konkretnie w kwestii autentykacji / autoryzacji.
Pierwszy złośliwy klient wysyłający "DROP DATABASE" zamyka Ci temat.
Jasne, zdaje sobie z tego sprawe.
Pozostaje jednak pytanie jak to rozwiazac, ze jesli mam w kodzie
Article.find(:all)
zeby Rails puscil to do hosta X po HTTP zamiast pytac lokalny serwer mySQL.
, obejdzie sie bez klepania kodu w C ?
Pozdrowienia
Offline
Niektóre z sensownych baz danych mają dostęp via HTTP w standardzie. Czytaj: CouchDB, MongoDB
.
Offline
Tak wiem, a DB2 9 (Viper) ma nawet natywne wsparcie dla XML, ale co z tego ? I jak to sie ma do pytania odnosnie MySQL ? ![]()
Pozdro ![]()
Offline
Hmm, a ActiveResource nie wystarczy? Budując zwykłą RESTową aplikację takie api samo się "buduje"
Tak np. jest to rozwiązane w blipie.
http://railscasts.com/episodes/94-activeresource-basics, http://railscasts.com/episodes/95-more- … veresource.
Offline
sebcioz napisał:
Hmm, a ActiveResource nie wystarczy? Budując zwykłą RESTową aplikację takie api samo się "buduje"
Tak np. jest to rozwiązane w blipie.
http://railscasts.com/episodes/94-activeresource-basics, http://railscasts.com/episodes/95-more- … veresource.
Dziekuje, ciekawe, aczkolwiek mialem troche cyrku ze stronicowaniem.
Szukam jednak nadal miejsca gdzie sie "wpiac" zeby rails zamist odpytac MySQL, wygenerwal zapytanie po http... , bedzie to bardziej przezroczyste dla samej aplikacji.
Pozdrowienia
Offline
To znaczy ja Ci powiem tak: 2 aplikacje piszące do tej samej bazy danych to zazwyczaj (mówię: zazwyczaj!) nie jest dobry pomysł. Powodów jest kilka, ale pierwszy i najważniejszy jest taki że można narobić sobie syfu w bazie, jeśli 2 aplikacje będą miały trochę inną logikę. Na przykład: jedna aplikacja ma bardziej restrykcyjne walidacje niż druga. Wtedy w bazie pojawi Ci się wiele rekordów, które nie będą edytowalne w drugiej aplikacji, itd. Może dobrym rozwiązaniem było by współdzielenie kodu kluczowych modeli.
Offline