JAXB คือ ?
Java Architecture for XML Binding หรือ JAXB ช่วยให้การผูกกันระหว่าง XML schemas และ Java representations
เป็นไปได้อย่างรวดเร็วและสะดวกม
ากขึ้น โดยที่มีการสร้างที่ง่ายเพื่อให้เหล่านักพัฒนา Java สามารถรวมเอาข้อมูล XML และกระบวนการทำงานของฟังก์ชั่นต่างๆใน Java application เอาไว้เข้าด้วยกัน ในส่วนหนึ่งของกระบวนการนี้ JAXB จะมี methods สำหรับการทำ unmarshalling ของเอกสารตัวอย่างของ XML ไปเป็น Java content trees และ สามารถทำการ marshalling จาก Java content tress กลับไปเป็น เอกสารตัวอย่างของ XML ได้ นอกจากนี้แล้ว
JAXB ยังสามารถช่วยในการสร้าง XML schema จาก object ของ Java ได้
JAXB Architecture

ในส่วนของ Architecture ประกอบด้วยองค์ประกอบต่อไปนี้
· Schema compiler : เป็นการผูกระหว่าง schema
กับกลุ่มของ schema ที่ได้มาจากองค์ประกอบของโปรแกรม โดยที่การผูกกันจะถูกอธิบายโดยการใช้ภาษา XML-based blinding language
· Schema generator : เป็นกลุ่มขององค์ประกอบของโปรแกรมที่มีอยู่รวมไปถึง schema ที่ได้มา โดยมีการ mapping
เป็นการอธิบายแบบมีการเขียนบันทึกย่อๆของโปรแกรม
· Binding runtime framework : ในส่วนนี้จะช่วยให้การ unmarshalling (การอ่าน) และ marshalling (การเขียน) การดำเนินการสำหรับการเข้าถึง การจัดการ และการตรวจสอบเนื้อหาของ XML ที่มี โดยใช้ทั้งschema ที่ได้รับมา หรือ ส่วนประกอบของ program ที่มีอยู่
The JAXB Binding Process

กระบวนการในการทำ JAXB data binding process คือ
1. Generate classes : โดยเริ่มจากทำนำ XML schema
ที่จะใช้ ใส่ไปยังตัว JAXB binding compiler เพื่อทำการสร้าง JAXB classes ตาม schema นั้นๆ
2. Compile classes : classes ต่างๆที่ถูกสร้างขึ้นมา ไฟล์ source และ application code ทั้งหมดจะต้องถูก compile
3. Unmarshal : เอกสาร XML ที่เขียนเป็นไปตามข้อจำกัด ในส่วนของ source schema
เป็น unmarshalled โดยการทำ JAXB binding framework สังเกตว่า JAXB จะรวมถึงการสนับสนุนการทำ unmarshalling ของข้อมูล XML จาก source อื่นๆที่นอกเหนือจาก file หรือ document ยกตัวอย่างเช่น DOM nodes, String buffers, SAX Source เป็นต้น
4. Generate content tree : กระบวนการทำ unmarshalling ในการสร้าง content tree
ของข้อมูล object จากการสร้างของ JAXB classes ใน content tree นี้จะแสดงให้เห็นถึงโครงสร้างและ content ของ source XML document
5. Validate (optional) : ในกระบวนการ unmarshalling จะมีตัวเลือกที่เกี่ยวข้องกับการตรวจสอบของ source XML document ก่อนจะมีการสร้างในส่วนของ content tree สังเกตว่า ถ้าคุณมีการเปลี่ยนแปลง content tree ในขั้นตอนที่ 6 คุณจะสามารถใช้การดำเนินงานของ JAXB Validate ในการ ตรวจสอบในส่วนที่มีการเปลี่ยนแปลงก่อนการทำ marshalling กับเนื้อหา กลับไปเป็น XML document
7. Marshal เป็นกระบวนการที่ content tree จะทำการ marshaled ออกไปเป็น XML
Binding XML Schemas
ส่วนนี้จะอธิบายการ Binding ระหว่าง XML กับ Java โดยใช้ JAXB ทั้งหมดของการ Binding สามารถเขียนทับได้ทั้งหมดหรือสามารถใช้ได้ตามกรณีนั้นๆตามความหมายของการประกาศการbindingที่กำหนดเอง
Default DataType Bindings
ในส่วนนี้จะจะเป็นการอธิบายการแปลง schemaไปเป็นJAVA, JAXBElement, และJAVA ไปเป็นschema ยกตัวอย่างเช่น
Schema-to-JavaMapping

Java-to-Schema Mapping

ไม่มีความคิดเห็น:
แสดงความคิดเห็น