Vertaal

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
Beeld van Ontwikkeling van de Pit Linux (3de Uitgave)
Beeld van Androïde Draadloze Ontwikkeling van de Toepassing
Beeld van de Concepten van het Werkende Systeem
Beeld van Moderne Werkende Systemen (3de Uitgave)

De Taal van de Vraag XAM

Evenals het verstrekken van verkoper-onafhankelijke middelen om XSets te creëren, terug te winnen te wijzigen en te schrappen, bepaalt de v1.0 specificatie SNIA XAM ook een vraagtaal (XAM QL), die op een ondergroep van de SQL taal, voor het selecteren van en het terugwinnen van XUIDs van XSets wordt gebaseerd die op tevreden-bepaalde criteria wordt gebaseerd.

De reeks gereserveerde woorden voor deze vraagtaal is vrij klein: selecteer, waar, en, of, niet, als, bestaat, readonly binden, typeof, lengte, datum, WAAR, VALS, vóór, nadat, en binnen bevat. Door ontwerp, kijken de vragen XAM als een SQL uitgezochte verklaring. De vraagtaal is ongevoelig geval en gebruikt het karakter van ASCII - reeks.

Hier is een voorbeeld van een eenvoudige vraag XAM: selecteer „.xset.xuid“ waar „com.example.name“ = 'Tuckers Plantation

Versie 1.0 van de specificatie XAM bepaalt twee niveaus van de steun van de vraagtaal, d.w.z. Niveau 1 en Niveau 2. Niveau 1 bepaalt vragen op eigenschappen en gebiedsattributen in XSets en is verplicht. Om het even welke XSet bezitswaarde die voor een toepassingsprogramma via de bibliotheek toegankelijk is XAM kan worden gevraagd. Niveau 2 breidt Niveau 1 uit om vragen op XStreams te steunen en is facultatief. Beide niveaus van vraag worden betreden door een enig, bepaald baantype dat alle leveranciers XAM moeten steunen. Aangezien geen verkoper dat ik me bewust ben van eigenlijk niveau 2 vragen heeft uitgevoerd, concentreert de rest van deze post op niveau 1 vragen.

Een Xam- vraagverklaring bestaat uit een verplichte uitgezochte clausule die door facultatief wordt gevolgd waar clausule. Voor XAM v1.0 de enige geldige uitgezochte clausule is uitgezochte `.xset.xuid'. Dit specificeert dat de toepassing om een lijst van waarden XUID verzoekt. Bijvoorbeeld uitgezochte „.xset.xuid“

een lijst van elke XSet zal terugkeren die op het tijdstip van de vraag leesbaar is.

Waar de clausule wordt gebruikt om een ondergroep van aan te passen XSets te specificeren. Voor niveau 1 is de vragen het beperkt tot vergelijkingen tussen eigenschappen XSet en letterlijke waarden en/of gebiedsattributen en letterlijke waarden. selecteer „.xset.xuid“ waar „.xam.time.xuid“ > datum ('2009-02-01T00: 00: 00.0 ')

de lijst van al Xsets zal terugkeren wat op of na 1 Februari 2009 werden gecreërd.

De volgende lijst toont welke gebied en letterlijke types geldig kunnen worden vergeleken. xam_intxam_doublexam_stringxam_datetimexam_xuid bevestigt int. ** dubbele ** string* datetime* XUID* de bibliotheek XAM dat de koorden en de koordenliberalen utf-8 koorden in overeenstemming zijn. Niet-overeenkomende utf-8 koordliterals produceren een XAM non-fatal fout van de vraagsyntaxis. De kwesties zoals enige tegenover veelvoudige glyphkarakters en niet printable karakters zijn niet gespecificeerd en

XAM Verplicht gestelde Gebieden

In deze post bekijk ik welke gebieden door de v1.0 specificatie SNIA XAM verplicht worden gesteld en een kleine toepassing van Java schrijven om hun standaardwaarden terug te winnen gebruikend de XAM Verwijzing VIM en EMC Centera XAM VIM.

Wat wordt bedoeld door een gebied in XAM? Volgens Sectie 3.1.5 van de XAM specificatie v1.0, Deel 1, is een gebied een stuk uniek identificeerbare gegevens die aan een XSet, een XSystem, of een Bibliotheek kunnen worden vastgemaakt XAM.

Concreter, heeft een gebied een naam, een aantal eigenschappen die beschrijven hoe te met het voorwerp, en een waarde in wisselwerking te staan. Om het even welk primair voorwerp XAM, d.w.z. een XSystem, een XSet, of een voorwerp van de Bibliotheek XAM kan één of meerdere gebieden bevatten.

De namen van het gebied zijn geval sentitive utf-8 gecodeerde koorden met een maximumlengte van 512 bytes en geen ingebedde ONGELDIGE karakters. Om namespace conflicten te vermijden, wordt het gebied namespace toegewezen tussen SNIA, XAM de verkopers van het opslagsysteem en XAM toepassingsverkopers. De volgende lijst toont momenteel gereserveerd namespace voor gebiedsnamen: NAMESPACEDESCRIPTION .xam.* het XAM bibliotheek-Bezeten gedeelte van namespace. De gebieden in dit namespace zullen in deze specificatie worden bepaald en zijn volg -volgen-ons en niet door XAM de verkopers van het Systeem van de Opslag uitgebreid. .xsystem.*The xSystem-Bezeten gedeelte van namespace. De gebieden in dit namespace zullen in deze specificatie worden bepaald en zijn volg -volgen-ons en niet door XAM de verkopers van het Systeem van de Opslag uitgebreid. .xset.* het xSet-Bezeten gedeelte van namespace. De gebieden in dit namespace zullen in deze specificatie worden bepaald en zijn volg -volgen-ons en niet door XAM de verkopers van het Systeem van de Opslag uitgebreid. het Systeem .vnd.<reverseDNS>.*The XAM dat namespace binnen XSystem wordt verkoper-bezeten namespace, waar de omgekeerde DNS van de verkoper van het Systeem van de Opslag XAM naam org.snia.*Reserved voor SNIA org.snia.xam.* die voor SNIA FCWG wordt gereserveerd gebieds namespace conflicten tussen XAM de verkopers van het opslagsysteem in resterende ongereserveerde namespace en aleviate de behoefte aan een centrale Registratie van de xam- gebiedsnaam te vermijden is, zal het eerste gedeelte van een naam van het verkopersgebied de het domeinnaam van de verkoper in omgekeerde orde zijn, die door de verkoper-bepaalde gebiedsnaam wordt gevolgd, b.v. com.emc.centera.xam.vim.version.

Aangezien mentionly eerder een gebied attributen kan hebben. De volgende vier attributen worden verplicht gesteld door de specificatie XAM: De ATTRIBUTEN NAMEDESCRIPTION TypeThe BOOTSEN type van de waarde na. De typeattributen zullen V.S.-ASCII zijn dat met een maximumlengte van 512 bytes wordt gecodeerd. Waarde die de Van Boole van BindingA als het gebied aan XUID van XSet verbindend is wijst op. Waarde de Van Boole van ReadonlyA

Canoniek Formaat XAM

Één van de belangrijkste vereisten om gegevenspersistentie te bereiken op lange termijn is de capaciteit om gegevens tussen het archiveren van systemen of, in de taal te bewegen die van de (de verlengbare Methode van de Toegang) specificatie SNIA XAM, XSets beweegt tussen XSystems.

De v1.0 specificatie XAM steunt dit vereiste door steun voor het uitvoeren en het invoeren Xsets te verlenen.  Het specificeert de methodes die worden gebruikt om een XSet van een XSystem, het resulterende XSet canonieke gegevensuitwisselingsformaat (pakket) en de methodes uit te voeren die worden gebruikt om een Xset in een Xsystem in te voeren. 

Deze post veronderstelt dat u met XAM en hoe te aan die specificatie te programmeren gebruikend Java enigszins vertrouwd bent.  Het concentreert zich op het formaat en de inhoud van het XSet canonieke formaatpakket dat uit twee belangrijke delen bestaat: een Xml- document dat het beleid beschrijft, eigenschappen en stromen van één of meerdere XSets die door de binaire vertegenwoordiging van de stroom wordt de de gevolgd.

Het pakketformaat is met de aanbeveling Geoptimaliseerde van de Verpakking van 2005 W3C xML-Binair getal (XOP) in overeenstemming. Om van de aanbeveling te citeren:

XOP bepaalt een mechanisme van de algemeen doelrangschikking voor XML Infoset met binaire inhoud die niet alleen van toepassing op ZEEP is en BOOTST verpakking, maar aan om het even welke XML Infoset en om het even welk verpakkend mechanisme na.

Als u met XOP onbekend bent, en de meeste mensen zijn, bevatte een artikel door Andrey Butov in de kwestie van December 2005 van het Dagboek van Dobb van de Arts een goede inleiding.

Meer dan één XSet kan in een pakket worden bevat.  Nochtans steunt de huidige XAM SDK verwijzingsimplementatie slechts één XSet.  Het Xml- document (AKA manifest XSet) is een geldig en goed gevormd Xml- document het waarvan wortelelement xsets is.  Het kan worden ontleed en worden gemanipuleerd gebruikend XSLT en andere hulpmiddelen XML.  De bijlage B van het Document van de xam- Architectuur bevat een Definitie van het Schema XML (XSD) voor manifest XSet.

om het pakketformaat meer in detail te bestuderen, schreef ik een kleine toepassing van Java genoemd StoreHelloWorld die tot een nieuwe XSet bevattend twee XStreams leidt.  Eerste Xstream bevat de broncode voor het alomtegenwoordige HelloWorld.java- programma.  Tweede XStream bevat het binaire voorwerp HelloWorld.class dat aan base64 en met een MIME type van toepassing/base64 wordt gecodeerd.  Normaal zou u geen XStream moeten coderen maar tonen van binaire dossiers in een blog is problematisch en vandaar de alternerende actie.

Hier is de broncode voor StoreHelloWorld. de invoer java.io.Bu fferedOutputStream; de invoer java.io.Bu fferedInputStream; de invoer java.io.Bu fferedReader; de invoer java.io.Fi le; de invoer java.io.Fi leInputStream; de invoer java.io.Fi leOutputStream; de invoer java.io.Fi leNotFoundException; de invoer java.io.Fi leWriter; de invoer java.io.IO Uitzondering; de invoer java.io.In putStreamReader; de invoer java.io.In putStream;