JavaZone 2011 - Scalability through Streaming
Modern frameworks and libraries make it easy to expose application features as services. However, if used naively, the resulting services are often severely limited in the size of data they can accept. If clients try to pass even moderately large documents, such systems will lag, hang, or crash hard with an OutOfMemoryError.
This talk describes how to design your applications so that they can reliably handle documents and data sets of any size without choking, and without blowing your entire hardware budget on memory. Areas covered:
- Designing your APIs for streaming
- Streaming patterns
- Streaming services (web services and REST)
- Handling large XML and JSON files
- Handling large data sets with JDBC and JPA
- Parallelizing streams
- Connecting streams, with or without helper threads
Markus Bjartveit Kruger
Markus Krüger works as architect and software developer at EDB ErgoGroup AS, one of the largest Norwegian software companies offering operations, solutions, and consultancy services. Markus has 11 years experience in the software industry, working with various technologies and environments, including Java EE the last 6 years. He has previously held talks on various subjects such as version control, object relational mapping (ORM), performance testing, and Java EE scheduling and concurrency.
