2009-07-09 6 views
10

बिल्ड-तैनाती-परीक्षण चक्र समय को कम करने के लिए जावा वेब विकास पर्यावरण सबसे अच्छा क्या है?जावा वेब विकास पर्यावरण बिल्ड-तैनाती-परीक्षण चक्र समय को कम करने के लिए?

वेब विकास पर्यावरण: जेबीएसएसएसएस, टॉमकैट, जेट्टी? युद्ध विस्फोट तैनात? युद्ध की प्रतिलिपि बनाएँ या प्रतीकात्मक लिंक का उपयोग करें? यहां ऐसे कारक हैं जिनके बारे में मुझे नहीं पता।

बिल्ड-तैनाती-परीक्षण चक्र? स्रोत कोड या अन्य संसाधनों (जावा स्रोत, एचटीएमएल, जेएसपी, जेएस, छवियों इत्यादि सहित) में परिवर्तन करने के बाद ब्राउज़र में बदलाव का परीक्षण करने में कितना समय लगता है।

मैं एंटी बिल्ड और जे 2 ईई कंटेनर शुरू करने में व्यतीत समय की मात्रा को कम करके अपने विकास को तेज करने की सोच रहा हूं। मैं रेल पर अनुभव रूबी चाहता हूं --- या जितना करीब मैं प्राप्त कर सकता हूं।

मैं एक समाधान पसंद करूंगा जो वेब ढांचा अज्ञेयवादी है, हालांकि यदि कोई विशेष रूपरेखा विशेष रूप से फायदेमंद है, तो मैं इसके बारे में सुनना चाहता हूं।

मान लें कि सभी मानक उपकरण उपयोग में हैं: हाइबरनेट, स्प्रिंग, जेएमएस, आदि। यदि इस काम को करने के लिए समर्थन आधारभूत संरचना को स्टबिंग/मॉकिंग करना आवश्यक है, तो मैं इसके साथ ठीक हूं। असल में, मैं एक विकास वातावरण के साथ ठीक हूं जो हमारे उत्पादन पर्यावरण से बहुत अलग है अगर यह मुझे पर्याप्त समय बचाता है।

उत्तर

2

परिनियोजन तेज़ी से Google App-Engine + GWT (वैकल्पिक) + ग्रहण प्लगइन के साथ प्राप्त हो सकता है।

कभी भी कुछ भी तेज़ नहीं देखा।

+0

क्या आप कक्षा में हर बार अंतर्निर्मित सर्वर को पुनरारंभ नहीं करना चाहते हैं? मैंने जीएई पर एक नज़र डाली है और पाया है कि मुझे यह करना है। जानना अच्छा लगा क्योंकि मैं गलत हो सकता था। – Damo

+1

मेरे उत्तर में मैं केवल abuot परिनियोजन ले रहा हूं - वैसे भी, आपको ऐसा करना होगा (केवल विकास सर्वर को पुनरारंभ करें) यदि आप अपना सर्वर साइड कोड बदलते हैं - GAE + GWT में अधिकांश तर्क क्लाइंट-साइड है तो यह बहुत बड़ा नहीं है एक सौदा। – JohnIdol

1

ऑन रेल्स JRuby। जो भी मंच आप चाहते हैं उस पर विकसित करें, मानक जावा सर्वर पर तैनात करें।

4

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

+4

मुझे काफी नहीं मिल सकता है कि लोगों ने इसे क्यों वोट दिया। यह आपके और आपके वर्कफ़्लो के लिए लागू होता है और यह वास्तव में प्रश्न का उत्तर नहीं देता है। – vladv

2

मेवेन 2 और ग्रहण। एमवीएन ग्रहण: ग्रहण < - शुद्ध उत्कृष्टता। इसके अलावा, ग्रहण के भीतर डब्ल्यूटीपी बहुत अच्छा काम करता है (और मेवेन काम कर रहे डब्ल्यूटीपी परियोजनाओं को उत्पन्न करता है)।

+2

डब्ल्यूटीपी? इसके अलावा, क्या आप सभी असाधारण सामानों के लिंक जोड़ सकते हैं?:) –

2
  • छोटे वेब कंटेनर ओवरलोड किए गए वेबकैंटेनरों से अधिक तेज़ी से लोड हो जाएंगे जिसमें रसोई सिंक (.. खांसी .. jboss) बनाया गया है।
  • कुछ डिज़ाइन निर्णय धीमे बिल्ड समय (उदा। पहलू-बुनाई आधारित टूलकिट समय-समय पर संकलन-बुनाई चरण जोड़ते हैं)।
  • बिल्डिंग घटकों से बचें जिन्हें लंबे समय तक विस्तृत लोड चक्रों के बाद ही परीक्षण किया जा सकता है। कैश यहां एक प्रमुख अपराधी हैं। यदि आपके सिस्टम में हर जगह बिखरे हुए वैश्विक कैश पर गहरी निर्भरता है तो आपको हर बार कुछ परीक्षण करने की आवश्यकता होने पर आपको कैश लोड करने की आवश्यकता होगी।
  • यूनिट-टेस्टेबल घटक, ताकि आप पूरी चीज़ के बजाय टुकड़े चला सकें।

मुझे लगता है कि परियोजनाओं ने कुछ 10 सेकंड में उचित रूप से संकलित, तैनाती और स्टार्टअप बनाया है, जो आमतौर पर ठीक है।

6

जेबीओएसएस अपने सर्वलेट/जेएसपी इंजन के लिए टोमकैट का उपयोग करता है, इसलिए यह धो है।

टोमकैट hot deploy का समर्थन करता है।

जेटी का छोटा छोटा और जल्दी से शुरू होता है, लेकिन यह doesn't support hot deploy है।

ग्रहण केवल एक आईडीई है। इसे किसी प्रकार का सर्वलेट/जेएसपी इंजन चाहिए। यदि यह इंटेलिजे की तरह है, तो आप किसी भी जावा ईई ऐप सर्वर या सर्वलेट/जेएसपी इंजन का उपयोग कर सकते हैं।

इंटेलिज़ बहुत तेज़ हो गया है, और आपको हर बार पुनर्निर्माण करने के लिए सर्वर को रोकना और शुरू करना नहीं है। यह विस्फोटित युद्ध से काम करता है, इसलिए चीजें तेजी से होती हैं।

+3

जेटी पर पुनर्वित्त प्राप्त करने का एक आसान तरीका संदर्भों का उपयोग करना है। फिर आप संदर्भ xml फ़ाइल को स्पर्श करते हैं, और वेब ऐप पुनः लोड किया जाता है। –

+1

उसे नहीं पता था, धन्यवाद। – duffymo

+1

"ContextDeployer का उपयोग जेटी विशिष्ट कॉन्फ़िगरेशन के साथ एक मनमानी संदर्भ या वेब अनुप्रयोग को तैनात करने के लिए किया जा सकता है। स्टार्टअप पर केवल मानक वेब अनुप्रयोगों को स्थिर रूप से तैनात करने के लिए, WebAppDeployer का उपयोग करें।" http://docs.codehaus.org/display/JETTY/ContextDeployer –

2

क्या आपने एक्लिप्स जावा ईई का उपयोग करने का प्रयास किया है और फिर इसे ग्रहण द्वारा प्रबंधित सर्वर पर तैनात करने के लिए कहा है? टोमकैट और जेबीएसएस इस तरह से बहुत अच्छी तरह से काम करता है। आपको विधि में कोड बदलने की अनुमति देता है, Ctrl-S का उपयोग करें और सर्वर के अंदर क्लास को अपडेट किया गया है।

MyEclipse भी इस तरह बहुत अच्छी तरह से काम करता है।

2

GWT ग्रहण में शायद सबसे तेज़ है जो मैं सोच सकता हूं। अपने परीक्षणों के लिए होस्ट किए गए मोड ब्राउज़र का उपयोग करके आप कुछ भी पुनरारंभ किए बिना अपना कोड डीबग और बदल सकते हैं। बस ब्राउज़र में रीफ्रेश बटन पर क्लिक करने की आवश्यकता है और परिवर्तन वहां हैं (जावा, सीएसएस, आदि)। एक और बात यह है कि जीडब्ल्यूटी सामान्य ब्राउज़रों (फ़ायरफ़ॉक्स, आईई, सफारी) को भी यही समर्थन जोड़ रहा है ताकि आप उनके भीतर से उसी तरह से डीबग कर सकें। ये परिवर्तन 2.0 में आ रहे हैं। देखें http://code.google.com/events/io/sessions/GwtPreviewGoogleWebToolkit2.html

3

Jboss Developer Studio साथ Jboss Seam एक साथ गर्म EJBs से अलग सब कुछ की तैनाती के लिए अच्छा है (SLSB, SFSB और संस्थाओं पुनर्वितरित की जरूरत है)।

+0

लगभग दो साल बाद - अब मैं गति के लिए Playframework के साथ जाऊंगा – Damo

1

मुझे लगता है कि लंबे निर्माण तैनाती परीक्षण चक्र से बचने का सबसे अच्छा तरीका आपके कोड के लिए इकाई परीक्षण लिख रहा है। इस तरह आप चरणों को बनाने/तैनात करने के इंतजार किए बिना बग पा सकते हैं।

JSP के लिए आप JBoss काम फ़ोल्डर में सीधे JSP फ़ाइलों को संपादित कर सकते हैं:

> सीडी $ JBOSS_HOME/सर्वर/डिफ़ॉल्ट/tmp
> -name myJspFile.jsp
./tmp/vfs/ लगता है automountd798af2a1b44fc64/Jee6Demo.war-bafecc49fc594b00/myJspFile.jsp

यदि आप tmp फ़ोल्डर में फ़ाइल संपादित करते हैं तो आप ब्राउज़र में रीफ्रेश बटन को मारकर अपने परिवर्तनों का परीक्षण कर सकते हैं।

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