הבדלים בין JAXB לבין XmlBeans ההבדל בין

Anonim

JAXB לעומת XmlBeans

JAXB הוא חלק אחד בתקני JavaEE והוא מתייחס לארכיטקטורת Java עבור XML Binding. זהו תהליך זה המשמש לעיבוד מסמכי XML. השימוש JAXB הוא העדיף כפי שהוא מציע חלופה לעיבוד מסמכי XML ב- Java ללא בהכרח צורך להבין את כל הפרטים הקטנים של טכנולוגיית ה- XML. JAXB הוא availables ביישומים JavaEE 5 תואם כמו חבילת קוד פתוח. החבילה מאפשרת חיבור נתונים וקלות קריאה וגישה למסמכי XML שנכתבו בשפת התכנות של Java. XMLBeans, לעומת זאת, הוא פרויקט קוד פתוח שפותח על ידי מערכות BEA, ואלה מספקים פונקציונליות דומה ל- JAXB המאפשר גישה למסמכי XML. ידע רקע טוב ב- XML ​​הוא, עם זאת, נדרש בעת התמודדות עם XMLBeans. יש, עם זאת, הבדלים ציין בין שני והם נדונים להלן.

- <->

ההבדלים

לפני הפיתוח של JAXB ו- XMLBeans, הדרך היחידה שבה ניתן לעבד את XML היתה באמצעות שימוש בתוכנה לניתוח שפה SAX (API פשוט עבור XML) או שימוש DOM (Document Object Model), הן ניתוח שפות המסופקות על ידי JAXP (Java API עבור עיבוד API). היזם היה צריך ליצור קוד זה היה ממוקד הפנייה DOM או SAX באמצעות JAXP, כך קוד יכול לנתח את השפה במסמך XML. עם סריקה, הקוד בדרך כלל נשבר את הקוד לחתיכות נפרדות, כך שזה יכול להיות זמין ליישומים ממוקדים.

ההבדל העיקרי שנצבע בין JAXB לבין XMLBeans הוא הגישה שכל אחד לוקח ב marshalling ואת unerarshalling של מסמכי XML. XMLBeans מעבדת את כל מסמך XML מבלי לעבור המרה Java כמו שלמות הנתונים של מסמך XML הוכח להיות אבוד. XMLBeans יש הסמן שנוצר כי סורק באמצעות מסמך XML. עם הסמן, כל אלמנט של המסמך ניתן לגשת כולל מידע סכימה או הערות, כמו נאמנות של המסמך נשמר. XMLBeans גם מספק עבור ביצוע XQuery בתוך אותו מסמך. גישה מודפסת נוספת מסופק על ידי XMLBeans עם סוג גישה גנריות למדי אשר הופך השתקפות של ה- API. XMLBeans, כפי שצוין לעיל, דורש ידע נרחב של XML, על ידי, גם, SAX או אפילו DOM.

JAXB, לעומת זאת, קשורה לסכימת XML. זה בעקבות בעיה שהתעוררה עם שחרורו הראשון JAXB כפי שהוא היה מסוגל לתמוך בכל תכונות סכימה XML להיות מסוגל לתמוך רק DTD (הגדרות סוג מסמך). זה, למעשה, התכוון כי המהדורה הראשונה של JAXB לא יכול לספק כריכות קריא.JAXB 2. 0 עשה עיבוד הפיתוח די קל כפי שהוא מספק תמיכה מלאה XML סכימה, Java ל XML מיפוי סכימה, ניידות, ואת האבולוציה סכימה. יתר על כן, JAXB הציגה את ההתייחסות הגמישה של תוכן XML שאינו חוקי, והיא מתלבטת אם לסיים או לא.

תקציר:

- XMLBeans עדיף אם אתה מעדיף תכונות XML חזקות יותר ה. ז. XQueries וגישה ישירה למסמך XML. השימוש בו מגיע על חשבון ניהול זיכרון וביצועים.

- JAXB הוא העדיף אם אתה רוצה ביצועים גבוהים יותר וניהול זיכרון, למרות שזה לא יסודי כמו XMLBeans.

- JAXB צריך להיבחר אם אתה אחרי המרה פשוטה מסמך XML.

- התאמה אישית מחייב מתרחשת הכי טוב ב- JAXB לעומת XMLBeans.

- JAXB מציעה שימוש יעיל בזיכרון בניגוד לשימוש ב- XMLBeans שהוא תהליך תלוי-זיכרון.

- אם אתה רוצה unmarshal מסמך XML, JAXB היא הבחירה שלך כמו XMLBeans קשיים קשיים unemarshalling. על סכימה מחייב, אתה יכול להעסיק את השימוש ObjectFactory ליצירת אובייקט ולהשתמש שיטות להגדיר את הדור של יצירת תוכן.