There is a new reference architecture available that leverages a number of Spring-based technologies on the VMware vFabric Application Platform. A group of both Spring and VMware vFabric engineers have collaborated on the architecture to both ease development and make up a highly scalable, completely virtualized runtime. The Spring Framework technologies used on the app-tier include:

  • Spring Security
  • Spring Data JPA
  • Spring Integration
  • Spring GemFire
  • Spring MVC Test

Presentation and Middleware built to ease Development

The presentation layer uses HTML 5, CSS, JavaScript, JQuery, Backbone, and Bootstrap and calls the application in JSON format.  Spring Data JPA is implemented for data access – it provides CRUD capabilities on any domain object without boilerplate code, reduces the amount of source code needed to write custom queries, offers simple abstractions for things like sorting and pagination, and more. Spring Integration is used with RabbitMQ to provide a code-free connection and maintain a loosely coupled messaging architecture for external transactions or inter-JVM needs.  Spring GemFire and Spring Cache Abstraction provide declarative application tier caching (and scale) by embedding a peer-to-peer GemFire Cache of authorized tokens for the REST API.  The runtime is based on vFabric tc Server (i.e. a drop-in replacement for Tomcat) and supports Elastic Memory for Java to maximize JVM utilization.

Data Layer as In-Memory Data Grid

The data layer uses vFabric SQLFire – a NewSQL data store that was designed as a distributed system of commodity level nodes with JDBC, ADO.NET, and SQL support.  This in-memory data grid is fast, has near-linear scale, is continuously available, and can also write to disk or serve as a distributed cache for data managed in a traditional database.

Cloud-Ready Monitoring, Deployment, and Infrastructure

The entire platform (i.e. ALL JVMs, servers, configurations, and components) is capable of being automatically provisioned, automatically scaled, and deployed to any cloud via vFabric Application Director. As well, there is a straightforward way to have the entire platform monitored by vFabric Application Performance Manager and even trigger automated scaling events like adding a new JVM and tc Server.  The entire platform is designed to run on an entirely virtualized, cloud-ready infrastructure.

The new reference architecture is available on GitHub/vFabric/SpringTrader or you can log in as a user of the application at springtrader.vmware.com.

Visit the full article with additional reference links and information