2008-09-07 15 views
5

हमारे पास कुछ ऐसी परियोजनाएं हैं जिनमें 50% कस्टम कार्यक्षमता से बना एक एप्लिकेशन बनाना शामिल है, लेकिन फिर एक विकी, एक मंच, और अन्य घटकों को खींचता है वे "पहियों" हैं जिनका पहले ही आविष्कार किया गया है कि हम खरोंच से फिर से लिखना नहीं चाहते हैं।आपके ऐप में तीसरे पक्ष के मॉड्यूल को एकीकृत करने के लिए सर्वोत्तम अभ्यास

इन तृतीय-पक्ष अनुप्रयोगों में आमतौर पर अपने स्वयं के डेटाबेस, थीम और प्रमाणीकरण सिस्टम होते हैं। चीजों को एकल-साइन-ऑन, या एक सामान्य थीम, या कई उप-ऐप्स में टैगिंग/खोजों में खोजना, मेरे अनुभव में बहुत ही चुनौतीपूर्ण समस्याएं हैं। इस तरह के एकीकरण परियोजना के लिए कुछ सर्वोत्तम प्रथाएं क्या हैं?

हमारा दृष्टिकोण, अब तक, आपके घटकों को ध्यान से चुनने और चुनने के लिए किया गया है, जो स्पष्ट रूप से परिभाषित एपीआई चुनते हैं, अधिमानतः HTTP (जैसे आरईएसटी या एसओएपी) के माध्यम से, हालांकि यह हमेशा संभव नहीं होता है (हम ' टी एक सभ्य मंच पाया जो उस तरह से काम करता है)। क्या कोई सुझाव देने वाले लोगों को सुझाव मिल सकते हैं, क्योंकि मुझे संदेह है कि हम में से कई लोग इन दिनों अधिक से अधिक बार होते हैं?

+0

विशेष रूप से, मैं कोशिश करने, टालने या देखने के लिए चीजों की एक सूची ढूंढ रहा हूं। –

उत्तर

1

सुनिश्चित करें कि आपके एप्लिकेशन और तृतीय-पक्ष एप्लिकेशन या लाइब्रेरी के बीच का इंटरफ़ेस ऐसा है कि आप इसे किसी अन्य चीज़ के साथ आसानी से बदल सकते हैं। कुछ मामलों में तीसरे पक्ष के सॉफ्टवेयर सिर्फ एक मानक एपीआई का कार्यान्वयन हो सकता है (जावा यह जेडीबीसी, जेएमएस, जेएनडीआई, के साथ बहुत कुछ करता है ...)। अन्य मामलों में इसका मतलब है कि आप कुछ एपीआई में तीसरे पक्ष की लाइब्रेरी को लपेटते हैं।

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

0

डोनाल्ड Knuth ने कहा कि फिर भी बेहतर पुन: प्रयोज्य कोड संशोधित कोड है, इसलिए यदि कोई एपीआई नहीं है, तो आपको एक ओपन सोर्स ऐप की तलाश करनी चाहिए जो अच्छी तरह लिखा गया है और इसलिए अनुकूलित करना संभव है।

डेटाबेस और लॉगिन सिस्टम और अन्य प्रोग्रामिंग भागों के रूप में (मुझे नहीं लगता कि कैसे उपयोग करना फायदेमंद हो सकता है), आप परिस्थितियों को लपेटने वाली परिस्थितियों के आधार पर भी कोशिश कर सकते हैं ताकि मॉड्यूल का मानना ​​है कि यह अपने आप पर है, लेकिन वास्तव में बात करता है तुम्हारा कोड।

1

यदि आप ओपन सोर्स लाइब्रेरीज़ के साथ जा रहे हैं, तो अच्छे लाइसेंस वाले लोगों को चुनें। मुझे मुश्किल तरीका पता चला है (जब एक आवेदन OEM की कोशिश कर रहा है) कि कई कंपनियां एलजीपीएल जैसे लाइसेंस से दूर रहती हैं। मैं इस बारे में विवरण में नहीं जाऊंगा कि वे अपाचे, बीएसडी या एमआईटी स्टाइल लाइसेंस क्यों पसंद करते हैं।

कुछ समय के लिए आसपास के उपकरण चुनें। समुदाय देखें और सुनिश्चित करें कि यह सक्रिय है। देखें कि अन्य लोग क्या उपयोग कर रहे हैं और उन उपकरणों का उपयोग करें।

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

मानकों पर आधारित तकनीकों को चुनें। इस तरह यदि पुस्तकालय या उपकरण मर जाता है, तो आप आसानी से दूसरे मानक पर स्विच कर सकते हैं जो समान मानक का उपयोग करता है।

0

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

यह दृष्टिकोण मुझे अपने एप्लिकेशन की कस्टम कार्यक्षमता पर ध्यान केंद्रित करने की अनुमति देता है, इस बारे में चिंता किए बिना कि मैं डेटाबेस तक कैसे पहुंचूं या मैं एक संपादन योग्य ट्रेलिस्ट कैसे बना सकता हूं जो सुंदर दिखता है। सुनिश्चित करें कि मैं एक पूरी तरह से विन्यस्त और काम कर रहे मंच नहीं है, लेकिन मुझे पता है कि मैं अपने अनुप्रयोग के लिए एक SQL डेटाबेस का उपयोग किया जाएगा और मैं कोशिश करते हैं और एक साथ काम करने के लिए विभिन्न डेटा भंडारण के घटकों को नहीं होगा। मैं एक विकी की जरूरत नहीं है, लेकिन मैं कैसे DevExpress UI घटक का उपयोग करने और स्वरूपण और मान्य डेटा प्रविष्टि पीटर ब्लम के नियंत्रण के साथ हवा है। दूसरे शब्दों में, उपकरण सीखें (और निश्चित रूप से उन्हें सावधानीपूर्वक चुनें) जो आपकी सभी परियोजनाओं के विकास को गति देगा, फिर आप अपने आवेदन के उन हिस्सों पर ध्यान केंद्रित कर सकते हैं जिन्हें अनुकूलित किया जाना है।

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

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

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