2009-06-06 11 views
11

वसंत के ऊपर सीम के फायदे/नुकसान क्या हैं? मैं वसंत के बदले सीम का उपयोग क्यों करूं?वसंत के ऊपर सीम के फायदे/नुकसान क्या हैं?

क्या सीम में ऐसा कुछ भी किया जा सकता है जो वसंत में नहीं किया जा सकता है? वसंत में कुछ भी जो सीम में नहीं किया जा सकता है?

राज्यव्यापी/स्टेटलेस आर्किटेक्चर के बारे में क्या? मैं एक वसंत उपयोगकर्ता हूं, इसलिए मैं स्वाभाविक रूप से पक्षपातपूर्ण हूं।

उत्तर

22

वसंत क्यों?

  • क्लीनर कोड
  • सुव्यवस्थित आवेदन विन्यास
  • लोकप्रिय ओपन सोर्स उत्पादों के साथ
  • अच्छा एकीकरण
  • प्रथम श्रेणी AOP समर्थन
  • उद्यम पैमाने पर सुरक्षा: Acegi
  • अत्यधिक लचीला MVC
  • पृथक डेटा एक्सेस (जेडीबीसी ठीक है)
  • एंटरप्राइज़ बिना EJB
  • परीक्षण जावा आसान है

क्यों सीवन?

  • जावा EE 5 मानकों (EJB 3.0, जेपीए, JSF, एनोटेशन) मर्ज मूल
  • स्टेटफुल डिजाइन द्वारा
  • द्विभाजन
  • एकीकृत अजाक्स (ICEfaces और Ajax4JSF)
  • व्यवसाय प्रक्रिया एकीकरण (jBPM)
  • व्यापार नियमों एकीकरण (Drools)
  • कार्यस्थान प्रबंधन
  • पूरा ढेर उद्धार (JBoss & RedHat से)
  • सीवन पाठ और ईएल संवर्द्धन
  • शायद एक मानक हो जाएगा (JSR-299: वेब बीन्स)

फ्रेमवर्क डेथमैच से: स्प्रिंग बनाम सीवन। थॉमस विरादिकुसुमा (वसंत)। जोशुआ जैक्सन (सीम)। जावा उपयोगकर्ता समूह इंडोनेशिया। जामू 07.03। 17 मार्च, 2007 पावर प्वाइंट प्रेजेंटेशन here

3

सीम आपको सीम स्टैक बनाने वाले घटकों के बीच एक सुंदर, आह, निर्बाध, एकीकरण देगा। जब तक आप उस ढेर के भीतर और सीम मॉडल के भीतर और चीजों को फेंकने में बहुत अच्छे होते हैं। जैसे ही आप कुछ असामान्य करना शुरू करते हैं, वैसे ही यह सब कुछ कम विश्वास करने लगते हैं।

यदि यह सामान्यीकरण का अधिक नहीं है, तो उस संबंध में सीम बहुत "माइक्रोसॉफ्ट" है। यह एक बुरी बात नहीं है, यह सिर्फ एक स्टाइलिस्ट चीज है। वसंत अधिक खुले अंत में है और जाने के लिए और अधिक प्रयास करता है, लेकिन यह अंततः अधिक लचीला है, और बहुत अधिक खुला है।

2

आप वसंत और सीम का एक साथ उपयोग कर सकते हैं - बैकएंड घटकों के लिए वसंत, वेब परत (जेएसएफ/जीडब्ल्यूटी/विकेट) और अन्य सामानों के संवर्द्धन के लिए सीम। सीम बहुत वसंत कार्यक्षमता प्रदान करता है (यानी।आईओसी कंटेनर, लेनदेन प्रबंधन) - आपके प्रोजेक्ट में आप तय कर सकते हैं - उपयोग करने के लिए चुड़ैल कार्यान्वयन। वसंत के साथ सीम को एकीकृत करने के बारे में अधिक जानकारी - "Seam in Action - free bonus chapter"

2

चलो दोनों की तुलना करें।

आम क्या है?

दोनों खुले स्रोत हैं, एमवीसी आर्किटेक्चर का पालन करें और एक सर्वलेट आधारित फ्रंट नियंत्रक है।

Struts के वसंत MVC

  • एक्सटेंशन के लाभ।
  • देखें जेएसपी और एचटीएमएल का उपयोग करके विकसित किया जा सकता है। आप दूसरों की PHP या वेग की तरह प्लगइन भी कर सकते हैं।
  • बड़ी संख्या में नियंत्रक पूर्वनिर्धारित हैं।
  • वसंत ढांचे के साथ बॉक्स से एकीकृत।

सीवन JSF की

  • एक्सटेंशन के लाभ
  • देखें JSF घटक पुस्तकालय का उपयोग कर विकसित किया जा सकता। से चुनने के लिए बड़ी संख्या में विक्रेता हैं।
  • वेब परत के साथ जेपीए संस्थाओं एकीकृत
  • एनोटेशन आधारित सत्यापन
  • EJB 3.0
  • साथ एकीकृत आउट बॉक्स jBPM समर्थन जो प्रक्रिया प्रवाह परिभाषाओं प्रदान करता है।
  • ड्रूल्स के साथ एकीकृत करता है जहां आप वेब परत व्यवसाय नियमों को परिभाषित कर सकते हैं।
  • अच्छा सामुदायिक समर्थन।

निष्कर्ष

सीवन के बाद से JSF पर बनाया गया है, यह यूआई घटक पुस्तकालयों में से बड़ी संख्या में से चुनने के लिए है। यह जावा ईई स्टैक बेहतर पुन: उपयोग करता है। इसमें पहले से ही बहुत सारे रोचक मॉड्यूल एकीकृत हैं।

स्प्रिंग एमवीसी स्ट्रूट्स और स्प्रिंग के शीर्ष पर बनाया गया है, इसलिए यह स्प्रिंग फ्रेमवर्क स्टैक को दूसरों की तुलना में कहीं बेहतर तरीके से पुन: उपयोग करेगा। लेकिन दृश्य जेएसपी का उपयोग करके बनाया गया है, इसलिए हमें समृद्ध घटकों के निर्माण के लिए जेएसपी टैग लाइब्रेरी विक्रेताओं पर भरोसा करना है।

सीम फ्रेमवर्क बेहतर विकल्प होगा क्योंकि वसंत ढांचे को सीम द्वारा लीवरेज करने के लिए पर्याप्त रूप से पर्याप्त है।

+4

'स्प्रिंग एमवीसी स्ट्रैट्स एंड स्प्रिंग' के शीर्ष पर बनाया गया है, वसंत स्ट्रैट्स के शीर्ष पर कभी नहीं बनाया गया था। –

+1

"लेकिन दृश्य जेएसपी [...] का उपयोग कर बनाया गया है"। जेएसपी _one_ विकल्प है। स्प्रिंग एमवीसी के बारे में अच्छी बात यह है कि आप किसी भी व्यू तकनीक का चयन कर सकते हैं। – James

5

हालांकि सीम के वसंत पर कई फायदे हैं, एक जादू शब्द है जो वास्तव में ध्यान देने योग्य है और यह प्रदर्शन है !!! यदि आप प्रदर्शन के मुद्दों के बारे में चिंतित नहीं हैं तो मैं सीम के साथ जाऊंगा। दूसरी ओर यदि आप अपने आवेदन को यथासंभव तेज़ी से चाहते हैं और आपका हार्डवेयर सीमित है तो मैं वसंत का उपयोग करूंगा। मैं यह नहीं कह रहा हूं कि आप सीम के साथ तेजी से अनुप्रयोग विकसित नहीं कर सकते हैं, लेकिन ऐसा करने के लिए आपको वास्तव में यह जानने की जरूरत है कि आप क्या कर रहे हैं। मैंने उन दोनों का उपयोग किया है (मैं उनमें से किसी एक में गुरु नहीं हूं) और जो मुझे पता चला है कि वसंत को जो भी आप चाहते हैं उसे बनाने के लिए अधिक प्रयास की आवश्यकता है, अंत में परिणाम अधिक लचीला है और बेहतर प्रदर्शन कर रहा है।मुझे नहीं लगता कि ऐसा कुछ ऐसा है जो एक ढांचे में किया जा सकता है जिसे यह दूसरे में नहीं किया जा सकता है, यह कहकर, याद रखें कि मैं उनमें से किसी के लिए विशेषज्ञ नहीं हूं।

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