2012-12-22 15 views
11

मैं आराम से सेवा के लिए एक ढांचा चुन रहा हूँ। रीस्टलेट आशाजनक लग रहा है। हालांकि, मैं ऐसा कुछ चुनना चाहता हूं जो मुख्यधारा के लिए पर्याप्त है कि यह जल्द ही समर्थन/विकास से बाहर नहीं जायेगा। मुझे पता है कि रेस्टलेट कुछ सालों से आसपास रहा है। हालांकि, मैं जानना चाहता हूं कि यह काफी लोकप्रिय है या नहीं। मेरे प्रश्न हैं,कितना लोकप्रिय है?

  1. कोई भी बड़ी नाम कंपनियां इसका उपयोग कर रही हैं?
  2. क्या डिफ़ॉल्ट http सर्वर उत्पादन के लिए पर्याप्त है?

धन्यवाद

+1

क्या आप एक भाषा निर्माण या आरईएसटी का उपयोग करने की सामान्य अवधारणा के बारे में बात कर रहे हैं? पूर्व मामले में, आप एक भाषा टैग गायब हैं –

+0

कभी SOAP का उपयोग करने पर विचार करें? –

उत्तर

0

article

सर्वलेट एपीआई 1998 में जारी किया गया था और अपने मूल डिजाइन में काफी उस समय के बाद नहीं बदल गया है से। यह सबसे सफल जावा ईई एपीआई में से एक है, लेकिन यह कई डिज़ाइन त्रुटियों और सीमाओं से ग्रस्त है। उदाहरण के लिए, यूआरआई पैटर्न और हैंडलर के बीच मैपिंग एक कॉन्फ़िगरेशन फ़ाइल में सीमित और केंद्रीकृत है। इसके अलावा, यह सॉफ़्ट स्ट्रीम को सीधे डेवलपर पर नियंत्रण देता है, जो सर्वलेट कंटेनर द्वारा कुछ आईओ ऑप्टिमाइज़ेशन को एनआईओ सुविधाओं के पूर्ण उपयोग की तरह रोकता है। अंत में यह कैशिंग, सामग्री वार्ता और सामग्री संपीड़न जैसी सुविधाओं को HTTP सुविधाओं का समर्थन नहीं करता है, जिससे डेवलपर्स को बहुत अधिक दर्द होता है और उन्हें पर उनके एप्लिकेशन विशिष्ट कोड पर ध्यान केंद्रित किया जाता है।

जावा ईई स्टैक में एक आधुनिक HTTP क्लाइंट एपीआई की कमी की एक और बड़ी चिंता थी। जेडीके की HttpURLConnection क्लास का उपयोग करना मुश्किल है और सामग्री बातचीत के लिए क्लाइंट वरीयताओं को व्यक्त करने की तरह बहुत अधिक HTTP सुविधाओं को असमर्थित छोड़ देता है।

अक्सर, लोग पर तीसरे पक्ष के HTTP क्लाइंट API पर भरोसा कर रहे थे, उन सीमाओं को हल करें। फिर, एनआईओ को HttpURLConnection के साथ समर्थित नहीं किया जा सकता है।

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

4

सबसे मुख्यधारा जो आप प्राप्त कर सकते हैं वह Jersey है। यह जावा में आराम का आधिकारिक कार्यान्वयन है। जर्सी से पहले रेस्टलेट बाहर आया। लेकिन फिर जर्सी ने उन्हें पार किया (मेरी विनम्र राय में)। मैंने गंभीर परियोजनाओं पर जर्सी और रेस्टलेट दोनों का उपयोग किया है। वे दोनों अच्छे हैं। हालांकि, आपको जर्सी पर अधिक समर्थन, अधिक किताबें और अधिक उदाहरण मिलेंगे।

+6

यह सच है कि हमारे पास ओरेकल की मार्केटिंग पावर नहीं है, लेकिन तकनीकी रूप से यह रीसेट फ्रेमवर्क का मौका रहा है, जिससे हमें अधिक स्वतंत्रता से नवाचार करने की इजाजत मिलती है (जैसे एंड्रॉइड, जीडब्ल्यूटी और जीएई जैसी Google प्रौद्योगिकियों का समर्थन करना, जो जर्सी relunctanty करता है)। अब हमारे पास अपनी खुद की व्यापक 'रीस्टलेट इन एक्शन' पुस्तक है, और कुछ अन्य रेस्टेट को कवर करते हैं, जिसमें O'Reilly बाइबल भी शामिल है: 'रीस्टफुल वेब सर्विसेज'। साथ ही, मुझे यह जानकर उत्सुकता होगी कि हमारी जर्सी तकनीकी रूप से बेहतर है :) –

2

क्या यह जावा के बारे में है? उस स्थिति में, जेएक्स-आरएस ऐसा करने के लिए एक शानदार नई एपीआई है। इसके लिए सबसे अच्छी किताब Restful Java with JAX-RS है। इसका मेरा पसंदीदा कार्यान्वयन जर्सी है, लेकिन अन्य अपनी अनूठी विशेषताओं के साथ हैं। सभी जेएक्स-आरएस कार्यान्वयन संगत हैं यदि आप अपनी विशिष्ट विशेषताओं का उपयोग नहीं करते हैं (जो कि मामूली हैं)। पुस्तक कोर एपीआई, आरईएसटी दर्शन, और विभिन्न कार्यान्वयन के लिए अद्वितीय सुविधाओं में से कुछ बताती है।यह एक उत्कृष्ट किताब है। मुझे परिचय पसंद है, जहां लेखक संबंधित रिमोट प्रक्रिया कॉल (जैसे एसओएपी, डब्ल्यूसीएफ, और सामान्य ओओ अर्थशास्त्र) के लिए इस्तेमाल किया गया था, लेकिन फिर आरईएसटी सिद्धांतों की रोशनी को सरल और अधिक सुरुचिपूर्ण माना जाता है।

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

जेएक्स-आरएस के बारे में कष्टप्रद बात यह है कि यह इतना शक्तिशाली और आसान है कि आप विचारधारात्मक ध्वनि आरईएसटी सेवाओं को लिखने के लिए प्रेरित हैं। दुर्भाग्यवश, जावास्क्रिप्ट कई आरईएसटी सुविधाओं का उपयोग नहीं कर सकता है (हेडर स्वीकार करें, कुछ भी कॉल करें लेकिन पोस्ट करें, आदि) लेकिन यह एक बड़ा सौदा नहीं है।

जर्सी में एक शानदार क्लाइंट-साइड जावा एपीआई भी है जो जेएक्स-आरएस को प्रतिबिंबित करती है और आपके क्लाइंट जावा होने पर समान एनोटेटेड कक्षाओं का पुन: उपयोग करती है।

27

रीस्टलेट फ्रेमवर्क 2005 से उपलब्ध है जब यह जावा के लिए पहला रीस्टफुल वेब फ्रेमवर्क था। इसमें जेएक्स-आरएस एपीआई के लिए समर्थन है, लेकिन इसकी खुद की रीसेट एपीआई क्लाइंट और सर्वर-साइड दोनों दिन के बाद से, अधिक व्यापक और एक्स्टेंसिबल है। हम लंबे समय तक जेसीपी मानकीकरण प्रक्रियाओं के बिना, हमारे समुदाय फ़ीड-बैक के आधार पर नवाचार करने के लिए स्वतंत्र हैं।

इसके अलावा, हमने पिछले सितंबर के साथ पिछले संस्करण में 'रीस्टलेट इन एक्शन' पुस्तक प्रकाशित की है। हमारा आंतरिक कनेक्टर पूरी तरह से असीमित है और एनआईओ पर आधारित है और हम लगातार इसे स्थिर कर रहे हैं, भले ही यह भारी प्रस्तुतियों के लिए तैयार न हो (जेटी कनेक्टर या जावा ईई कंटेनर का उपयोग करें, जिसमें आपके रीस्टलेट एप्लिकेशन में कोई बदलाव नहीं है)।

समर्पित संस्करणों के साथ जावा एसई/ईई, ओएसजीआई, एंड्रॉइड, जीएई और जीडब्ल्यूटी के लिए इसका लगातार समर्थन अद्वितीय है। जेएस (Node.js + AJAX) के लिए एक पोर्ट भी चल रहा है। हमने पहले मील का पत्थर जारी किए जाने के साथ संस्करण 2.2 पर भी काम शुरू किया है (पूर्ण जावा 6 समर्थन के साथ, अंतिम spec आदि के आधार पर OAuth 2.0 एक्सटेंशन)।

संदर्भों की अवधि में, हमारे पास लिंकडइन (उनके जीएलयू ओपन सोर्स प्रोजेक्ट देखें), आईबीएम, एनवीडिया, फोर्जरॉक, नासा, सोनाटाइप, अपाचे कैमल, मुले ईएसबी आदि सहित इसका उपयोग करने वाली कई बड़ी कंपनियां हैं। Google इसका उपयोग कर रहा है आंतरिक रूप से भी। http://restlet.com/discover/quotes

जनवरी में हम एक नया समुदाय वेब साइट के रूप में अच्छी तरह से APISpark, एक सब-इन-वन बनाने के लिए मंच, मेजबान के रूप में, में लॉन्च हो जाएगा प्रबंधन और वेब API का उपयोग, सीधे Restlet के आधार पर: यहाँ कुछ कोट देखें फ्रेमवर्क (PaaS), तो परियोजना सक्रिय है और एक रोमांचक भविष्य है!

सादर,

जेरोम Louvel

पुनश्च: मैं Restlet फ्रेमवर्क निर्माता और नेतृत्व डेवलपर हूँ।

+2

यह एक पुरानी पोस्ट है, लेकिन मुझे कहना होगा कि मैंने अभी रेस्टेट की खोज की है और मुझे आश्चर्य है कि यह कितना साफ, अच्छी तरह से सोचा और लचीला है।यह निश्चित रूप से अधिक लोकप्रिय होने के लायक है। – Red

+0

आपकी फीड-बैक के लिए बहुत बहुत धन्यवाद! –

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