The Web Graph Database

wiki:Why/Overview

InfoGrid Core Features

Graph Database with choice of SQL, raw files, or grid storage for storage

Graph Databases are fundamentally more suitable to manage complex, highly interrelated information than relational tables. However, many organizations cannot simply migrate away from SQL. InfoGrid combines the best of both worlds: a Graph Database API with a SQL storage engine.

But InfoGrid goes further: any InfoGrid application originally developed for one database from one vendor can be run using another database from another vendor with virtually*) no application code changes. Further, as more and more applications move into the cloud, any InfoGrid application can run virtually unchanged against NoSQL-stores such as distributed hash-table stores. The same application can also run virtually unchanged on different NoSQL stores.

Benefits:

  • Reduced vendor lock-in (database vendors, grid storage vendors)
  • Reduced development cost
  • Higher development agility.

See also Store.

*) "Virtually unchanged" means that only the configuration, not the application code needs to be changed.

Object-oriented information representation

Information in InfoGrid is represented the way business analysts and developers think of business information: as a set of objects that are potentially typed, and related to each other. For example, "Customer John Smith places an Order for 15 Widgets and 5 Gadgets" can be represented as stated in InfoGrid.

This avoids the costly and error-prone mismatch between object-oriented development and relational mappings that occurs with traditional application architectures. InfoGrid performs automatic object-relational mapping (when using a relational database) and type-safe mapping into non-SQL stores. It further caches smartly for increased performance, and enables developers to subscribe to semantic events, which makes the development of sophisticated "push" applications much simpler.

This model-driven approach is consistent with the UML. The InfoGrid CodeGenerator generates fully-functional code.

Benefits:

  • Reduced development time
  • Changes to the application's model/schema can be made faster and with more confidence
  • Better communication with business sponsors.

See also MeshObjectGraph, Model-Driven Development

REST-ful user interface framework

The Web was conceived as being REST-ful, but traditional web application platforms often make it hard to build REST-ful applications. InfoGrid applications are automatically REST-ful.

As a result, all data objects in any InfoGrid application can be bookmarked, tagged, twittered, shared, etc. without additional programming effort. Every data item can be accessed in multiple formats at the same URL (e.g. HTML, RSS, JSON, ...).

Benefits:

  • Higher user satisfaction
  • Simpler integration of applications with 3rd-party services
  • Reduced development time

See also: Viewlet Framework, REST

Access Control in the data layer

InfoGrid automatically enforces access control policies in the data layer, similarly to how an operating system protects files from access by unauthorized users.

In contrast, most traditional web application frameworks require application developers to enforce their access control in their applications. By doing this, InfoGrid enables developers to define the access control policy for data items once on the level of the business object, and have InfoGrid enforce it for all current and future applications. This approach is superior to sprinkling access control policies all over the code, which often leads to security problems.

Benefits:

  • Higher security
  • Reduced complexity and increased developer productivity
  • Reduced development time

See also: Access control philosophy

Grid of GraphDatabases

Via the XPRISO protocol, multiple InfoGrid instances can communicate to manage MeshObjectGraphs larger than any one MeshBase. (This functionality is currently incomplete).

This enables organic growth of InfoGrid applications in functionality and scale from the bottom up.

See also: XPRISO

Continuously updated mapped-in outside data

InfoGrid makes it simple to access remote data sources and use dynamically changing remote data in applications.

Most applications today need to access information from other applications to get their job done. Traditionally this kind of systems integration has been a major expense and risk factor for application development, regardless whether the remote information is accessed via web services or other technologies.

InfoGrid's innovative Probe Framework enables application developers to access remote data from any source and in any format "as if" it was InfoGrid native data. This is true even if the remote data keeps changing.

Benefits:

  • Major cost savings during development and maintenance
  • Higher-quality application architecture
  • Higher application robustness and quality

See also: Probe Framework

Last modified 5 years ago Last modified on 02/09/10 16:55:56