Ruby on Rails PL Forum

Forum poświęcone Ruby on Rails i językowi programowania Ruby

Nie jesteś zalogowany.

#1 2010-03-06 21:53:59

astropanic
Adept
Od: Kraków
Zarejestrowany: 2009-03-09
Posty: 116
Serwis

MySQL przez HTTP

Witam Wszystkich,

Prosze sie nie smiac, bo mam nietyopowa sprawe smile

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

 

#2 2010-03-06 21:59:20

Tomash
RoR Guru
Zarejestrowany: 2007-04-01
Posty: 1740

Re: MySQL przez HTTP

To się nazywa szumnie "API" wink
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

 

#3 2010-03-06 22:09:51

astropanic
Adept
Od: Kraków
Zarejestrowany: 2009-03-09
Posty: 116
Serwis

Re: MySQL przez HTTP

Tomash napisał:

To się nazywa szumnie "API" wink
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

Kod:

Article.find(:all)

zeby Rails puscil to do hosta X po HTTP zamiast pytac lokalny serwer mySQL. smile, obejdzie sie bez klepania kodu w C ?

Pozdrowienia

Offline

 

#4 2010-03-06 23:16:39

hubertlepicki
Entuzjasta
Zarejestrowany: 2008-07-15
Posty: 461

Re: MySQL przez HTTP

Niektóre z sensownych baz danych mają dostęp via HTTP w standardzie. Czytaj: CouchDB, MongoDB smile.


Hubert Łępicki http://hubertlepicki.com
AmberBit ruby development company: http://amberbit.com, http://amberbit.pl
"Be nice because Ruby is nice" wink

Offline

 

#5 2010-03-07 00:14:50

astropanic
Adept
Od: Kraków
Zarejestrowany: 2009-03-09
Posty: 116
Serwis

Re: MySQL przez HTTP

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 ? smile

Pozdro wink

Offline

 

#6 2010-03-07 05:48:52

sebcioz
Obserwator
Od: Kraków
Zarejestrowany: 2009-02-18
Posty: 87
Serwis

Re: MySQL przez HTTP

Hmm, a ActiveResource nie wystarczy? Budując zwykłą RESTową aplikację takie api samo się "buduje" wink Tak np. jest to rozwiązane w blipie.

http://railscasts.com/episodes/94-activeresource-basics, http://railscasts.com/episodes/95-more- … veresource.

Offline

 

#7 2010-03-08 12:54:53

astropanic
Adept
Od: Kraków
Zarejestrowany: 2009-03-09
Posty: 116
Serwis

Re: MySQL przez HTTP

sebcioz napisał:

Hmm, a ActiveResource nie wystarczy? Budując zwykłą RESTową aplikację takie api samo się "buduje" wink 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

 

#8 2010-03-09 08:17:33

hubertlepicki
Entuzjasta
Zarejestrowany: 2008-07-15
Posty: 461

Re: MySQL przez HTTP

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.


Hubert Łępicki http://hubertlepicki.com
AmberBit ruby development company: http://amberbit.com, http://amberbit.pl
"Be nice because Ruby is nice" wink

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson