Home > Blogs > VMware vFabric Blog

NanoTrader: Now The SpringTrader Reference Architecture

What is SpringTrader?

Back in August, we provided a sneak peak at NanoTrader, VMware’s vFabric Reference Architecture.  It was referenced in several posts and then featured in a session at SpringOne recently.  The application has now been named SpringTrader, and we wanted to a) share more information about the SpringTrader app including some updated architecture graphics, b) provide a new tool (a version you can log into online), and c) share the location of the Spring Trader bits for download.

If you haven’t heard, the SpringTrader reference architecture is used to help Java-based application architects, developers, infrastructure, and operations teams advance their application roadmaps and provide reusable patterns.  Some might also consider how vFabric Application Director can be used with the SpringTrader app to enable continuous deployment or automatically provision and scale the app in a completely virtual data center (i.e. a software defined data center). As well, vFabric Application Performance Manager can be used to monitor the entire stack and trigger automated scaling events like adding a new JVM and tc Server to the SpringTrader app’s production environment.

What is SpringTrader?

The SpringTrader app is based on the classic DayTrader app, but there are some key differences:

SpringTrader is an app that allows users to login, view their portfolio, lookup stock quotes, and buy or sell stock.  Under the hood, there are some very cool capabilities:

  • The presentation layer is built on open standards like HTML 5, CSS, and JavaScript and is optimized for browser, tablet, or phone.  The client side invokes server side application services in JSON format without full-page refreshes (i.e. a single page interface).  JQuery, Backbone, and Bootstrap are used for development and vFabric Web Server for runtime.
  • The application functionality is provided by lightweight, REST style services that expose JSON, interact with the data tier, and place messages for buying and selling stock on the message queue for asynchronous (long running) processes. The application is based on the Spring Framework and Spring Security. Spring Data JPA provides simplified access to the data tier, Spring Integration provides code-free connection to the message broker and integration services, and Spring Cache Abstraction with Spring GemFire provide declarative application tier caching (and scale) by embedding a peer-to-peer GemFire Cache of authorized tokens for the REST API. Of course, vFabric tc Server is used for runtime of the JVM where Elastic Memory for Java (EM4J) is available.
  • RabbitMQ is used as the message broker for asynchronous processes and loosely coupled inter-JVM processing. For asynchronous, long-running, multi-step transactions like orders, account balance updates, holdings, and stock volatility simulation, Spring Integration is used with RabbitMQ. The framework also choreographs multi-step transactions with SQLFire.
  • The data tier uses SQLFire as a highly scalable, low-latency, in-memory, SQL-based database (or in-memory data grid), but legacy databases or vFabric Postgres could also be used.

What’s available at springtrader.vmware.com?
Here, you can log in and try the application out for yourself as a user.

What’s available on GitHub?
GitHub/vFabric/SpringTrader houses what you’d expect – all the files you need along with a Get Started Guide that walks you through the prerequisite software, installation steps, and STS setup.

High Level Application Architecture

Development Architecture

Operational Architecture

>> To learn more about the vFabric Application Platform:

19 thoughts on “NanoTrader: Now The SpringTrader Reference Architecture

  1. Pingback: Q&A with Brian Dussault | VMware vFabric Blog - VMware Blogs

  2. Paul

    Is Springtrader a framework or a product? I am not sure which it is. Is it a framework that can be customized and leveraged by other commercial trader based webapps?

  3. Stacey SchneiderStacey Schneider

    Hi Paul,

    It is a reference architecture of all the VMware vFabric applications working together. Its basically a “lab” application which is set up to allow users to see how the various components work together. It is not for sale as an application itself intending to help people trade, but as a sales tool or training tool to help application architects understand how to build highly scalable, dynamic apps in cloud environments on VMware’s cloud application platform. Make sense?


  4. Pingback: 3 Steps on Using Spring Insight Developer to Analyze Code | VMware vFabric Blog - VMware Blogs

  5. Pingback: VMware vFabric Blog: 3 Steps on Using Spring Insight Developer to Analyze Code | Strategic HR

  6. Pingback: Sneak Peak at VMware’s Nanotrader Reference Architecture | VMware vFabric Blog - VMware Blogs

  7. Pingback: The Best VMware vFabric Stories of 2012 & What’s In Store for 2013 | VMware vFabric Blog - VMware Blogs

  8. Pingback: VMware vFabric Blog: The Best VMware vFabric Stories of 2012 & What’s In Store for 2013 | Virtualization

  9. Pingback: The Software-Defined Datacenter Will Auto-Scale Gracefully | VMware vFabric Blog - VMware Blogs

  10. Pingback: 3 Game Changing Capabilities in SQLFire | VMware vFabric Blog - VMware Blogs

  11. Pingback: VMware vFabric Blog: 3 Game Changing Capabilities in SQLFire | Virtualization

  12. Pingback: VMware vFabric Blog: 3 Game Changing Capabilities in SQLFire | Strategic HR

Leave a Reply

Your email address will not be published. Required fields are marked *