2010-06-11 7 views
17

मैं अपने खुद के रोलिंग के बजाय वेब एप्लिकेशन के सेवाओं के हिस्से के लिए ServiceStack का उपयोग कर रहा हूं। किसी का भी इसका उपयोग कर कोई अनुभव है? किसी भी सी #/नेट विकल्प मुझे विचार करना चाहिए?किसी को भी सर्विसस्टैक या अन्य .NET सेवाओं के ढांचे के साथ अनुभव है?

उत्तर

18

मैं अपने सिस्टम पर ServiceStack इस्तेमाल की योजना बना रहा हूँ, मैंने पाया यह बहुत शांत, रास्ते में बहुत ही प्रभावशाली यह कुछ पैटर्न को लागू करता है और मैं इसे वास्तुकला

जिस तरह से आप सेवाओं का इरादा में मतभेद रहे हैं प्राप्त करना चाहते .. हालांकि, चौखटे इस्तेमाल किया जा सकता हैं: (यह स्पष्ट है यह स्थितियों पर निर्भर करता है)

  • Agatha-rrsl जो एक rrsl पैटर्न को लागू करता है, यह एक ही प्रक्रिया या एक distribuited पर्यावरण जैसे में एक ServerAndClient में सेवा का उपयोग करने की अनुमति है। जो बाहरी सेवाओं का उपयोग वेब अनुप्रयोग
  • OpenRasta एक शक्तिशाली ढांचे के एक पूरे आवेदन निर्माण करने के लिए या बस सेवाओं
  • NServiceBus जो एक पूर्ण सेवा बस वास्तुकला लागू करता REST इस्तेमाल किया जा सकता है, और इस्तेमाल किया जा सकता (अगाथा बाहरी सेवाओं के लिए WCF का उपयोग करें) इसी प्रक्रिया में या एक distribuited जिस तरह उस ढांचे
  • MassTransit NServiceBus (व्यक्तिगत रूप से मैं NServiceBUs पसंद करते हैं) के लिए इसी तरह के लिए सबसे अच्छा है में एक ServerAndClient
  • SimpleServiceBus NServiceBus के समान है, लेकिन सरल, शांत में
  • RhinoServiceBus, NServiceBus पर कांटा का एक प्रकार बहुत बहुत शांत

यह अगाथा की तरह एक सेवा ढांचे बनाम NServiceBus की तरह एक सेवा बस के बीच अंतर को समझने के लिए बहुत महत्वपूर्ण है। एक अच्छा मुद्दा यह है कि तर्क पर महान डेवी ब्रायन ब्लॉग पोस्ट http://davybrion.com/blog/2010/01/agatha-vs-nservicebus/

हो सकता है कि अगर मैं कुछ और याद है कि मैं बाद में अपडेट हो जाएगा आशा है कि यह

+0

http : //trac.caffeine-it.com/openrasta नहीं मिला, मेरे लिए त्रुटि 404 – Kiquenet

+0

@ किकनेट लिंक तय! – Hoghweed

21

मैं तुम्हें ServiceStack विचार कर रहे हैं सुनने के लिए खुश हूँ में मदद करता है हो सकता है :) , यह एक ढांचा है जो पिछले कुछ वर्षों में विकास में रहा है, जो निराशा और घर्षण से पैदा हुआ है, जो .NET के मौजूदा .asmx और डब्ल्यूसीएफ एसओएपी वेब सेवाओं के ढांचे की कठोरता के कारण हुआ है। मैंने पाया कि मौजूदा फ्रेमवर्कों में से कोई भी कोड-प्रथम पारंपरिक दृष्टिकोण को बढ़ावा देता है जो मार्टिन फाउलर्स का सर्वोत्तम अभ्यास Data Transfer Object Pattern है जो मुझे विश्वास है कि अच्छी तरह से परिभाषित, कम-चंचल, कैशबल और पुनः उपयोग करने योग्य वेब सेवाओं को विकसित करने में सक्षम होने में महत्वपूर्ण भूमिका निभाई गई है।

यह प्राथमिक है लक्ष्य हैं:

  • को बढ़ावा देना सर्वोत्तम प्रथाओं C# विकास - शिथिल युग्मित, परीक्षण योग्य (endpoint/प्रारूप नास्तिक) सेवाओं।
  • सर्वोत्तम प्रथाओं वेब सेवा विकास - आपका वेब सेवा अनुबंध सबसे महत्वपूर्ण इंटरफ़ेस है जिसे आप कभी भी बनाने की संभावना रखते हैं, क्योंकि यह कोड-प्रथम, मजबूत-टाइप और अच्छी तरह से परिभाषित होना चाहिए।
  • पुनः उपयोग करने योग्य, मॉडल संचालित आर्किटेक्चर - ध्यान दें कि आपकी सेवाएं एक डी-मुक्त आईएस सेवा [टी] से प्राप्त होती हैं जिसे संदेश कतार सेवाओं में भी पुन: उपयोग किया जा सकता है।
  • क्रॉस-प्लेटफ़ॉर्म - विंडोज (.NET)/Linux/OSX (MONO)
  • प्रदर्शन - रन-टाइम प्रतिबिंब मुक्त और केवल सबसे तेज़ उपयोग करता है।अपनी सभी सुविधाओं के लिए नेट घटक
  • कैशबिलिटी - कैशिंग उच्च प्रदर्शन, स्केलेबल सेवाओं का एक महत्वपूर्ण हिस्सा है, क्योंकि कभी-कभी आपके कैशिंग पर जुर्माना नियंत्रण होना महत्वपूर्ण होता है, सबसे इष्टतम परिणाम कैश करने में सक्षम होना (यानी gzipped प्रतिक्रिया) और variety of caching providers है। Northwind example देखें।
+9

और यह अब मुफ्त नहीं है ... – Soren

4

Nelibur, फायदे

  • पर एक नजर डालें डाटा ट्रांसफर वस्तु पैटर्न
  • छोटे और पुन: प्रयोज्य वेब सेवाओं इस प्रकार
  • WCF की पूरी शक्ति
  • जो निःशुल्क