2010-10-11 7 views
68

मैं Jackrabbit और ModeShape जैसे सामग्री भंडारों (JSR283) का मूल्यांकन करने की कोशिश कर रहा हूं लेकिन मुझे यह स्वीकार करना होगा कि मुझे समझ में नहीं आता कि पहली समस्या में समस्या क्या हल हो रही है और यहां तक ​​कि यदि यह परियोजना के लिए एक अच्छी पसंद है। आवेदन करने का सबसे अच्छा समाधान आपको कौन सा मामला लगता है? आकार के अलावा, संबंधपरक डेटाबेस के समान नहीं है? क्यूं कर? वास्तविक दुनिया के उदाहरणों को इंगित करने के लिए अतिरिक्त अंक।अन्य विकल्पों पर जेसीआर (सामग्री भंडार) का उपयोग कब करें?

अग्रिम धन्यवाद।

+8

मुझे संदेह है कि मैं अकेला हूं जो जानना पसंद करता है कि कौन सी चीजें हैं और यह क्या करती है और जब मैं इसका उपयोग करना चाहूंगा, बस अगर मैं ऐसी समस्या में भाग लेता हूं जो इसके लिए उपयुक्त होगा । – cHao

+0

यह उपयोगी होगा अगर किसी ने समझाया कि एक सामग्री भंडार निर्देशिका सेवा (एलडीएपी) से अलग कैसे है। यह कैसे एक NoSQL डेटाबेस से अलग है के बारे में क्या? – Ryan

उत्तर

79

JCR खजाने, RDBMSes से अलग हैं, क्योंकि एक JCR भंडार:

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

आप निश्चित रूप से अपने खुद के आवेदन में सभी या इन सुविधाओं में से कुछ का निर्माण कर सकते हैं, लेकिन यह समर्थन करता है से बाहर संभवतः आपके ऐप के मुख्य उद्देश्य से आगे हो जाता है।

इन सुविधाओं से किस प्रकार के एप्लिकेशन लाभान्वित हो सकते हैं? कंटेंट मैनेजमेंट सिस्टम ने लंबे समय तक रिपॉजिटरीज का इस्तेमाल किया है, और जेसीआर (और जैकबैबिट) वास्तव में विभिन्न सामग्री भंडारों तक पहुंचने के लिए एक सामान्य, मानक एपीआई की आवश्यकता से बाहर निकल गया है (देखें JSR-170 और JSR-283)।

एक और उदाहरण दस्तावेज़ प्रबंधन प्रणाली है, जो इलेक्ट्रॉनिक फाइलों का प्रबंधन करता है (जो अक्सर कागजात दस्तावेजों की छवियां हैं) और खोज और क्वेरी प्रदान करते हैं। डीएमएस ने कुछ समय के लिए भंडार का उपयोग किया है।

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

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

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

अधिक जानकारी और उदाहरणों के साथ जेसीआर के कई अच्छे अवलोकन हैं। इनमें से कुछ हैं: टाइटस बारिक(अब उपलब्ध नहीं)

  • Introduction to JCR द्वारा

  • +0

    टाइटस बरिक द्वारा जावा सामग्री रिपोजिटरी एपीआई का परिचय <- लिंक टूटा हुआ है। –

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