जेएक्सएबी आणि एक्सएमएलबीईन्समधील फरक

Anonim

JAXB वि XmlBeans

JAXB जावाई मानकां पैकी एक भाग आहे आणि XML बाइंडिंगसाठी जावा आर्किटेक्चरसाठी आहे. ही प्रक्रिया आहे जी XML दस्तऐवजांच्या प्रक्रियेसाठी वापरली जाते. JAXB चा वापर प्राधान्य दिलेला आहे कारण तो एक्सएमएल तंत्रज्ञानाच्या सर्व लहान तपशीलांना समजावून घेण्याशिवाय Java मधील XML दस्तऐवजांच्या प्रक्रियेसाठी पर्याय प्रदान करतो. JAXB एक मुक्त स्रोत संकुल म्हणून JavaEE 5 आज्ञाधारक अनुप्रयोगांमध्ये उपलब्ध आहे. हे पॅकेज डेटा प्रोग्रामिंग आणि जावा प्रोग्रामींग भाषेमध्ये लिहीलेल्या XML दस्तऐवजांचे वाचन व प्रवेश सहजतेने करण्यास मदत करते. दुसरीकडे, XMLBeans, बी.ई.ए. तंत्रज्ञानाद्वारे विकसित एक मुक्त-स्रोत प्रकल्प आहे आणि ते एक्सएमएल दस्तऐवजांना प्रवेश करण्यास परवानगी देण्यासाठी JAXB ला समान कार्यक्षमता प्रदान करतात. XMLBeans शी व्यवहार करताना त्यास एक्सएमएलमध्ये चांगला पार्श्वभूमी ज्ञान आवश्यक आहे. तथापि, दोन्ही मधील मतभेद फरक आहेत आणि ते खाली चर्चा करण्यात आले आहेत.

फरक

JAXB आणि XMLBeans च्या विकासापूर्वी, एक्सएमएलवर प्रक्रिया केली जाऊ शकणारी एकमेव पद्धत सॉफ्टवेयर विश्लेषण प्रणाली SAX (XML साठी सिंपल API) किंवा वापरण्याद्वारे DOM (डॉक्युमेंट ऑब्जेक्ट मॉडल), दोन्ही जेएएएसपी (एपीआय प्रोसेसिंगसाठी जावा एपीआय) द्वारे पुरविलेल्या भाषांचा विश्लेषण करते. डेव्हलपरला कोड तयार करायचा होता जे DOM किंवा SAX ला JAXP द्वारे वापरण्यावर लक्ष्यित केले गेले जेणेकरून कोड XML दस्तऐवजात भाषेचे विश्लेषण करू शकेल. स्कॅनिंगच्या वेळी, कोडने कोडला वेगळ्या तुकड्यात मोडून टाकले जेणेकरुन ते लक्ष्यित ऍप्लिकेशन्सवर उपलब्ध करुन देता येईल.

जेएएएसबी आणि एक्सएमबीबींसमध्ये जे मुख्य फरक आहे ते म्हणजे प्रत्येक प्रकारचे मार्शलिंग आणि एक्सएमएल दस्तऐवजांचे विवेचन करणे. XMLBeans संपूर्ण XML दस्तऐवजीकरणास जावा रूपांतरित न करता प्रक्रिया करते कारण XML दस्तऐवजाची डेटा एकाग्रता गमावली जाऊ शकते. XMLBeans चे तयार केलेले एक कर्सर आहे जे XML दस्तऐवजाद्वारे स्कॅन करते. कर्सराने, स्कीमा माहिती किंवा टिप्पणीसह दस्तऐवजाचा कोणताही घटक ऍक्सेस केला जाऊ शकतो, कारण कागदपत्रांची विश्वासार्हता कायम राखली जाते. XMLBeans देखील त्याच दस्तऐवजात XQuery अंमलबजावणी प्रदान करते. पुढील टाईप प्रवेश XMLBeans द्वारे एक ऐवजी सामान्य प्रवेश प्रकार जे API ची एक प्रतिबिंब बनते सह पुरविले जाते XMLBeans, पूर्वी नमूद केल्याप्रमाणे, एक्स एम एल चे विशाल ज्ञान आणि, विस्ताराने, SAX किंवा DOM ने देखील आवश्यक आहे.

दुसरीकडे, JAXB एक्सएमएल स्कीमासह बांधलेली आहे. हे पहिल्या JAXB रीलिझसह उठलेल्या समस्येचे अनुसरण करते कारण सर्व XML स्कीमा वैशिष्ट्यांचे समर्थन करणे केवळ DTD (दस्तऐवज प्रकार परिभाषा) चे समर्थन करण्यास सक्षम होते. याचा परिणाम म्हणजे, JAXB चे प्रथम प्रकाशन वाचनीय बांधणीसाठी प्रदान करू शकत नाही.JAXB 2. 0 ने विकास प्रक्रियेला खूपच सोपे केले आहे कारण ते संपूर्ण एक्स एम एल स्कीमा समर्थन, जावा ते एक्सएमएल स्कीमा मॅपिंग, पोर्टेबिलिटी आणि स्कीमा उत्क्रांती प्रदान करते. पुढे, जेएएएसबीने एक्सएमएल सामग्रीचे लवचिक एकीकरण सुरू केले आहे जे अवैध आहे आणि अनिर्णीत आहे की नाही ते रद्द करावे की नाही किंवा नाही

सारांश:

- जर आपण अधिक मजबूत XML वैशिष्ट्ये ई आणि प्राधान्य दिले तर XMLBeans चांगले आहे. जी एक्स क्वेरीज आणि थेट XML दस्तऐवज प्रवेश. त्याचा उपयोग मेमरी व्यवस्थापन आणि कामगिरीच्या खर्चात येतो.

- आपण उच्च कार्यप्रदर्शन आणि मेमरी व्यवस्थापन हवे असल्यास JAXB ला प्राधान्य दिले जाते, जरी हे XMLBeans म्हणून पूर्णपणे नाही

- आपण एक साधे XML दस्तऐवज रूपांतर झाल्यानंतर JAXB निवडले पाहिजे.

- XMLBeans च्या विरोधात JAXB मध्ये बाइंडिंग कस्टमायझेशन सर्वोत्कृष्ट दिसून येते

- XMLBeans च्या वापरास विरोध म्हणून जेएएएसबी कार्यक्षम मेमरी वापरास देते जे मेमरी-निर्भर प्रक्रिया आहे. < - जर तुम्हाला एक्स एम एल दस्ताएवजाचा मसुदा मांडायचा असेल तर जेएएएसबी आपली निवड आहे कारण एक्सएमबीएन्सच्या अपवादात्मक अडचणी येतात. बंधनकारक स्कीमावर, आपण ऑब्जेक्टफॅक्चरचा वापर ऑब्जेक्ट निर्मितीसाठी आणि कंटेंट निर्मितीच्या निर्मितीसाठी सेट पद्धतींवर करू शकता. <