سؤال

إلى مقدمة أنا جديد على تطوير الويب. أنا أبحث في إنشاء مجموعة أساسية من خدمات الويب المريحة حول مكتبة مستندات قيمة من نوع ما (قدرات CRUD الأولية). عند القيام بذلك ، أقوم نظريًا بإنشاء نهاية خلفية قابلة للتطوير وقابلة للتطوير بشكل مثالي لاستخدامها من قبل التطبيقات غير المتوقعة في المستقبل.

يركز سؤالي حول أفضل الممارسات للقيام بذلك. إن متطلباتي الأولية جعلني أخلق أيضًا واجهة أمامية فريدة من نوعها. هل سأجعل النهايات الأمامية والخلفية مشاريع منفصلة تمامًا لتعزيز القدرة على إعادة استخدامها. ستزيد النفقات العامة.

بالنظر إلى استخدام GWT و Restlet و Java EE Technology كومة إذا كان هذا يؤثر على الإعداد على الإطلاق.

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

المحلول

الأهم من ذلك هو تصميم واجهة برمجة تطبيقات Java نظيفة - مستقلة عن الراحة ، RMI ، أو أي بروتوكول تريد استخدامه. من واجهة برمجة تطبيقات Java Clean ، يمكنك دعم أي طريقة وصول.

ما لم يكن لديك حالة استخدام لطرق الوصول الأخرى ، لا تنشئها الآن. يمكنك بنائه عندما تحتاجه.

أسهل واجهة لإضافة في البداية هي واجهة على الويب حيث يعمل تطبيق الويب الخاص بك في نفس JVM مثل واجهة برمجة التطبيقات الأساسية الخاصة بك. سأفعل هذا إذا كان هذا يعمل لحالة الاستخدام الخاصة بك. بناء تطبيق وحدة تحكم منفصلة تصل إلى واجهة برمجة التطبيقات الأساسية عبر بروتوكول REST (أو أي شيء آخر) هو عمل أكثر بكثير ..

نصائح أخرى

كتب مارتن فاولر مقالة لطيفة للغاية عن أساسيات الراحة منذ فترة قصيرة: نموذج نضج ريتشاردسون. وجدت أنه من المفيد للغاية فهم مبادئ الراحة.

إذا كنت ترغب في استخدام خدمات الواجهة الخلفية المستندة إلى الراحة ، فيجب عليك استخدام Restygwt المشروع الذي يتيح لك استخدام نمط برمجة GWT-RPC للوصول إلى خدمات RESTFLE التي تعتمد على JSON.

إن الشيء الجميل في استخدام خدمات JSON المستندة إلى REST عبر خدمات GWT-RPC التقليدية هو أنه يمكن بعد ذلك استخدام هذه الخدمات من قبل العملاء الآخرين أو حتى في Mashups بسهولة أكبر.

قد ترغب في التفكير في استخدام GWT-RPC بدلاً من الراحة إذا كنت تعلم أنك ستستخدم GWT للواجهة الأمامية. مزيد من النقاش هنا.

ومع ذلك ، إذا كنت تعتقد أنك قد ترغب في فضح بياناتك في نهاية المطاف عبر واجهة برمجة تطبيقات REST ، أو استخدام تقنية مختلفة في الواجهة الأمامية ، فقد يكون REST خيارًا أفضل.

ال GWT-REST قد يكون المشروع مفيدًا أيضًا.

لقد كتبت أنا وزميل وأنا نظام GWT باستخدام مشاريع منفصلة للنهايات الأمامية والخلفية. لقد كان من المفيد أن تبقي الأمور واضحة تمامًا حول مكان تنفيذ الكود. لكنني لست متأكدًا من أنني سوف أزعج نفسي بفصل الأشياء في نظام مستقبلي.

أيضًا ، نظرًا لأنك جديد على تطوير الويب ، لا أعتقد أنك يجب أن تتوقع أن تصنع الواجهة الخلفية القابلة لإعادة الاستخدام تمامًا. سوف تتعلم الكثير من الأشياء كما تذهب. أعتقد أن المبرمجين Agile سيوصيون بنهج تكراري لـ (أ) الحصول على جانب صغير يعمل ، ثم (ب) إعادة تمثيله لجعله جميلًا.

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