A query for persistent Java™ objects is typesafe if a compiler can verify it for syntactic correctness. Version 2.0 of the Java Persistence API (JPA) introduces the Criteria API, which brings the power of typesafe queries to Java applications for the first time and provides a mechanism for constructing queries dynamically at run time. This article describes how to write dynamic, typesafe queries using the Criteria API and the closely associated Metamodel API.
The IBM Application Pattern for Java lets you easily move any existing Java application into a cloud-based environment and make it reusable as either a platform or a modifiable template. Find out how this pattern works with IBM's cloud offerings, and get started with step-by-step instructions — including two video demos — for creating, deploying, and monitoring Java virtual applications in a variety of usage scenarios.
This article gives you a hands-on introduction to developing for and deploying on the Amazon Elastic Compute Cloud (EC2). Learn how EC2 differs from Google App Engine, and leverage an Eclipse plug-in and the concise Groovy language to get a simple Web application up and running quickly on EC2.
The Metro Web service stack provides a comprehensive solution for accessing and implementing Web services. It's based on the reference implementations of the JAXB 2.x and JAX-WS 2.x Java™ standards, with added components to support WS-* SOAP extension technologies and actual Web service deployment.
The Resource Description Framework (RDF) is the World Wide Web Consortium (W3C) proposed standard for linking and expressing data on the Web. Java™ developers who develop applications for the Semantic Web will need to convert RDF properties to or from Java types. Jenabean uses the Jena Semantic Web framework's flexible RDF/OWL API to persist JavaBeans, making the task of writing these applications easier and more familiar to Java developers.
When Java™ serialization is used to exchange information between a client and a server, attackers can try to replace the legitimate serialized stream with malicious data. This article explains the nature of this threat and describes a simple way to protect against it. Find out how to stop the deserialization process as soon as an unexpected Java class is found in the stream.