रेस्टलेट ढांचा चार मुख्य भागों से बना है।
1. Restlet एपीआई
सबसे पहले, "Restlet एपीआई", एक तटस्थ बाकी की अवधारणाओं का समर्थन करने और दोनों क्लाइंट-साइड और सर्वर-साइड अनुप्रयोगों के लिए कॉल की हैंडलिंग की सुविधा एपीआई। इस एपीआई को रीस्टलेट इंजन द्वारा समर्थित किया गया है और दोनों अब एक एकल JAR ("org.restlet.jar" में भेजे गए हैं)।
एपीआई और कार्यान्वयन के बीच यह अलगाव जेटलेट या टॉमकैट जैसे वेबलेट कंटेनर या जेडीबीसी एपीआई और कंक्रीट जेडीबीसी ड्राइवरों के बीच एक के समान है।
2. किसी वेब पेज
की सामग्री प्राप्त कर रहा है हम परिचय पत्र में उल्लेख किया है, Restlet ढांचा एक ही समय एक ग्राहक और एक सर्वर ढांचे पर है। उदाहरण के लिए, रीस्टलेट अपने HTTP क्लाइंट कनेक्टर का उपयोग कर दूरस्थ संसाधनों के साथ आसानी से काम कर सकता है। आरईएसटी में एक कनेक्टर एक सॉफ्टवेयर तत्व है जो घटकों के बीच संचार को सक्षम बनाता है, आमतौर पर नेटवर्क प्रोटोकॉल के एक तरफ लागू करके। रीसेट वर्तमान ओपन-सोर्स प्रोजेक्ट्स के आधार पर क्लाइंट कनेक्टर के कई कार्यान्वयन प्रदान करता है। कनेक्टर अनुभाग सभी उपलब्ध क्लाइंट और सर्वर कनेक्टर सूचीबद्ध करता है और उन्हें बताता है कि उन्हें कैसे उपयोग और कॉन्फ़िगर किया जाए।
// Outputting the content of a Web page
new ClientResource("http://").get().write(System.out);
ध्यान दें कि उपरोक्त उदाहरण ClientResource वर्ग के माध्यम से कॉल जारी करने के लिए एक सरल तरीका है का उपयोग करता है:
यहाँ हम एक मौजूदा संसाधन और JVM कंसोल में यह उत्पादन के प्रतिनिधित्व मिल जाएगा। यदि आपको बहु-थ्रेडिंग या अधिक नियंत्रण की आवश्यकता है तो क्लाइंट कनेक्टर क्लास या का उपयोग करने में अभी भी संभव है, ऑब्जेक्ट्स सीधे अनुरोध करें। एक संदर्भकर्ता यूआरआई की तरह, अपने ग्राहक कॉल में कुछ वरीयताओं को सेट करने के तरीके के नीचे नीचे दिया गया उदाहरण। यह भी भाषाओं और मीडिया प्रकार आप एक प्रतिक्रिया के रूप में प्राप्त करने के लिए पसंद करते हैं हो सकता है:
// Create the client resource
ClientResource resource = new ClientResource("http://www.restlet.org");
// Customize the referrer property
resource.setReferrerRef("http://www.mysite.org");
// Write the response entity on the console
resource.get().write(System.out);
3. वेब ब्राउज़र
अब की सुनकर, हम देखना चाहते हैं कि Restlet ढांचे ग्राहक को सुन सकते हैं चाहते हैं अनुरोध और उन्हें जवाब। हम आंतरिक Restlet HTTP सर्वर कनेक्टर का उपयोग करेगा (हालांकि यह इस तरह Mortbay के घाट के आधार पर एक के रूप में दूसरों के लिए स्विच करने के लिए संभव है) और एक साधारण स्ट्रिंग प्रतिनिधित्व "हैलो दुनिया" वापस सादे पाठ के रूप। ध्यान दें कि Part03 वर्ग आधार ServerResource Restlet द्वारा प्रदान की कक्षा लागू होता है:
public class Part03 extends ServerResource {
public static void main(String[] args) throws Exception {
// Create the HTTP server and listen on port 8182
new Server(Protocol.HTTP, 8182, Part03.class).start();
}
@Get
public String toString() {
return "hello, world";
}
}
आप इस कोड को चलाने के लिए और अपने सर्वर का शुभारंभ हैं, तो आप एक वेब ब्राउज़र खोलने के लिए और हिट कर सकते हैं। असल में, कोई भी यूआरआई काम करेगा, कोशिश भी करें। ध्यान दें कि यदि आप एक अलग मशीन से अपने सर्वर का परीक्षण, आप अगर यह एक परिभाषित किया गया है या अपने सर्वर के दोनों आईपी पते अपने डोमेन नाम से "स्थानीय होस्ट" से बदलना होगा।
अब तक, हम ज्यादातर आप Restlet एपीआई में अमूर्त के उच्चतम स्तर से पता चला है ClientResource और ServerResource वर्गों के साथ। लेकिन जैसे ही हम आगे बढ़ते हैं, आप पाएंगे कि उन दो वर्गों को एक समृद्ध एपीआई द्वारा समर्थित किया जाता है, जिससे आप सभी आरईएसटी कलाकृतियों में हेरफेर कर सकते हैं।
4. एक बाकी वास्तुकला
आइए कदम पीछे एक छोटे और देखने के एक बिंदु से बाकी पर सामान्य वेब आर्किटेक्चर पर विचार का अवलोकन। नीचे दिए गए आरेख में, बंदरगाह कनेक्टर का प्रतिनिधित्व करते हैं जो बड़े बक्से द्वारा प्रदर्शित घटकों के बीच संचार को सक्षम बनाता है।
ओह, कैसे मैं अपने दर्द महसूस हो रहा है! निश्चित रूप से एक वोट वोट! – BobbyShaftoe
http://stackoverflow.com/questions/1710199/which-is-the-best-java-rest-api-restlet-or-jersey देखें और विचार करें कि यह एक सटीक डुप्लिकेट है या नहीं। – ripper234
मैं आपसे सहमत हूं! एक सोचता है कि रीस्टलेट जैसी एपीआई आपको "मदद" करेगी। मैं रीस्टलेट आर्किटेक्चर को समझने के लिए एक समय में एक साधारण वेब सेवा ढांचा लिख सकता हूं। – Spider