Erot JAXB: n ja XmlBeansin välillä

Anonim

JAXB vs. XmlBeans

JAXB on osa JavaEE-standardia ja viittaa Java-arkkitehtuuriin XML-sitomiseen. Tätä prosessia käytetään XML-asiakirjojen käsittelyyn. JAXB: n käyttö on suositeltavaa, koska se tarjoaa vaihtoehdon XML-dokumenttien käsittelylle Java: ssa välttämättä tarvitsematta ymmärtää XML-tekniikan pieniä yksityiskohtia. JAXB on saatavana JavaEE 5 -yhteensopivissa sovelluksissa avoimen lähdekoodipaketin muodossa. Paketti mahdollistaa datan sitomisen ja helpon lukemisen ja XML-dokumenttien lukemisen Java-ohjelmointikielellä. XMLBeans on toisaalta BEA-järjestelmien kehittämä avoimen lähdekoodin projekti, ja ne tarjoavat samanlaisen toiminnallisuuden JAXB: lle XML-dokumenttien pääsyn mahdollistamiseksi. Hyvä XML-taustatieto on kuitenkin tarpeen, kun käsitellään XMLBeansia. Näiden kahden välillä on kuitenkin eroja, ja niitä käsitellään alla.

erot

Ennen kuin JAXB ja XMLBeans kehitettiin, ainoa tapa, jolla XML voitaisiin käsitellä, oli ohjelmiston analysointi kielen SAX (Simple API for XML) tai DOM (Document Object Model) käytön avulla. JAXP (Java API API-käsittelyyn). Kehittäjän oli luotava koodia, joka kohdistettiin DOM: n tai SAX: n kutsumiseen JAXP: n kautta, jotta koodi voisi analysoida kielen XML-dokumentissa. Skannauksen jälkeen koodi yleensä hajosi koodin erillisiksi kappaleiksi, jotta se voitaisiin asettaa kohdennettujen sovellusten käyttöön.

Tärkein ero JAXB: n ja XMLBeansin välillä on lähestymistapa, joka kumpikin ottaa esimiehen ja XML-asiakirjojen yhdistämisen. XMLBeans käsittelee koko XML-dokumentin ilman Java-muuntamista, koska XML-asiakirjan tietojen eheys on osoitettu kadotuksi. XMLBeansissa on kohdistin, joka skannaa XML-dokumentin läpi. Kohdistimen avulla asiakirjan kaikkia elementtejä voi käyttää myös kaavatietojen tai kommenttien avulla, koska asiakirjan uskollisuus säilyy. XMLBeans tarjoaa myös XQueryn suorittamisen samassa asiakirjassa. Entistä kirjoitettua pääsyn tarjoavat XMLBeans, jolla on melko yleinen käyttötapa, josta tulee API: n heijastus. XMLBeans, kuten aiemmin mainittiin, vaatii suurta tietoa XML: stä ja laajennuksesta SAX: stä tai jopa DOM: sta.

JAXB puolestaan ​​sitoutuu XML-skeemaan. Tämä on seurausta ensimmäisestä JAXB-julkaisusta johtuvaan ongelmaan, koska se ei kyennyt tukemaan kaikkia XML-skeema-ominaisuuksia, jotka pystyvät vain tukemaan DTD: itä (Document Type Definitions). Tämä tarkoitti tosiasiassa, että ensimmäinen julkaisu JAXB ei voinut tarjota luettavia sidoksia. JAXB 2.0 on tehnyt kehityksen käsittelyn melko helppoa, sillä se tarjoaa täyden XML-skeema-tuen, Java-XML-skeeman kartoituksen, siirrettävyyden ja skeemankehityksen. Lisäksi JAXB on ottanut käyttöön joustavan XML-sisällön joustamattomuuden, joka on virheellinen, ja on epäselvää, lopettaako unmarshalling vai ei.

Yhteenveto:

- XMLBeans on parempi, jos haluat parempia XML-ominaisuuksia, esim. XQueries ja suorat XML-asiakirjojen käyttöoikeudet. Sen käyttö tulee muistinhallinnan ja suorituskyvyn kustannuksella.

- JAXB on suositeltava, jos haluat korkeamman suorituskyvyn ja muistinhallinnan, vaikka se ei ole niin perusteellinen kuin XMLBeans.

- JAXB olisi valittava, jos olet yksinkertaisen XML-asiakirjan muuntamisen jälkeen.

- Sitova räätälöinti tapahtuu parhaiten JAXB: ssä verrattuna XMLBeans.

- JAXB tarjoaa tehokkaan muistin käytön toisin kuin XMLBeans, joka on muistiin perustuva prosessi.

- Jos haluat purkaa XML-asiakirjan, JAXB on sinun valintasi, koska XMLBeans joutuu kohtaamaan hankaluuksia. Sitoutumismalleilla voit käyttää ObjectFactory-sovellusta objektin luomiseen ja käyttää määritettyjä menetelmiä sisällön luomisen tuottamiseen.