

Steven Haines
Contributor
Steven Haines is a senior technologist, accomplished architect, author and educator. He is currently working at Turbonomic as a Principal Software Architect in their Advanced Engineering team, focused on cloud initiatives. Previously he worked in various principal and lead architect roles at Disney, spending the better part of the past six years in their architecture team building out the next generation of Disney's guest experience and leading various Disney initiatives, from a solutions perspective. His specializations have been in performance and scalability, cloud-based architectures, high-availability, fault tolerance, business analytics and integration with new and emerging technologies.
As an author, he has written two books on Java programming: Java 2 From Scratch (Que Publishing, 1999) and Java 2 Primer Plus (SAMS Publishing, 2002), and one on Java Performance Management: Pro Java EE 5 Performance Management and Optimization (Apress, 2006). He has written over 500 articles for publications such as JavaWorld, InformIT.com (Pearson Education), and Dr. Dobb's Journal. And he has written over a dozen white papers and ebooks on performance management and cloud-based architectures to empower companies relay their product value to the market.
As an educator, Steven has taught Computer Science and Java at both Learning Tree University as well as the University of California Irvine and maintains a website dedicated helping technologists grow in their knowledge: www.geekcap.com (by Geeks for Geeks).
The opinions expressed in this blog are those of Steven Haines and do not necessarily represent those of IDG Communications, Inc., its parent, subsidiary or affiliated companies.


Serverless computing with AWS Lambda, Part 1
Serverless computing is no magic carpet, but how does it really work? Get an overview of AWS Lambda's nanoservices architecture and execution model, then build your first Lambda function in Java

If you don't make a reservation, you're going to need to tip the maître d'
Demystifying reserved instances and understanding how you can save money on your cloud bill

Doesn’t the cloud solve all of my performance issues?
Many people are under the impression that the cloud can solve all performance issues. But is this true? This article explores the nature of the cloud, its ability to improve scalability, and why it may not necessarily solve all of...

Migrating to the cloud: You want me to lift and shift what?
Understand the benefits to deploying to the cloud, the challenges of performing a lift and shift, and the types of applications that can be easily moved to the cloud.

Clustering with Docker Swarm
Find out why clustering is an important technique for working with Docker containers, then develop a two-node enterprise cluster with Docker Swarm

Redefine Java virtualization with Docker
Set up and deploy a Java application to Docker, then integrate a Docker container into your Maven build process for easier testing and automated production builds.

Big data analytics with Apache Spark
Set up and use Spark to analyze data contained in Hadoop, Splunk, files on a file system, local databases, and more.

Bridge the SQL-NoSQL gap with Apache Phoenix
Apache Phoenix lets you use standard SQL queries in a NoSQL database, and it's optimized for HBase
Open source Java projects: Spring Batch
Spring Batch manages the batch processing scenarios that developers dread. In this tutorial, learn how to configure Spring Batch to read data in CSV format, process the data in any number of files, and write the results to a MySQL...
Open source Java projects: Spring Integration
Use Spring Integration to develop a robust message-passing architecture that integrates and coordinates enterprise components across an ActiveMQ message bus via JMS.
Open source Java projects: Spring Data
Find out how Spring Data lets you leverage the specialized features of NoSQL repositories like MongoDB, Neo4J, and Redis using the Spring framework coding conventions that you already know.
Open source Java projects: Vert.x
With the release of Vert.x 2.0, now is the perfect time to learn about this JVM-based distributed application framework that was inspired by Node.js, but built to leverage the Java platform APIs.
Open source Java projects: Akka
This installment of Open source Java projects showcases Akka, a JVM-based toolkit and runtime that implements the actor model as message-passing paradigm. Start with a simple example, then work through a more complex program using...
Open source Java projects: Storm
Find out why Storm could be the next big thing in distributed data processing, building on the lessons and success of Hadoop to deliver massive amounts of data instantaneously, in realtime.
Open source Java projects: GitHub
If you've been curious about GitHub then this short tutorial is for you. Get an overview of the source code repository that has changed the way that many developers work, both individually and collaboratively. Then try GitHub for...
Open source Java projects: TomEE
As applications scale to enterprise, they often surpass the capacity of a standard web container. Rather than wire up a deployment environment from scratch, why not check out TomEE? Steven Haines relaunches Open source Java projects...
Open source Java projects: Jakarta Cactus
Unit-testing server-side code is famously challenging, but Jakarta Cactus does make it easier. Learn how Cactus extends JUnit with an in-container strategy that lets you execute test cases for servlets, EJBs, and other server-side...
Open source Java projects: Terracotta
Get a primer on clustering, including its typical failure points in serialization and redundancy. Then find out how Terracotta overcomes these challenges in JavaWorld's hands-on introduction to enterprise clustering with Terracotta. ...
Open source Java projects: Java Caching System
Caching frequently accessed objects is a sure way to improve application performance. Steve Haines joins the OSJP series to introduce Java Caching System, a full-featured, easily configured tool for enterprise-level caching.