2009-09-15 7 views
7

मैं हाल ही में जेएसएफ (सीम का उपयोग करके) के लिए एक साधारण रेल ऐप बंद करने के लिए बैठ गया था, जिसके लिए मुझे लगता है कि मैं अधिक उत्पादक हूं। रेल ऐप रीस्टफुल है, जो मुझे पसंद है। जेएसएफ में शुरू होने पर, मुझे यह जानकर आश्चर्य हुआ कि शायद गलत तरीके से, जेएसएफ केवल POSTs का समर्थन करता है, जो इसे मूल रूप से गैर-भरोसेमंद बनाता है।क्या रीस्टफुल जेएसएफ संभव है?

मैंने थोड़ी सी खोज की लेकिन एक संतोषजनक उत्तर नहीं मिला। जेएसएफ/सीम बहुत लोकप्रिय प्रतीत होता है, लेकिन यह मुझे समझ में नहीं आता है कि यह सभी HTTP विधियों को रोक देगा लेकिन पोस्ट। क्या यह सच है कि जेएसएफ स्वाभाविक रूप से एक स्थाई वास्तुकला की अनुमति नहीं देता है, या क्या मैं गलत हूं और रीस्टफुल जेएसएफ संभव है (मूल रूप से या प्लग-इन के माध्यम से)?

उत्तर

4

यहां एक blog post that works through this question है, हालांकि यह किसी भी ठोस निष्कर्ष तक नहीं पहुंचता है।

मेरे व्यक्तिगत अनुभव में, जेएसएफ/सीम वास्तव में बहुत लोकप्रिय नहीं हैं, इस तरह के मुद्दों के बड़े हिस्से में। ऐसा लगता है कि वेब की अंतर्निहित प्रकृति से दूर अमूर्त करने के लिए बहुत कठिन प्रयास किया जाता है, और फिर GET जैसी चीज़ों को तोड़ देता है। फिक्स (जो भी समस्या हो रही है) हमेशा "अगले संस्करण में आ रही है" या "यदि आपके पास अच्छे उपकरण हैं तो वास्तव में कोई समस्या नहीं है।" वाईएमएमवी, लेकिन शायद मैं एक अलग ढेर को देखता हूं।

मैंने Restlet के बारे में अच्छी बातें सुनी हैं, और मुझे लगता है कि Struts 2 में REST plugin है। स्प्रिंग 3 के साथ, स्प्रिंग एमवीसी में added support for REST है। मैंने Grails के साथ काम किया है, और यह काफी सरल चीजों को काफी सरल बना रहा है। इसमें जोड़ा गया बोनस है कि यह आपके लिए बहुत परिचित होना चाहिए, क्योंकि आप रेल के साथ अनुभव कर रहे हैं।

+0

धन्यवाद। आपके लिंक में सीईएम का समर्थन आरईएसटी के बारे में एक टिप्पणी है, इसलिए मैं भी इसे देख लूंगा। रेल अब तक सबसे सुंदर दिखते हैं लेकिन मैं यह सुनिश्चित करना चाहता हूं कि मैं अन्य प्रमुख दावेदारों (Grails सहित) पर एक नज़र डालें। – SingleShot

+4

वह लेख सीम और आरईएसटी के बारे में बिल्कुल सही नहीं है। वह जेएक्स-आरएस के लिए सीओआर के समर्थन में आरओआर नियंत्रकों की तुलना करता है। अलग अलग बातें। सीएएम पेज क्रियाओं के लिए आरओआर नियंत्रक की एक और सटीक तुलना है। – Damo

3

सीएएम के साथ जेएसएफ ठीक हो सकता है। यह सिर्फ इस बात पर निर्भर करता है कि आप इसके साथ क्या करना चाहते हैं। जेएसएफ आम तौर पर आपके क्षेत्र डेटा को पीछे के अंत में पाने के लिए पोस्ट का उपयोग करता है। पोस्ट के साथ बहुत सी जेएसएफ सामान काम करता है। लेकिन आप निश्चित रूप से सीम पेज पैरामीटर का उपयोग कर जीईटी का उपयोग कर सकते हैं या यहां तक ​​कि केवल अंतर्निहित HTTPRequest ऑब्जेक्ट को प्राप्त कर सकते हैं।

अब अधिक विश्वसनीय वास्तुकला, हाँ, जेएसएफ के साथ अच्छी तरह से काम नहीं करता है। हालांकि, अपने रीस्टफुल एपीआई के लिए अपने यूजर इंटरफेस और जेएक्स-आरएस के लिए जेएसएफ का उपयोग करने के लिए स्वतंत्र महसूस करें। दोनों एक दूसरे के बगल में खुशी से रह सकते हैं।

2

आपकी सटीक आवश्यकताओं (आरईएसटी के रूप में आरईएसटी या बुकमार्क करने योग्य यूआरएल प्राप्त करने के साधन के रूप में अधिक) के आधार पर, सीम लीड ऑन के साथ आगे है। सीम डेवलपर्स का एक लेख http://relation.to/Bloggers/RESTSupportInLatestSeam21 पर है जहां यह नई आरईएसटी सुविधाओं का प्रदर्शन करता है। दूसरों के बीच में आप एक्सएमएल की केवल चार पंक्तियों के साथ एक विश्वसनीय एपीआई के माध्यम से किसी इकाई को पूर्ण पहुंच का पर्दाफाश कैसे कर सकते हैं।

यदि आप अभी बुकमार्केबल के लिए जाते हैं तो आपको अभी भी सावधानीपूर्वक डिजाइन करना होगा कि आप अपने जेएसएफ पृष्ठों और प्रवाहों में चीजों को कैसे जोड़ते हैं (हालांकि) सीम 2.2 ने इसे आसान बनाने के लिए कुछ विशेषताओं को जोड़ा।

1

जेएसएफ घटक आधारित ढांचा है, एक क्रिया आधारित नहीं है। यूआरएल निश्चित रूप से एक्शन-संबंधित है, इसलिए यदि आप एक रीस्टफुल वेब एप्लिकेशन जेएसएफ करना चाहते हैं तो शायद जो आप चाहते हैं।

यह भी देखें:

संबंधित मुद्दे