Wozu VersatileSerializing?

Versatile Serializing ist eine Klassenbibliothek für das .NET Framework (V4.0 oder höher), die einen neuen Ansatz für das Serialisieren und Deserialisieren von Objekten umsetzt, womit eine Feinsteuerung des produzieren oder erwarteten Rohdaten-Formats ermöglicht wird.

Wir waren mit diesem Produkt Gewinner eines BASTA! Innovation Award 2007, und seitdem hat es noch erhebliche Verbesserungen gegeben!

Setzen Sie Versatile Serializing ein, um vorgegebene Kommunikationsprotokolle, Datenaustausch-Spezifikationen und vorgeschriebene Datenformate einzuhalten, und zwar ganz ohne eigene Programmierung - nur durch das Setzen von Attributen auf der Ebene Ihrer Klassen und deren Mitgliedselemente.

Das Produkt

Versatile Serialization ermöglicht es Entwicklern, sich auf spezifische Datenformate einzustellen, und dies durch Deklaration von Attributen anstatt durch Programmierung.

Haben Sie schon einmal so etwas implementiert?
..oder so etwas?
..oder das hier?
Verwenden Sie den deklarativen Ansatz!

Versatile Serialization definiert ein Klassenmodell mit Attributen, die eigenen Klasse und Klassenmitgliedern, welche am (De-)Serialisierungsprozess teilhaben, zugeordnet werden können. Diese Attribute tragen Formatierungs-Instruktionen und Einstellungen, die eine präzise Steuerung über die Art der Formatierung und Interpretation während der Serialisierung bzw. der Deserialisierung ermöglichen. Die eigentliche Verarbeitung steht unter der Kontrolle der VSFactory Klasse, der quasi die Rolle der Exekutive zufällt und ein wichtiger Baustein der Bibliothek ist.

Versatile Serialization ist insbesondere nützlich, wenn Sie Kommunikations- oder Daten-Import/Export Funktionalitäten in Microsoft .NET Applikationen implementieren, so wie zum Beispiel wenn Rohdaten-Formate generiert oder gelesen werden für:

  • Punk-zu-Punk Kommunikation
  • Dateibasierter Datenaustausch
  • Interprozess Kommunikation
  • Persistenz
  • In allen Fällen in denen Standard-Serialisierungsverfahren wegen spezifischer Formatanforderungen nicht verwendet werden können.

Außerdem bietet Versatile Serialization folgende Vorteile:

  • Reduzierter Implementierungsaufwand bei der Entwicklung solcher Datenaustauschvorgänge.
  • Verbesserung der Wartbarbeit und Transparenz solcher Anwendungen.
  • Für den Datenaustausch mit anderen Anwendungen ist nur ein Minumum an eigener Codierung erforderlich.
  • Änderungen und Erweiterungen an den Datenaustausch-Formaten können schnell und einfach vorgenommen werden.
Features

Hier die wichtigsten Merkmale die zeigen, in welcher Weise unser Produkt die Flexibilität der Serialisierungs- und Deserialisierungsausgaben erhöht:

  • Built-in support für alle primitive Datentypen.
  • Anwendbar für Klassen und Strukturen.
  • Unterstützt Chars, Enums, Strings, DateTime, TimeSpan und Guid.
  • Unterstützt nullbare Typen.
  • Unterschiedliche Attribute steuern auf Feld-Ebene die Serialisierung in binäres oder in Textformat.
  • Verschiedenste Attribut-Parameter ermöglichen ein Feintuning der Formatspezifikation, z.B. Definition fester Längen, Ausrichtungen, Füllstellen, Cultures, Encodings (um nur einige zu nennen).
  • Auf der sogenannten Container-Ebene (d.h. der umschließenden Klasse oder Struktur) können Definitionen wie Daten-Header und -Trailer, Separatoren, Quotierungs- und Escapesequenzen u.a. gesetzt werden.
  • Deklarierte Zähler, d.h. Felder die automatisch (während der Serialisierung) mit einem Wert versorgt werden, der eine Quantität in den "benachbarten" Feldern anzeigt, z.B. die Byte- oder Zeichenanzahl in Folgefeldern oder die Anzahl der Elemente in Listen oder Arrays. Während der Deserialisierung werden Zähler automatisch ausgewertet, um die Zuordnung von Daten in Felder korrekt zu steuern.
  • Unterstützung sogenanntner Sub-Container, d.h. die Möglichkeit der Einbettung serialisierbarer Container (Klassen, Strukturen) in andere.
  • Vererbung serialisierbarer Container; erlaubt die Abbildung von Untervarianten in Form verschiedener Sub-Klassen im Byte-Stream.
  • Arrays und Listen aller unterstützter Typen (inkl. Sub-Container).
  • Eingebaute Diagnosefunktionen können bei Bedarf zur Laufzeit für die Fehleranalyse aktiviert werden.
  • Customizing des (De-) Serialisierungsprozesses auf Feld-Ebene. Zum Beispiel können Checksummenberechnungen und -prüfungen auf diese Weise einfach hinzugefügt werden.
  • Deklarieren optionaler Elemente.
  • Behandlung von Fließkommawerten als Integers per Deklaration.
  • Little-Endian oder Big-Endian Codierung.
  • Deklarative Übersetzung von Enum-Werten in (oder aus) Byte-Sequenzen, Zahlen oder Strings.
  • Spezifikation von Kandidaten-Klassen für die Deserialisierung, wenn eine von mehreren möglichen Klassen in Abhängigkeit von den Daten gewählt werden soll.
  • (De-) Serialisierung umfangreicher Streams als Listen von Objekten verschiedener Kandidatentypen.
  • Kandidatenauswahl per Deklaration oder optional codiert per Customizing.
  • Verschachtelte Datenstrukturen.
  • Customizing (de-) serialisierbarer Typen.
  • Deklarieren von Escape-Regeln.
  • Lesen und Schreiben von Streams und Byte Arrays.
  • 100% C#, Fully managed, kein Unsafe Code

Screenshots

Dokumentation

Die Dokumentation zu der Klassenbibliothek ist sowohl im XML Format (für IntelliSense) als auch im .CHM Help-Format enthalten.

Eine Online-Version der Dokumentation ist hier verfügbar.

Erwerben

Versatile Serializing ist in zwei Editionen verfügbar:

Die kostenlose Community Editon (Download von hier) und die Professional Edition. Beide Editionen bieten den vollen Funktionsumfang. Die Professional Edition enthält zusätzlich ein internes Metadata-caching und arbeitet dadurch mehl als 10x schneller als die kostenlose Community Edition.

Der Preis für eine Einzellizenz (Prof. Edition) beginnt bei EUR 349,-- zzgl. MwSt. Weitere Lizenzvarianten sind verfügbar. (Mehr Details)

Besuchen Sie unseren Web Shop um Ihre Bestellung einzugeben.