2012-03-23 15 views
13

Sto iniziando a imparare i servizi Web in Java EE6.Quali sono le differenze tra mappatura, associazione e analisi?

Ho fatto prima lo sviluppo web, ma mai nulla relativo ai servizi web.

Tutto è nuovo per me e i libri e le esercitazioni che trovo nel web sono tecnici.

Ho iniziato a conoscere schemi .xsd e anche .xml.

In questo argomento mi sento fiducioso, capisco a cosa servono gli schemi e cosa significa convalida.

Ora il mio prossimo passo è l'apprendimento di JAX-B (Java Api per XML Binding). Ho guidato un po 'su di esso e ho fatto anche un po' di pratica nel mio IDE. Ma ho molti dubbi di base, che mi rendono bloccato e non posso sentirmi sicuro di continuare con l'argomento successivo.

Ill apprezzare molto se qualcuno mi potrebbe spiegare bene i miei dubbi:

  1. Che cosa significa la mappatura e ciò che è uno strumento di mappatura?
  2. Che cosa significa vincolante e che cos'è uno strumento di rilegatura?
  3. Che cosa significa parsing e che cos'è uno strumento di analisi?
  4. In che modo JAX-B è correlato alla mappatura, al binding e all'analisi?

Sto cercando per una buona risposta costruita da voi, non solo un copia incolla da google (Ive già stato qui poche ore e solo ha confuso).

risposta

8

In base a quello che ho capito ..

Che cosa significa la mappatura e quello che è uno strumento di mappatura?

In caso di Java/XML, la mappatura non è altro che rappresenta un modello a oggetti Java a una rappresentazione documento XML (e viceversa). uno strumento di mappatura vi permetterà di convertire da un formato all'altro. Questo è solo il passo della definizione.

Che cosa significa vincolante e che cos'è uno strumento vincolante?

Il collegamento è il processo di conversione in memoria (come è in esecuzione l'applicazione) del documento XML alla rappresentazione oggetto. La rilegatura è ottenuta tramite unmarshalling.

Che cosa significa parsing e che cos'è uno strumento di analisi?

L'analisi sta leggendo un flusso di dati di input e controlla se il flusso di dati si basa su determinate grammatiche. Gli strumenti di analisi consumano flussi di dati e generano errori quando i dati non sono conformi alla grammatica verificata dallo strumento. Inoltre genererebbe eventi per indicare che ha ricevuto determinati "token" dallo stream. Nello scenario java/xml, ci sono diversi tipi di parser come DOM, StAx, SAX ...

In che modo JAX-B è correlato alla mappatura, al binding e all'analisi?

mappatura JAXB:

è quando si utilizza xjc generare classe java gerarchia sulla base di un XSD La mappatura si verifica quando le classi sono generate con annotazioni JAXB strumento di mappatura dello scenario è xjc

JAXB Binding:

si verifica quando un'applicazione unmarshalls un documento XML Object represanation (JAXBElement) unmarshaller.unmarshal( new File("some.xml"));

di analisi:

al fine di convertire il documento XML di opporsi represantation, il motore JAXB deve prima "analizzare" il documento XML per garantire la correttezza e poi tokenize a instatiate oggetti Java. Questo accade internamente e non lo controlli, assicurati la correttezza e poi fai il tokenize per instaziare gli oggetti java.

+0

Questa risposta è buona. Ma ho ancora un dubbio. Cosa intendi per conversione in memoria quando parli di associazione? – sfrj

+0

Ciò significa che la conversione avviene nella memoria mentre l'applicazione è in esecuzione. –

+0

Capisco meglio, ma un nuovo dubbio è appena arrivato :) Quindi il binding è in realtà il processo di marshalling e unpharsling in runtime giusto? Che dire della mappatura avviene al momento della compilazione? O la mappatura è la stessa del binding, è solo un processo che al suo interno contiene un processo secondario vincolante? – sfrj

0

Si consiglia vivamente di ottenere una copia di Java Web Services Up and Running e iniziare dal capitolo 1 e iniziare da lì. Non è facile o intuitivo, preparati per una lunga curva di apprendimento. Nota. Tutte le cose vincolanti ti confondono solo se non hai una conoscenza di base di come funzionano tutti i pezzi.

+0

Grazie per la raccomandazione. Ma attualmente sto leggendo questo: http://www.amazon.com/RESTful-Java-Jax-RS-Animal-Guide/dp/0596158041/ref=tmm_pap_title_0?ie=UTF8&qid=1294995588&sr=8-2 – sfrj

Problemi correlati