 |
 |
 |
 |
 |
 |
Evaluating XPaths from the Java platform XPath makes selecting elements, attributes, and text in an XML document easy.
Learn how to evaluate XPaths from Java programming, and work with the returned nodes. |
|
Articles |
|
08 Jul 2008 |
|
| |
Automation for the people: Continual refactoring Refactoring is a well-accepted practice for improving existing code.
Yet, how do you find the code that should be refactored, in a consistent and
repeatable manner? In this installment of Automation
for the people, you'll learn how to use static analysis tools to identify code smells to refactor, with examples showing how to improve odiferous code. |
|
Articles |
|
08 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 |
|
| |
Migrate from EJB 2 container-managed persistence to pureQuery for IBM Master Data Management Server, Part 1: Evaluating pureQuery technology If you've been curious or confused about the new release of WebSphere Customer
Center (now named IBM InfoSphere Master Data Management Server), then this series is
for you! This series describes how and why pureQuery technology was used in the new
release, the implementation and migration to pureQuery, and the results of
performance and capability testing to validate this critical decision. Part 1 focuses on the evaluation of persistence mechanisms and our plan to validate the technology.
|
|
Articles |
|
03 Jul 2008 |
|
| |
Java theory and practice: Going wild with generics, Part 2 Wildcards can be very confusing when it comes to generics in the Java
language, and one of the most common mistakes is to fail to use one of the two forms of
bounded wildcards ("super T" and "?
extends T") when needed. You've made this mistake? Don't feel bad, even
the experts have, and this month Brian Goetz shows you how to
avoid it. |
|
Articles |
|
01 Jul 2008 |
|
| |
The busy Java developer's guide to Scala: Collection types Objects have their place in Scala, but so do functional types such as tuples, arrays, and lists. In this installment of Ted Neward's popular series, you'll begin to explore the functional side of Scala, starting with its support for types common to functional languages. |
|
Articles |
|
27 Jun 2008 |
|
| |
Integrating the Spring Framework with Data Studio pureQuery is IBM's new platform within Data Studio for developing Java
database access applications. Its simple API and integrated tooling make data access
developers more productive and encourages coding best practices for improved
performance. Spring is an open source Java/J2EE application framework that offers
higher level data access features like transaction management, resource management,
and Data Access Object hierarchies which, when integrated with pureQuery, lead to a
simpler application development and maintenance experience. This tutorial guides you in creating a pureQuery application that uses the Spring Framework's Data Access features. |
|
Tutorial |
|
26 Jun 2008 |
|
| |
Robust Java benchmarking, Part 2: Statistics and solutions Program performance is always a concern, even in this era of high-performance hardware. This article, the second in a two-part series, covers the statistics of benchmarking and offers a framework you can use to benchmark Java code ranging from self-contained microbenchmarks to code that calls a full application. |
|
Articles |
|
24 Jun 2008 |
|
| |
Robust Java benchmarking, Part 1: Issues Program performance is always a concern, even in this era of
high-performance hardware. This article, the first in a two-part series, guides you
around the many pitfalls associated with benchmarking Java code. Part 2 covers the statistics of benchmarking and offers a framework for performing Java benchmarking. Because almost all new languages are virtual machine-based, the general principles the article describes have broad significance for the programming community at large. |
|
Articles |
|
24 Jun 2008 |
|
| |
Locate specific sections of your XML documents with XPath, Part 2 Part 1 of this tutorial gave you a foundational understanding of XPath. Using slash notation, wildcards, unions, and simple text, you learned how to locate elements and attributes anywhere within an XML document. However, sometimes you need more than just matching based on the name of a node. Predicates give you advanced and refined searching capabilities, allowing you to evaluate the values of attributes and the parent and child nodes of a targeted element. Rather than find a wider node set and refine or filter that set programmatically, you can add predicates to your XPaths to find exactly the nodes you want. |
|
Tutorial |
|
17 Jun 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 |
|
| |
Locate specific sections of your XML documents with XPath, Part 1 XML is a data format concerned primarily with compatibility and flexibility. But
as useful as XML is, it's limited without the abilities to find specific portions of a
document quickly and to filter and selectively locate data within a document. XPath
provides the ability to easily reference specific text, elements, and attributes within
a document -- and with a fairly low learning curve. Additionally, XPath is key to many other XML vocabularies and technologies, such as XSL and XQuery. This tutorial will teach you the fundamentals of XPath, including all of its various selectors and semantics, in an example-driven and hands-on manner. |
|
Tutorial |
|
10 Jun 2008 |
|
| |
Automation for the people: Pushbutton documentation Project documentation is often one of the necessary evils in delivering a software product. But imagine being able to generate your documentation at the click of a button. In this installment of Automation for the people, automation expert Paul Duvall explains how you can use open source tools to automate the generation of Unified Modeling Language (UML) diagrams, build figures, entity-relationship diagrams (ERDs), and even user documentation. |
|
Articles |
|
10 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. |
|
Tutorial |
|
05 Jun 2008 |
|
| |
Embed the NASA World Wind Java SDK in Eclipse The open source World Wind Java (WWJ) SDK by NASA creates new possibilities for the open Geographic Information Systems (GIS) community. World Wind, a 3D interactive world viewer written in the Java language and OpenGL, lets users zoom from outer space into any place on Earth. This article explains how GIS developers who want to enhance their Eclipse-based applications can embed the WWJ SDK as an Eclipse plug-in. |
|
Articles |
|
03 Jun 2008 |
|
| |
The busy Java developer's guide to Scala: Implementation inheritance Scala gives you just as much support for implementation inheritance as
the Java language does -- but Scala's inheritance yields a few surprises. This month, Ted Neward
introduces you to polymorphism done the Scala way, blending functional and
object-oriented language styles while still mapping perfectly to the Java platform's inheritance model. |
|
Articles |
|
28 May 2008 |
|
| |
Use JRuby on Rails and XML to supercharge Ajax with a Java Application Server The Ruby on Rails framework has handy XML features that will make developing
with and serving database data in XML format to your JavaScript applications easier
than ever. JavaScript also has built-in XML parsing capabilities that make it a snap
to receive and parse data in XML format. But what if you now want to hook into Java
applications without having to deploy another server? That's where JRuby comes in.
JRuby on Rails is the Java implementation of the Ruby on Rails framework and brings the benefits of Rails to Java programming by allowing deployment of Ruby apps to Java application servers. In this tutorial, you'll develop a JRuby on Rails application deployable to a Java application server that will serve database data in XML format to an Ajax client that you'll build for film lovers to manage their online films database. You'll also deploy a couple of Java Server Pages pages on the same Java application server to assist the Ajax client in adding and updating films. |
|
Tutorial |
|
27 May 2008 |
|
| |
Build software with Gant Gant is a highly versatile build framework that leverages both Groovy and Apache Ant to let you implement programmatic logic while using all of Ant's capabilities. In this tutorial, Andy Glover guides you step-by-step through Gant's fundamental concepts. You'll learn how to define behavior in your build through Gant's flexible domain-specific language, how to reuse Ant features, and how to define functions that make your builds more efficient and even proactive. |
|
Tutorial |
|
27 May 2008 |
|
| |
Dead like COBOL With the recent reports of Java's imminent demise, you're
probably wondering if it's time to leave the platform behind for
greener pastures. Before you make a decision, step back and examine the Java ecosystem, along with
that of its competitors, to see if the rumors have any substance. It's time, in other
words, to have a State of the Java Union address, holding neither pride nor prejudice in
the evaluation of the platform. |
|
Articles |
|
27 May 2008 |
|
| |
Data Web Services on WebSphere Application Server, Part 3: Leverage DB2 trusted context support using Data Studio Use trusted context with a Data Web Services Web application. Trusted context is available
in DB2 9.5 and allows users to leverage the benefits of connection pooling without sacrificing security. |
|
Tutorial |
|
22 May 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 |
|
| |
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 |
|
| |
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 |
|
| |
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. (IBM WebSphere Developer Technical Journal) |
|
Articles |
|
14 May 2008 |
|
| |
Install Java 5 EE and IBM WebSphere Application Server Community Edition V2
on openSUSE, Part 1 This demo shows how to extract and install the IBM Java Platform, Enterprise
Edition 5 (Java EE 5) SDK that is bundled with the IBM WebSphere Application Server
Community Edition application on the openSUSE Linux platform. It also highlights the key parameters required to
configure a Java Virtual Machine (JVM) in the .bash_profile as well as point out how the default JVM and WebSphere Application Server
Community Edition installation enables access for multiple users. Part 2 of this
demo
shows how to install WebSphere Application Server Community Edition V2 on
openSUSE Linux. |
|
Demos |
|
08 May 2008 |
|
| |
Install Java 5 EE and IBM WebSphere Application Server Community Edition V2
on openSUSE, Part 2 Part 1 of
this demo showed how to extract and install the IBM
Java Platform, Enterprise Edition 5 (Java EE 5) SDK that is bundled with
IBM WebSphere Application Server Community Edition.
This demo shows how to install WebSphere Application Server Community Edition V2 on the openSUSE Linux platform. |
|
Demos |
|
08 May 2008 |
|
| |
Create secure Java applications productively, Part 2 This is the second in a two-part tutorial series on creating secure
Java-based Web applications using Rational Application Developer, Data Studio
and Rational AppScan. In Part 1 you developed a Java Web application with Rational Application Developer, and
then deployed the application on WebSphere Application Server with Java Server Pages
(JSP). This tutorial shows you how to scan the Wealth application created
in Part 1 using Rational AppScan to discover and fix all known Web security
vulnerabilities. It also shows how to re-scan your application and generate reports. |
|
Tutorial |
|
06 May 2008 |
|
| |
Java theory and practice: Going wild with generics, Part 1 One of the most complicated aspects of generics in the Java
language is wildcards, and in particular, the treatment and confusing error messages surrounding wildcard capture. In this installment of Java
theory and practice, veteran Java developer Brian Goetz deciphers some of the weirder-looking error messages emitted by javac and offers some tricks and workarounds that can simplify using generics. |
|
Articles |
|
06 May 2008 |
|
| |
Automation for the people: Manage dependencies with Ivy Managing source-code dependencies among projects and tools is often a burden, but it doesn't need to be. In this installment of
Automation for the people,
automation expert Paul Duvall describes how you can use the Apache Ant project's Ivy dependency manager to handle the myriad dependencies that every nontrivial Java project must manage. |
|
Articles |
|
06 May 2008 |
|
| |
Universal Services for pureXML using Data Web Services Get started with configuring, testing, and modifying the Universal Services. |
|
Articles |
|
01 May 2008 |
|
| |
Write high performance, Java data access applications, Part 2: Introducing pureQuery inline method style IBM pureQuery is a high-performance Java data access platform focused on simplifying the tasks of developing and managing applications that access data. It consists of tools, APIs and a runtime engine. pureQuery introduces two programming styles to help users access the database through simple but powerful APIs. This article introduces one such style, the inline method programming style, and discusses how users can use it to efficiently query and update databases. This article also explores the benefits as well as some of the key features of using the inline method programming style. |
|
Articles |
|
01 May 2008 |
|
| |
Use XQuery from a Java environment The XQuery API makes querying and searching XML documents easy, and Sun's XQuery API for Java brings these capabilities to Java applications. |
|
Articles |
|
29 Apr 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 |
|
| |
The busy Java developer's guide to Scala: Of traits and behaviors Scala doesn't just bring functional concepts to the JVM, it
offers us a modern perspective on object-oriented language design. In this
month's installment of The busy Java developer's guide to Scala, Ted Neward shows you how
Scala exploits traits to make objects simpler and easier to build. As you'll
learn, traits are both similar to and different from the traditional
polarities offered by Java interfaces and C++ multiple
inheritance. |
|
Articles |
|
29 Apr 2008 |
|
| |
Scala and XML Scala is a popular new programming language that runs on the Java Virtual Machine (JVM.) Scala compiles into byte-code and thus it can leverage the Java programming language. Its syntax, however, makes it a powerful alternative to Java in certain scenarios. One of those scenarios is XML processing. Scala lets you navigate and process parsed XML in several ways. It also has first class support for XML built right in, so there is no need to create strings of XML or programmatically build DOM trees. In this article, you will see these aspects of Scala in action and see how Scala can make working with XML a joy to do. |
|
Articles |
|
22 Apr 2008 |
|
| |
Patterns of persistence, Part 2: Increase code reuse and enhance performance Part 1 of this
two-part article covers the basics of achieving a consistent, concise domain model and persistence tier with modern object-relational mapping (ORM) tools. In Part 2, the authors describe base domain entities, behavior in the domain model, and more-advanced features of a generic DAO. They also share strategies for enhancing data-retrieval performance with the domain model. |
|
Articles |
|
22 Apr 2008 |
|
| |
Patterns of persistence, Part 1: Strategies and best practices for modern ORM tools Although many developers use object-relational mapping (ORM) tools for
their applications' persistence tier, some are confused about how to use them and
duplicate code unnecessarily. The authors' experience constructing many persistence
tiers has given them a clear understanding of persistence patterns and best practices.
The first part of this two-part article covers the basics of a consistent, concise
domain model and persistence tier. Part 2 builds and
expands on the concepts covered in this article. |
|
Articles |
|
22 Apr 2008 |
|
| |
Migrating Java EE projects to IBM Lotus Expeditor V6.1 Migrate your Java EE projects to IBM Lotus Expeditor V6.1 using IBM Lotus Expeditor Toolkit, and then deploy the migrated project on the Lotus Expeditor runtime. This article shows you which steps you need to take to migrate your Java EE projects and which Java EE features are not supported by Lotus Expeditor.
|
|
Articles |
|
21 Apr 2008 |
|
| |
Data binding with Castor, Part 4: Bind your Java objects to SQL databases Castor allows you to bind the data in your Java objects directly into database
tables. Learn how to marshal from Java objects to SQL in this article. |
|
Articles |
|
18 Apr 2008 |
|
| |
Develop applications using the IBM Enterprise Content Management Java APIs with IBM Rational Application Developer Set up the IBM Rational Application Developer environment for each of the APIs covered, and start writing simple code to log-on, search, retrieve, and view documents using each API. |
|
Tutorial |
|
17 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 |
|
| |
Write high performance, Java data access applications, Part 1: Introducing pureQuery annotated method style pureQuery is a high-performance Java data access platform focused on simplifying
the tasks of developing and managing applications that access data. It consists of tools, APIs and a runtime. This article introduces the pureQuery annotated method coding style -- a simple, flexible style falling under the named-query paradigm, capable of executing SQL statically or dynamically. This article explains why a developer might choose to write a pureQuery application in the annotated method style, explains some of the differences between the annotated method style and the pureQuery inline coding style, and gives a brief overview of the most powerful features of pureQuery annotated methods. |
|
Articles |
|
10 Apr 2008 |
|
| |
Use XStream to serialize Java objects into XML XML serialization has a myriad of uses, including object persistence and data transport. However, some XML-serialization technologies can be complex to implement. XStream is a lightweight and easy-to-use open source Java library for serializing Java objects to XML and back again. Learn how to set up XStream, and discover how to use it to serialize and deserialize objects as well as to read configuration properties from an XML configuration file. |
|
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 |
|
| |
Automation for the people: Hands-off load testing Load testing is often relegated to late-cycle activities, but it doesn't
need to be that way. In this installment of Automation for the people, automation
expert Paul Duvall describes how you can discover and fix problems throughout the
development cycle by creating a scheduled integration build that runs JMeter tests. |
|
Articles |
|
08 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 |
|
| |
Using the SQLXML data type If you're a Java 2 Enterprise Edition (J2EE) developer, you'll want to preview the SQLXML technology. Check out procedures to create an XML document, store an XML document in a relational database, retrieve an XML document from a database, and navigate an XML document with the SQLXML Java data type. |
|
Articles |
|
07 Apr 2008 |
|
| |
Securing Java applications with Acegi, Part 5: Protecting JavaBeans in JSF applications Bilal Siddiqui concludes his series by demonstrating how to use Acegi to
secure access to JavaBeans in Java Server Faces (JSF) applications. You can
configure secure beans in a variety of ways, including using Acegi-secured
inversion-of-control (IOC) beans directly in your JSF tags. |
|
Articles |
|
01 Apr 2008 |
|
| |
Real-time data acquisition: Connecting your exercise bike to Informix or DB2 Capture data from an analog environment in real time and store it in an Informix
Dynamic Server or DB2 database. Use WebSphere Application Server Community Edition to create graphs of
captured data and present them in Java Server Pages. All the steps, including the
installation and wiring of the magnetic sensors, the computer interface, the client
OLTP code, and the JSP code for presentation of results, are presented in an easy-to-follow format. |
|
Articles |
|
27 Mar 2008 |
|
| |
Fluently Groovy This tutorial is for Java developers unfamiliar with Groovy,
who want a quick and easy introduction to the basics. Get started with Groovy's
simplified variation of the Java syntax and learn about essential features like native
collections, built-in regular expressions, and closures. Write your first Groovy class,
and then see how easily you can use JUnit to test it. You'll walk away from this
one-hour tutorial with a fully functioning Groovy development environment and the skills to use it. Best of all, you'll have learned first-hand how to use Groovy and Java code together in your everyday Java application development. |
|
Tutorial |
|
26 Mar 2008 |
|
| |
The busy Java developer's guide to Scala: Don't get thrown for a loop! Scala was written specifically for the Java platform, so its syntax is
designed to make Java coders feel at ease. At the same time, Scala brings to the JVM
the inherent power of functional languages -- and those functional design concepts
take some getting used to. In this installment of "The busy Java developer's guide
to Scala" series, Ted Neward starts introducing you to the subtle differences
between the two languages, starting with control constructs such as if, while, and
for. As you'll learn, Scala gives these constructs a power and complexity you won't
find in their Java equivalents. |
|
Articles |
|
26 Mar 2008 |
|
| |
Use an XML database in PHP and Java applications Native XML databases have grown in popularity along with XML, because data
is stored as native XML, rather than through tables in a traditional database. Using
a native XML database means that a change to the schema requires minimal changes to
your code and no change to the database. PHP and Java(TM) developers can benefit greatly
from using native XML databases. In this tutorial, you will get quickly up to speed using a native XML database and see how to use it to benefit XML development. |
|
Tutorial |
|
25 Mar 2008 |
|
| |
Implement business logic with the Drools rules engine Using a rules engine can lower an application's maintenance and
extensibility costs by reducing the complexity of components that implement complex
business logic. This updated article shows you how to use the open source Drools
rules engine to make a Java application more adaptive to changes. The Drools project
has introduced a new native rule expression language and an Eclipse plug-in, making
Drools easier to use than ever before. |
|
Articles |
|
18 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 |
|
| |
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 |
|
| |
Automation for the people: Continuous Integration anti-patterns, Part 2 While Continuous Integration (CI) can be extremely effective at reducing risks on a
project, it requires a greater emphasis on your day-to-day coding activities. In this second installment of a two-part article on CI anti-patterns, automation expert and co-author of Continuous Integration: Improving Software Quality and Reducing Risk, Paul Duvall, continues laying out CI anti-patterns, and more importantly, demonstrates how to avoid them. |
|
Articles |
|
04 Mar 2008 |
|
| |
Java theory and practice: Stick a fork in it, Part 2 One of the additions to the java.util.concurrent packages coming in Java 7
is a library for fork-join-style parallel decomposition. In part one of this series,
author Brian Goetz shows how fork-join provides a natural mechanism for decomposing
many algorithms to effectively exploit hardware parallelism. In this article, he'll
cover the ParallelArray classes, which simplify parallel sorting and searching
operations on in-memory data structures. |
|
Articles |
|
04 Mar 2008 |
|
| |
Increase productivity in Java database development with new IBM pureQuery tools, Part 4: Tour Data Studio and pureQuery for Informix databases Take a complete tour of Data Studio and pureQuery using Informix databases.
Learn everything you ever wanted to know about working with your database and
building database applications in Data Studio. |
|
Tutorial |
|
28 Feb 2008 |
|
| |
CallableStatement handling using named parameters Explore a powerful new feature of IBM Informix
Dynamic Server (IDS) called "named parameters in a CallableStatement," which
enables you to identify a parameter using its name instead of its ordinal position.
This feature thus extends the capability of using CallableStatements so that they
can be used either by ordinal position or parameter name. Learn the difference
between the two techniques, and see the advantages of named parameters over the
ordinal technique. |
|
Articles |
|
21 Feb 2008 |
|
| |
The busy Java developer's guide to Scala: Class action It makes sense for Java developers to use objects as a first point of
reference for understanding Scala. In this second installment of The busy Java
developer's guide to Scala, Ted Neward follows a basic premise of language
measurement: that the power of a language can be measured in direct relation to its
ability to integrate new facilities -- in this case, support for complex numbers.
Along the way you'll see some interesting tidbits related to class definitions and
usage in Scala. |
|
Articles |
|
19 Feb 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 |
|
| |
Ropes: Theory and practice Systems that manipulate large quantities of string data are poorly served by the Java language's default String and StringBuilder classes. A rope data structure can be a better alternative. This article introduces Ropes for Java, a rope implementation for the Java platform; explores performance issues; and provides pointers for effective use of the library. |
|
Articles |
|
12 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 |
|
| |
RESTful SOA using XML
Service Oriented Architecture usually implies heavyweight technology for large
enterprises. The advantages of the SOA architectural pattern also apply to smaller
environments. To follow SOA principles, you don't necessarily need all the overhead that
is useful in larger environments. You can use lightweight principles like REST to do so. This article describes how.
|
|
Articles |
|
12 Feb 2008 |
|
| |
Utilizing IBM Directory Server proxy authorization (impersonation) within Web applications
Web applications providing gateway access to LDAP services, such as
an enterprise-wide phone and mail directory, are usually
designed to authenticate using an LDAP "superuser" account.
As a result, the user reads and updates the directory according
to the rights of that high-privileged account
instead of his/her own LDAP privileges.
IBM Tivoli Directory Server offers a powerful
feature, known as proxied authorization (RFC 4370),
which enables programmers to write applications
that authenticates themselves using a specific account but operates
on behalf of the real user, thus delegating all
privilege enforcements to the LDAP server.
|
|
Articles |
|
06 Feb 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. |
|
Tutorial |
|
29 Jan 2008 |
|
| |
Data binding with Castor, Part 3: Map between schemas Use Castor to convert data in an unwieldy or inconvenient XML document to your
custom Java objects. |
|
Articles |
|
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 |
|
| |
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 |
|
| |
The busy Java developer's guide to Scala: Functional programming for the object oriented The Java platform has historically been the province of object-oriented
programming, but even Java language stalwarts are starting to pay attention to the
latest old-is-new trend in application development: functional programming. In this
new series, Ted Neward introduces Scala, a programming language that combines
functional and object-oriented techniques for the JVM. Along the way, Ted makes the
case for why you should take the time to learn Scala -- concurrency, for one -- and
shows you how quickly it will pay off. |
|
Articles |
|
22 Jan 2008 |
|
| |
Understanding pureQuery, Part 2: Assist class modelers with data modeling Learn how the features of pureQuery can assist you as an object-oriented developer to define a set of database relational artifacts using traditional class modeling.
|
|
Articles |
|
17 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 |
|
| |
Create rich applications with JavaFX Script JavaFX Script, which made its debut last spring, is a scripting
language that runs on top of Java Platform, Standard Edition 6 (Java SE) and makes it easy to code sophisticated
user interfaces. Learn the essentials of the JavaFX scripting language and gain an
understanding of some basic UI components with the help of the sample application
detailed within. |
|
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 |
|
| |
Automation for the people: Speed deployment with automation Automated builds aren't just for development teams -- they can be
extended to facilitate moving software from development all the way into production. In
this installment of Automation for the people, automation expert Paul Duvall describes how to use Ant with
Java Secure Channel for remotely deploying software into multiple target environments. |
|
Articles |
|
08 Jan 2008 |
|
| |
Write REST services This tutorial discusses the concepts of REST and the Atom Publishing
Protocol (APP) and shows how they apply to services. It also shows how to use Java technology to implement REST/APP-based services. |
|
Tutorial |
|
20 Dec 2007 |
|
| |
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. |
|
Tutorial |
|
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. |
|
Tutorial |
|
18 Dec 2007 |
|
| |
Understanding pureQuery, Part 1: pureQuery: IBM's new paradigm for writing Java database applications The project called pureQuery gives database application developers an easy, GUI-based means to significantly increase productivity in both the design and implementation phases. This is accomplished through user-initiated automatic transformation of relational data into Java objects for access and manipulation of data. In turn, these objects can be seamlessly utilized in a natural OO programming paradigm to write the business logic and the underlying code. pureQuery's functionality in effect eliminates traditional JDBC programming by integrating the query language with Java itself. |
|
Articles |
|
14 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. (IBM WebSphere Developer Technical Journal) |
|
Articles |
|
12 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.) |
|
Tutorial |
|
11 Dec 2007 |
|
| |
Create dynamic applications with javax.tools Many of today's applications require dynamic capabilities, such as
enabling users to supply an abstract form of computation that extends an application's
static capabilities. The javax.tools package, added to
Java Platform, Standard Edition 6 (Java SE) as a standard API for compiling
Java source, is a superb way to achieve this goal. This article provides an overview of
the major classes in the package, demonstrates how to use them to create a facade
for compiling Java source from Java Strings instead of files,
and then uses this facade to build an interactive plotting application. |
|
Articles |
|
11 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 |
|
| |
Data binding with Castor, Part 2: Marshall and unmarshall XML In the last article of this series, you downloaded, installed, and set up
Castor. In this article, you'll learn how to convert your Java(TM) classes to XML and
transform that XML back into Java code, as well as how Castor works and how to design your classes to function well with the API. |
|
Articles |
|
10 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.
|
|
Tutorial |
|
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. |
|
Tutorial |
|
05 Dec 2007 |
|
| |
Introduction to JAAS authentication Learn about Java Authentication and Authorization Service (JAAS) and how it
works. This demo was written to make it as easy as possible for you to understand the JAAS authentication process. |
|
Demos |
|
04 Dec 2007 |
|
| |
Automation for the people: Continuous Integration anti-patterns While Continuous Integration (CI) can be extremely effective at
reducing risks on a project, it requires a greater emphasis on your day-to-day
activities related to coding. In this installment of Automation for the people, automation expert and co-author of Continuous
Integration: Improving Software Quality and Reducing Risk, Paul Duvall, lays out a
series of CI anti-patterns, and more importantly, shows how to avoid them. |
|
Articles |
|
04 Dec 2007 |
|
| |
Robots, mazes, and subsumption architecture Robot simulators can be both serious research tools and, as IBM computer
programmer Paul Reiners shows in this article, a route to some serious fun with Java
programming. Find out how to create light-seeking and maze-navigating virtual robots in
the Java language using Simbad -- an open source robot simulator based on Java 3D technology -- to realize the robotics-design concept of subsumption architecture. |
|
Articles |
|
04 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 |
|
| |
pureQuery: IBM's new paradigm for writing Java database applications See how you can use pureQuery -- IBM's new paradigm for writing Java
database applications. Three scenarios are described in this demo. The first one is
database-driven objectization, or relational table-to-Java transformation. The
second is query-driven objectization, or SQL-to-Java transformation. The third is
object-relational mapping, or Java-to-SQL transformation.
|
|
Demos |
|
27 Nov 2007 |
|
| |
Use custom collations in XSLT 2.0 One emphasis of XSLT 2.0 is better support for internationalization, especially to sort and compare text. This article demonstrates how to write a custom collation function and invoke it from an XSLT 2.0 stylesheet. |
|
Articles |
|
27 Nov 2007 |
|
| |
Spot defects early with Continuous Integration Continuous Integration (or CI) is a process that consists
of continuously compiling, testing, inspecting, and deploying source code. In
many Continuous Integration environments, this means running a new build
anytime code within a source code management repository changes. The benefit
of CI is simple: assembling software often greatly increases the
likelihood that you will spot defects early, when they still are
relatively manageable. In this tutorial, a companion to his series In pursuit of code
quality, Andrew Glover introduces the fundamental aspects of Continuous Integration and steps you through how to set up a CI process using best-of-breed open source technologies.
|
|
Tutorial |
|
21 Nov 2007 |
|
| |
Java theory and practice: Stick a fork in it, Part 1 One of the additions to the java.util.concurrent packages coming in Java 7 is a framework for fork-join style
parallel decomposition. The fork-join abstraction provides a natural mechanism for decomposing many algorithms to effectively exploit hardware parallelism. The next installment in this series covers the ParallelArray classes, which
simplify parallel sorting and searching operations on in-memory data structures. |
|
Articles |
|
13 Nov 2007 |
|
| |
Data binding with Castor, Part 1: Install and set up Castor Download, install, and configure Castor for data binding. |
|
Articles |
|
13 Nov 2007 |
|
| |
Increase productivity in Java database development with new IBM
pureQuery tools, Part 3: pureQuery rapid application development With IBM pureQuery platform and Eclipse tools, rapidly build
simple, high-performing data access layers and applications with much less code than
JDBC and much higher productivity than any other Eclipse based tools. |
|
Tutorial |
|
08 Nov 2007 |
|
| |
Removing orphan JMS subscriptions with WebSphere MQ This article explains what orphan subscriptions are, how they can occur, how to identify them, and most importantly, how you can remove them. |
|
Articles |
|
07 Nov 2007 |
|
| |