2010-04-19 13 views
5

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

सीम जेएसएफ समृद्ध चेहरे के कार्यान्वयन के आधार पर एक ढांचा है। इसमें बहुत सारे AJAX आधारित घटक हैं। यह कुछ भारी सामान जैसे ईजेबी, जेपीए का उपयोग करता है। यह सब त्रुटियों के लिए प्रवण है और यह ढांचा इतना धीमा है (मेरे कंप्यूटर पर यह लगभग असंभव है क्योंकि यह वास्तव में धीमा है, विशेष रूप से धीमा है, विशेष रूप से jboss पर पुन: नियोजन) लेकिन बैक ऑफिस अनुप्रयोगों के लिए बहुत अच्छा है।

क्या किसी के पास इन दो ढांचे के साथ पेशेवर अनुभव है? क्या आप बेहतर की सिफारिश कर सकते हैं? क्यों?

सादर

+0

सीम के साथ आप ईजेबी के बजाय पीओजेओ का उपयोग कर सकते हैं। और जेपीए के बारे में क्या धीमा है? –

+0

पूरा ढांचा धीमा है, जेपीए नहीं। यदि आप अन्य ढांचे की तुलना में अब के साथ सबसे सरल पृष्ठ का परीक्षण करते हैं तो आपको 10 गुना कम अनुरोध मिलेगा। – darpet

+0

सीम के लिए भी। मैंने उत्पादक रूप से बहुत से सीम अनुप्रयोगों को देखा है। मैं आसानी से त्रुटियों को पा सकता हूं। – darpet

उत्तर

7

मैं का उपयोग दोनों: स्प्रिंग-MVC (2.5) और सीवन

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

आमतौर पर वेब अनुप्रयोग

(सीवन फ्रेमवर्क द्वारा प्रदान की मध्यस्थ पैटर्न का उपयोग करके) निम्नलिखित पथ

view >> controller >> service >> domain 
सीवन के साथ

, आप

view >> service >> domain 

या भी प्राप्त कर सकते हैं का उपयोग करता है

No controller, No service 

view >> domain 
कि इसके अलावा

,

  • JSF 2 का समर्थन करता है JSR 303 - बीन मान्यता
  • आप विकेट JSF के बजाय अगर आप चाहते हैं का उपयोग कर सकते
  • वार्तालाप और व्यवसाय प्रक्रिया प्रबंधन समर्थन
  • उपयोग स्प्रिंग डि उपयोग कर सकते हैं अगर आप चाहते हैं

वसंत-MVC

यह एक शक्तिशाली वेब टीयर बुनियादी सुविधाओं है

  • हैंडलर मानचित्रण (यह चुनता है जो नियंत्रक अनुरोध को पूरा करने चाहिए)
  • समाधानकर्ता देखें (यह चुनता है जो दृश्य प्रतिक्रिया प्रस्तुत करना चाहिए)
  • यह बड़े अनुप्रयोगों के लिए इस्तेमाल किया जा सकता
  • शक्तिशाली डेटा-बाइंडिंग
  • स्प्रिंग 3.0 एनोटेशन आधारित नियंत्रक का समर्थन करता है (JSR 303 - बीन मान्यकरण, जल्द ही आ रहा)

लेकिन मैं अभी भी वसंत 3.0 का उपयोग नहीं क्योंकि

  • का उपयोग कर (और जरूरत पड़ने पर विस्तार) MultiActionController, मैं अपने नियंत्रक को परिभाषित करने के लिए कोई एक्सएमएल सेटिंग के बिना विन्यास से अधिक सम्मेलन प्राप्त कर सकते हैं द्वारा
  • SimpleFormController समान व्यवहार पाया प्रदान करता है (तुम बस @Component के रूप में अपने MultiActionController सेट करने की आवश्यकता) स्प्रिंग 3.0 एनोटेशन आधारित नियंत्रक

...

सीखने पथ बारे में, मुझे लगता है कि दोनों समान हैं।

+2

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

+0

@ शेरविन आप सही कह रहे हैं जब आप कहते हैं: यह सब फ़िल्टर, सर्लेट और इंटरसेप्टर्स आप सक्षम करते हैं। लेकिन ध्यान दें कि मैंने इसके बजाय विकेट शामिल किया है। –

+0

@AththurRonaldFDGarcia - क्या आप वसंत के साथ एकीकृत स्वयं या सीम का उपयोग करते हैं? – ziggy

1

मैं Seam साथ पेशेवर काम किया है और यह एक हत्यारा रूपरेखा है। यह वास्तव में आपकी उत्पादकता को बढ़ावा देता है। EJBs आपको लगता है कि EJBs आपको EJBs के बजाय POJOs का उपयोग कर सकते हैं। तैनाती के बारे में, JBoss के बजाय Tomcat पर तैनाती पर विचार करें। Tomcat में मेरी मशीन पुनर्वितरण पर कुछ सेकंड में किया जाता है। लेकिन मैंने अभी भी तुलना करने के लिए Spring MVC का उपयोग नहीं किया है।

+0

क्या आपको बैक बटन के साथ कोई समस्या है? मेरा ग्राहक वास्तव में परेशान है। – darpet

+0

वेब अनुप्रयोगों में बैक बटन उपयोग को बहिष्कृत किया जाना चाहिए। इसका उपयोग कार्यक्रम प्रवाह के लिए नहीं किया जाना चाहिए। अन्यथा सीम कुछ ढांचे में से एक है जो आपको बैक बटन के साथ मदद करता है। http://www.redhat.com/docs/manuals/jboss/jboss-eap-4.2/doc/seam/Seam_Reference_Guide/Pageflow_in_Seam-Seam_and_the_back_button.html –

+0

आप किस विचार का उपयोग कर रहे हैं? क्या आप जेपीए का प्रयोग करते हैं? – darpet

1

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

1

मैंने कुछ महीनों के लिए सीएएम और स्प्रिंग एमवीसी दोनों का उपयोग किया है।

मैं स्प्रिंग एमवीसी को सीम में पसंद करता हूं। बीटीडब्ल्यू मैंने देखा कि जेबॉस ने SEAM3 विकास को रोक दिया।

मुझे सीईएएम और स्प्रिंग एमवीसी की तुलना के बारे में एक दिलचस्प लेख मिला। लिंक http://java.dzone.com/articles/why-java-ee-lost-and-spring?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+javalobby%2Ffrontpage+%28Javalobby+%2F+Java+Zone%29&utm_content=Google+Reader

धन्यवाद

0

मैं का इस्तेमाल किया है दोनों सीवन 3 और स्प्रिंग 3 frameworks.While सीवन 3 कोड के लिए आसान है और सत्र प्रबंधन और लेन-देन प्रबंधन समर्थन सुविधाओं की एक बहुत है, प्रदर्शन धीमी है .Spring बहुत तेज है।

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