FastObjects .NET 10.0 wurde entwickelt für das Microsoft .NET 2.0 Framework. Nahtlos in das Visual Studio 2005 integriert, bietet FastObjects 10.0 eine an die Bedürfnisse von Entwicklern angepasste, objektorientierte Alternative zu relationalen Datenbanken. Ohne Mapping, direkt speichern - für mehr Performance.
Entwickler schaffen mit FastObjects .NET transparente Persistenz und können außerdem Statusmanagement integrieren. Sie müssen sich nicht länger um Persistenzthemen kümmern, sondern können sich auf den Problembereich konzentrieren, auf den die Anwendung abzielt.
FastObjects .NET verwendet die .NET Intermediate Language (IL) und unterstützt daher Anwendungen, die in C#, Managed C++, J#, VB.NET oder anderen IL-fähigen Programmiersprachen geschrieben wurden. Wie auch ADO.NET arbeitet FastObjects .NET sowohl in einem verbundenen als auch in einem nicht verbundenen Modus. Mit FastObjects .NET bleibt Ihr Objektmodell frei von Einschränkungen und unterstützt weiterhin die Konzepte von Vererbung, Schnittstellen und .NET Framework-Sammlungen. Außerdem ist FastObjects .NET eng in Visual Studio .NET integriert, was eine automatische Aktualisierung der Anwendungsdatenbank ermöglicht, sobald der Code neu kompiliert wird.
FastObjects .NET ist eine hochleistungsfähige Transaktionsdatenbank, die an Ihre Bereitstellungsanforderungen angepasst werden kann. Wenn Sie einen skalierbaren Datenbankserver für mehrere Benutzer benötigen, bietet FastObjects .NET die Optionen, die Sie brauchen, also Unterstützung mehrerer Prozessoren, Verschlüsselung, Replikation und Failover/Wiederherstellen der Verbindung. Ist eine eingebettete Datenbank erforderlich, bietet FastObjects :NET spezielle Features für die Massenbereitstellung, beispielsweise Objekt-/Schema-Versioning und Wartungsfreiheit.
Unabhängig von Ihren Bereitstellungsanforderungen kann FastObjects .NET durch den Einsatz von ACID-Transaktionen, Steuerelementen für eine vollständige Parallelität sowie Verwaltungsfunktionen Datenkonsistenz und Integrität gewährleisten. Da FastObjects .NET das Objektmodell als Datenbankschema verwendet, profitiert die hochleistungsfähige Datenbank von einfacher Navigation und einer stabilen Query-Engine.
FastObjects .NET besteht im Kern aus einem Datenbankserversystem für die wichtigen Datenbankfunktionen sowie einer Reihe an clientbasierten Anwendungsbibliotheken.
Mit FastObjects .NET werden das Datenbankschema und der gesamte Zugriffscode direkt über das Objektmodell generiert. Dadurch können Objekte und ihre Beziehungen direkt mit der Datenbankrepräsentation verknüpft werden, und es muss kein Code mehr für die Schemazuordnung erstellt werden.
Der FastObjects .NET-Server durchsucht eine Reihe von TCP/IP-Sockets nach Clientverbindungen und verwaltet diese. Mithilfe einer Parallelitätssteuerung, die durch eine ausgereifte Sperre auf Objektebene erreicht wird, kann der für zwei- und dreistufige Anwendungen entwickelte Server alle in der Datenbank ausgeführten Transaktionen verwalten. Objekte werden im lokalen Dateisystem des FastObject .NET-Servers schnell und effizient gespeichert. Durch internes Caching wird die Laufzeitleistung des Servers verbessert.
FastObjects .NET Runtime Architektur
FastObjects .NET soll transparent in Anwendungen eingebettet werden und dort eine Verwaltung komplexer Daten gewährleisten, ohne dass die Bereitstellung erschwert wird. Der Endbenutzer der Anwendung bemerkt das Vorhandensein der FastObjects .NET-Datenbank gar nicht. Das Laufzeitsystem von FastObjects .NET muss einfach mit der Anwendung verknüpft werden. Dadurch entsteht ohne komplizierte Installationsprozesse eine vollständige Anwendung. Dank der Verwaltungs-API von FastObjects .NET kann der Entwickler administrative Verfahren, wie die Sicherung von Onlinedatenbanken, die in der Regel ein Datenbankadministrator erledigen würde, vollständig automatisieren.
Bei FastObjects .NET handelt es sich um ein Persistenzframework, das durch eine Codeerweiterung vor der Kompilierung eine transparente Persistenz bietet. Das Hinzufügen von Persistenzfunktionen allein hat noch keine Auswirkungen auf das Objektmodell. Benutzerdefinierte Attribute werden verwendet, um Attribute Klassen zuzuweisen. Die Klassen können durch benutzerdefinierte Attribute als persistent deklariert werden, und für Klassenfelder können beispielsweise Indizes definiert werden. Durch FastObjects müssen Klassen nicht bestimmte Basisklassen beerben oder eine besondere Schnittstelle implementieren, um persistent zu sein. Mit FastObjects .NET bleibt das Objektmodell frei von Einschränkungen und unterstützt die Konzepte von Vererbung, Schnittstellen und .NET Framework-Sammlungen.
Durch eine Codeerweiterung vor der Kompilierung leistet FastObjects .NET darüber hinaus das komplette Statusmanagement. Objekte werden transparent aus der Datenbank geladen, und durch die interne Änderungsverfolgung ist sichergestellt, dass nur geänderte und neue Objekte in die Datenbank geschrieben werden.
FastObjects .NET wurde für einen umfassenden gleichzeitigen Zugriff auf die Datenbanken konzipiert, die vom Datenbankserver gesteuert werden. In FastObjects .NET werden sowohl optimistische als auch pessimistische Strategien für Sperren unterstützt. Beide sorgen für eine Objektkonsistenz, wenn mehrere Benutzer oder Prozesse zugreifen.
Um Multithreadzugriff auf die Datenbank zu ermöglichen, können Entwickler bei FastObjects .NET mehrere Transaktionen mit unterschiedlichen Threads verwenden, damit jeder Anwendungsthread sich seiner eigenen Transaktion bedienen kann. Durch eine flexible Strategie zum Sperren von Objekten ist sichergestellt, dass Objekte nicht durch gleichzeitig durchgeführte Transaktionen verändert werden und konsistent bleiben.
FastObjects .NET unterstützt die Objektorientierung bezüglich Schnittstellen, Vererbung, Polymorphismus und Kapselung für einzelne Objekte und Reihen von Objekten. Die Wiederverwendung von Code ist geplant.
Das Konzept der Vererbung zählt beispielsweise zu den komplexesten und leistungsstärksten Features von objektorientierten Sprachen. Ohne Vererbung wäre ein effektives objektorientiertes Design relativ schwierig. FastObjects .NET versteht die Vererbungshierarchie einer Klasse und ermöglicht so ein effizientes polymorphes Anwendungsdesign, das die Datenbank einschließt. Mit FastObjects .NET können selbst komplexeste Datenmodelle erstellt werden. Es ist nicht nötig, das Design einer Anwendung so weit herunterzuschrauben, dass es einer nicht objektorientierten Datenbank entspricht.
Mit FastObjects .NET kann ein Entwickler die Objekte von benutzerdefinierten Klassen auf effiziente Weise persistent machen. Die Objektdarstellung im Speicher wird unverändert auf die Festplatte übertragen, und die Speicherverweise werden in interne Objektbezeichner umgewandelt. Durch diesen Mechanismus können Entwickler komplexe Objektbeziehungen ganz einfach speichern. Die zeit- und kostenaufwändigen Probleme, die beim Mapping von Objekten in relationalen Datenbanken auftraten, fallen weg.
Bei .NET-Anwendungen extrahiert der FastObjects .NET-Enhancer für IL-Code automatisch die erforderlichen Schemainformationen aus den Deklarationen Ihrer Klassen. Bestimmte Klasse/Mitglied-Attributdeklarationen im Quellcode von Klassen geben an, ob eine Klasse persistenzfähig ist. Außerdem definieren sie die verschiedenen Artefakte von Persistenz. Der FastObjects .NET-Enhancer verarbeitet die .NET-Assemblydateien und verändert den IL-Code dahingehend, dass Persistenz automatisch unterstützt wird.
FastObjects .NET intermediate language code enhancer and schema generator
Objekte werden mit Verweisen gespeichert, damit die Anwendung den Objektgraphen schnell und effizient abrufen und traversieren kann. Eine direkte Navigation von Objekt zu Objekt gewährleistet den schnellstmöglichen Zugriff auf die Daten. Verweise werden beim Speichern eines Objekts automatisch in Datenbankidentitäten übersetzt. Beim Laden können Objekte mithilfe der Objekt-ID schnell in der Datenbank gefunden werden. Die Datenbankleistung wird bei FastObjects .NET durch eine Indizierungsengine erhöht. Der Entwickler kann steuern, welche Indizes für die einzelnen Klassen im Schema generiert werden. Indizes werden schon seit langem bei relationalen Datenbanken verwendet, um die Antwortzeiten von Anwendungen zu beschleunigen und die Darstellung von Daten zu organisieren. Die Indizierung bei FastObjects .NET erfolgt auf ähnliche Weise, allerdings verweisen die Indexeinträge dort nicht auf eine Zeile in einer Tabelle, sondern auf ein ganzes Objekt.
In FastObjects .NET ist eine fortschrittliche Abfrageengine eng mit dem Indizierungssystem verbunden. Diese Engine nutzt automatisch die für die Klasse definierten Indizes und verbessert dadurch die Anwendungsleistung. Für Abfragen in der FastObjects .NET-Datenbank wird die Standardsprache OQL (Object Query Language) verwendet.
FastObjects .NET unterstützt alle herkömmlichen Datenintegritätsfeatures wie Transaktionen, Protokollierung und Sperren. Durch Transaktionen wird die automatische Ausführung einer Operation gewährleistet, denn eine Transaktion wird entweder vollständig gespeichert oder gar nicht. Dabei wird eine Protokolldatei zu Hilfe genommen. Bei einer Transaktion werden alle vorgenommenen Änderungen zuerst in die Protokolldatei und dann in die Datenbankdatei geschrieben. Schlägt die Protokollierung fehl, erfolgt kein Eintrag in die Datenbank. Kann wegen eines außergewöhnlichen Ereignisses, z. B. bei einem Systemausfall, nicht in die Datenbank geschrieben werden, wiederholt FastObjects .NET den Vorgang des Schreibens in die Datenbankdatei aus der Protokolldatei (Redo-Protokoll).
Alle Objekte, die in die FastObjects .NET-Datenbank geschrieben werden, werden darüber hinaus mit einer Prüfsumme verschlüsselt, um einen Schutz bei Medienausfall zu gewährleisten. Falls ein Festplattenblock ausfällt, werden alle betroffenen Objekte nach ihrer Prüfsumme erfasst. So wird vermieden, dass die Anwendung fehlerhafte Daten verwendet.
FastObjects .NET lässt Entwicklern die Wahl zwischen optimistischen und pessimistischen Strategien für Sperren. Abhängig ist dies von der jeweiligen Situation der Anwendung. Moderne Architekturen, die mehrere Benutzer unterstützen, setzen vermehrt auf eine Kombination aus optimistischen und pessimistischen Sperren, was die Leistung erhöht und eine optimale Parallelität ermöglicht.
FastObjects .NET ist ein eingebettetes, in sich selbst geschlossenes System, das ohne Interaktion des Endbenutzers bereitgestellt wird. Der Benutzer der Anwendung bekommt von der Datenbank gar nichts mit. Bei FastObjects .NET-Datenbanken handelt es sich um Dateien, die im Paket mit der .NET-Anwendung bereitgestellt werden. Eine FastObjects .NET-Datenbank funktioniert unbegrenzt und ohne externen Verwaltungsaufwand, da sie über integrierte Intelligenz zur Verwaltung von freiem Speicher, Indexverwaltung, Schema-Versioning, Objekt-Versioning während des Betriebs und viele weitere Funktionen verfügt.
Die Features von FastObjects .NET zur Schemaentwicklung verhindern, dass ein Entwickler komplizierten Aktualisierungscode schreiben muss, wenn die Anwendung weiterentwickelt wurde. Das hat bei nachfolgenden Versionen den Vorteil, dass Objekte in der Datenbank automatisch auf das neue Schema migriert werden. Angefangen bei der Entwicklung bis hin zur Freigabe, die Verwaltung des Lebenszyklus einer Anwendung ist mit FastObjects .NET ganz einfach.
Bei großen Anwendungen auf Webbasis bietet FastObjects .NET zusätzliche Leistung durch das Feature der schreibgeschützten Replikation. Es kann eine Beziehung zwischen einem schreibgeschützten Masterserver und mehreren schreibgeschützten Slaveservern hergestellt werden, was eine hochleistungsfähige und skalierbare Architektur zur Folge hat. Die auf den Slaveservern gespeicherten Daten werden automatisch synchronisiert, sobald Transaktionen auf dem Masterserver erfolgen.
Darüber hinaus bietet FastObjects .NET fortschrittliches Caching auf Clients, was die Leistung von leseintensiven Anwendungen deutlich verbessert, da der Datenbankserververkehr für häufig gelesene Objekte reduziert wird.
Die Möglichkeit von inkrementellen Sicherungen mit FastObjects .NET erlaubt einen pragmatischeren bzw. praktischeren Ansatz, wenn es um die regelmäßige Sicherung von Daten aus sehr umfangreichen Datenbanken geht. Das Sichern von Datenbanken wird mit zunehmender Größe immer wichtiger, aber auch schwieriger. Dank der inkrementellen Sicherungsfunktion von FastObjects .NET brauchen Sie nur die Änderungen zu speichern, die seit der letzten vollständigen oder inkrementellen Sicherung aufgetreten sind. Es müssen also lediglich kleinere inkrementelle Sicherungsdateien auf ein permanentes Sicherungsmedium geschrieben und bis zur nächsten vollständigen Sicherung aufbewahrt werden.
Mithilfe der Replikationsfeatures von FastObjects .NET können hochverfügbare Systeme entwickelt werden. Die Änderungen von replizierten Datenbanken werden mithilfe eines Replikationsagenten für Netzwerke in primäre und sekundäre Datenbankserver geschrieben. Die Replikationen können lokal oder remote aus großen Entfernungen eingerichtet werden. Je nach Anforderungen der Anwendung werden die Replikationsagenten für eine synchrone oder eine asynchrone Funktionsweise konfiguriert.
Durch die in FastObjects .NET integrierte optionale Verschlüsselung von in der Datenbank gespeicherten Informationen sind physikalische Daten vor Diebstahl oder unberechtigten Zugriffen geschützt.
FastObjects .NET schützt die Kommunikation zwischen Anwendung und Datenbankserver durch eine optionale SSL-basierte Verschlüsselung.
| Current Version | FastObjects .NET 10.0 | ||
| Languages |
C#, Managed C++, J#, VB.NET Any IL-capable language |
||
| Memory Footprint | 5.5 MB | ||
| Storage |
Networked FastObjects Server Local File System |
||
| Development Platform | Microsoft .NET | ||
| Compilers |
Visual Studio 2005 .NET Framework 2.0 |
||
| .NET Environments | .NET Framework 2.0 | ||
| Client Deployment OS | Microsoft Windows | ||
Eine voll funktionsfähige Trial-Version von Versant FastObjects .NET 10.0 ist zum Download verfügbar - im Versant Developer Center.
Technische Fragen:
Developer Center Message Boards
Preisanfragen:
Versant Object Database
FastObjects .NET
Allgemeine Fragen:
Quick Message Form
Für Hausadressen, e-Mail-Adressen, Wegbeschreibungen etc:
Kostenlose 60-Tage-Test-Vollversionen: Jetzt die Versant Object Database oder FastObjects .NET testen! Downloads sind im Versant Developer Center verfügbar:
Using Versant Vitness provides you with a basic tool for all fundamental administration operations and decisions.
In today's fast paced world you want to be part of a company that is on the leading edge of technology? Join Versant!
The Versant Developer Center (VDC) provides all the essential information and valuable resources needed for developers, just like
Database Company supports Masters students enrolling in Databases / Information Systems through 2-year Scholarship
www.versant.com | Copyright © 2003-2008 Versant Corp. All rights reserved.
For questions about this site please contact webmaster@versant.com
Versant, Vitness, Vorkout and FastObjects are either a registered trademark or trademark of Versant Corporation in the United States and/or other countries. All other products might be a registered trademark or trademark of their respective company in the United States and/or other countries.