![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Moderatorzy Postów: 2 921 Pomógł: 269 Dołączył: 11.08.2005 Skąd: 127.0.0.1 ![]() |
Natrafiłem na taki artykuł http://www.alphaworks.ibm.com/tech/dbcjs. W telegraficznym skrócie chodzi o to, że aplikacja kliencka (napisana w javascript) może bezpośrednio połączyć się z bazą danych na serwerze. Innymi słowy - taki ajax, tylko że na nowo. Co o tym sądzicie?
-------------------- I would love to change the world, but they won't give me the source code.
My software never has bugs. It just develops random features. |
|
|
![]() |
![]()
Post
#2
|
|
![]() Developer Grupa: Moderatorzy Postów: 3 045 Pomógł: 290 Dołączył: 20.01.2007 ![]() |
Może dla programistów JavaScript jest to jakieś ułatwienie. Rzuciłem tylko okiem na to i domyślam się ze wszelkie zapytania będą w JS (oczywiście połączenie z bazą w PHP) i czy takie coś będzie bezpieczne? Nie. Po co ktoś ma widzieć z jakiej tabeli pobieram dane? Po co ktoś ma wiedzieć jakie mam kolumny w tabeli? Jak dla mnie bezsensowna praca, bo to się nie przyjmie.
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 1 415 Pomógł: 117 Dołączył: 7.09.2005 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Wszelkie interakcje z bazą powinny być transparentne dla end-usera, moim zdaniem chybiony pomysł.
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 2 921 Pomógł: 269 Dołączył: 11.08.2005 Skąd: 127.0.0.1 ![]() |
Dla mnie jest to idealne rozwiązanie. Mam wątpliwości odnośnie bezpieczeństwa, jednak możliwości takiego rozwiązania są ogromne. Przy wykorzystaniu jakiejś biblioteki javascript (jquery, prototype.js, itp) oraz ODC-JS będzie można tworzyć aplikacje praktycznie niezalężne od serwera. Klient raz wpisuje adres, a całą resztą zajmuje się javascript.
-------------------- I would love to change the world, but they won't give me the source code.
My software never has bugs. It just develops random features. |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 866 Pomógł: 32 Dołączył: 2.06.2004 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Ale korzystając pośrednio z serwera aplikacji (PHP, Tomcat etc...), czyli cały ten AJAX, to też raz się wpisuje adres a resztą zajmuje się JS. Ale mamy większe bezpieczeństwo, nieprzeładowane strony milionem linii kodu w JS (choć korzystając z "AJAX" i tak tego JS jest sporo), nikt nie patrzy jaki burdel mamy w naszym kodzie na serwerze
![]() ![]() -------------------- |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 249 Pomógł: 30 Dołączył: 18.07.2007 Ostrzeżenie: (0%) ![]() ![]() |
Jednym słowem - jedno z głupszych rozwiązań, kolejne proponuję stworzyć możliwość przeglądania zasobów komputera klienckiego z poziomu javascript.
-------------------- Warsztat: Ubuntu 12.10, PHPStorm
http://vertoo.pl |
|
|
![]()
Post
#7
|
|
![]() Grupa: Moderatorzy Postów: 2 921 Pomógł: 269 Dołączył: 11.08.2005 Skąd: 127.0.0.1 ![]() |
Ciekawe czy w ogóle przeczytaliście ten dokument. Jedno ze zdań odnośnie bezpieczeństwa:
Cytat Clients can be prevented from even seeing the sql statement with an indi- rection technique in which clients use “named SQL” statements. The client provides the name of the SQL statement, and the server maps the name onto the actual SQL. This allows the server to withhold information about the database design from the clients. Cała komunikacja odbywa się przy pomocy XML poprzez bezpieczne połączenie SSL. Odnośnie niezależności od serwera. Chodziło mi o to, że tworzeniem strony zajmie się JS a nie PHP, ASP, Ruby (itd.). Całe obciążenie zostaje przeniesione na maszynę klienta. A że nie jest to aż tak duże obciążenie, można przyjąć, że większość komputerów poradzi sobie z tym zadaniem. Inną zaletą takiego rozwiązania jest to, że będzie można zapisać stronę na dysku, uruchomić i nadal się cieszyć tym, że mamy aktualne dane. Daje to bardzo duże możliwości w tworzeniu aplikacji, również pseudo-desktopowych, obsługiwanych z poziomu przeglądarki. -------------------- I would love to change the world, but they won't give me the source code.
My software never has bugs. It just develops random features. |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 866 Pomógł: 32 Dołączył: 2.06.2004 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Zgodzę się z tobą że może to znaleźć zastosowanie w aplikacjach pisanych dla konkretnych departamentów jakiejś sporej firmy, np sprawdzanie czy też wklepywanie umów takie plusa, albo obróbka listów przewozowych w firmir kurierskiej.
Pytanie: Po co? JS nie jest ani super wydajny ani super prosty, ani super rozbudowany. To samo można napisać w innych językach i do tego nie trzeba będzie odpalać przeglądarki żeby ta się z JS babrała. -------------------- |
|
|
![]()
Post
#9
|
|
![]() Grupa: Moderatorzy Postów: 2 921 Pomógł: 269 Dołączył: 11.08.2005 Skąd: 127.0.0.1 ![]() |
JS sam w sobie nie jest prosty, jednak, przy zastosowaniu odpowiedniej biblioteki, można zrobić praktycznie wszystko. Rozwiązanie to jest na tyle ciekawe, że będzie dawało możliwość tworzenia aplikacji www, które będą niezależne od języka po stronie serwera. Wystarczy napisać sam HTML i JS, który będzie wykonywał większość czynności, które teraz trzeba robić po stronie serwera. Nie twierdzę, że jest to alternatywa do języków skryptowych działających po stronie serwera, lecz uzupełnienie, które pozwoli na jeszcze większą interakcję z użytkownikiem.
-------------------- I would love to change the world, but they won't give me the source code.
My software never has bugs. It just develops random features. |
|
|
![]()
Post
#10
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
Beznadziejny pomysł.
Całe obciążenie zostaje przeniesione na maszynę klienta. A że nie jest to aż tak duże obciążenie, można przyjąć, że większość komputerów poradzi sobie z tym zadaniem. Odpal GMaila na godzinę w FF to będziesz miał przedsmak tego co określasz małym obciążeniem.Piszesz w kółko że to uniezależni aplikację od języka server-side. Ale powiedz najpierw co rozumiesz pod pojęciem "zależna". Przecież to, że stronę generuje dany język to nie jest żadna zależność. Możesz go podmienić. Kolejna sprawa, co daje przeniesienie ciężaru na klienta? Poza jego niezadowoleniem że przeglądarka działa wolniej. nic to nie daje. No w sumie daje, mniej pracy programisty po stronie serwera. No i ta "możliwość większej interakcji". Co to znaczy? Dla mnie pusty slogan. Ogólnie pomysł to jakaś dziwna ciekawostka, w mojej opinii nie mająca przyszłości. I na sam koniec: Cytat The server-side IBM Database Connectivity for JavaScript gateway is executed in a PHP container. The XML messages are translated into corresponding PDO method invocations and the method results are sent back to the client as XML messages. The client-side library interprets the message and returns the result to the user. To jak? Uniezależniłeś sie od PHP? ![]() |
|
|
![]()
Post
#11
|
|
![]() Grupa: Moderatorzy Postów: 2 921 Pomógł: 269 Dołączył: 11.08.2005 Skąd: 127.0.0.1 ![]() |
Cytat Odpal GMaila na godzinę w FF to będziesz miał przedsmak tego co określasz małym obciążeniem. Cytat Kolejna sprawa, co daje przeniesienie ciężaru na klienta? Poza jego niezadowoleniem że przeglądarka działa wolniej. nic to nie daje. Przy obecnych możliwościach obliczeniowych maszyn klienckich nie będzie to problemem. Sam pomysł jest jak na razie w fazie alfa, więc nim ujrzy światło dzienne, komputery zwiększą swoją moc. Cytat No i ta "możliwość większej interakcji". Co to znaczy? Dla mnie pusty slogan. Znaczy to między innymi tyle, że nie będziesz potrzebował wchodzić na daną stronę za każdym razem, gdy będziesz potrzebował jakichś informacji. Uruchomisz zapisaną na dysku stronę, a resztą zajmie się JS. Cytat To jak? Uniezależniłeś sie od PHP? Nie pisałem, że dzięki temu uniezależnię się całkowicie od PHP. Jednak dzięki takiemu rozwiązaniu, po stronie serwera będzie działał jeden skrypt, a nie kilkanaście/kilkadziesiąt, do obsługi ajaxa. Moim zdaniem rozwiązanie to zasługuje na uwagę tak samo jak ajax, któremu na początku nikt nie wróżył przyszłości. -------------------- I would love to change the world, but they won't give me the source code.
My software never has bugs. It just develops random features. |
|
|
![]()
Post
#12
|
|
![]() Developer Grupa: Moderatorzy Postów: 3 045 Pomógł: 290 Dołączył: 20.01.2007 ![]() |
Znaczy to między innymi tyle, że nie będziesz potrzebował wchodzić na daną stronę za każdym razem, gdy będziesz potrzebował jakichś informacji. Uruchomisz zapisaną na dysku stronę, a resztą zajmie się JS. No ok, ale przecież AJAX łączy się tylko z localhostem, więc jak będą pobierane dane z innych serwerów? |
|
|
![]()
Post
#13
|
|
![]() Grupa: Moderatorzy Postów: 2 921 Pomógł: 269 Dołączył: 11.08.2005 Skąd: 127.0.0.1 ![]() |
Cytat No ok, ale przecież AJAX łączy się tylko z localhostem, więc jak będą pobierane dane z innych serwerów? Jeśli przeczytałbyś to, co zmieszczone jest na stronie, wiedziałbyś jak to działa. JS łączy się nie ze skryptem, który ajaxem pobiera dane, lecz z bazą danych (poprzez brankę napisaną w PHP lub JAVIE). Samą prezentacją danych zajmuje się JS. Przypomnę, że pomysł jest w fazie alfa, więc sporo może się zmienić. -------------------- I would love to change the world, but they won't give me the source code.
My software never has bugs. It just develops random features. |
|
|
![]()
Post
#14
|
|
![]() Grupa: Zarejestrowani Postów: 866 Pomógł: 32 Dołączył: 2.06.2004 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Cytat Znaczy to między innymi tyle, że nie będziesz potrzebował wchodzić na daną stronę za każdym razem, gdy będziesz potrzebował jakichś informacji. Ale i tak będziesz musiał mieć połączenie z internetem/intranetem, więc co za różnica dla klienta czy będzie miał stronę zapisaną na dysku, czy ściągnie przez sieć? Poza tym nie od dziś wiadomo, że najwydajniejszą formą (także cost effective) aplikacji sieciowej/firmowej/corporacyjnej jest mainfreme+terminale. A ty oddalasz się bardzo od tego modelu. -------------------- |
|
|
![]()
Post
#15
|
|
![]() Grupa: Moderatorzy Postów: 2 921 Pomógł: 269 Dołączył: 11.08.2005 Skąd: 127.0.0.1 ![]() |
Cytat Ale i tak będziesz musiał mieć połączenie z internetem/intranetem, więc co za różnica dla klienta czy będzie miał stronę zapisaną na dysku, czy ściągnie przez sieć? Rożnica jest taka, że nie zawsze na jednym serwerze znajduje się i aplikacja i baza danych. Jak padnie serwer z aplikacją, cały czas masz połączenie z bazą. Cytat Poza tym nie od dziś wiadomo, że najwydajniejszą formą (także cost effective) aplikacji sieciowej/firmowej/corporacyjnej jest mainfreme+terminale. A ty oddalasz się bardzo od tego modelu. Najlepszym przykładem jest tutaj nasza klasa ![]() Poza tym coraz częściej się mówi o przeniesieniu dysku twardego do sieci i pracy na aplikacjach sieciowych (np. google docs), więc to rozwiązanie ma szansę na rozwój. -------------------- I would love to change the world, but they won't give me the source code.
My software never has bugs. It just develops random features. |
|
|
![]()
Post
#16
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
Rożnica jest taka, że nie zawsze na jednym serwerze znajduje się i aplikacja i baza danych. Jak padnie serwer z aplikacją, cały czas masz połączenie z bazą. Jeśli padnie serwer to padnie też Twoja bramka, notabene będąca odpowiednikiem aplikacji. Gdzie jest różnica. Ja nie widzę sensownej.Zamieniasz aplikację, generującą prezentację lekką dla klienta (wygodniejszą dla klienta) na bramkę która dostarcza dane a całość mieli JS, ciężki dla klienta. Co zyskujesz? Nic poza frustracją klienta. No chyba że może chodzi o łącze i transfer? |
|
|
![]()
Post
#17
|
|
![]() Grupa: Moderatorzy Postów: 2 921 Pomógł: 269 Dołączył: 11.08.2005 Skąd: 127.0.0.1 ![]() |
Cytat Jeśli padnie serwer to padnie też Twoja bramka, notabene będąca odpowiednikiem aplikacji. Gdzie jest różnica. Ja nie widzę sensownej. Różnica jest taka, że bramka będzie znajdować się na serwerze bazodanowym, a nie na serwerze aplikacji. Cytat Zamieniasz aplikację, generującą prezentację lekką dla klienta (wygodniejszą dla klienta) na bramkę która dostarcza dane a całość mieli JS, ciężki dla klienta. Co zyskujesz? Nic poza frustracją klienta. Przecież nie będzie wyciągane kilka tysięcy wierszy, a jedynie określona ich ilość. Nie powiesz mi, że tworząc stronę, na której znajduje się jakaś tabela z danymi, wyciągasz wszystko z bazy, a dopiero potem ograniczasz ilość wierszy, stosujesz sortowanie, itd? -------------------- I would love to change the world, but they won't give me the source code.
My software never has bugs. It just develops random features. |
|
|
![]()
Post
#18
|
|
![]() Grupa: Zarejestrowani Postów: 866 Pomógł: 32 Dołączył: 2.06.2004 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Poza tym coraz częściej się mówi o przeniesieniu dysku twardego do sieci i pracy na aplikacjach sieciowych (np. google docs), więc to rozwiązanie ma szansę na rozwój. Ale to jest właśnie architektura mainframe + terminale. Przeglądarka jest tym terminalem. Aplikacja jest, na przykładzie google, po stronie serwera, natomiast klient dostaje tylko to co musi zobaczyć + mechanizmy interakcji. Na stronach na których nie jest to potrzebne, choć zupełnie nie mam pojęcia gdzie widzisz zastosowanie dla rozwiązań o których mówisz, nie ma sensu pakować tonę niewydajnego JS klientowi. Nie mam nic przeciwko temu żeby projekt się rozwijał, nigdy rozwojowi nie będę przeciwny. Ale na razie nie ma dla mnie żadnego uzasadnienia stosowania takiej architektury w środowisku "produkcyjnym". Ten post edytował sztosz 28.01.2008, 11:48:02 -------------------- |
|
|
![]()
Post
#19
|
|
![]() Grupa: Moderatorzy Postów: 2 921 Pomógł: 269 Dołączył: 11.08.2005 Skąd: 127.0.0.1 ![]() |
Cytat Nie mam nic przeciwko temu żeby projekt się rozwijał, nigdy rozwojowi nie będę przeciwny. Ale na razie nie ma dla mnie żadnego uzasadnienia stosowania takiej architektury w środowisku "produkcyjnym". Tak samo mówiono o ajax-ie. A dzięki niemu sieć przeszła marketingową rewolucję pod nazwą "łep 2.0". Nie zrozumcie mnie źle, ale należy zachować otwarte umysły na nowe rozwiązania i szukać sposobów ich zastosowania. -------------------- I would love to change the world, but they won't give me the source code.
My software never has bugs. It just develops random features. |
|
|
![]()
Post
#20
|
|
![]() Grupa: Zarejestrowani Postów: 866 Pomógł: 32 Dołączył: 2.06.2004 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Wydaje mi się że źle do tego podchodzisz. Nie należy na silę szukać pola dla zastosowania konkretnej technologii, ale dla konkretnego "problemu" znaleźć odpowiednią technologię.
Dlatego nie należy na siłę wdrażać technologii o której piszesz w przypadku gdy jej użycie jest wysoce dyskusyjne. Chciałbyś na hop-siup zrewolucjonizować sieć, a nie tędy droga. Dla mnie coś takiego ma sens, gdy np. wyświetlasz ogromne ilości danych tabelarycznych, gdzie tak naprawdę wystarczyłby ci konsolowy klient bazy *sql, ale żeby wyglądało to przejrzyściej. Ale takie przykładowe forum php.pl napisane w JS+*SQL to była by wydajnościowa porażka. -------------------- |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 13:37 |