Traduca

Translate to EnglishÜbersetzen Sie zum Deutsch/GermanΜεταφράστε στα ελληνικά/GreekПереведите к русскому/RussianOversetter til Norsk/NorwegianÖversätta till Svensk/Swedishहिन्दी अनुवाद करने के लिए/Hindi
Tradueix al català/CatalanTulkot uz latviešu/LatvianPreložiť do slovenčiny/SlovakVertaal aan het Nederlands/Dutchترجمة الى العربية/ArabicTraduzca al Español/SpanishTraduisez au Français/French
Traduca ad Italiano/ItalianTraduza ao Português/Portuguese日本語に翻訳しなさい /Japanese한국어에게 번역하십시오/Korean中文翻译/Chinese Simplified中文翻译/Chinese TraditionalПереклад на українську/Ukrainian
Immagine dei concetti del sistema operativo
Immagine di sviluppo del nocciolo di Linux (terza edizione)
Immagine di programmazione avanzata nell'ambiente di UNIX, seconda edizione (serie di calcolo del professionista del Addison-Wesley)
Immagine di cominciare Google Maps api 3

Linguaggio d'interrogazione di XAM

Così come la fornitura dei mezzi fornitore-indipendenti di generazione, richiamando, modificando e cancellando XSets, la specifica di SNIA XAM v1.0 inoltre definisce un linguaggio d'interrogazione (XAM QL), basato su un sottoinsieme della lingua di SQL, dato che della selezione e di richiamo del XUIDs di XSets basato sui test di verifica soddisfare-definiti.

L'insieme delle parole riservate per questo linguaggio d'interrogazione è abbastanza piccolo: selezioni, dove e, o, non, come, esiste, legare, passivo, typeof, lunghezza, data, ALLINEARE, FALSI, prima che, dopo, contenga e dentro. Dal disegno, le domande di XAM assomigliano ad una dichiarazione prescelta di SQL. Il linguaggio d'interrogazione è senza distinzione fra maiuscole e minuscole ed usa la serie di caratteri di ASCII.

Qui è un esempio di una domanda semplice di XAM: selezioni “.xset.xuid„ dove “com.example.name„ = 'Tuckers Plantation

La versione 1.0 della specifica di XAM definisce due livelli del sostegno di linguaggio d'interrogazione, il Livello 1 cioè del Livello 1 e del Livello 2. definisce le domande sulle proprietà e gli attributi di campo in XSets ed è obbligatorio. Tutto il valore di una proprietà di XSet che è accessibile ad un programma di applicazione via la biblioteca di XAM può essere interrogato. Il Livello 2 estende il Livello 1 fino le domande di sostegno su XStreams ed è facoltativo. Entrambi i livelli di domanda sono raggiunti attraverso un singolo, tipo definito di lavoro che tutti i fornitori di XAM devono sostenere. Poiché nessun fornitore che sono informato di ha domande del Livello realmente d'applicazione 2, il resto dei fuochi di questo alberino sulle domande del Livello 1.

Una dichiarazione di domanda di XAM consiste di una clausola prescelta obbligatoria seguita da un facoltativo dove clausola. Per XAM v1.0 l'unica clausola prescelta valida è `prescelto .xset.xuid'. Ciò specifica che l'applicazione sta chiedendo una lista dei valori di XUID. Per esempio selezioni “.xset.xuid„

restituirà una lista di ogni XSet che è leggibile ai tempi della domanda.

Dove la clausola è usata per specificare un sottoinsieme di XSets da abbinare. Per le domande del Livello 1 si limita ai confronti fra le proprietà di XSet ed i valori e/o attributi di campo letterali ed i valori letterali. selezioni “.xset.xuid„ dove “.xam.time.xuid„ > data ('2009-02-01T00: 00: 00.0 ')

restituirà la lista di tutto il Xsets che sono stati generati sopra o dopo il 1° febbraio 2009.

Le seguenti esposizioni della tabella che sistemano ed i tipi letterali possono essere confrontati bene. xam_intxam_doublexam_stringxam_datetimexam_xuid int ** doppio ** datetime* XUID* che dello string* la biblioteca di XAM convalida che le stringhe ed i liberali delle stringhe sono stringhe conformantesi UTF-8. Le costanti letterali di stringa non conformi UTF-8 generano un errore di sintassi non fatale di domanda di XAM. Le edizioni come singolo contro i caratteri multipli di glyph ed i caratteri non stampabili sono non specificate e

XAM ha affidato i campi in mandato

In questo alberino osservo che campi sono affidati dalla specifica di SNIA XAM v1.0 e scrivo una piccola applicazione di Java per richiamare i loro valori di difetto usando VIM di XAM di riferimento di Centera XAM di VIM e della contabilità elettromagnetica.

Che cosa è significato da un campo in XAM? Secondo la parte 3.1.5 della specifica v1.0 di XAM, la parte 1, un campo è una parte dei dati unicamente identificabili che possono essere allegati ad un XSet, ad un XSystem, o ad una biblioteca di XAM.

Più concretamente, un campo ha un nome, un certo numero di attributi che descrivono come interagire con l'oggetto e un valore. Tutto l'obiettivo primario di XAM, cioè un XSystem, un XSet, o un oggetto della biblioteca di XAM può contenere uno o più campi.

I nomi di campo sono stringhe messe UTF-8 sentitive di caso con una lunghezza massima di 512 byte e di nessun caratteri NULLI inclusi. Per evitare i disaccordi del namespace, il namespace del campo è assegnato fra fornitori del sistema di memorizzazione di XAM, di SNIA e fornitori di applicazione di XAM. La seguente tabella mostra il namespace attualmente riservato per i nomi di campo: NAMESPACEDESCRIPTION .xam.* Il XAM Biblioteca-ha posseduto la parte del namespace. I campi in questo namespace saranno definiti in questa specifica e nei relativi proseguimenti e non saranno estesi dai fornitori del sistema di memorizzazione di XAM. .xsystem.*The XSystem-ha posseduto la parte del namespace. I campi in questo namespace saranno definiti in questa specifica e nei relativi proseguimenti e non saranno estesi dai fornitori del sistema di memorizzazione di XAM. .xset.* la parte XSet-di proprietà del namespace. I campi in questo namespace saranno definiti in questa specifica e nei relativi proseguimenti e non saranno estesi dai fornitori del sistema di memorizzazione di XAM. il sistema di .vnd.<reverseDNS>.*The XAM fornitore-ha posseduto il namespace all'interno del namespace di XSystem, in cui è il nome di DNS d'inversione del fornitore del sistema di memorizzazione di XAM org.snia.*Reserved per SNIA org.snia.xam.* riservato a SNIA FCWG per evitare i disaccordi del namespace del campo fra i fornitori del sistema di memorizzazione di XAM nel namespace unreserved restante e il aleviate l'esigenza di una registrazione centrale di nome di campo di XAM, la prima parte di fornitore il nome di campo che sarà il Domain Name del fornitore nell'ordine d'inversione, seguito dal nome di campo fornitore-definito, per esempio com.emc.centera.xam.vim.version.

Come mentionly precedentemente un campo può avere attributi. I seguenti quattro attributi sono affidati dalla specifica di XAM: ATTRIBUISCA il tipo del MIME di NAMEDESCRIPTION TypeThe del valore. Il tipo attributo sarà US-ASCII messo con una lunghezza massima di 512 byte. Valore booleano di BindingA che indica se il campo è limitato al XUID del XSet. Valore booleano di ReadonlyA

Disposizione canonica di XAM

Uno dei requisiti chiave del raggiungimento della persistenza a lungo termine di dati è la capacità di spostare i dati fra l'archiviatura dei sistemi o, nella lingua della specifica di SNIA XAM (metodo di accesso estendibile), spostante XSets fra XSystems.

La specifica di XAM v1.0 sostiene questo requisito fornendo il supporto per l'esportazione e l'importazione del Xsets.  Specifica i metodi impiegati per esportare un XSet da un XSystem, dalla disposizione di scambio di dati canonica risultante di XSet (pacchetto) e dai metodi impiegati per importare un Xset in un Xsystem. 

Questo alberino suppone che avete una conoscenza di in qualche modo con XAM e come programmare a quella specifica usando Java.  Mette a fuoco sulla disposizione e sul contenuto del pacchetto canonico di disposizione di XSet che consiste di due parti principali: un documento di XML che descrive le politiche, le proprietà ed i flussi degli uno o più XSets ha seguito dalla rappresentazione binaria dei flussi.

La disposizione del pacchetto si conforma alla raccomandazione impaccante ottimizzata XML-binaria di 2005 W3C (XOP). Per per citare dalla raccomandazione:

XOP definiscono un meccanismo per tutti gli usi di pubblicazione periodica per il XML Infoset con il soddisfare binario che è non solo applicabile a SAPONE ed al MIME che impaccano, ma a tutto il XML Infoset e qualunque meccanismo impaccante.

Se siete non pratico con XOP e la maggior parte della gente è, un articolo da Andrey Butov nell'edizione del dicembre 2005 di Journal del dottore Dobb ha contenuto una buona introduzione.

Più di un XSet può essere contenuto in un pacchetto.  Tuttavia l'esecuzione corrente di riferimento di XAM SDK sostiene soltanto un XSet.  Il documento di XML (AKA il XSet manifesto) è un documento valido e ben formato di XML di cui l'elemento della radice è xsets.  Può essere analizzato e maneggiato per mezzo di XSLT e di altri attrezzi di XML.  L'annesso B del documento di architettura di XAM contiene una definizione dello schema di XML (XSD) per il XSet manifesto.

Per studiare più dettagliatamente la disposizione del pacchetto, ho scritto una piccola applicazione di Java denominata StoreHelloWorld che genera un nuovo XSet che contiene due XStreams.  Il primo Xstream contiene il codice sorgente per il programma ubiquista di HelloWorld.java.  Il secondo XStream contiene l'oggetto binario HelloWorld.class messo a base64 e con un tipo del MIME di applicazione/base64.  Non dovreste mettere normalmente un XStream in codice ma visualizzare le lime binarie in un blog è problematica e quindi l'azione alternativa.

Qui è il codice sorgente per StoreHelloWorld. fferedOutputStream di java.io.Bu dell'importazione; fferedInputStream di java.io.Bu dell'importazione; fferedReader di java.io.Bu dell'importazione; importazione java.io.Fi le; leInputStream di java.io.Fi dell'importazione; leOutputStream di java.io.Fi dell'importazione; leNotFoundException di java.io.Fi dell'importazione; leWriter di java.io.Fi dell'importazione; eccezione di java.io.IO dell'importazione; putStreamReader di java.io.In dell'importazione; putStream di java.io.In dell'importazione;