سؤال

أنا حاليا أقوم ببناء تطبيق Java Web الخاص بي على Google Appengine (GAE)، ولكن بسبب الكثير من القيود التي أخشى أنني سأضطر إلى التبديل من GAE إلى الخادم الخاص بي الذي يقوم بتشغيل Glashfish (أو يمكنني إعداد أي خادم آخر إذا لزم الأمر). كما أخطط لتشغيل قواعد بيانات أوراكل أو MySQL. ما الذي يجب علي فعله من أجل التبديل من GAE إلى خادمي؟ هل أحتاج إلى إعادة كتابة التعليمات البرمجية الخاصة بي؟ يجب أن أتواصل استخدام DataNucleus أو التبديل إلى شيء آخر؟ هل من شيء آخر؟

هل كانت مفيدة؟

المحلول

لن نتمكن من تقديم نصيحة جيدة للغاية دون معرفة كيف كتبت تطبيقك. هل قمت بإنشاء طبقة وصول إلى البيانات التي تفصل الوصول إلى معلومات البيانات الخاصة بك من منطق عملك؟ أو هل تمرير كائنات محددة محرك التطبيق في كل مكان؟ هل تستخدم خدمة مستخدم GAE؟ أو memcache؟

أول شيء يجب عليك فعله هو إلقاء نظرة على جميع بيانات الاستيراد الخاصة بك. في أي وقت ترى com.google.something هناك، أنت تعرف أنك بحاجة إلى تغيير ذلك. لم تقدم الكثير من التفاصيل حول كيفية كتابة التطبيق الخاص بك، ولكن إذا كنت تسأل عن Datanucleus، فربما كنت تستخدم JDO أو JPA، مما يعني أنك قد تكون قادرا على إعادة استخدام معظم طبقة البيانات الخاصة بك. قد يكون لديك مجموعة من الحقول الرئيسية التي يجب أن تتغير، وربما عدد قليل من التعليقات التوضيحية المحددة GAE. ربما عليك أن تضطر إلى التحقق من كيفية التعامل مع المعاملات، حيث من المحتمل أن تكون مختلفة في قاعدة بيانات SQL، والتي لا تستخدم مجموعات الكيان مثل GAE.

نصائح أخرى

لماذا لا تتبع المعلومات المقدمة في Google Firegfire الأصلي؟ كان هناك عرض تقديمي بواسطة IBM حول كيفية تشغيل تطبيق Appengine باستخدام DB2. لقد أسقطوا ببساطة جرة Datanucleus-RDBMS في ClassPath، غير عنوان URL الخاص بالاتصال وما إلى ذلك، وأجرى ذلك. مثل في هذا PDFhttp://download.boulder.ibm.com/ibmdl/pub/software/wes/wes/hipods/gae_java_interperability.pdf.

- (DataNucleus)

لم أحاول ولكن هناك تطبيق مفتوح المصدر ل GAE يسمى AppScale http://code.google.com/p/appscale/

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top