Существует 2,5 причины, по которым вы не можете использовать gwt для прямого доступа к MySQL.
Причина № 1.
GWT компилируется в Javascript. Вам необходимо открыть сокет для сервера базы данных. GWT не позволяет открывать сокет. Фактически, ни один браузер без комментариев (до появления html5) не смог открыть сокет. Но вы можете открыть сокет, используя Flash Actionscript или HTML 5 javascript.
Причина № 2.
Хорошо, допустим, вы использовали сокеты HTML5. И вы потратили 6 месяцев на написание в Javascript соединения JDBC. Но вашему веб-сокету все равно потребуется адрес сервлета на сервере, который поможет вашему веб-сокету установить постоянное соединение - и mysql не может выполнить такое установление.
Причина № 3.
SLD - SOP ограничение:
(Политика домена второго уровня с одинаковым происхождением)
Стандартный браузер ограничивает свои страницы только возможностью запрашивать и включать контент из того же домена второго уровня (SLD), что и сервер, предоставивший эту страницу браузеру. Домены верхнего уровня (и полтора верхнего уровня), такие как .com, .org, .net, .me.us или .co.uk. Таким образом, доменные имена, такие как google.com, fbi.gov, mit.edu, являются доменами второго уровня. А mail.google.com будет доменом третьего уровня. Следовательно, GWT будет работать только в рамках SLD. Ваш веб-сервер также должен быть доступен на том же SLD, что и ваш сервер MySQL.
Требование SLD-SOP и туннелирования состоит в том, чтобы закрыть дыру в безопасности, которая могла позволить любому tom-rick-or-mary войти в вашу систему через ваш браузер. Туннелирование всегда требуется для подключения браузера к серверу, отличному от http-сервера. Туннелирование - это когда браузер использует веб-сервер как иенту (идиш для занятого тела / посредника / создателя совпадений), чтобы добраться до другого сервера.
У вас нет выбора, кроме как использовать GWT-RPC. Возможно, вы не хотите использовать RPC, тогда вы можете использовать RequestBuilder или Script-Include или RequestFactory. Но все они все еще разнообразные средства туннелирования. http://h2g2java.blessedgeek.com/2011/06/gwt-requestbuilder-vs-rpc-vs-script.html.
Существует одна причина, по которой вы можете подключиться к серверу базы данных с помощью клиента gwt:
На вашем сервере баз данных должен быть запущен механизм httpd-соединения. То есть ваше приложение gwt получит доступ к серверу БД через http. Я не знаю, какая реляционная база данных имеет доступ http. Скорее всего, вам придется запросить через xml или json.
Однако компания, в которой я работал, создала наш собственный http-сервис, чтобы разрешить «прямой» доступ клиентов. «прямой» - это неправильное название, потому что мы использовали tomcat. Это все еще туннелирование. Любая компания, работающая с базами данных, которая предлагает «прямой» доступ через http, все еще работает в туннеле Туннелирование - от него никуда не уйдешь.
Вы можете дополнить браузер Flash и написать приложение Flash, а не использовать GWT. Если для вас так важен прямой доступ, вам придется отказаться от GWT и разрабатывать во Flash и запустить механизм httpd для сервера базы данных.