Even for many seasoned developers, Swing code can be notoriously difficult to organize. Where is the right place to put parsing and validation logic? How do you prevent those threading issues that cause lockups or repainting glitches? Is it possible to unit test GUI logic? Can the code somehow be shared with other user-interfaces, like a web front-end?
There are many good resources on using events and implementing event listeners. Unfortunately, there are nearly as many resources that incorrectly or inefficiently implement event generators. These implementations introduce subtle nondeterministic errors, execute slowly, and/or fill the virtual machine with unnecessary garbage.
Using the Amazon Simple Queue Service (SQS), you can build distributed applications that communicate using a message-based paradigm. Cell phones and other Java Platform, Micro Edition (Java ME) devices can use Amazon SQS easily with simple HTTP requests. In this tutorial, the third in a series on creating applications with Amazon Web Services (AWS), discover how to use SQS from a Java ME device.
JSF's component-based methodology encourages abstraction, but most Ajax implementations interfere with it by exposing the underlying HTTP exchange. In this final article in the Seamless JSF series, Dan Allen shows you how to use the Seam Remoting API and Ajax4jsf components to communicate with managed beans on the server as if they were local to the browser.
Elliotte Rusty Harold demonstrates Java 5's new XPath API.
http://www.ibm.com/developerworks/java/library/x-javaxpathapi.html
Is your software architecture what you think it is?
The Hamlet framework was developed to extend Java servlets and enforce the separation of content from presentation. In this article, you'll find an additional way to provide dynamic content as Rene Pawlitzek advances the framework further and refines use of the template engine.
The Java 2 Platform, Enterprise Edition (J2EE) specification made Java technology the premier technology for enterprise application development. It has evolved over the years to maintain that position, especially with the Java Platform, Enterprise Edition 5 (Java EE 5) specification. OpenEJB has been an integral part of Geronimo since its inception.
In this article, db4o enthusiast Ted Neward shows you what happens when simple objects become structured ones (that is, objects that reference objects) and issues like infinite recursion, cascading behavior, and referential integrity come into play.
This article shows how to add OmniFind search functionality to a conventional Lotus Notes database application accessed through the Notes client. More specifically, the reader will learn how to call IBM's Java Search and Indexing API (SIAPI) from within LotusScript.
The open source Hamlets framework can help aid your Web development and properly separate content from presentation. The OSGi framework provides an excellent tool for development on embedded devices. Together, the two frameworks work as a team to provide browser-based interactivity to the humblest gadgets -- such as the lowly coffee maker. Read on to find out how it works.
Using the Google Web Toolkit (GWT), a Java programmer can write rich Asynchronous JavaScript + XML (Ajax) applications completely in the Java programming language. Cypal Studio for GWT, designed for the Eclipse IDE, provides support for managing GWT constructs.
The hope of using any persistence framework is absolute database independence. Database independence means that you can focus on your job as an application developer and not a DBA. However, no framework can fully make this claim. There's much more to running an application on a database than simply issuing compatible SQL queries and getting back the query results as expected.
We live in a relational world - which is too bad since we develop with objects. Since most non-trivial applications require information to be persisted and retrieved in what is generically called a database, we need to find efficient methods for persisting our objects and retrieving them.
The WebRenderer Swing Edition changes the face of Java Swing applications and the rendering of Web content within Java. Before we jump into that, let's take a look back at Web content display in Java desktop applications including the generational changes and Java's very own "Browser Wars.".
This article, the fifth in a six-part series about real-time Java, shows how to write and deploy real-time Java applications using the tools provided with IBM WebSphere Real Time.
Portlets are powerful tools for aggregating data from multiple locations, integrating different applications, and providing a collaborative workspace for groups of users. Apache Pluto is the reference implementation of the Portlet specification, so it's a good choice for testing portlets that are in development.
Interested in getting the latest on Java technology standards at the 2007 JavaOne Conference?
Put Seam's annotations and conversation scope to the test -- use them to build a simple, stateful CRUD application.
http://www.ibm.com/developerworks/java/library/j-seam2/index.html
The EJB 3.0 Java Persistence API (JPA) was released in May 2006 as part of the Java Enterprise Edition 5 (Java EE) platform, and it has already garnered a great deal of attention and praise.
Web developers can build multifunctional portals by arranging simple, reusable, event-driven components called portlets. Eclipse makes this process even simpler. First, find out how the Eclipse Web Tools Platform (WTP) provides a complete development environment for editing the code and configuration files needed for portlet projects.
The Google Web Toolkit (GWT) provides libraries and tools that let you develop Ajax applications in the Java™ programming language. Unfortunately, GWT's standard gallery of UI controls (widgets) doesn't provide the advanced features that modern enterprise applications require. This article shows a technique that addresses this deficiency. Find out how to give GWT controls advanced functionality with relatively simple coding by integrating a popular JavaScript grid component with a GWT application.
http://www-128.ibm.com/developerworks/java/library/j-gwtcontrols/index.html
This article, the third in a five-part series on real-time Java™, examines aspects of threading and synchronization that an implementation of the Real-time Specification for Java (RTSJ) must support. You'll also learn about related threading and synchronization concerns that are essential to keep in mind when you develop and deploy real-time applications.
http://www-128.ibm.com/developerworks/java/library/j-rtj3/index.html
JavaServer Faces (JSF) is the first standardized user interface framework for Java™ Web applications. Seam is a powerful application framework that extends JSF. Discover the strong chemistry that these two frameworks share in this first article of a new three-part series. Dan Allen introduces Seam's enhancements to the JSF life cycle, including contextual state management, RESTful URLs, Ajax remoting, proper exception handling, and convention over configuration.
http://www-128.ibm.com/developerworks/java/library/j-seam1/index.html
This article, the second installment in a five-part series on real-time Java™, looks at some of the issues involved in native code compilation for the Java language. Neither dynamic (Just-in-time) nor static (Ahead-of-time) compilation alone can meet the requirements for all Java applications. The authors compare the two compilation technologies in various execution environments and show how they complement each other's strengths.
http://www-128.ibm.com/developerworks/java/library/j-rtj2/index.html
This article, the first in a five-part series on real-time Java™, describes the key challenges to using the Java language to develop systems that meet real-time performance requirements. It presents a broad overview of what real-time application development means and how runtime systems must be engineered to meet the requirements of real-time applications. The authors introduce an implementation that addresses real-time Java challenges through a combination of standards-based technologies.
http://www-128.ibm.com/developerworks/java/library/j-rtj1/index.html
The Web Services Distributed Management (WSDM) Event Format (WEF) is an OASIS standard that describes how to serialize events related to systems management in XML. The standard goes into detail about required values, optional values, and the semantics of both, but it offers no instruction for actually implementing the system. Fortunately, the Apache Muse project has an implementation of WEF that lets you create, send, and receive WEF events using a simple Java™ API. This article shows you how to handle these tasks from within an Apache Muse application.
http://www-128.ibm.com/developerworks/java/library/ac-museevent.html
The right way to protect your Web applications.
http://www.javaworld.com/javaworld/jw-03-2007/jw-03-security.html