JAXB vs. XmlBeans
JAXB on osa JavaEE-standardeja ja viittaa Java-arkkitehtuuriin XML-sidontaa varten. Juuri tätä prosessia käytetään XML-asiakirjojen käsittelyyn. JAXB: n käyttö on suositeltavaa, koska se tarjoaa vaihtoehdon XML-asiakirjojen käsittelemiselle Javassa ilman, että sinun on välttämättä ymmärrettävä kaikkia XML-tekniikan pieniä yksityiskohtia. JAXB on saatavana JavaEE 5 -yhteensopivissa sovelluksissa avoimen lähdekoodin paketina. Paketti mahdollistaa tietojen sitomisen ja Java-ohjelmointikielellä kirjoitettujen XML-asiakirjojen lukemisen ja käyttämisen helpon. XMLBeans on sitä vastoin BEA-järjestelmien kehittämä avoimen lähdekoodin projekti, ja ne tarjoavat samanlaisia toimintoja kuin JAXB, kun ne sallivat XML-asiakirjojen saatavuuden. Hyvä taustatieto XML: ssä vaaditaan kuitenkin XMLBeans-sovellusten käsittelyssä. Näiden kahden välillä on kuitenkin eroja, joista keskustellaan jäljempänä.
erot
Ennen JAXB: n ja XMLBeansin kehittämistä, XML: n käsittelyn ainoa tapa oli käyttää SAX: n (Simple API for XML) analysointiohjelmistoa tai DOM: n (Document Object Model) käyttöä, jotka molemmat analysoivat kieliä. JAXP (Java-sovellusliittymä API-prosessointiin). Kehittäjän oli luotava koodi, joka oli tarkoitettu DOM: n tai SAX: n käyttämiseen JAXP: n kautta, jotta koodi voisi analysoida kieltä XML-dokumentissa. Skannauksen aikana koodi yleensä hajotti koodin erillisiin kappaleisiin, jotta se voitiin asettaa kohdettujen sovellusten saataville.
Tärkein ero, joka todettiin JAXB: n ja XMLBeansin välillä, on lähestymistapa, jota kukin soveltaa yhdistämisessä ja XML-asiakirjojen epäsymmetrisessä järjestämisessä. XMLBeans käsittelee koko XML-asiakirjan käymättä läpi Java-muuntamista, koska XML-asiakirjan tietojen eheys on osoitettu kadonneen. XMLBeans on luonut kohdistimen, joka skannaa XML-asiakirjan läpi. Kohdistimella voidaan päästä mihin tahansa asiakirjan elementtiin, mukaan lukien kaavatiedot tai kommentit, koska asiakirjan uskollisuus säilyy. XMLBeans tarjoaa myös XQuery-sovelluksen suorittamisen samassa asiakirjassa. Lisätyyppisen pääsyn tarjoaa XMLBeans melko yleisellä käyttötyypillä, josta tulee API: n heijastus. Kuten aiemmin mainittiin, XMLBeans vaatii laajaa tietämystä XML: stä ja laajennettuna SAX: sta tai jopa DOM: sta.
JAXB puolestaan liittyy XML-skeemoon. Tämä seuraa ongelmaa, joka ilmeni ensimmäisen JAXB-julkaisun yhteydessä, koska se ei pystynyt tukemaan kaikkia XML-skeemaominaisuuksia, koska se pystyi tukemaan vain DTD: tä (Document Type Definitions). Tämä käytännössä tarkoitti, että JAXB: n ensimmäinen julkaisu ei voinut tarjota luettavissa olevia sidoksia. JAXB 2.0 on tehnyt kehitysprosessoinnista melko helpon, koska se tarjoaa täyden XML-skeematuen, Java-XML-kaavion kartoituksen, siirrettävyyden ja skeeman kehityksen. Lisäksi JAXB on ottanut käyttöön XML-sisällön joustavan unmahallinnan, joka on virheellinen ja josta ei ole päätetty, lopetetaanko epäsäännöllinen sulkeminen vai ei..
Yhteenveto:
- XMLBeans on parempi, jos et halua vankempia XML-ominaisuuksia, esim. XQueries ja suora XML-asiakirjojen käyttöoikeus. Sen käyttö tapahtuu muistin hallinnan ja suorituskyvyn kustannuksella.
- JAXB on suositeltavampi, jos haluat paremman suorituskyvyn ja muistinhallinnan, vaikka se ei olekaan niin perusteellinen kuin XMLBeans.
- JAXB pitäisi valita, jos olet yksinkertaisen XML-asiakirjan muuntamisen jälkeen.
- Sitova räätälöinti tapahtuu parhaiten JAXB: ssä, toisin kuin XMLBeans.
- JAXB tarjoaa tehokkaan muistin käytön toisin kuin XMLBeansin käyttö, joka on muistiin luotettava prosessi.
- Jos haluat muodostaa XML-dokumentin, JAXB on sinun valintasi, koska XMLBeans kohtaa vaikeudet muodon poistamisessa. Sidontakaavion yhteydessä voit käyttää ObjectFactory: n käyttöä objektien luomiseen ja käyttää set-menetelmiä sisällön luomiseen.