2009-07-18 16 views
6

मेरे पास एक प्रोजेक्ट है जिसमें मेरा क्लाइंट मुझे पोर्टल 1.0 spec और Websphere पोर्टल सर्वर 6.0 का उपयोग करने के लिए कह रहा है। मैंने पहले पोर्टल के साथ काम नहीं किया है, लेकिन मैंने उनके बारे में जो सुना है वह हमेशा खराब आलोचनाएं रही है। इनका उपयोग करने के स्पष्ट कारणों के अलावा क्या कारण हैं? यदि कारण नहीं हैं, तो उनसे बचने के लिए मैं किस तर्क का उपयोग कर सकता हूं?जावा पोर्टलेट के पेशेवरों और विपक्ष?

उत्तर

5

मैं portlets साथ समस्याओं मुझे EJBs-

रूप में एक ही समस्याओं की याद दिलाना
  • portlets आप की आवश्यकता विशेष कोड है कि केवल होस्ट किया जा सकता लिख ​​सकते हैं और एक विशेष सर्वर में चलाने के लिए;
  • हर portlet सर्वर विक्रेता कस्टम एक्सटेंशन/विन्यास/अतिरिक्त क्षमताओं तो यह सर्वर विक्रेताओं को बदलने के लिए तुच्छ नहीं है है;

      -
    • portlets ज्यादा कार्यक्षमता है कि यह उपयोग करने के लिए इच्छुक लोगों के 90% के रूप में हाइबरनेट के portlet के लिए EJB की जरूरत नहीं है

    मैं Google Gadgets की तरह कुछ सुझाव देंगे कवर करने के लिए जटिल होने लगते हैं

  • जावास्क्रिप्ट ढांचे - किसी भी सर्वर पर होस्ट की गई किसी भी भाषा में सर्वर-साइड टुकड़े लिखे जा सकते हैं।
  • सरल पोर्टल सर्वर की
  • बहुत उपयोग करने के लिए इसे समर्थन है, और यह विक्रेताओं भर में अधिक पोर्टेबल है, यह नहीं के रूप में जटिल है, क्योंकि, और यह एक कल्पना विक्रेताओं को लागू करने के लिए नहीं है (और विस्तार)
+0

+1 - बहुत अच्छा जवाब। – duffymo

3

पोर्टेलेट लचीलेपन के वादे के कारण व्यवसाय के लिए आकर्षक हैं, आप ग्राहकों को पृष्ठ पर घटकों को ट्विक और पुनर्व्यवस्थित करने की अनुमति देते हैं, और यदि आप मुख्य रूप से सामग्री की सेवा कर रहे हैं तो वे ऐसा करने का एक प्रभावी माध्यम हैं।

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

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

आपको यूआई की लचीलापन पर भी विचार करने की आवश्यकता है। यदि आपके पास पोर्टलेट बिल्डिंग ब्लॉक का एक सेट है तो आपके व्यवसाय को यह स्पष्ट करने की आवश्यकता है कि वे उन ब्लॉकों को पुनर्व्यवस्थित कर सकते हैं, लेकिन पोर्टलों के बीच वस्तुओं को ले जाने में पुनः लिखना शामिल है। उदाहरण के लिए पृष्ठ के निचले हिस्से में एक पोर्टलेट से सबमिट बटन को स्थानांतरित करना छोटा नहीं है।

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

+0

+1, हम आपके द्वारा यहां वर्णित एक ही समस्या का सामना करते हैं – Chris

9

किसी के रूप में जो जावा पोर्टलों के विकास में कई नौकरियां हैं (मेरे वर्तमान सहित), मैं कहूंगा कि उनका उपयोग न करें।

तुम सिर्फ पोर्टल के पूर्व मौजूदा कार्यक्षमता आप चयन कर रहे हैं का उपयोग करना चाहता है, तो एक पोर्टल का उपयोग करें:

यहाँ समस्या है।

यदि आपके पोर्टलेट का उपयोग केवल एक छोटा, हल्का, मुख्य रूप से केवल पढ़ने-योग्य वेब-आधारित डैशबोर्ड बनाने के लिए है जहां आप जल्दी से अलग जानकारी देख सकते हैं, तो यह ठीक है।

लेकिन यदि आप (या अधिक संभावना है कि कोई संगठन चार्ट पर अधिक हो) तो पोर्टलों को एक पृष्ठ पर विभिन्न वेब ऐप्स का एक गुच्छा लगाने के तरीके के रूप में सोचता है और यह सब "बस काम करता है", तो आप इसके लिए नेतृत्व कर रहे हैं चोट की दुनिया पोर्टल अत्यधिक प्रतिबंधित, कार्यक्षमता के स्वयं निहित द्वीप हैं, न कि पृष्ठ पर छोटे वर्गों में वेब ऐप्स।

मेरी पोर्टल-आधारित नौकरियों में से प्रत्येक ने यह गलती की है, और सुरंग के अंत में कोई प्रकाश नहीं है। एक portlet डेवलपर के रूप में, यहाँ चीजें आप नियमित रूप से वेब एप्लिकेशन में करने के लिए इस्तेमाल कर रहे हैं की एक छोटी सूची है, कि तुम मज़बूती से portlets में ऐसा नहीं कर सकते:

  • अन्य पृष्ठों पर यूआरएल उत्पन्न करें। ऐसा करने के लिए आपको एक विक्रेता-विशिष्ट तरीका की आवश्यकता होगी, क्योंकि पोर्टलेट एपीआई केवल आपको उन यूआरएल उत्पन्न करने की अनुमति देता है जो उन्हें उत्पन्न पोर्टलेट को लक्षित करते हैं।
  • पढ़ें और HTTP हेडर सेट या HTTP प्रतिक्रिया कोड सेट (ताकि कोई भी रीडायरेक्ट या HTTPS संचय, जब से तुम पेज अपने portlet पर रखा जाएगा के स्वामी नहीं हैं)
  • उत्पन्न पेज में सभी पहचानकर्ता नाम स्थान के लिए होने। इसका मतलब HTML आईडी विशेषताएँ और जावास्क्रिप्ट फ़ंक्शन नाम हैं। चूंकि नामस्थान को विशिष्टता सुनिश्चित करने के लिए रनटाइम पर निर्धारित किया जाना है, इसलिए आप इन जावास्क्रिप्ट फ़ंक्शंस को एक अलग ब्राउज़र-कैच करने योग्य फ़ाइल में नहीं रख सकते हैं जो उन्हें आपके पोर्टलेट के लिए प्रतिक्रिया निकाय में होना चाहिए।

पोर्टल महसूस करते हैं कि उन्हें वेब विकास की स्थिति के लिए डिज़ाइन किया गया था क्योंकि यह 90 के दशक के उत्तरार्ध (पूर्व-AJAX) के मध्य में था। लेकिन वे आज के वेब विकास वातावरण (AJAX, सिंगल पेज समृद्ध वेब ऐप्स इत्यादि) के लिए उपयुक्त हैं जो मानते हैं कि आपके पास अनुरोध/प्रतिक्रिया चक्र का पूरा नियंत्रण है।

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