2010-11-11 9 views
9

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

+1

अच्छा सवाल, ये जे 2 ईई/जेईई साम्राज्य में पाए जाने वाले दुर्लभ जानवरों में से कुछ हैं - विषय पर पुस्तकों की तलाश करने का प्रयास करें: | –

उत्तर

10

मैंने जेसीए कनेक्टर को सभी प्रकार के एंड सिस्टम (एफ़टीपी, एसएफटीपी, फाइल, वित्तीय सिस्टम) के लिए लिखा है।

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

तो JCA असली काम में आता है कि यह एक वर्दी प्रोग्रामिंग मॉडल प्रदान करता है और (अनुप्रयोग सर्वर जो आप transactionality के साथ मदद, पूलिंग आदि

पहुंचने के लिए बहुत महंगा व्यापार युक्त FTP फ़ाइल चाहते हैं द्वारा नियंत्रित किया जा सकता है transactionally गारंटी)? जेसीए एक ऐसी तकनीक है जिसका उपयोग आप इससे निपटने के लिए कर सकते हैं।

< ज़बरदस्त प्लग > मैं जोड़ देंगे कि मैं वर्तमान में Ikasan कहा जाता है एक ओपन सोर्स प्रोजेक्ट जो मुक्त JCA कनेक्टर्स </ज़बरदस्त प्लग > रूप में इस तरह खच्चर और स्प्रिंग एकता के रूप में कई अन्य परियोजनाओं करना है पर काम करते हैं। इसलिए अक्सर औसत डेवलपर को अपना खुद का लिखना नहीं पड़ता है।

+0

क्या आप 1 पर अधिक समझा सकते हैं) उदाहरण के रूप में सॉकेट कॉल का उपयोग करते हुए जेसीए एडाप्टर लिखते समय हमें जो दृष्टिकोण लेना है 2) कोड के भीतर से सॉकेट कॉल करने से एडाप्टर के भीतर सॉकेट कॉल करने का कारण क्या है 3) लेनदेन में सॉकेट कॉल कैसे शामिल हो सकता है? कॉल रिसीवर को लेनदेन को सही तरीके से प्रचारित करने का कोई तरीका नहीं है? क्या आप इस परिदृश्य में लेनदेन अर्थशास्त्र के बारे में और बता सकते हैं? –

+1

@Pangea - यह एक गहरा विषय है, लेकिन संक्षेप में: 1) यह इस बात पर निर्भर करता है कि आप एक इनबाउंड कनेक्टर या आउटबाउंड कनेक्टर लिख रहे हैं (आप इसके बारे में पढ़ना चाहेंगे)। 2) जेसीए एडाप्टर रखना अच्छा है क्योंकि यह आपके मूल व्यापार तर्क से कनेक्शन पहलुओं को अलग करता है, एडाप्टर (आमतौर पर आरएआर के रूप में बंडल किया जाता है) सॉकेट हैंडलिंग, कनेक्शन पूलिंग, लेनदेन का प्रसार और बहुत कुछ (एक पढ़ना है ओरेकल साइट पर जेसीए)। 3) 1 देखें), कभी-कभी लेनदेन को प्रसारित करना संभव होता है कि आपका लेनदेन प्रबंधक शुरू होता है या उनका लेनदेन प्रबंधक शुरू होता है। –

+1

मैं टिप्पणी स्थान से बाहर भाग गया लेकिन जारी रखने के लिए 3)। एक डेटाबेस कनेक्शन/लेनदेन कैसे काम करता है इसके बारे में सोचें - यह वही सिद्धांत है। ऐप सर्वर लेनदेन शुरू कर सकता है जो डाटाबेस कनेक्टर के माध्यम से डेटाबेस को प्रसारित करता है। हां, अधिकांश डेटाबेस कनेक्टिविटी वास्तव में हुड के तहत जेसीए के रूप में लिखी जाती है :-) –

2

जेसीए जे 2 ईई कनेक्टर आर्किटेक्चर के लिए खड़ा है, यह बाहरी दुनिया के साथ जे 2 ईई अनुप्रयोग सर्वर पर चलने वाले घटकों को जोड़ने के साधन प्रदान करता है, कई मौजूदा विषम प्रणालियों।

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

यदि आप ईआईएस सिस्टम विक्रेता हैं, तो यह ठीक है, क्योंकि आप चाहते हैं कि सिस्टम को जे 2 ईई सर्वर में एक्सेस किया जाए।

यदि आप एक एप्लिकेशन डेवलपर हैं, तो आपको जेसीए की भी आवश्यकता हो सकती है, क्योंकि आपको अपने आवेदन में जेसीए संसाधन एडाप्टर के बिना अन्य सिस्टम तक पहुंच की आवश्यकता हो सकती है, बस संसाधन एडाप्टर को अपने लिए लिखें।

2

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

अब एक जेसीए संगत कनेक्टर लिखना है या नहीं, वास्तव में आपके अनुप्रयोगों की आवश्यकताओं पर निर्भर करता है।

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

+0

मेरे पास एक घटक है जो एक टीसीपी/आईपी अनुप्रयोग से बात करता है। यह ऑब्जेक्ट्स इनपुट के रूप में लेता है और उन्हें निश्चित बाइट स्ट्रिंग में अनुवाद करता है, इसे टीसीपी/आईपी ऐप पर भेजता है, प्रतिक्रिया प्राप्त करता है और फिर respj को obj ग्राफ में बदल देता है। वर्तमान में मेरी समस्या यह है कि जब भी यह घटक बदलता है, मुझे अपने आवेदन को दोबारा पैकेज करना पड़ता है क्योंकि हम इसके साथ घटक को बंडल करते हैं। क्या यह घटक जेसीए एडाप्टर के रूप में तैनात करने के लिए समझ में आता है? इस तरह से मैं एडाप्टर को फिर से तैनात कर सकता हूं और अपना एप्लिकेशन पुनरारंभ कर सकता हूं। पुनः पैकेजिंग की कोई ज़रूरत नहीं है। क्या यह काम करता है? शुरुआत में मैंने ओएसजीआई के बारे में सोचा ताकि मैं इनस्थल अपडेट कर सकूं। –

+0

लेकिन यह विरासत घटक ओएसजीआई अनुपालन करना अतिरिक्त काम है और ऐसा लगता है कि हमारे पास बिल्ड सिस्टम जैसे ओजीआई को पता नहीं है, इसलिए हम जो चाहते हैं उससे अधिक काम करते हैं। –

+0

मुझे लगता है कि एडेप्टर को एकीकरण बिंदु पर ध्यान केंद्रित करना बेहतर होगा, जो हैंडशेक तंत्र और पढ़ने/लिखने के बाइट्स से/टीसीपी/आईपी सॉकेट में और अपने आवेदन को बाकी करने दें। ओरेकल में एक सॉकेट जेसीए एडाप्टर है जिसे आप @ref देखना चाहते हैं। http://docs.oracle.com/cd/E21764_01/integration.1111/e10231/adptr_sock.htm#BABGEIBH –