 |
 |
 |
 |
 |
 |
Java development 2.0: REST up with CouchDB and Groovy's RESTClient
A burst of innovation in the open source world over the last few years has led to an increase in Java developer productivity. Freely available tools, frameworks, and solutions address once-common time sinks. A promising new entry on the scene is Apache CouchDB, hailed by some as the database for Web 2.0. The big picture of CouchDB is easy to grasp, and using it is as simple as using a Web browser. This Java development 2.0 column introduces CouchDB and shows you how Groovy's RESTClient can help you tap into its strengths.
|
 |
Articles |
 |
17 Nov 2009 |
|
| |
The Support Authority: Know what your Web application is really doing
The IBM Monitoring and Diagnostic Tools for Java - Health Center is a
lightweight tool that monitors IBM virtual machines for Java with minimal
performance overhead. It provides live information and recommendations about
classes being loaded, the virtual machine environment, garbage collection,
locking, and profiling. This article introduces you to the Health Center and
shows an example of how it can be used to check the impact of a source code
change in a Web application.
|
 |
Articles |
 |
04 Nov 2009 |
|
| |
Java Web services: Introducing Metro
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. This article continues Dennis Sosnoski's Java Web services column series with a look at the basic principles of Metro client and server development.
|
 |
Articles |
 |
03 Nov 2009 |
|
| |
Java development 2.0: Easy EC2
Provisioning an EC2 instance for hosting a Java Web application is a snap. In this Java development 2.0 column, you'll quickly build a Web application that leverages Groovy, Spring, and Hibernate (via the Grails framework) and deploy it on an EC2 instance.
|
 |
Articles |
 |
27 Oct 2009 |
|
| |
GWT fu, Part 2: Beyond the basics
Google Web Toolkit (GWT) lets you implement desktop-like applications that run in a browser. In the second half of a two-part series, David Geary shows you how to use some of the more advanced aspects of GWT, including sinking events, using timers, and previewing events.
|
 |
Articles |
 |
20 Oct 2009 |
|
| |
Developing with real-time Java, Part 3: Write, validate, and analyze a real-time Java application
Building on the previous two articles in this three-part series and on the Real-time Java series, this article shows how to design, code, validate, and analyze a basic real-time application. The emphasis is on the practical aspects of validating the achievement of an application's deterministic quality of service.
|
 |
Articles |
 |
14 Oct 2009 |
|
| |
Comment lines by Scott Johnson: Loading Java resource bundles via HTTP
Learn how to load a Java resource bundle that resides in a different Web
application. Before Java Platform Standard Edition (Java SE) 6, support for
accomplishing this was not part of the JDK. But with the addition of the
ResourceBundle.Control class in Java SE 6, loading a "remote" resource bundle became possible by simply extending the Control class and adding some custom code.
|
 |
Articles |
 |
30 Sep 2009 |
|
| |
Java development 2.0: You can borrow EC2 too
In this Java development 2.0 installment, Andrew Glover give 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.
|
 |
Articles |
 |
29 Sep 2009 |
|
| |
Create stand-alone Web services applications with Eclipse and Java SE 6: Part 2: The Web service client application
Use the Eclipse Integrated Development Environment (IDE) and Java Platform, Standard Edition (Java SE) 6 to
create a stand-alone Web services application that can be run from the console. In this tutorial, the second in the
series, continue getting familiar with the Eclipse IDE and its built-in feature the TCP/IP Monitor. View the
network traffic between server and client applications and then run the applications from the command line.
|
 |
Tutorial |
 |
18 Sep 2009 |
|
| |
Java Web services: JAXB and JAX-WS in Axis2
Apache Axis2 supports a range of data-binding technologies, including the official Java standard, JAXB 2.x. Axis2 also supports the Java standard for Web service configuration, JAX-WS 2.x, as an alternative to its own custom configuration technique. Dennis Sosnoski continues his Java Web services column series by demonstrating how you can use each of these Java standards with Axis2 and discussing some of the limitations of Axis2's current support for them.
|
 |
Articles |
 |
15 Sep 2009 |
|
| |
Introducing Apache Mahout
Once the exclusive domain of academics and corporations with large research budgets, intelligent applications that learn from data and user input are becoming more common. The need for machine-learning techniques like clustering, collaborative filtering, and categorization has never been greater, be it for finding commonalities among large groups of people or automatically tagging large volumes of Web content. The Apache Mahout project aims to make building intelligent applications easier and faster. Mahout co-founder Grant Ingersoll introduces the basic concepts of machine learning and then demonstrates how to use Mahout to cluster documents, make recommendations, and organize content.
|
 |
Articles |
 |
08 Sep 2009 |
|
| |
Developing with real-time Java, Part 2: Improve service quality
Some Java applications fail to provide reasonable quality of
service despite achieving other performance goals, such as average latency or overall
throughput. By introducing pauses or interruptions that aren't under the application's
control, the Java language and runtime system can sometimes be responsible for an
application's inability to meet service-performance metrics. This article, second in a
three-part
series, explains the root causes of delays and interruptions in a JVM and describes techniques you can use to mitigate them so that your applications deliver more consistent service quality.
|
 |
Articles |
 |
08 Sep 2009 |
|
| |
ICEfaces and Google Translate
Globalization has had an enormous impact on our lives and cultures. As a
result, translation is becoming an increasingly important tool to enhance
understanding between cultures. Organizations try to use Web technologies with
different languages, scripts, and cultures, and developers search for new
technologies that will help them create efficient applications as quickly as
possible. Fortunately, JavaServer Faces (JSF) simplifies life for application developers, making it
possible for them to focus on the view without needing to know the underlying
markup or scripts. ICEfaces, an integrated Asynchronous JavaScript and XML (Ajax)
application framework, enables Java Platform, Enterprise Edition (Java EE) application developers to easily create and deploy thin-client,
rich Internet applications in pure Java code. This tutorial describes how to develop Web applications using
JSF with the translation option.
|
 |
Tutorial |
 |
08 Sep 2009 |
|
| |
GWT fu, Part 1: Going places with Google Web Toolkit
Google Web Toolkit (GWT) lets you use the Java language to implement rich client user interfaces that run in a browser. In this two-part article, David Geary brings you up to speed on the latest version of GWT and shows you how to implement a desktop-like Web application.
|
 |
Articles |
 |
01 Sep 2009 |
|
| |
Developing with real-time Java, Part 1: Exploit real-time Java's unique features
Real-time Java combines ease of programming in the Java language with the performance required by applications that must conform to real-time constraints. Extensions to the Java language provide features for real-time environments that are lacking in the traditional Java runtime environment. This article, the first in a three-part series, describes some of these features and explains how you can apply them to enable real-time performance in your own applications.
|
 |
Articles |
 |
01 Sep 2009 |
|
| |
Google App Engine for Java: Part 3: Persistence and relationships
Data persistence is a cornerstone of scalable application delivery in
enterprise environments. In this final article of his series introducing Google App
Engine for Java, Rick Hightower takes on the challenges of App Engine's current
Java-based persistence framework. Learn the nuts and bolts of why Java persistence in
the current preview release isn't quite ready for prime time, while also getting a
working demonstration of what you can do to persist data in App Engine for Java
applications. Note that you will need to have the contact-management application from
Part 2 up and running as you learn how to use the JDO API to persist, query, update, and delete Contact objects.
|
 |
Articles |
 |
25 Aug 2009 |
|
| |
Google App Engine for Java: Part 1: Rev it up!
Remember when Google App Engine was just for Pythonistas? Those
were some dark days. Google Inc. opened up its cloud-computing platform to
Java developers in April 2009. In this three-part article series, Java technology author and
trainer Rick Hightower gets you started with this reliable, robust, and fun platform
for Java-based development. In this article, you'll get an overview of why Google App
Engine for Java could
be the deployment platform for your next highly scalable killer app, then start using
the Google Plugin for Eclipse to build two example apps: one based on Google Web Toolkit (GWT) and one based on the Java Servlet API. You'll learn for yourself what a difference Google App
Engine for Java makes, both in building out an application from scratch and in deploying it to the tune of up to five million views. (And that's just the free version.)
|
 |
Articles |
 |
11 Aug 2009 |
|
| |
Google App Engine for Java: Part 2: Building the killer app
The whole point of a cloud platform like Google App Engine for Java is
in being able to imagine, build, and deploy professional-quality killer apps that
scale -- without breaking the bank or driving yourself insane. In this second part of
his three-part introduction to Google App Engine for Java, Rick Hightower takes you
beyond the ready-made examples of Part 1 with a step-by-step guide to writing and
deploying a simple contact-management application using Google App Engine for Java.
|
 |
Articles |
 |
11 Aug 2009 |
|
| |
Java Web services: Granular use of WS-Security
WS-Security for SOAP Web services doesn't have to be an all-or-nothing proposition. By configuring WS-Security at the operation or message level, you can apply an appropriate degree of protection to every exchange, reducing or eliminating the WS-Security overhead for operations that don't need full protection. Dennis Sosnoski continues his Java Web services series with a look at granular WS-Security in Web Services Description Language (WSDL) using Apache Axis2 and Rampart.
|
 |
Articles |
 |
04 Aug 2009 |
|
| |
Java Web services: The high cost of (WS-)Security
WS-Security offers powerful features for securing Web service
applications, and for many applications these features are essential. But these
features come at a high cost in terms of performance and message overhead. Dennis
Sosnoski continues his Java Web services column series with a look at how using WS-Security or WS-SecureConversation affects Axis2 performance, and he discusses when the simpler (and better performing) alternative of HTTPS-secured connections is a more appropriate choice.
|
 |
Articles |
 |
07 Jul 2009 |
|
| |
Get started with DB2 Performance Expert Extended Insight
Feature
IBM DB2 Performance Expert Extended Insight Feature extends the
capabilities provided in DB2 Performance Expert by providing end-to-end
database monitoring for Java technology applications, with even more
capabilities for those running in IBM WebSphere Application Server. This
feature gives you the capability to address performance issues, regardless of
where they occur in the software stack. This tutorial will help you get started with DB2 Performance Expert
Extended Insight Feature. Learn how to install, configure, and
validate DB2 Performance Expert Extended Insight Feature.
|
 |
Tutorial |
 |
25 Jun 2009 |
|
| |
Java Web services: Axis2 WS-Security signing and encryption
Get an introduction to the principles of public key cryptography, then see how WS-Security applies them for signing and encrypting SOAP messages using public-private key pairs in combination with secret keys. Dennis Sosnoski continues his Java Web services series with a discussion of WS-Security and WS-SecurityPolicy signing and encryption features, along with example code using Axis2 and Rampart.
|
 |
Articles |
 |
16 Jun 2009 |
|
| |
JSF 2 fu, Part 2: Templating and composite components
JavaServer Faces (JSF) 2 lets you implement user interfaces that are easy to
modify and extend with two powerful features: templating and composite components. In
this article -- second in a three-part series on JSF 2's new features -- JSF 2 Expert
Group member David Geary shows you how your Web applications can best take advantage of templating and composite components.
|
 |
Articles |
 |
02 Jun 2009 |
|
| |
JavaScript EE, Part 3: Use Java scripting API with JSP
In the previous two parts of this series, you've seen how to run JavaScript
files on the server and how to call remote JavaScript functions with Ajax. This
article explains how to use server-side JavaScript code with the JavaServer Pages
(JSP) technology and how to build Asynchronous JavaScript and XML (Ajax) user
interfaces that remain functional when JavaScript is disabled in the Web browser.
The sample code consists of a small JSP tag library that you can reuse in your own
applications as well as a dynamic Web form, which is generated with a piece of JavaScript code that can be executed on the Web server or in the Web browser.
|
 |
Articles |
 |
02 Jun 2009 |
|
| |
Java Web services: Axis2 WS-Security basics
Learn how to add the Rampart security module to Apache Axis2 and start using WS-Security features in your Web services. Dennis Sosnoski resumes his Java Web services series with a look at WS-Security and WS-SecurityPolicy use in Axis2, starting with UsernameToken as a simple first step. The next few columns will take you further with WS-Security and WS-SecurityPolicy, as implemented by Axis2 and Rampart.
|
 |
Articles |
 |
26 May 2009 |
|
| |
JSF 2 fu, Part 1: Streamline Web application development
With version 2.0, JavaServer Faces (JSF) makes it easy to implement robust, Ajaxified Web applications. This article launches a three-part series by JSF 2.0 Expert Group member David Geary showing you how to take advantage of the new features in JSF 2. In this installment, you'll learn how to streamline development with JSF 2 by replacing XML configuration with annotations and convention, simplifying navigation, and easily accessing resources. And you'll see how to use Groovy in your JSF applications.
|
 |
Articles |
 |
12 May 2009 |
|
| |
Mastering Grails: Authentication and authorization
Grails provides all the basic building blocks you need to put together a secure Web application, ranging from a simple login infrastructure to role-based
authorization, and in this installment of Mastering
Grails, Scott Davis gives you a hands-on lesson in securing your Grails application. You'll also learn about some plug-ins that can help you extend your applications' security capabilities in new directions.
|
 |
Articles |
 |
28 Apr 2009 |
|
| |
XML: The bridge between GWT and PHP
Google Web Toolkit (GWT) applications, apart from connecting to servlets in time-honored Java fashion, can also use PHP Web services to send and receive data
in XML. You'll explore methods to generate XML documents and process them, both in the Java language and in PHP.
|
 |
Articles |
 |
07 Apr 2009 |
|
| |
Storage made easy with S3
Amazon Simple Storage Service (S3) is a publicly available service that Web application developers can use for storing digital assets such as images, video, music, and documents. S3 provides a RESTful API for interacting with the service programmatically. Learn how to use the open source JetS3t library to leverage Amazon's S3 cloud service for storing and retrieving data.
|
 |
Articles |
 |
07 Apr 2009 |
|
| |
JavaScript EE, Part 2: Call remote JavaScript functions with Ajax
In Part 1 of this series, you learned how to use the javax.script API in
Asynchronous JavaScript and XML (Ajax) and Java Platform, Enterprise Edition (Java EE) applications and how to build a Java servlet that lets you run server-side JavaScript files. This article shows how to implement a Remote Procedure Call (RPC) mechanism for Web applications that use JavaScript on both servers and clients. You'll also learn several interesting techniques, such as implementing Java interfaces with JavaScript, building an XMLHttpRequest wrapper, making Ajax debugging easier, and using JSP tag files to generate JavaScript code.
|
 |
Articles |
 |
31 Mar 2009 |
|
| |
Mastering Grails: Rewiring Grails with custom URIs and codecs
In this installment of Mastering
Grails, Scott Davis shows you how to customize the standard Uniform
Resource Identifier (URI) that Grails generates for Web pages. Moving from primary
keys to descriptive titles in URIs gives users a more memorable and more meaningful
path to the resources that they seek.
|
 |
Articles |
 |
10 Mar 2009 |
|
| |
Use XQuery for the presentation layer
Many Web applications use the Model-View-Controller (MVC) pattern to separate the three concerns. Using XQuery for presentation enables view-side developers to create robust presentation effects without tying the view to any particular underlying application server or programming language. This article explains in detail the advantages of using XQuery over other view technologies, how XQuery is implemented in the presentation layer,
and a realistic example of such an implementation.
|
 |
Articles |
 |
10 Mar 2009 |
|
| |
JiBX 1.2, Part 1: Java code to XML schema
XML schema definitions are the basis for many types of data exchanges, including most forms of Web services. But XML Schema is a complex standard, and most tools for creating and modifying schema definitions are not as powerful or easy to use as those for working with Java code. The new features of JiBX 1.2 let you start from Java code and easily generate quality schema definitions to match your data structures. You can then use the schemas directly, whether you use JiBX data binding or not.
|
 |
Tutorial |
 |
03 Mar 2009 |
|
| |
JiBX 1.2, Part 1: Java code to XML schema
XML schema definitions are the basis for many types of data exchanges, including most forms of Web services. But XML Schema is a complex standard, and most tools for creating and modifying schema definitions are not as powerful or easy to use as those for working with Java code. The new features of JiBX 1.2 let you start from Java code and easily generate quality schema definitions to match your data structures. You can then use the schemas directly, whether you use JiBX data binding or not.
|
 |
Tutorial |
 |
03 Mar 2009 |
|
| |
JiBX 1.2, Part 2: XML schema to Java code
Code generation from XML schema definitions is widely used for all types of XML data exchange, including Web services. Most data-binding tools rigidly structure generated code based on the schema, even aspects of the schema that may be irrelevant to your application. JiBX 1.2 generates cleaner code by doing a better job of interpreting the schema and eliminating unnecessary class clutter. It also provides extensive customizations for the generated code, including customizations for easily eliminating unnecessary components of the schema.
|
 |
Tutorial |
 |
03 Mar 2009 |
|
| |
Social mashups with Groovy
Build a Groovy mashup that lets users view a map of their Twitter friends with Twitter4J, Google Maps, and a bit of Ajax.
|
 |
Articles |
 |
24 Feb 2009 |
|
| |
Essential Java resources
The Java platform will be celebrating its 14th birthday soon and one side-effect when a successful and ubiquitous language reaches this kind of milestone is the widespread proliferation of libraries, tools, and ideas -- this bonus can leave many newcomers to the Java language adrift in a sea of material. In this article, the author (a solid contributor to that overwhelming sea) tacks through the vast tides and presents a list of the key resources any up-and-coming Java developer should have.
|
 |
Articles |
 |
23 Jan 2009 |
|
| |
Mastering Grails: Give your Grails applications a facelift
In this installment of Mastering Grails, Scott Davis demonstrates how to make drastic changes to the look and feel of a Grails application using Cascading Style Sheets (CSS), templates, tag libraries (TagLibs), and more.
|
 |
Articles |
 |
20 Jan 2009 |
|
| |
Groovier Spring, Part 1: Integration basics
The Spring Framework provides a solid foundation for Web and enterprise applications. Spring's support for dynamic languages like Groovy adds capabilities that can make your application architecture more flexible and dynamic. In Part 1 of this two-part series, you'll learn the basics of integrating Groovy into Spring applications.
|
 |
Articles |
 |
06 Jan 2009 |
|
| |
Groovier Spring, Part 2: Change application behavior at run time
The Spring Framework provides a solid foundation for Web and enterprise applications. Spring's support for dynamic languages like Groovy adds capabilities that can make your application architecture more flexible and dynamic. In the second and final installment of the Groovier Spring series, you'll learn how to change the behavior of Spring applications at run time using dynamically refreshable beans.
|
 |
Articles |
 |
06 Jan 2009 |
|
| |
The busy Java developer's guide to Scala: Scala and servlets
If Scala is a fully JVM-compatible language, then you should be able
to use it in various "real-world" environments such as one in which you build servlets
and other Web applications. In this article, the author explores using Scala in a servlet
environment.
|
 |
Articles |
 |
22 Dec 2008 |
|
| |
Mastering Grails: Grails in the enterprise
In this installment of Mastering Grails, series author Scott Davis puts to rest any qualms about Grails' readiness for the enterprise. You'll see how to use Grails with enterprise-caliber libraries including the Java Management Extensions (JMX), Spring, and log4j.
|
 |
Articles |
 |
16 Dec 2008 |
|
| |
Build faster Web applications with caching
Web developers who use Java technologies can quickly improve their applications'
performance by using a cache utility. Java Caching System (JCS), a powerful
distributed caching system for Java applications, is a highly configurable tool with a
simple API. This article gives you an overview of JCS and shows how you can use it to speed up your Web applications.
|
 |
Articles |
 |
02 Dec 2008 |
|
| |
Mastering Grails: Asynchronous Grails with JSON and Ajax
JavaScript Object Notation (JSON) and Asynchronous JavaScript + XML (Ajax) are staples of Web 2.0 development. In this installment of the Mastering Grails series, author Scott Davis demonstrates the native JSON and Ajax capabilities baked into the Web framework.
|
 |
Articles |
 |
18 Nov 2008 |
|
| |
Create stand-alone Web services applications with Eclipse and
Java SE 6, Part 1: The Web service server application
Use the Eclipse Integrated Development Environment (IDE) and Java
Platform, Standard Edition (Java SE) 6 to create a stand-alone Web services
application that can be run from the console. In this tutorial, the first in a
series, start by getting familiar with the Eclipse IDE. Configure the
environment; create projects, packages, and classes; then run the application
from the command line.
|
 |
Tutorials |
 |
13 Nov 2008 |
|
| |
Mastering Grails: Testing your Grails application
Grails makes it easy to ensure that your Web applications start out bug
free and stay that way. As a bonus, you can leverage your test code to produce a rich
set of executable documentation that is always up-to-date. This month, Grails guru Scott Davis shows you the Grails testing ropes.
|
 |
Articles |
 |
14 Oct 2008 |
|
| |
Cross-platform development with JRuby and Swing
In addition to building Web and console applications with Ruby, you can write complex GUI desktop applications that run unmodified on multiple platforms. Thanks to JRuby, a robust alternative to the traditional C implementation of Ruby, Ruby GUI toolkits can use UI tools available to the Java platform. This article introduces Monkeybars, a library that uses JRuby and Swing for building applications, and takes you through an example application.
|
 |
Articles |
 |
07 Oct 2008 |
|
| |
Securing a multitenant SaaS application
The multitenant nature of Software as a Service (SaaS) applications makes security an essential concern. This article introduces a viable and practical approach to securing a multitenant Java application with the open source Spring Security framework combined with Apache Directory Server. The authors present a multitenant example Web application to demonstrate this approach.
|
 |
Articles |
 |
30 Sep 2008 |
|
| |
Build configurable workflows with WS-BPEL and IoC, Part 2: Developing and hosting BPEL workflows
In Part 2 of this brief series, Bilal Siddiqui explains how to use BPEL to express the logic of configurable business workflows. You'll learn how to host your BPEL applications on a BPEL engine and make them work in conjunction with an IoC implementation.
|
 |
Articles |
 |
30 Sep 2008 |
|
| |
Java theory and practice: Are all stateful Web applications broken?
The session state management mechanism provided by the Servlets framework, HttpSession, makes it easy to
create stateful applications, but it is also quite easy to
misuse. Many Web applications that use HttpSession
for mutable data (such as JavaBeans classes) do so with
insufficient coordination, exposing themselves to a host of
potential concurrency hazards.
|
 |
Articles |
 |
23 Sep 2008 |
|
| |
Mastering Grails: RESTful Grails
We live in the era of mashups. Creating Web pages that give users the information they
want is a good start, but offering a source of raw data that other Web developers can
easily mix in with their own applications is better. In this installment of Mastering Grails, Scott Davis introduces various ways to get Grails to produce XML instead of the usual HTML.
|
 |
Articles |
 |
16 Sep 2008 |
|
| |
Create a Java applet to download information in remote Web services
Start with a Java applet and build a server-based
proxy system that uses your browser to access an arbitrary Web service. You'll use
JavaScript code to access applet-based information and call a servlet, which retrieves
the remote information. Thus, you bypass the same-server restrictions on what an
applet can and cannot do.
|
 |
Articles |
 |
04 Sep 2008 |
|
| |
Customize JAX-RPC Web services and clients with advanced tools
This tutorial takes you beyond the basics of the JAX-RPC and shows how to customize your JAX-RPC Web services and clients with the help of Apache Axis. On the client side, you can autogenerate much of the code required to connect with new JAX-RPC Web services, focusing your time on the interactions themselves rather than on routine Web service calls. On the server side, you can add additional options, limit the methods you expose, and restrict parameters you'll accept. All of this is possible with a little customization and a deeper understanding of the Apache Axis toolset.
|
 |
Tutorials |
 |
19 Aug 2008 |
|
| |
Mastering Grails: The Grails event model
Everything in Grails, from build scripts to individual artifacts such as domain classes and controllers, throw events at key points during an application's life cycle. In this Mastering Grails installment, you'll learn how to set up listeners to catch these events and react to them with custom behavior.
|
 |
Articles |
 |
12 Aug 2008 |
|
| |
Ajax and Java development made simpler, Part 4: Create JSF-like components, using JSP tag files
JavaServer Pages (JSP) and JavaServer Faces (JSF) used to have different variants
of the Expression Language (EL). Their unification in JSP 2.1 opened new possibilities,
allowing you to use deferred values and deferred method attributes in your custom JSP
tags. This article shows how to develop Java Web components based on JSP tag files,
which are much simpler and easier to build than the JSF components.
|
 |
Articles |
 |
29 Jul 2008 |
|
| |
Build a RESTful Web service
Representational state transfer (REST) is a style of designing loosely coupled applications that rely on named resources rather than messages. The hardest part of building a RESTful application is deciding on the resources you want to expose. Once you've done that, using the open source Restlet framework makes building RESTful Web services a snap. This tutorial guides you step-by-step through the fundamental concepts of REST and building applications with Restlets.
|
 |
Tutorials |
 |
22 Jul 2008 |
|
| |
Mastering Grails: Grails and legacy databases
In this Mastering Grails installment, Scott Davis explores the various ways that Grails can use database tables that don't conform to the Grails naming standard. If you have Java classes that already map to your legacy databases, Grails allows you to use them unchanged. You'll see examples that use Hibernate HBM files and Enterprise JavaBeans 3 annotations with legacy Java classes.
|
 |
Articles |
 |
15 Jul 2008 |
|
| |
Build an RPC service and client using JAX-RPC
Remote procedure calls (RPCs) are the precursors to modern Web services
that are based on the Simple Object Access Protocol (SOAP) or Representational State
Transfer (REST). Because all of the Java platform's Web service APIs are built on the concepts introduced in RPC, understanding the Java APIs for XML-Based RPC (JAX-RPC) is an almost mandatory step for writing efficient and effective Web services in the Java language. This tutorial takes you through getting and installing JAX-RPC, configuring it, and building a server-side RPC receiver and a simple client-side application.
|
 |
Tutorials |
 |
15 Jul 2008 |
|
| |
Build configurable workflows with WS-BPEL and IoC, Part 1: Understanding dynamic business workflows
Inversion of Control (IoC) and Web Services Business Process Execution Language (WS-BPEL) can be effective tools for implementing dynamic business workflows. In this article, the first in a two-part series, Bilal Siddiqui describes business workflows' dynamic nature and proposes a two-layer workflow model that lets you use XML to build configurable and flexible solutions.
|
 |
Articles |
 |
08 Jul 2008 |
|
| |
Mastering Grails: Grails and the mobile Web
The number of cell phone users worldwide is at 3.3 billion and rising, and Internet access from mobile phones is on a rapidly upward trajectory. Developing for the mobile Web has its unique demands. In this Mastering Grails installment, Scott Davis shows you how to make your Grails applications mobile phone friendly.
|
 |
Articles |
 |
17 Jun 2008 |
|
| |
Reuse Java code in your Ruby on Rails applications
The Ruby Java Bridge (RJB) lets you load Java classes directly
to, and call them from, Ruby on Rails applications. This tutorial shows how you can
put this toolkit to work by reusing your legacy Java Web application code in a modern Web development platform.
|
 |
Tutorials |
 |
05 Jun 2008 |
|
| |
Creating business model templates with WebSphere Service Registry and Repository V6.1
Creating new enterprise-specific business models for use within the IBM WebSphere Service Registry and Repository enables your organization to represent your business concepts within WSRR, relate them to other concepts, and manage them using WebSphere Service Registry and Repository's governance capabilities. The default business models demonstrate what you can represent in WebSphere Service Registry and Repository, but how do you create your own models? This article describes how to create, load, update, and use new business models within WebSphere Service Registry and Repository V6.1 without having to use any special tooling.
|
 |
Articles |
 |
22 May 2008 |
|
| |
Ajax and Java development made simpler, Part 2: Use conventions to minimize setup and configuration
Most Web frameworks try to be as flexible and extensible as possible to accommodate different application needs and development styles. Unfortunately, sometimes this leads to complexity, processing overheads, and large configuration files. This article shows how to use JSP Standard Tag Library (JSTL) and JSP tag files to implement data binding, page navigation, and style conventions, which make both development and maintenance easier. You will learn how to build custom JSP tags with dynamic attributes to facilitate rapid application changes. In addition, the last section of the article contains an example that uses Ajax to submit a Web form.
|
 |
Articles |
 |
20 May 2008 |
|
| |
Mastering Grails: Grails services and Google Maps
Scott Davis shows you how you can add maps to a Grails application using freely
available APIs and Web services in this latest installment of Mastering
Grails. He uses the trip-planner sample application from previous installments and
takes it to the next level with geocoding, Google Maps, and Grails services.
|
 |
Articles |
 |
20 May 2008 |
|
| |
Developing long term strategies for using Java EE technology
Changes to technology are inevitable and necessary, and some of these changes could affect how your existing applications operate. Such inevitability might make it seem risky to commit to technologies that are driven by changing specifications, such as Java EE. However, it is possible to minimize the impact of incompatible changes with informed choices and good planning when determining which technologies are appropriate for you to use. This article offers information to help you make those informed choices, and also explains what IBM does to minimize the impact of these changes to your organization.
|
 |
Articles |
 |
14 May 2008 |
|
| |
Jenabean: Easily bind JavaBeans to RDF
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.
|
 |
Articles |
 |
29 Apr 2008 |
|
| |
Mastering Grails: Many-to-many relationships with a dollop of Ajax
Many-to-many (m:m) relationships can be tricky to deal with in a Web
application. In this installment of Mastering Grails, Scott Davis shows you how to
implement m:m relationships in Grails successfully. See how they're handled by the
Grails Object Relational Mapping (GORM) API and the back-end database. Also find out
how a bit of Ajax (Asynchronous JavaScript + XML) can streamline the user interface.
|
 |
Articles |
 |
15 Apr 2008 |
|
| |
Tapestry and Wicket compared
JSF and Struts are the traditional component frameworks developers turn to for
Web development. You have an alternative, however: Tapestry and
Wicket are component-oriented Web frameworks designed to create Web
applications. A simple example application implementing a to-do list workflow is
developed here, using Tapestry and Wicket technologies.
|
 |
Articles |
 |
08 Apr 2008 |
|
| |
Spice up collections with generics and concurrency
The Java Collections Framework is an important aspect of the Java platform.
Both desktop and enterprise applications typically collect items to work with. This
article shows you how to work with collections while taking advantage of
enhancements made to the framework in Java SE 6. You can go far beyond HashMap or
TreeSet by using generics and concurrency features to make your applications more
maintainable and scalable.
|
 |
Articles |
 |
08 Apr 2008 |
|
| |
Ajax and Java development made simpler, Part 1: Generate JavaScript code dynamically with JSP tag files
Many Web developers complain that Java EE is too complex,
building new Web components is difficult, customizing the existing ones is not as
easy as it should be, and minor changes require application restarts. This series presents simple solutions to these problems, using code generators, conventions, scripting languages, and the latest JavaServer Pages (JSP) features. You will learn how to build reusable Ajax and Java components based on JSP tag files, which are very easy to develop and deploy. When changed, JSP tag files are recompiled automatically by the Java EE server without having to restart the application. In addition, you fully control the generated code, and you are able to easily customize these lightweight components because they use the JSP syntax.
|
 |
Articles |
 |
08 Apr 2008 |
|
| |
An introduction to RichFaces
Today's clients want and have begun to expect desktop features in
browser-based applications. RichFaces is one of a new breed of user interface
component suites available for Java Server Faces (JSF). Among other benefits,
RichFaces provides built-in JavaScript and Ajax capabilities to meet those
expectations. Joe Sam Shirah adds some new tools to your kit based on experiences
with a recent field project, including general setup for using RichFaces with
Facelets, and several specific component examples
|
 |
Articles |
 |
25 Mar 2008 |
|
| |
What's new in the Java Portlet Specification V2.0 (JSR 286)?
Learn all about the second version of the Java Portlet Specification (JSR 286). In Version 2.0, the specification and the APIs more than
doubled, and it allows you to implement most use cases without the need to have vendor extensions. The portlet programming model also provides events and public render parameters so that you can build
larger composite applications out of your portlets and reuse your portlets in different scenarios.
|
 |
Articles |
 |
18 Mar 2008 |
|
| |
Create Ajax-style architectures with the IBM Web 2.0 Feature Pack
This article shows you how a Java(tm) 2 Platform, Enterprise Edition (J2EE)
application was enhanced with an Ajax-style architecture by using the IBM(R)
WebSphere(R) Application Server Feature Pack for Web 2.0. Learn how to combine Ajax-style architectures with an existing application without
having to rewrite the entire Web application. You'll also discover some ideas on how to apply the Web 2.0 Feature Pack to your own J2EE
applications for IBM WebSphere Application Server.
|
 |
Articles |
 |
18 Mar 2008 |
|
| |
Mastering Grails: Changing the view with Groovy Server Pages
Groovy Server Pages (GSP) puts the "Web" in the Grails Web
framework. In the third installment of his
Mastering Grails
series, Scott Davis shows you the ins and outs of working with GSP. See how easy it
is to use Grails TagLibs, mix together partial fragments of GSPs, and customize the
default templates for the automatically generated (scaffolded) views.
|
 |
Articles |
 |
11 Mar 2008 |
|
| |
Securing Java applications with Acegi, Part 4: Protecting JSF applications
Bilal Siddiqui continues his series by showing you how to use Acegi to
secure JavaServer Faces (JSF) applications. Configure JSF and Acegi to work together
in a servlet container, and explore how JSF and Acegi components cooperate with one
another.
|
 |
Articles |
 |
19 Feb 2008 |
|
| |
Craft Ajax applications using JSF with CSS and JavaScript, Part 2: Dynamic JSF forms
In the first article of
this two-part series, author and Java developer Andrei Cioroianu showed how to use the style attributes of JavaServer Faces (JSF) components and how to set up default values for those attributes. In this second installment of the series, learn how to exercise the JavaScript-related attributes of standard JSF components. Learn several Web techniques based on the Document Object Model (DOM) APIs, JavaScript, and Cascading Style Sheets (CSS). See how to hide and display optional JSF components without refreshing a Web page, how to implement client-side validation that is executed in the Web browser, and how to develop a custom component that displays help messages for the input elements of a Web form.
|
 |
Articles |
 |
12 Feb 2008 |
|
| |
Mastering Grails: GORM: Funny name, serious technology
Any good Web framework needs a solid persistence strategy. In this second
installment of his Mastering Grails series, Scott Davis introduces the Grails Object
Relational Mapping (GORM) API. See how easy it is to create relationships between
tables, enforce data validation rules, and change relational databases in your
Grails applications.
|
 |
Articles |
 |
12 Feb 2008 |
|
| |
Develop iPhone Web applications with Eclipse
Learn to create iPhone Web sites using Eclipse, Aptana's iPhone Development
plug-in, and the iUi framework. See the development of a Javadoc viewer for the iPhone,
uncover tips for user interface design, and hear about the future of iPhone application development.
|
 |
Articles |
 |
29 Jan 2008 |
|
| |
Getting started with JavaServer Faces 1.2, Part 2: JSF life cycle, conversion, validation, and phase listeners
This tutorial series covers how to get started with
Java Server Faces (JSF) technology, a server-side framework that offers a
component-based approach to Web user-interface development.
Part 1 gets you started with a JSF 1.2 overview and a basic application. This sequel gives
you a firm grasp of JSF's more-advanced features: custom validators, converters, and
phase listeners. Along the way you'll gain an understanding of the JSF application
life cycle.
|
 |
Tutorials |
 |
29 Jan 2008 |
|
| |
Craft Ajax applications using JSF with CSS and JavaScript, Part 1: Enhance the appearance of your JSF pages
Typical Web applications require the use of Cascading Style Sheets (CSS) and
JavaScript, together with a server-side framework, such as JavaServer Faces (JSF).
CSS lets you change the visual characteristics of Web components within Ajax and
other applications so they can have a pleasant and distinctive look. In the first installment of this two-part series, find out how to use the CSS-related attributes of standard JSF components. In addition, learn how to create a custom JSF component that sets the default styles of nested components, making it very easy to ensure a consistent look for all pages of your Web application. You can also use this technique to programmatically set other component attributes, as you'll see in Part 2, which will show how to make JSF forms more dynamic using JavaScript.
|
 |
Articles |
 |
29 Jan 2008 |
|
| |
Generate Ajax J2EE Web applications with jpa2web
Learn about, try, and contribute to a new open source tool -- jpa2web -- which generates J2EE Ajax-based Web applications from JPA-annotated beans. Using the ZK framework, the applications generated by this tool allow your users to add, delete, search, modify, and interconnect instances of database-synchronized objects in a friendly, Ajax-based Web user interface.
|
 |
Articles |
 |
15 Jan 2008 |
|
| |
Mastering Grails: Build your first Grails application
Java programmers needn't abandon their favorite language and
existing development infrastructure to adopt a modern Web development framework. In the
first installment of his new monthly series Mastering Grails, Java
expert Scott Davis introduces Grails and demonstrates how to build your first Grails
application.
|
 |
Articles |
 |
15 Jan 2008 |
|
| |
Getting started with JavaServer Faces 1.2, Part 1: Building basic applications
JavaServer Faces (JSF) technology, a server-side framework that offers a component-based approach to Web user-interface development, has come a long way. JSF 1.2 (incorporated into Java Enterprise Edition 5) has fixed some JSF pain points and added some nice features. This tutorial series covers how to get started with JSF 1.2. It's heavy on examples and light on theory -- just what you need to get started quickly.
|
 |
Tutorials |
 |
18 Dec 2007 |
|
| |
Web development with Eclipse Europa, Part 3: Ruby Development Toolkit and RadRails
It's a good time to be a Web developer. You've never had more choices in terms
of technologies. There are so many great open source Web servers, databases,
programming languages, and development frameworks. No matter what combination of
technologies you prefer to work with, there is a single integrated development
environment (IDE) that can increase your productivity: Eclipse. In Part 1 of this
three-part series on how to use Eclipse for Web development in Java, PHP, and Ruby, you
saw how the latest release of Eclipse -- Europa -- can be used to rapidly develop Java
Web applications. In Part 2, you saw how easy it is to develop PHP applications using
a different set of Eclipse plug-ins, collectively known as the PHP Development Toolkit
(PDT). Here in Part 3, we introduce the RDT and RadRails Eclipse plug-ins and show you
how to get these plug-ins and start using them. You will learn how to use RadRails to
do many common Ruby on Rails development tasks.
|
 |
Tutorials |
 |
18 Dec 2007 |
|
| |
Building EJB 3.0 applications with WebSphere Application Server
EJB 3.0 is a major step forward in simplifying application development in the enterprise. By using the WebSphere Application Server V6.1 Feature Pack for Enterprise JavaBeans 3.0, you can benefit from the simplified development experience, new persistence model, and new features such as interceptors, while still deploying to a robust WebSphere platform.
|
 |
Articles |
 |
12 Dec 2007 |
|
| |
The busy Java developer's guide to db4o: Transactions, distribution, and security
Java developers can get a lot of mileage out of storing
objects directly in an object-oriented database like db4o. Without support for
transactions or the ability to use data in a distributed environment (and keep
it secure), however, you probably won't have much use for the OODBMS. In this
final installment in The busy Java developer's guide to db4o, Ted
Neward shows you how db4o handles three concerns central to Java enterprise
development: transactions, distributed data management, and Web application
security.
|
 |
Articles |
 |
11 Dec 2007 |
|
| |
Tip: Make the best use of asynchronous callbacks
It takes some finesse to make the best use of asynchronous callbacks for
Ajax data sources in JavaScript applications. This tip discusses
why you should use asynchronous callbacks for Ajax data sources and
gives examples of coordinating the readiness of mutually dependent
application data sources that may become ready at undefined times
with asynchronous calls.
|
 |
Articles |
 |
11 Dec 2007 |
|
| |
Web development with Eclipse Europa, Part 2: The Java EE for Eclipse
No matter what combination of technologies you prefer to work with as a Web
developer, Eclipse is a single integrated development environment (IDE) that can
increase your productivity. In Part 1 of this three-part series, you saw how the latest release of Eclipse -- Europa -- can be used to rapidly develop Java Web applications. In this tutorial, Part 2, we'll see how easy it is to develop PHP applications using a different set of Eclipse plug-ins, collectively known as the PHP Development Toolkit (PDT.)
|
 |
Tutorials |
 |
11 Dec 2007 |
|
| |
Kick-start your Java apps, Part 2
The combination of Eclipse, DB2 Express-C 9.5, and WebSphere Application
Server Community Edition 2.0 -- all free to download, use, and deploy -- is an excellent from-prototype-to-production suite for all of your Java and Java enterprise development needs. What might not be obvious is the relative ease with which you can use these proven tools to create, test, and deploy cutting-edge, lightweight applications as well. This tutorial guides you through the development of a small human-resources application, first using conventional JavaServer Pages (JSP) based technology, and then migrating it to a highly interactive solution using Ajax.
|
 |
Tutorials |
 |
05 Dec 2007 |
|
| |
Kick-start your Java apps
To create, test, and deploy a Web-based application or Web service rapidly, you need a proven relational database, a standards-compliant Web application server, and a flexible IDE. Ideally, all these software packages are production-tested, simple to obtain, easy to use, and well integrated with one another. This tutorial shows you how to use IBM-backed open source and free software to kick-start your Java Web-based application development. You'll learn exactly where to download such components, install them, and get them working for you today.
|
 |
Tutorials |
 |
05 Dec 2007 |
|
| |
Java EE 5: Power and productivity with less complexity
Momentum for organizations to adopt Java Platform, Enterprise Edition 5 (Java EE 5) is steadily increasing as the platform's container support, developer tools, educational resources, and developer-community experience all improve. Get a high-level view of the new productivity features and API enhancements in Java EE 5 and work through a Web service example that demonstrates its simplified development models.
|
 |
Articles |
 |
29 Nov 2007 |
|
| |
Web development with Eclipse Europa, Part 1: The Java EE for Eclipse
It's a good time to be a Web developer. You've never had more choices in terms
of technologies. There are so many great open source Web servers, databases,
programming languages, and development frameworks. No matter what combination of
technologies you prefer to work with, there is an integrated development
environment (IDE) that can increase your productivity: Eclipse. In this tutorial, Part
1 of a three-part "Web development with Eclipse Europa" series on how to use Eclipse
for Web development with Java technology, PHP, and
Ruby, we'll see how the latest release of Eclipse -- Europa -- can be used to rapidly
develop Java Web applications. We'll use Java Platform, Enterprise Edition 5 (Java
EE) for Eclipse to build a Web application for tracking and calculating baseball statistics.
|
 |
Tutorials |
 |
20 Nov 2007 |
|
| |
Java EE meets Web 2.0
Web 2.0 applications developed using standard Java Platform,
Enterprise Edition 5 (Java EE)-based approaches face serious performance and scalability problems. The reason is that many principles that underlie the Java EE platform's design especially, the use of synchronous APIs don't apply to the requirements of Web 2.0 solutions. This article explains the disparity between the Java EE and Web 2.0 approaches, explores the benefits of asynchronous designs, and evaluates some solutions for developing asynchronous Web applications with the Java platform.
|
 |
Articles |
 |
06 Nov 2007 |
|
| |
Make Ajax development easier with AjaxTags
Developers and users have much higher expectations for the usability and
responsiveness of Web-based applications in the Web 2.0 era. Unless you've been
living under a rock for the past two years, you've likely heard of Asynchronous
JavaScript + XML (the Ajax technique). Ajax allows you to build slick, responsive,
and highly dynamic browser-based user interfaces without requiring browser page
reloads. This article takes a look at AjaxTags, a Java/JavaScript Library that lets you easily integrate Ajax functionality into your JSP pages.
|
 |
Articles |
 |
23 Oct 2007 |
|
| |
Integrate XForms with the Google Web Toolkit, Part 4: Creating interactive forms with GWT and XForms
This four-part series demonstrates how to use the Google Web Toolkit (GWT) and XForms together to create a dynamic Web application. Part 1 looks at the JavaScript
underpinnings of each technology. Part 2 shows how to use those JavaScript
underpinnings to start mixing the two technologies together to build the rock star
application. Part 3 refactors the application to use XForms and GWT together. In
this concluding part, you'll continue to refactor and improve your rock star application.
|
 |
Articles |
 |
16 Oct 2007 |
|
| |
Integrate XForms with the Google Web Toolkit, Part 3: Using GWT to create XForms
This four-part series demonstrates how to use the Google Web Toolkit (GWT)
and XForms together to create a dynamic Web application. Part 1 looked at the two
technologies and how both had JavaScript underpinnings. Part 2 shows how to create a
small application with two pages. One page uses GWT to show a list of artists
managed by a record company. The second page uses XForms to display the albums
recorded by a particular artist. Part 3 uses GWT and XForms on the same page. See
how to take advantage of each technology's bindings to JavaScript by using JavaScript to achieve interactivity between GWT and XForms.
|
 |
Articles |
 |
09 Oct 2007 |
|
| |
Auto-save JSF forms with Ajax: Part 3
In the first article of this series, author and Java developer Andrei
Cioroianu showed how to submit the user input of a Web form with Asynchronous
JavaScript + XML (Ajax) and how to handle the Ajax requests with JavaServer Faces
(JSF). In the second article of the series, Andrei discussed data management on the
server side and presented a data repository for keeping the auto-saved form data. In this final installment of the three-part series, you'll find out how to restore the data of a JSF form, which is trickier than you might think. You will learn interesting JSF techniques, such as using the immediate and onclick attributes of JSF components, skipping some of the phases of the JSF request processing life cycle, and using hidden form elements to trigger JSF listeners. You will also learn how to include JSP/JSF expressions within the JavaScript code, how to use JavaScript with the HTML form elements generated by the renderers of the JSF components, and how to implement a servlet context listener for serializing and deserializing application beans.
|
 |
Articles |
 |
09 Oct 2007 |
|
| |
Securing Java applications with Acegi, Part 3: Access control for Java objects
Bilal Siddiqui continues his introduction to Acegi Security
System by showing you how to secure access to instances of your Java classes. Learn
why you need to secure access to your Java classes, how Spring creates and secures
instances of your Java classes, and how to configure Acegi to incorporate class
security in your Java applications.
|
 |
Articles |
 |
25 Sep 2007 |
|
| |
Integrate XForms with the Google Web Toolkit, Part 2: Creating an artist and album management form
This four-part series demonstrates how to use the Google Web Toolkit (GWT) and XForms together to create a dynamic Web application. Part 1 looked at the JavaScript underpinnings of each technology. Part 2 shows you how to use those JavaScript underpinnings to start mixing the two technologies together to build the rock star application.
|
 |
Articles |
 |
25 Sep 2007 |
|
| |
Design and develop JAX-WS 2.0 Web services
Using Java API for XML Web Services (JAX-WS) technology to design and
develop Web services yields many benefits, including simplifying the construction of
Web services and Web service clients in Java, easing the development and deployment
of Web services, and speeding up Web services development. This tutorial walks you
through how to do all of this and more by developing a sample order-processing
application that exposes its functionality as Web services. After going through this
tutorial, you'll be able to apply these concepts and your newly acquired knowledge
to develop Web services for your application using JAX-WS technology.
|
 |
Tutorials |
 |
20 Sep 2007 |
|
| |