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 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.
>> To learn more about the vFabric Application Platform:
- Read the overview.
- Check out the documentation.
- Get whitepapers, success stories, webcasts, demonstrations, and more.