by Ales Justin
Google App Engine (GAE) is among the most popular cloud application platforms today, offering decent service at a low price point or even no cost at all. Unfortunately, however, its Java environment is also a fairly restrictive. For instance, you can't write files, make arbitrary network connections, or spawn threads.
This talk presents a number of tips and tricks on how to use top JavaEE specs--CDI, JPA, JSF2, and BeanValidation, for instance--within GAE's restrictive sandbox while still benefitting from the highly scalable environment it provides and maintaining portability to other JavaEE containers. We will demonstrate how CDI can be used to abstract from GAE's services and how state-of-the-art testing frameworks such as ShrinkWrap and Arquillian can be made to work with such an application.
Key takeaway is that JavaEE on GAE is not only possible, but also good engineering practice.
This presentation is a case study on the compatibility strength of merging the Scala programming language with CDI (JSR 299: Contexts and Dependency Injection for the Java EE platform). CDI is a Dependency Injection framework that is inspired by the Seam, Spring, and Guice frameworks. It integrates with technologies like JavaServer Faces (JSF) 2.0, Enterprise Java Beans (EJB) 3.1, the Java Persistence API (JPA) 2.0 and JAX-RS (Java API for RESTful Web Services) 1.1 and does so in a type-safe manner. Scala and other functional programming languages depend heavily on type safety. It is because of CDI’s type safety that this presentation will be valuable.
20th–23rd June 2011