MySQL को सीधे एक्सेस करने के लिए आप gwt का उपयोग नहीं करने के 2.5 कारण हैं।
कारण #1.GWT को Javascript में संकलित किया गया है। आपको डेटाबेस सर्वर पर सॉकेट खोलने की आवश्यकता है। GWT आपको सॉकेट खोलने की अनुमति नहीं देता है। वास्तव में, कोई भी असंवर्धित ब्राउज़र (एचटीएमएल 5 के आगमन से पहले) सॉकेट खोलने में सक्षम नहीं है। लेकिन आप फ्लैश एक्शनस्क्रिप्ट, या एचटीएमएल 5 जावास्क्रिप्ट का उपयोग करके सॉकेट खोल सकते हैं।
कारण #2.ठीक है, मान लें कि आपने HTML5 सॉकेट का उपयोग किया है। और आपने जावास्क्रिप्ट में JDBC कनेक्टिविटी लिखने में 6 महीने बिताए। लेकिन, आपके वेबसोकेट को अभी भी सर्वर पर एक सर्वलेट को संबोधित करने की आवश्यकता होगी जो आपके वेबसोकेट को एक सतत कनेक्शन स्थापित करने में मदद करेगा - और 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 और टनलिंग आवश्यकता एक सुरक्षा छेद को बंद करने के लिए है जो किसी भी टॉम-रिक-ऑर-मैरी को आपके ब्राउज़र के माध्यम से आपके सिस्टम में लॉग इन करने की अनुमति दे सकता है। किसी ब्राउज़र को 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 के माध्यम से db सर्वर को एक्सेस करेगा। मैं इस बात से परिचित नहीं हूं कि किस रिलेशनल डेटाबेस में http एक्सेस उपलब्ध है। सबसे अधिक संभावना है, आपको xml या json के माध्यम से पूछना होगा।
हालांकि, जिस कंपनी के लिए मैंने काम किया था, उसने "प्रत्यक्ष" क्लाइंट एक्सेस की अनुमति देने के लिए अपनी स्वयं की http सेवा बनाई। "प्रत्यक्ष" एक मिथ्या नाम है क्योंकि हमने टॉमकैट का इस्तेमाल किया था। यह स्टिल टनलिंग है। कोई भी डेटाबेस कंपनी जो "प्रत्यक्ष" http पहुंच प्रदान करती है, वह अभी भी सुरंग बना रही है। सुरंग बनाना - इससे बचना नहीं है।
आप फ्लैश के साथ ब्राउज़र को बढ़ा सकते हैं और जीडब्ल्यूटी का उपयोग करने के बजाय फ्लैश एप्लिकेशन लिख सकते हैं। यदि आपके लिए सीधी पहुंच इतनी आवश्यक है, तो आपको GWT को छोड़ना होगा और फ्लैश में विकसित करना होगा और अपने डेटाबेस सर्वर के लिए एक httpd इंजन चलाना होगा।