سؤال

أنا أبحث عن إصدار خفيف من REST لتطبيق ويب Java الذي أقوم بتطويره.

لقد ألقيت نظرة على RESTlet (www.restlet.org) والمكون الإضافي REST لـ Struts 2، لكنني لم أحسم أمري بعد.أنا أميل نحو RESTlet، لأنه يبدو أخف وزنا.

هل قام أي شخص بتنفيذ طبقة RESTful بدون أي من الأطر أو مع الأطر؟

هل واجهت أي مشكلات في الأداء بسبب طبقة الويب الجديدة؟

هل أدى تقديم REST إلى إضافة تعقيدات غير قابلة للإدارة أو غير معقولة إلى مشروعك؟(بعض التعقيد أمر مفهوم، ولكن ما أعنيه هو مجرد المبالغة في التصميم الخاص بك فقط لإضافة REST)

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

المحلول

حسنًا، لقد استخدمت Enunciate كثيرًا.يستخدم تعليقات توضيحية بسيطة لتوفير نقاط نهاية REST و/أو SOAP.

http://enunciate.codehaus.org

بالإضافة إلى ذلك، قدم رايان هيتون دائمًا دعمًا من الدرجة الأولى للأشياء أيضًا.

نصائح أخرى

أنا من أشد المعجبين بـ JAX-RS - أعتقد أنهم قاموا بعمل رائع بهذه المواصفات.أستخدمه في عدد من المشاريع وكان من دواعي سروري العمل معه.

يتيح لك JAX-RS إنشاء موارد REST باستخدام POJOs مع تعليقات توضيحية بسيطة تتعامل مع تعيينات URI وطرق HTTP والتفاوض على المحتوى، وكلها مدمجة بشكل جيد مع حقن التبعية.لا توجد واجهات برمجة تطبيقات معقدة لتتعلمها؛مطلوب فقط مفاهيم REST الأساسية (عناوين URL والرؤوس/أكواد الاستجابة والتفاوض على المحتوى).FWIW JAX-RS يشبه تمامًا Rails من وجهة نظر وحدة التحكم

هناك عدد من تطبيقات JAX-RS المتوفرة - انظر هذا الموضوع للمناقشة.

توصيتي الشخصية هي الاستخدام جيرسي نظرًا لأنه يدعم المجتمع الأكبر والأكثر نشاطًا، فهو يتمتع بأفضل الميزات في وقت كتابة هذا التقرير (دعم WADL، وطرق العرض الضمنية، والتكامل الربيعي، وواجهة برمجة تطبيقات عميل REST الرائعة)؛على الرغم من أنك إذا كنت تستخدم JBoss/SEAM فقد تجد أن RESTeasy يتكامل بشكل أفضل قليلاً.

أنا معجب كبير بـ Restlet، لكني عادةً ما أستخدمه لتنفيذ التطبيقات التي يتمثل دورها الأساسي في تنفيذ ذلك يكون خدمة ويب مريحة.يبدو أنك تتطلع إلى إضافة RESTful API إلى تطبيق موجود.إذا كان الأمر كذلك، فقد يكون النهج القائم على التعليقات التوضيحية الخاص بـ JAX-RS (أو Enunciate) أكثر ملاءمة لمشروعك.

أما بالنسبة لـ Restlet، فيمكنني أن أخبرك أنني معجب جدًا بالمطورين والمجتمع؛إنهم نشيطون للغاية ومتفاعلون ومستجيبون وملتزمون بإطار عمل مستقر وفعال وموثوق وفعال.الجانب المفضل لدي في إطار العمل هو أنه تطبيق شامل لنموذج REST؛لذلك لا يوجد عدم تطابق في المعاوقة بين واجهة برمجة التطبيقات الخارجية لتطبيق Restlet والتنفيذ الداخلي.أنا أيضًا أحب حقًا مدى مرونته - يمكن تشغيله داخل حاوية/خادم تطبيق Java مثل JBoss، وTomcat، وJetty، وما إلى ذلك، أو تشغيله بشكل مستقل، مع مكتبة خادم HTTP المضمنة.

أنت تعلم أن هناك واجهة برمجة تطبيقات JCP جديدة للوصول إلى خدمات RESTful، وأيضًا:

جاكس-RS JCP311https://jsr311.dev.java.net/

النسخة مفتوحة المصدر تسمى Project Jersey

أنا أعمل على REST API لـ griffy.com وانتهى بنا الأمر بالتدحرج بأنفسنا.لم نرغب في جلب Struts 2 أو Spring أو أي إطار عمل آخر.لقد نظرت إلى RESTLet ووجدتها مربكة ومعقدة بشكل لا يصدق.

لدى Apache تطبيق لمواصفات JAX-RS، ولكن لم يتم الانتهاء منه، كما أن به بعض الأمور الشاذة.نحن نخطط مبدئيًا لفتح مصدر حلنا، ولكن ذلك لن يستغرق بضعة أشهر.

ومع ذلك، فإن التدحرج بنفسك أمر سهل.تمنحك مواصفات Servlet كل ما تحتاجه، ويمكنك الاتصال بسهولة بقاعدة بيانات عبر السبات (انظر http://www.naildriven5.com/daveblog5000/?p=39 لمعرفة كيفية إعداد JPA بدون استخدام EJB3).

لقد وجدت أن الريسليت عبارة عن هندسة معمارية أنيقة حقًا.أنا أعمل في عالم .net، لذلك لم يكن ذلك خيارًا بالنسبة لي، لكنني تمكنت من بناء إطار عمل خاص بي باتباع نفس المبادئ الأساسية لـrestlet.لقد وجدت أن تحويل تطبيق SOA القائم على عقد WCF إلى تطبيق قائم على REST قد أدى إلى تبسيط التطبيق بشكل كبير،

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