= The !InfoGrid Software Stack = {{{ #!html
}}} In the left column, the traditional, relational database-centric software stack for web applications is shown: the application is built on an JEE Application Server, which utilizes a relational database (RDBMS) for persistence. For some of the issues with this architecture, see the slide presentation ''"A Taste of !InfoGrid"'' available [http://www.slideshare.net/infogrid/ here]. On the right hand side, the !InfoGrid software stack is shown for web applications. !InfoGrid sits on top of the JEE Application Server and provides additional services to the web application. One could consider !InfoGrid simply a library of JAR files that are added to a regular JEE project, which it is. (This makes it easy to fit !InfoGrid-based applications into the regular Java development and deployment cycle.) However, the scope of !InfoGrid goes far beyond the scope of typical Java libraries. By using !InfoGrid: * the size of the web application itself can shrink, as !InfoGrid provides valuable higher-level services than JEE Application Servers do themselves * applications have a choice in the persistence layer: they can write to relational databases, just like in a RDBMS-centric architecture, but can also write to grid technology, or other NoSQL [wiki:Store Stores]. !InfoGrid provides a common abstraction layer. * [wiki:XPRISO] and the [wiki:Projects/ig-graphdb-grid InfoGrid Graph Database (Grid) Project] enable applications to peer with other !InfoGrid applications or other applications supporting [wiki:XPRISO].