Polyglot Programming: The Power of Hybridization
Bruce Eckel emphasizes using different languages within a project, each one for the task it is better fitted for, and giving several such examples: Python+Scala, Go+Python, Python+CoffeeScript.
Content in this box provided by our Sponsor:
![]() |
VMware vFabric SQLFire is a memory-optimized distributed SQL database delivering dynamic scalability and high performance for data-intensive modern applications. SQLFire’s memory-optimized architecture minimizes time spent waiting for disk access, the main performance bottleneck in traditional databases. SQLFire achieves dramatic scaling by pooling memory, CPU and network bandwidth across a cluster of machines and can manage data across geographies. SQLFire provides developers with the well-known SQL interface and tools.
Developing Applications with SQLFire explains the main concepts of programming Java and ADO.NET applications with SQLFire APIs and the SQLFire implementation of SQL. It describes how to embed a SQLFire instance in a Java application and how to connect as a client. This guide also describes transactional and non-transactional behavior, and explains how to create data-aware stored procedures.
SQLFire RESOURCES
Tutorial: Integrating SQLFire with tc Server and Spring Data
This article describes basic instructions of SQLFire usage in a simple Java and Spring-based application deployed in vFabric tc Server. The sample application used is a Spring-ified version of Sun's J2EE PetStore application.
Banking Case Study: Scaling with Low Latency using NewSQL
In this presentation, Jags Ramnaryan, Chief Architect for GemFire products at VMWare walks through how a bank used a horizontally scalable, memory oriented SQL database (VMWare SQLFire), did minimal changes to its application, injected the Database between the app and its original database and achieved elastic (on-demand) scaling with very low latencies.
Introducing SQLFire: a memory-optimized, high performance SQL database
Fast meets scalable in VMware’s new distributed SQL database. VMware vFabric™ SQLFire is memory-optimized for maximum speed out of the box and gives you the scale you need in a substantially simpler way. SQLFire is designed for horizontal scalability, so if you need more capacity you simply add more nodes (or more virtual machines) and SQLFire will automatically rebalance data across all members for maximum performance. Watch this webcast to learn how SQLFire offers some of the best features usually seen only in NoSQL databases, all while providing a real SQL interface.
HIGHLIGHTS FROM THE SQLFire BLOG
Java Stored Procedure Performance: Myths vs. Facts
“Java Stored Procedures will never be as fast as SQL Stored Procedures” is a common refrain from database administrators based on their experience with stored procedures in “normal” relational databases. However, SQLFire provides significant advantages for performance of stored procedures. SQL statements are byte compiled into Java structures and Java Stored Procedures run in the same memory and processing space that database operations are performed. Learn more in this blog.
How to offload data from an existing data store and load it into SQLFire
A common requirement for using SQLFire is offloading data from an existing data store and loading it into SQLFire. This example shows how you can load data into a SQLFire distributed system using Spring Batch from a CSV file and then how to present the data from a simple Spring MVC application.
Using SQLFire as a read-only cache for MySQL
Putting a read-only cache atop an RDBMS helps by offloading some reads to another server. A database that is constantly getting reads and writes for a lot of different users (high concurrency) leads to disk thrashing which leads to extremely bad performance. Serving a portion of reads in-memory cuts down on this thrash, making your write throughput go up on the underlying database. In addition, an in-memory architecture like SQLFire handles high concurrency extremely well since it doesn't suffer from thrashing problems the way disk-based databases do.
Chris Harris has written a series of blog posts showing how to use SQLFire from within Grails. In the process he introduces a couple of very interesting features of SQLFire , specifically how your app should take advantage of SQLFire's elasticity and the possibility of using SQLFire as a cache.
Bruce Eckel emphasizes using different languages within a project, each one for the task it is better fitted for, and giving several such examples: Python+Scala, Go+Python, Python+CoffeeScript.
VMware has today announced VMware vFabric Suite 5.1, adding automated deployment, enterprise open source support, and PostgreSQL capabilities, as well as an expansion to the SQLFire in-memory database.
The Apache Software Foundation has released Apache TomEE 1.0. Apache TomEE, pronounced "Tommy", is a Java EE 6 Web Profile certified all-Apache stack available under the Apache 2.0 license. TomEE is composed of Tomcat (Servlet, JSP, JSTL), OpenWebBeans (CDI), OpenEJB (EJB), OpenJPA (JPA), MyFaces (JSF), Geronimo Transaction (JTA), Geronimo JavaMail (Javamail) and Apache Bean Validation.
Microsoft's Erik Meijer recently discussed IKVM.NET with creator Jeroens Frijters to discuss the history of the project and explore how it makes running Java code on .NET and Mono possible.

Arquillian is an integration and functional testing platform that can be used for Java middleware testing. It helps bring the tests to the runtime environment, freeing developers from managing runtime from within the test. InfoQ caught up with Dan Allen to talk about the framework features and its future roadmap.
Brian C. Dilley covers pitfalls, & strengths of using MongoDB ("a very approachable NoSQL solution"), and introduces MJORM. The MJORM project is an annotation free MongoDB Java ORM library. This article builds on Brian's real world in the trenches experience with MongoDB and includes "gotchas" like "Don't treat MongoDB like an RDBMS...", how to "design your indexes carefully", and more.

Michael Slinn examines how to benchmark JVM concurrency options for JVM-based langauges including Java and Scala.

Guillaume Bort and Sadek Drobi introduce Play, a Java and Scala web development framework, insisting on its asynchronous reactive capabilities built on Iteratee IO.
Cliff Moon discusses Scalang, a message passing and actor library enabling easy communication between Scala and Erlang apps, wrapping services in Scalang actors.

Tim Ellison talks to Charles Humble about Lambda, extension methods, modularity, and plans for Java beyond Java 8

IBM WebSphere OSGi Applications Lead Architect, Graham Charters, talks to Charles Humble about OSGi, exploring its use and relevance within WebSphere, how useful it is for Java EE developers, and how OSGi and Jigsaw can co-exist. The interview also touches on issues around OSGi and governance, and the impact of modularity on development and operations teams.

The authors of this book share their experience and lessons learned while building an enterprise-wide Identity and Access Management system using an architectural approach called LIMA.
![]()
With Spring Data, the ever popular Spring Framework has cultivated a new patch of ground, bringing Big Data and NOSQL technology like Neo4j to enterprise developers. This guide introduces you to Spring Data Neo4j, using the fast, powerful and scalable graph database Neo4j to enjoy the benefits of having good relationships in your data.

"Getting Started with Grails" brings you up to speed on this modern web framework. Companies as varied as LinkedIn, Wired, and Taco Bell are all using Grails. Are you ready to get started as well?

Within this book you will find everything you need to get up and running using Struts2 – from the architecture and configuration, to implementing actions and the supporting infrastructure such as validation and internationalization. Above all else, it focuses on the practical – with plenty of code and productivity tips to get you started using Struts2 today.

Grails is an open-source, rapid web application development framework that provides a super-productive full-stack programming model based on the Groovy scripting language and built on top of Spring, Hibernate, and other standard Java frameworks. Over the course of this book, the reader will explore the various aspects of Grails and also experience Grails by building a Grails app.

Within this book you will find everything you need to get up and running using Struts2 – from the architecture and configuration, to implementing actions and the supporting infrastructure such as validation and internationalization. Above all else, it focuses on the practical – with plenty of code and productivity tips to get you started using Struts2 today.

Java Transaction Design Strategies shows how to design an effective transaction management strategy using the transaction models provided by Java-based frameworks such as EJB and Spring. Local, programmatic, declarative, and XA models are explained; the book concludes with a set of design patterns show how to effecitvely use these models.