2010-02-13 12 views
5

मैंने वेब सेवाओं के बारे में कुछ जानकारी googled, यह एक उद्यम स्तर आवेदन की तरह लगता है। मैंने पाया कि इस पर भरोसेमंद डिजाइन बहुत अच्छा विचार है। मुझे लगता है कि अपाचे सीएक्सएफ अच्छा लग रहा है, यह रीस्टफुल डिज़ाइन और जावा का समर्थन करता है। अपाचे सीएक्सएफ का उपयोग कर एक आवेदन लिखना शुरू करने के लिए शुरुआत करने के लिए यह एक अच्छा विकल्प है? या किसी अन्य ढांचे का सुझाव दिया जाता है?रीस्टफुल जावा वेब सेवा फ्रेमवर्क पर सुझाव ...

उत्तर

4

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

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

आरईएसटी रास्ता जाने के लिए बधाई - आपको पछतावा नहीं होगा।

जनवरी

2

शुरुआत के लिए बहुत आसान कार्यान्वयन वसंत 3.0 आरईएसटी समर्थन होगा। स्प्रिंग एमवीसी 3.0 में आरईएसटी समर्थन है और अपाचे सीएक्सएफ की तुलना में बहुत आसान है।

+0

@ एसपीए वेब सेवाओं के साथ आरयू? –

+0

वाह ... अगली बार प्रश्न को बेहतर पढ़ें ... शब्द वेब सेवा को याद किया। एक शानदार वास्तुकला शैली के बारे में सोचा। – spa

+0

@ एसपीए क्या आप कृपया जो कह रहे हैं उस पर विस्तृत जानकारी दे सकते हैं या संसाधन जो उनके बारे में बेहतर बताता है? –

1

Restlet जावा के लिए एक और RESTful वेब ढांचे में: http://www.restlet.org/

+0

यह अपाचे सीएक्सएफ और स्प्रिंग की तरह प्रसिद्ध नहीं लगता है, क्या रेस्टलेट में कोई विशेष विशेषताएं हैं? – DNB5brims

+0

आपके पास रेस्टलेट द्वारा प्रदान की गई सुविधाओं की एक सूची हो सकती है: http://www.restlet.org/about/features अपाचे सीएक्सएफ और स्प्रिंग एमवीसी बहुत अच्छी परियोजनाएं हैं। लेकिन, रीस्टलेट के विपरीत, वे आरईएसटी अनुप्रयोगों पर केंद्रित नहीं हैं। – Desintegr

+0

रेस्टलेट जेएक्स-आरएस से पहले आया था, इसलिए इसकी अपनी वास्तुकला है। मैंने इस सुविधा को देखा कि उन्होंने जेएक्स-आरएस 1.0 एकीकरण जोड़ा। – TJR

8

मैं Jersey के लिए जाना चाहते हैं, JAX-RS के आरआई (JSR 311), RESTful वेब सेवाओं के लिए जावा एपीआई (अर्थात एक मानक)।

1

मैं RESTEasy साथ बाकी शुरू कर दिया और 30 मिनट में यह उठना मिलता है। आप इन सभी जेबॉस सामानों के बिना अपने पसंदीदा सर्वलेट कंटेनर में स्टैंड-अलोन लिब के रूप में इसका उपयोग कर सकते हैं।

1

आपको PlayFramework को आजमाएं। बस एक नमूना मार्ग फ़ाइल पर एक लूट लेते हैं और आपको पता चलेगा कि कितना आसान है शोकहारा वेब अनुप्रयोग लागू करने के लिए खेलने के उपयोग करने के लिए है:

# ====== Order service ========================= 
GET /orders Orders.list 
GET /orders/{<[0-9]+>id} Orders.show 
PUT /orders/{<[0-9]+>id} Order.saveUpdate 
POST /orders Orders.saveNew 
# ============================================== 

और इसी नियंत्रक तरीके:

public class Orders extends Controller { 
    public static void list() { 
     List<Order> orders = Order.all(); 
     render(orders); 
    } 
    public static void show(long id) { 
     Order order = Order.findById(id); 
     notFoundIfNull(order); 
     render(order); 
    } 
    public static void saveUpdate(long id, Order update) { 
     Order order = Order.findById(id); 
     notFoundIfNull(order); 
     order.update(update); 
     show(id); 
    } 
    public static void saveNew(Order order) { 
     order.save(); 
     show(order.getId()); 
    } 
} 

कुछ उपयोगिताओं सक्षम हैं आप अन्य वेब सेवाओं के साथ बातचीत करने के लिए:

String url = "https://ajax.googleapis.com/ajax/services/search/web"; 
Map<String, Object> params = new HashMap<String, Object>(); 
params.put("v", "1.0"); 
params.put("q", searchStr); 
params.put("key", Play.configuration.get("app.google.key")); 
params.put("userip", myIpAddr); 
HttpResponse resp = WS.url(url).params(params).get(); 
return resp.getString(); 
संबंधित मुद्दे