Java Architecture for XML Binding: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
AStarBot (discussione | contributi)
Recupero di 1 fonte/i e segnalazione di 0 link interrotto/i.) #IABot (v2.0.9.5
 
(34 versioni intermedie di 26 utenti non mostrate)
Riga 1:
'''Java Architecture for XML Binding''' ('''JAXB''') è una delle [[Application programming interface|API]] della [[Java EE|Java Enterprise Edition]], fa parte del '''[[Java Web Services Development Pack''']] (JWSDP) ed è una delle tecnologie di base del progetto '''[[Web Services Interoperability Technology''']] (WSIT) promosso dalla [[Sun Microsystems]]; inoltre, a partire dalla versione 1.6, JAXB è inclusa anche in Java SE.
'''Java Architecture for XML Binding''' ('''JAXB''') permette agli sviluppatori [[Java (linguaggio)|Java]] di effettuare il mapping tra [[Classe (informatica)|classi]] e una loro corrispondente rappresentazione [[XML]]. JAXB fornisce la possibilità di [[serializzazione|serializzare]] [[Oggetto (informatica)|oggetti]] Java in XML (''marshalling'') e di effettuare l'operazione inversa (''unmarshalling''), ovvero permette di ottenere a partire da un file XML la corrispondente rappresentazione a oggetti Java. JAXB permette quindi di manipolare file XML senza la necessità di implementare alcuna routine specifica per il salvataggio e la lettura di dati.
 
'''Java Architecture for XML Binding''' ('''JAXB''') permette agli sviluppatori [[Java (linguaggio di programmazione)|Java]] di effettuare il mapping tra [[Classe (informatica)|classi]] e una loro corrispondente rappresentazione [[XML]]. JAXB fornisce la possibilità di [[serializzazione|serializzare]] [[Oggetto (informatica)|oggetti]] Java in XML (''marshalling'') e di effettuare l'operazione inversa (''unmarshalling''), ovverocioè permette di ottenere a partire da un file XML la corrispondente rappresentazione a oggetti Java. JAXB permette quindi di manipolare file XML senza la necessità di implementare alcuna routine specifica per il salvataggio e la lettura di dati.
JAXB è una delle [[Application programming interface|API]] della [[Java EE|Java Enterprise Edition]],fa parte del '''Java Web Services Development Pack''' (JWSDP) ed è una delle tecnologie di base del progetto '''Web Services Interoperability Technology''' (WSIT) promosso dalla [[Sun Microsystems]]; inoltre, a partire dalla versione 1.6, JAXB è inclusa anche in Java SE.
 
JAXB 1.0 fu sviluppato nell'ambitaambito del [[Java Community Process]] come JSR 31. Dal 2006, JAXB 2.0 viene sviluppata come JSR 222. L'implementazione delle specifiche di JAXB è rilasciatadisponibile sotto licenza [[Common Development and Distribution License|CDDL]].
==Utilizzo==
Il pacchetto JAXB include il compilatore ''xjc'', che viene usato per convertire [[XML Schema]] e altri formati di descrizione XML (a partire da Java 1.6, il supporto a [[RELAX NG]], [[Document Type Definition|XML DTD]] e [[Web Services Description Language|WSDL]] è in fase di sperimentazione) in classi Java. Il meccanismo di ''mapping'' tra XML Schema e Java viene implementato mediante l'uso delle [[Annotazione (Java)|annotazioni]] definite nel [[Package (Java)|package]] javax.xml.binf.annotation. Ad esempio @XmlRootElement e @XmlElement annotano le classi Java che rappresentano, rispettivamente, l'elemento radice del file XML e un elemento generico.
 
== Utilizzo ==
In aggiunta a ''xjc'', JAXB fornisce anche ''schemagen'', un compilatore che effettua l'operazione inversa di ''xjc'', ovvero la generazione di un file [[XML Schema]] a partire da un insieme di classi Java annotate secondo le specifiche di JAXB.
Il pacchetto JAXB include il compilatore ''xjc'', che viene usato per convertire [[XML Schema]] e altri formati di descrizione XML (a partire da Java 1.6, il supporto a [[RELAX NG]], [[Document Type Definition|XML DTD]] e [[Web Services Description Language|WSDL]] è in fase di sperimentazione) in classi Java. Il meccanismo di ''mapping'' tra XML Schema e Java viene implementato mediante l'uso delle [[Annotazione (Java)|annotazioni]] definite nel [[Package (Java)|package]] javax.xml.binfbind.annotation. Ad esempio @XmlRootElement e @XmlElement annotano le classi Java che rappresentano, rispettivamente, l'elemento radice del file XML e un elemento generico.
 
In aggiunta a ''xjc'', JAXB fornisce anche ''schemagen'', un [[compilatore]] che effettua l'operazione inversa di ''xjc'', ovverocioè la generazione di un file [[XML Schema]] a partire da un insieme di classi Java annotate secondo le specifiche di JAXB.
 
== Binding predefiniti ==
La tabekkatabella seguente elenca il ''mapping'' di alcuni dei principali tipi definiti in XML Schema in [[Tipo di dato|tipi di dato]] Java.
 
{| class="wikitable" style="font-size: 100%; text-align: left; width: 35%;"
Riga 82 ⟶ 83:
|xsd:anySimpleType
|java.lang.String
|-
|xsd:duration
|javax.xml.datatype.Duration
|-
|xsd:NOTATION
|javax.xml.namespace.QName
|-
|}
 
== Articoli ==
 
* [http://www.devx.com/Java/Article/34069 Generate an XML Document from an Object Model with JAXB 2]
* [http://blogs.techrepublic.com.com/programming-and-development/?p=498 JAXB 2.0]
 
== Collegamenti esterni ==
* {{cita web | 1 = http://jaxb.java.net/ | 2 = Home page di JAXB | accesso = 22 febbraio 2013 | dataarchivio = 4 maggio 2017 | urlarchivio = https://web.archive.org/web/20170504080640/http://jaxb.java.net/ | urlmorto = sì }}
* [{{cita web|http://java.sun.com/xml/jaxb/index.jsp previous JAXB|vecchia home page] di JAXB}}
* {{cita web | 1 = http://jaxb.java.net/tutorial/ | 2 = A JAXB Tutorial by Wolfgang Laun | accesso = 22 febbraio 2013 | urlarchivio = https://web.archive.org/web/20130323015034/http://jaxb.java.net/tutorial/ | dataarchivio = 23 marzo 2013 | urlmorto = sì }}
* [https://web.archive.org/web/20100723202011/http://ws.apache.org/jaxme/ JaxMe] – Implementazione [[open source]] di JAXB sotto licenza [[Apache Software Foundation]]
* [httphttps://www.eclipse.org/eclipselink/ EclipseLink MOXy] – Implementazione [[open source]] di JAXB di servizi di mapping XML a oggetti
* [httphttps://www.jcp.org/en/jsr/detail?id=222 JSR 222] (JAXB 2.0)
* [httphttps://www.jcp.org/en/jsr/detail?id=31 JSR 31] (JAXB 1.0)
* [{{cita web|http://java.sun.com/javaee/5/docs/tutorial/doc/?wp405761&JAXB.html#wp100322 |JAXB chapter of the Java EE 5 Tutorial]}}
* {{cita web |1=http://wiki.netbeans.org/wiki/view/JAXBWizard/ |2=JAXB Wizard |urlmorto=sì |accesso=20 luglio 2009 |urlarchivio=https://web.archive.org/web/20081201161415/http://wiki.netbeans.org/wiki/view/JAXBWizard/ |dataarchivio=1º dicembre 2008 }}
* {{cita web | 1 = http://www.devx.com/Java/Article/34069 | 2 = Generate an XML Document from an Object Model with JAXB 2 | accesso = 20 luglio 2009 | dataarchivio = 29 ottobre 2020 | urlarchivio = https://web.archive.org/web/20201029143620/http://www.devx.com/Java/Article/34069 | urlmorto = sì }}
* {{cita web|url=http://blogs.techrepublic.com.com/programming-and-development/?p=498|titolo=JAXB 2.0|urlmorto=sì|urlarchivio=https://web.archive.org/web/20121206043742/http://blogs.techrepublic.com.com/programming-and-development/?p=498|dataarchivio=6 dicembre 2012}}
 
{{portale|informatica}}
* [https://jaxb.dev.java.net/ JAXB home page]
* [http://java.sun.com/xml/jaxb/index.jsp previous JAXB home page]
* [https://jaxb.dev.java.net/tutorial/ A JAXB Tutorial] by Wolfgang Laun
* [http://ws.apache.org/jaxme/ JaxMe] – Implementazione [[open source]] di JAXB sotto licenza [[Apache Software Foundation]]
* [http://www.eclipse.org/eclipselink/ EclipseLink MOXy] – Implementazione [[open source]] di JAXB di servizi di mapping XML a oggetti
* [http://www.jcp.org/en/jsr/detail?id=222 JSR 222] (JAXB 2.0)
* [http://www.jcp.org/en/jsr/detail?id=31 JSR 31] (JAXB 1.0)
* [http://java.sun.com/javaee/5/docs/tutorial/doc/?wp405761&JAXB.html#wp100322 JAXB chapter of the Java EE 5 Tutorial]
* [http://wiki.netbeans.org/wiki/view/JAXBWizard/ JAXB Wizard]
 
{{portale|informatica}}
[[Categoria:Informatica]]
[[Categoria:Piattaforma Java]]
[[Categoria:XML]]
 
[[de:JAXB]]
[[en:Java Architecture for XML Binding]]
[[fr:Java Architecture for XML Binding]]
[[ja:Java Architecture for XML Binding]]
[[ko:JAXB]]