Skip to main content

Skip over site navigation to main content

developerWorks  >   Web development  >   Technical library  >  

Technical library view  RSS for Web development

developerWorks
 Related links:    Redbooks

Filter your search and/or enter a keyword. If you don't filter your search or enter a keyword, the search results will default to all results.

 
 
 
  1 - 797 of 812 results    Next   Show All   Hide Summaries
Title   Type   Date  

Table that contains the results that meet the search criteria.

Building smart Web applications for a smarter planet
Currently, Web-based applications are being developed for almost every industry, providing online services that people can access anytime and anywhere. Such services range from online tutoring to virtual shopping, helping people complete their tasks with comfort and ease. Web-based systems are quite attractive because there are no platform constraints and installation requirements. With the emergence of Web 2.0, there is a lot of momentum to build intelligent Web applications that provide more intelligent services. This article describes an architecture for intelligent Web-based applications and discusses each component in the application with implementation details.
Articles 24 Nov 2009  
 
Charming Python: Easy Web data collection with mechanize and Beautiful Soup
For collecting data from Web pages, the mechanize library automates scraping and interaction with Web sites. Mechanize lets you fill in forms and set and save cookies, and it offers miscellaneous other tools to make a Python script look like a genuine Web browser to an interactive Web site. A frequently used companion tool called Beautiful Soup helps a Python program makes sense of the messy "almost-HTML" that Web sites tend to contain.
Articles 24 Nov 2009  
 
Cultured Perl: Flickr, a business's bst frnd
Flickr isn't just for photo sharing and social networking; it's a legitimate business tool. Learn how Perl programmers can use the CPAN Chart modules to create charts and graphs, and the Flickr::Upload module to upload the charts to Flickr.
Articles 24 Nov 2009  
 
Ajax resource center
23 Nov 2009  
 
Build a Web presentation application using Ajax technology, Part 2: Make the Web presentation editable
Web 2.0 allows the development of robust functionality with a minimum of coding by reusing existing components rather than reinventing them. Part 1 of this series discussed using an Asynchronous JavaScript and XML (Ajax) framework to create a Web application to create slideshow presentations. Part 2 provides the framework discussed in the first article and adds functions to make it editable. Using this article, find out how much you can achieve with relatively little code.
Articles 17 Nov 2009  
 
Open output: Producing ODF spreadsheets from your Web services
Writing a Web service that produces data in text format is quite simple, but users often prefer getting something they can work in, like spreadsheets. Producing ODF spreadsheets isn't particularly complicated, and this article introduces some ways of doing so working with PHP and Python.
Articles 17 Nov 2009  
 
Build a pureXML and JSON application, Part 3: Create OpenSocial gadgets for pureXML
With the Web 2.0 technology of OpenSocial gadgets, developers can easily include their applications in popular Web sites, such as iGoogle, MySpace, Hi5, LinkedIn, and others. In this article, explore OpenSocial gadgets through hands-on construction of an application that leverages the pureXML capability of DB2. This article is the last in a series of three that illustrates how to build a pureXML application whose user interface is a gadget that you can deploy in any OpenSocial compliant Web site. Follow the steps in this article to build a user interface that stores and retrieves the JSON data described in the first article through JSON Universal Services created in the second article.
Articles 10 Nov 2009  
 
Incorporate a Service Level Agreement into a Creative Commons license
Get examples of Service Level Agreement (SLA) values you can add to your applications and exceptions you can include in your SLAs. Take advantage of these techniques to make your intended usage clearer to people who use and mash up your application under a Creative Commons (CC) license.
Articles 10 Nov 2009  
 
Build a pureXML and JSON application, Part 1: Store and query JSON with DB2 pureXML
JavaScript Object Notation (JSON), a popular textual notation in Web 2.0, is used to represent objects (or data structures) as serialized text when clients and servers exchange information. Some applications benefit from persisting JSON objects to maintain state across sessions. In this article, learn how DB2 pureXML can store, manage, and query JSON when you adopt a simple JSON-to-XML mapping.
Articles 10 Nov 2009  
 
Create optimized Dojo builds for your custom Dojo artifacts
Create a custom Dojo build for your custom widgets without including any modules from the dojo/dojox/dijit packages into your build output. Custom Dojo builds reduce the number of modules to be downloaded by combining all the modules into a single file, thereby reducing the number of network calls required for the individual module files. These techniques were developed with a real-world project where compact packages were a requirement. This article helps you to create optimized Dojo builds using the Dojo build tool.
Articles 10 Nov 2009  
 
Managing your private cloud, Part 2: Using the WebSphere CloudBurst REST API interface
Several interface options are available to help you to interact with the IBM WebSphere CloudBurst Appliance, which provides functionality for creating, deploying, and managing IBM WebSphere Application Server virtual systems in a private cloud. These interfaces include a Web 2.0 graphical user interface, a Jython command line interface, and an HTTP REST API. This article discusses the HTTP REST API, which provides a language-neutral interface that is ideal for integrating WebSphere CloudBurst capabilities into existing applications or user interfaces.
Articles 04 Nov 2009  
 
Customizing with WebSphere CloudBurst, Part 3: Using script packages for customizing above and beyond patterns
Because every user scenario is unique, the IBM WebSphere CloudBurst Appliance has built-in features to help you configure and customize your IBM WebSphere Application Server environments. Part 3 of this series describes how to customize and enhance your deployed WebSphere Application Server environments using script packages.
Articles 04 Nov 2009  
 
Dojo Grid using the MVC design pattern
Technologies are often linked together, and knowledge that you have in one area can help you gain skill in another. This article introduces the major features of Dojo Grid from an Model-View-Controller (MVC) design pattern perspective. Using the article, discover how you can understand and easily master Dojo Grid, even you haven't used it before.
Articles 03 Nov 2009  
 
Leveraging pureXML in a Flex microblogging application, Part 3: Using pureXML Web services to publish microblog entries to an HTML page
The pureXML capabilities of IBM DB2 allow you to store XML natively in a database without modification, while Adobe Flex applications can read XML directly and populate Flex user interfaces. In this three-part article series, you will create a microblogging application that takes advantage of pureXML, Web services, and Adobe Flex; and even allows you to publish your microblogging updates on Twitter. In Part 1 of the series, you learned about Web Services and how they are enabled using DB2 pureXML as you created the microblog database and tested it. Part 2 tapped into Adobe Flex and ActionScript to create the user interface of your application. In this article, the final part of the series, you will learn how to use your pureXML Web Services to publish your microblog entries to an HTML page.
Articles 03 Nov 2009  
 
Leveraging pureXML in a Flex microblogging application, Part 2: Building the application user interface with Flex
The pureXML capabilities of IBM DB2 allow you to store XML natively in a database without modification, while Adobe Flex applications can read XML directly and populate Flex user interfaces. In this three-part article series, you will create a microblogging application that takes advantage of pureXML, Web services, and Adobe Flex; and even allows you to publish your microblogging updates on Twitter. In Part 1 of the series, you learned about Web Services and how they are enabled using DB2 pureXML as you created the microblog database and tested it. In this article, Part 2 of the series, you will tap into Adobe Flex and ActionScript to create the user interface of the application.
Articles 03 Nov 2009  
 
Working with Web server logs
How do you know who is doing what and where on your site? Chances are you have an Apache-style log for your site, and you just need to learn how to mine it for valuable information. Learn about the format of Web server logs and how to access them in code. Along the way, apply a recipe to identify spider traffic from Web crawlers.
Articles 27 Oct 2009  
 
Introduction to MVC Programming with Agavi, Part 1: Open a whole new world with Agavi
This is the first of a five-part series of articles written for the PHP developer interested in learning about an open-source, flexible, and scalable framework called Agavi. In this first article, you walk through the installation of the framework and the other required components, get an overview of Agavi and its functions, and create your first Web application.
Articles 27 Oct 2009  
 
Introduction to MVC programming with Agavi, Part 3: Add authentication and administrative functions with Agavi
Continue to build the Web Automobile Sales Platform by adding the ability to add, delete, and update the automobile records in Part 3 of a five-part series. You will also see how to separate user functions from administrative functions with authentication.
Articles 27 Oct 2009  
 
Introduction to MVC programming with Agavi, Part 4: Create an Agavi search engine with multiple output types including XML, RSS, or SOAP
Implement a simple search engine and add support for multiple output types such as XML, RSS, or SOAP for your sample Agavi program in Part 4. This five-part series is for the PHP developer interested in Agavi, a open-source, flexible, and scalable framework.
Articles 27 Oct 2009  
 
Introduction to MVC programming with Agavi, Part 5: Add paging, file uploads, and custom input validators to your Agavi application
This is the final article in a five-part series written for the PHP developer interested in learning about an open-source, flexible, and scalable framework called Agavi. You'll learn to support file uploads, store user data in sessions, integrate third-party libraries and create custom input validators for your Agavi application.
Articles 27 Oct 2009  
 
Introduction to MVC programming with Agavi, Part 2: Add forms and database support with Agavi and Doctrine
Work with the scalable, open-source Agavi framework to create an input form, use Doctrine to auto-generate the data models for the project, and integrate these models into the Agavi project in Part 2 of this five-part series.
Articles 27 Oct 2009  
 
Web application security: Testing for vulnerabilities
The increasing reliance on data-driven Web sites has caused an incline in the number of attacks launched against them. As a developer, understanding how a site can be attacked is paramount to making it secure. Discover some of the more common attacks, and learn about the tools you can use to spot them.
Articles 20 Oct 2009  
 
High-performance Web development with Google Web Toolkit and Eclipse Galileo
By now, you have probably heard of Google Web Toolkit (GWT). You know that it lets you write your Web applications in the Java programming language that is compiled into JavaScript to run in Web browsers. This lets you be more productive by taking advantage of Java's static typing and great tools like Eclipse. You have may seen some of the useful and stylish widgets built on top of GWT. What you may not know is that GWT lets you create high-performance Web applications. In this article, we look at how you can use the Google Plug-in with Eclipse Galileo to tap into the performance features of GWT, such as compiler optimizations, deferred binding, and Ajax optimizations. Developer performance is still an important part of GWT, so along the way, we will also show you how tweak the Google Plug-in for Eclipse to increase your productivity.
Articles 20 Oct 2009  
 
Manage tasks with common Ajax workspace
Want to increase productivity when managing tasks of developing Ajax applications? Regular developerWorks author Judith Myerson covers how you can use common Asynchronous JavaScript and XML (Ajax) workspace as a way to collaborate with team members, make or get workspace templates, allocate workspace dynamically, centralize communications for better administration, and make or get Ajax libraries. She shows you how to mitigate project risks to more acceptable levels and how to set up a pilot study on the workspace to test the application before integrating it into legacy enterprise systems.
Articles 20 Oct 2009  
 
Automatically update a Web page with dynamic elements
You may know how to hide and display optional JavaServer Faces (JSF) components by using JavaScript and Cascading Style Sheets (CSS) in standard JSF components. To do this, you would first need to identify all JSF components and write them into JSF pages. But, that is impossible to do when you are developing a Web page that contains dynamic elements that are unknown until run time. With this article, learn how you can clear old UI components while automatically updating the dynamic elements of a Web page, as well as how to use Java code to add new elements and put them into their proper spot on a Web page. You'll also learn how to bind different event handlers to different dynamic elements of a Web page, how to register a listener listening to changes of server-side data to invoke a page refresh, and how to use Asynchronous JavaScript and XML (Ajax) techniques to refresh only the dynamic parts of the Web page.
Articles 13 Oct 2009  
 
Using Apache Pivot to build an iTunes search client
Apache Pivot is an open source platform for building rich internet applications (RIAs) in a Java environment. It combines the enhanced productivity and usability features of a modern RIA toolkit with the robustness of the industry-standard Java platform. Apache Pivot applications take advantage of WTKX, an XML-based language for user interface design, which makes the application's output easy to visualize. In this tutorial, you will follow the implementation of a simple but practical Pivot application that allows a user to execute searches against the contents of the iTunes Store.
Tutorial 13 Oct 2009  
 
PHP bees and audio honey: Accessible agent-based audio alerts and feedback
This article describes a system that uses open source tools to collect, edit, and funnel information to a central database, where it is arranged appropriately for presentation, not on the screen, but announced via the audio system for the benefit of users such as those with visual impairments. The system uses a number of PHP agents that operate independently to generate, edit, arrange, and announce information.
Articles 13 Oct 2009  
 
Cloud computing with PHP, Part 2: Using Amazon EC2 with the Zend Framework
The Zend Framework contains several classes that make using cloud-based storage services easy. Part 1 of this "Cloud computing with PHP" series looks at using Zend classes with Amazon's S3 cloud storage service. This article covers the Zend classes that make it easy to work with virtual machines in Amazon's Elastic Compute Cloud (EC2).
Articles 13 Oct 2009  
 
Collaborate to brainstorm and share projects
Want a real-time interactive collaboration Web site? Regular developerWorks author Judith Myerson talks about addressing the needs of people who want to collaborate, and the developers who want collaboration models that they can modify for different reasons. She gives three collaboration scenarios: Supply Chain Management, Plant Engineering Management, and Research Papers in Science, and covers the impact of IPv6 on mobile devices.
Articles 06 Oct 2009  
 
An introduction to the Web services framework for Jython
The open source SOA company's (WSO2) Web services framework for Jython (WSF/Jython) provides a simple approach to creating and consuming Web services in Jython. This framework integrates the Apache Axis2 Web services engine with Jython, extending all the power and versatility of the Axis2 engine to Jython users. Now, with just a few lines of code, Jython users can enjoy the benefits of Service-Oriented Architecture (SOA) using Web services. Web service clients written using the WSF/Jython framework can invoke enterprise Web services that require WS-Security. WSF/Jython also supports sending binary attachments as MTOM.
Articles 06 Oct 2009  
 
Ajax in a network: Security and topology challenges of aggregating content from multiple sites in an Ajax architecture
There can be challenges when introducing Asynchronous JavaScript and XML (Ajax) programming techniques into a network environment. This article looks at security and topology scenarios that you might be trying to solve when creating Ajax style architectures that aggregate content from multiple sites. This article explores these scenarios using the IBM Tivoli Access Manager WebSEAL product in conjunction with the IBM WebSphere Application Server Feature Pack for Web 2.0 for developing Ajax style architectures for WebSphere Application Server.
Articles 30 Sep 2009  
 
Customizing with WebSphere CloudBurst, Part 2: Using WebSphere CloudBurst to customize a WebSphere middleware environment
At the heart of the IBM WebSphere CloudBurst Appliance are IBM WebSphere Application Server patterns. These patterns are pre-built, hardened configurations that are best practice representations of WebSphere middleware environments that are ready to be deployed to a private cloud. However, these shipped patterns will not meet the needs of every deployment. For that reason the WebSphere CloudBurst Appliance provides pattern customization capabilities that enable you to produce your own highly customized WebSphere middleware environments. Part 2 of this article series discusses how WebSphere CloudBurst lets you build custom WebSphere Application Server patterns that represent your unique topologies and configurations.
Articles 30 Sep 2009  
 
Monitor home energy with AMEE
Electricity is invisible. To understand how people use it, you need to make it visible. This tutorial will show you how easy it is to build a Web-based energy monitoring system yourself, using a Current Cost real-time energy monitor and AMEE, a neutral Web-based API for energy data, combined with some XML, Ruby, Rails, and Ajax.
Tutorial 29 Sep 2009  
 
Ten years of Web development
Ten years of developerWorks has created a vast amount of material. It's interesting to pore back through the technology that we've explored and see how much things have changed. I'll be looking at our colorful past along with what was going on in our popular culture at the time to get a sense of perspective. Join the ride.
Articles 28 Sep 2009  
 
Build a RESTful Web service using Jersey and Apache Tomcat
Representational state transfer (REST) was introduced in early 2000 by Roy Fielding's doctoral dissertation. However, in the Java community, it was not standardized until JSR 311(JAX-RS) was finalized in 2008. The first release of its reference implementation is even later. In this article, I introduce Jersey, which is the reference implementation of JSR 311, by describing its essential APIs and annotations. I'll also show you how you can smoothly transfer from servlet-style services to RESTful services by integrating Jersey into Apache Tomcat.
Articles 24 Sep 2009  
 
Create a dynamic Ajax-based Web application with the WebSphere Application Server Feature Pack for Web 2.0
The IBM WebSphere Application Server Feature Pack for Web 2.0 provides a rich set of components that enable developers to easily and more efficiently build powerful Ajax-based applications. This article explains how you can build a Web application that features dynamic charts using the Feature Pack for Web 2.0. You will also see how you can combine major Web 2.0 facilities (like Dojo, Web remoting, Web messaging, JSON4J, and so on) to create a solution with a rich user experience, as well as how to integrate existing back-end services into the Ajax-style architecture.
Articles 23 Sep 2009  
 
Cloud computing with PHP, Part 1: Using Amazon S3 with the Zend Framework
The Zend Framework contains several classes that make using cloud-based storage services easy. This article illustrates how to use those classes with Amazon's S3 cloud storage service.
Articles 22 Sep 2009  
 
Introducing Quercus, a Java-based PHP framework
Quercus is a new approach to authoring Web services and applications using a mixture of Java and PHP. With the Quercus framework, Java and PHP are integrated with each other, thus allowing you to conveniently incorporate versatile Java libraries like Spring and Hibernate into applications. This article provides a brief introduction of the framework along with some code samples. Explore the features and advantages of the framework using a simple HelloWorld sample. And finally, understand the framework architecture and look at a real world example in more detail.
Articles 22 Sep 2009  
 
Implement a real-time server push in Ajax applications using socket-based RIA technologies
The new range of advanced user interface (UI) applications requires some aspect of the "server-push" feature so clients can be notified immediately of any server-side changes. Unfortunately, the HTTP spec does not address the issue of any server-side initiated communication, so the server-push has traditionally been implemented through client-side polling. This technique tends to generate a lot of unnecessary traffic and non-optimized applications. Thankfully, certain Rich Internet Application (RIA) technologies do allow the opening of a dedicated socket channel, with the back-end server providing an opportunity for Asynchronous JavaScript and XML (Ajax) applications to piggyback on their APIs and implement a server push. This article explores this technique in a variety of ways, and helps you understand it well enough to begin your own implementation.
Articles 22 Sep 2009  
 
Creating juxtaposition tables, Part 1: Use Flex to create JTables
Use an Adobe Flex-based juxtaposition table, a two-dimensional visualization assistant, to arrange, classify, and compare potentially large quantities of data. With the juxtaposition table, you can define your own custom perspectives in a convenient and compact view. This article demonstrates how to dynamically create the table's columns and alter the table's contents. You will also learn how to display numerous items in a single cell and how to give cells their shape and color.
Articles 15 Sep 2009  
 
Mastering Grails: Creating a custom plug-in
In this Mastering Grails installment, Scott Davis shows you how to create your own Grails plug-in. Once you see how effortless it is to create a plug-in, you'll understand why more than 250 Grails plug-ins are available now, with new ones being added all the time.
Articles 15 Sep 2009  
 
memcached and Grails, Part 1: Installing and using memcached
In this first half of a two-part article focusing on memcached and Grails, author James Goodwill introduces you to the open source caching solution memcached. Topics covered in this article include installation, configuration, memcached client commands, and evaluating the effectiveness of your cache. Unlike articles about using memcached with a language-specific client, this one focuses on direct interaction with the memcached server. The goal is to give you the tools you need to monitor your instance of memcached as well as to prepare you for the second half of the article, in which you will integrate memcached into a Grails application.
Articles 15 Sep 2009  
 
Developing a Web 2.0 application using the InfoSphere Business Glossary REST API
IBM InfoSphere Business Glossary enables users to create, manage, and share an enterprise vocabulary and classification system. In version 8.1.1, the Business Glossary team introduced a REST API that makes glossary content easier to consume by enabling the development of custom applications based on particular needs. This article provides step-by-step instructions on how to develop a portable, dynamic read-write widget that uses the IBM InfoSphere Business Glossary REST API in conjunction with various Web 2.0 technologies. The widget enables users to find terms, examine the term's details, and make basic edits. Our goal is for InfoSphere Business Glossary customers to use the knowledge gained through building this sample widget as inspiration for using the REST API to create their own custom applications. This article is intended for software engineers who are familiar with Web 2.0 technologies and product designers who can apply the tools provided here to real world situations.
Articles 10 Sep 2009  
 
Using the Technorati API
Technorati is a blog cataloging service that enables users to search virtually the entire blogosphere for articles of interest. Like most entries in the Web 2.0 domain, Technorati provides an API to automate much of its functionality. Also like most entries in the Web 2.0 domain, that API is provided as a REST service. In this article, work with examples and learn to get the most out of the Technorati API.
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  
 
Explore multithreaded programming in XUL
As you create cross-platform desktop applications using XUL, you also can enhance your skills with JavaScript, CSS, and even HTML. XUL's cross-platform capabilities are not a collection of least common denominator features. Instead, XUL gives you the kind of power that you might expect from a desktop application toolkit, including access to native threads. You can even access native threads directly from JavaScript, writing code that executes in parallel. In this article, you will examine the multithreading capabilities of XUL, and create an application that uses multiple threads to retrieve data. You will take a classic IO-bound application, one that accesses multiple remote data sources over the Internet, and speed it up through multiple threads in XUL. The application will allow users to view and compare anonymous results of three popular search engines: Google, Yahoo, and Bing from Microsoft(R).
Articles 01 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  
 
Reduce online collaboration vulnerabilities
Web 2.0 tools are increasing the possibilities for online collaboration, both in the business world and in people's personal lives. This increased usage of collaboration tools equates to increased risks if applications are not protected against vulnerabilities. Part of that protection comes from good design and coding techniques that protect against attacks. The other half of the equation is the contract or Service-Level Agreement (SLA) that the user has with the service provider. In this article I'll examine some of the known vulnerabilities and show you how you, as a developer and a user, can protect yourself.
Articles 01 Sep 2009  
 
Accessibility in Web 2.0 technology
Accessibility has become a hot topic as increased awareness and growing requirements demand that applications take into account the needs of all potential users. Accessibility covers not only the Web application, but document, desktop application and hardware, and so on. In the Web application domain, making static Web pages accessible is relatively easy. But for Web 2.0 technology, dynamic content and fancy visual effects can make accessibility testing very difficult. This article introduces the WAI-ARIA standard, which is designed to make future Asynchronous JavaScript and XML (Ajax) widgets accessible. The article also covers accessibility principles in Web 2.0 design and provides several code samples to get you started.
Articles 01 Sep 2009  
 
Creating a declarative XML UI language
Writing GUIs in program code can often lead to messy design choices, which in turn results in a blurring between business logic and UI code. Discover how to create a declarative XML UI tag set with an accompanying Java(TM) framework that parses, validates, constructs, and finally binds the declared GUI components to business logic at runtime.
Articles 01 Sep 2009  
 
Integrating SOAP Web services in WebSphere sMash applications
You can probably think of many scenarios in which you might want to reuse existing SOAP Web services in new applications. The IBM WebSphere sMash REST to SOAP extension enables you to provide REST access to existing SOAP Web services, providing easier and more intuitive access to such functions. This tutorial demonstrates how you can use the WebSphere sMash REST to SOAP extension to leverage a SOAP Web service deployed on IBM WebSphere Application Server. The SOAP Web service will serve to provide data for a Dojo-based widget provided by WebSphere sMash.
Tutorial 26 Aug 2009  
 
GMaps4JSF in the JSF 2.0 Ajax world
GMaps4JSF, a JavaServer Faces (JSF) mashup library, integrates Google Maps with JSF. Using GMaps4JSF, you can construct complex street view panoramas and maps with just a few JSF tags. You can also easily attach different components to the map. This article explains how to configure GMaps4JSF inside JSF 2.0 applications, and includes a brief introduction to JSF 2.0 Ajax. Using the article, learn how you can create a simple mashup application that uses both GMaps4JSF and JSF 2.0 Asynchronous JavaScript and XML (Ajax).
Articles 25 Aug 2009  
 
Git changes the game of distributed Web development
Version control systems are a core component of most development projects, regardless of whether you're developing an application, a Web site, or an operating system. Most projects involve multiple developers, often working at widely separated physical locations. Distributed version control systems are nothing new, but the Git version control system provides unique support for collaboration and interaction among developers.
Articles 25 Aug 2009  
 
Find vulnerabilities with Metasploit
Metasploit is a vulnerability scanning and exploit development tool that you can use to greatly enhance the security in your enterprise. Through the use of Metasploit, an organization can locate previously unknown weaknesses and begin addressing them.
Articles 18 Aug 2009  
 
Java development 2.0: Hello Google App Engine
Open source solutions and borrowed infrastructures are changing the character of Java development, letting you deliver better software quickly and at a low cost. Andrew Glover, coining the term Java development 2.0 to encapsulate the cumulative force of these phenomena, launches a new series on some of the relevant tools and technologies. This first installment heralds the arrival of Java development 2.0 and explains how you can bring its concepts to fruition quickly with Google's App Engine for Java.
Articles 18 Aug 2009  
 
Exploring Drupal V6, Part 1: Introduction
Need a Web site? Don't have lots of money for development? Say no more. Drupal is an open source solution that runs everywhere. It has impressive features and its latest incarnation, Drupal V6, is a joy to use. Here's an introduction.
Articles 11 Aug 2009  
 
Create Web applications using IBM WebSphere sMash DE
IBM WebSphere sMash Developer Edition 1.1 (DE) provides a Web-based development environment called App Builder that allows you to develop Web applications. Learn how to use this tool to create a simple online RSVP application that provides Atom feeds.
Articles 11 Aug 2009  
 
Mashup security
The mashup development model enables a vast array of possibilities for the Web landscape. This openness, however, presents a plethora of new security vulnerabilities. Discover tips and techniques for addressing some of these problems.
Articles 04 Aug 2009  
 
Git for Subversion users, Part 1: Getting started
Distributed version control systems (DVCSs) offer a number of advantages over centralized VCSs, and for Subversion users looking to explore this model, Git is a great place to start. Using Subversion as a baseline, this first of two articles shows how to install Git, set up a remote repository, and begin using basic Git commands.
Articles 04 Aug 2009  
 
Build a Web presentation application using Ajax technology, Part 1: Developing the Web UI
How does Google Docs put such amazing functionality into a Web application? They leverage Web 2.0 technologies, which provide robust functionality with relatively simple code. In this article, learn how to build a Web application to create slideshow presentations using Asynchronous JavaScript and XML (Ajax) technology.
Articles 28 Jul 2009  
 
Create a Flex component
Rich Internet Applications (RIAs) strive to bring the interactivity, responsiveness, and robustness of traditional desktop applications to Web-based applications. RIAs are especially important for developers who are hoping to leverage business intelligence (BI) and Web 2.0 approaches to content and delivery. Adobe Flex is an application at the forefront of RIA-based solutions. A relatively new but fast-growing technology, Flex leverages the capabilities of Adobe's Flash Player to provide first-rate graphical presentations that feature highly responsive UIs. Flex ships with many useful and robust components, but things get more difficult when you need to step outside the narrow bounds of what Flex provides for you and create domain-specific functionality. This introductory article provides an in-depth look at the architecture of the Flex-rendering engine, walking you through the process of incorporating Flex components into your RIAs and explaining what you need to know to create new Flex functionality from scratch.
Articles 28 Jul 2009  
 
Mashups: The new breed of Web app
Mashups are an exciting genre of interactive Web applications that draw upon content retrieved from external data sources to create entirely new and innovative services. They are a hallmark of the second generation of Web applications informally known as Web 2.0. This introductory article explores what it means to be a mashup, the different classes of popular mashups constructed today, and the enabling technologies that mashup developers leverage to create their applications. Additionally, you'll see many of the emerging technical and social challenges that mashup developers face.
Articles 24 Jul 2009  
 
Comment lines by Christina Lau: IBM BPM BlueWorks, a WebSphere cloud experiment
Learn about new IBM WebSphere cloud experiments to create multi-tenant WebSphere runtimes, tools, and programming and business models. A realization of this architecture is the upcoming IBM BPM BlueWorks. This article provides an introduction to BPM BlueWorks, reveals the technologies behind this new offering, and offers some insight on where all this could go.
Articles 22 Jul 2009  
 
Customizing with WebSphere CloudBurst, Part 1: Creating highly customized private clouds
This is the first of several articles that looks at the customization features available in IBM WebSphere CloudBurst and how you can use them. Part 1 describes how you can create private WebSphere clouds, how and when to use the WebSphere CloudBurst customization features, and how those capabilities align with organizational responsibilities.
Articles 22 Jul 2009  
 
Managing your private cloud, Part 1: Introducing the WebSphere CloudBurst Appliance command line interface
The IBM WebSphere CloudBurst Appliance enables you to construct, deploy, and maintain WebSphere Application Server virtual systems in a private cloud. In order to manage the entire lifecycle of these systems in a private cloud, WebSphere CloudBurst offers multiple administration interfaces, including a rich Web 2.0 interface for GUI-based administration activities, and a command line interface (CLI) that enables a scripted, automated administration approach. This article explains how you can leverage the WebSphere CloudBurst CLI with examples of how this CLI can be put to work in your own WebSphere CloudBurst environment.
Articles 22 Jul 2009  
 
Build Wikipedia query forms with semantic technology
By providing open access to increasing amounts of Linked Data, public SPARQL endpoints boost the growth of the Semantic Web by providing great data for you to use in your applications. As with many other data-driven Web sites out there, you can create a Web page by sending a query to these endpoints and then wrapping the results in HTML tags; the big difference for SPARQL endpoints is the public availability of this new data for your applications. With simple CGI scripting, get data from two different SPARQL endpoints to build applications that answer your user's questions about actors shared between two directors and which musicians have released which albums.
Articles 21 Jul 2009  
 
Patterns + GWT + Ajax = Usability!
The Google Web Toolkit (GWT) allows for easier development of complex Web sites. When combined with certain design patterns that enhance usability and Asynchronous JavaScript and XML (Ajax), these technologies and techniques provide a smoother look and feel to your application. The result is an application closer to a traditional desktop program than to a typical Web page.
Articles 21 Jul 2009  
 
Mastering Grails: Understanding plug-ins
In this Mastering Grails installment, Scott Davis introduces you to the world of Grails plug-ins. Adding whole areas of new functionality to your applications couldn't be easier. You'll learn how plug-ins do their magic, and you'll use a plug-in to implement powerful search capabilities in the Blogito application.
Articles 21 Jul 2009  
 
JSF 2 fu, Part 3: Event handling, JavaScript, and Ajax
JavaServer Faces (JSF) 2 Expert Group member David Geary wraps up his three-part series on JSF 2's new features. Find out how to use the framework's new event model and built-in support for Ajax to make your reusable components all the more powerful.
Articles 14 Jul 2009  
 
Advanced jQuery
jQuery makes writing a good JavaScript-based Web application easy and straightforward, but there are a few extra steps required to turn your good Web application into a great Web app. This article details some of the steps to give your Web application the final layer of polish.
Articles 14 Jul 2009  
 
Feed your site with RSS and Atom
For modern Web 2.0 sites, the ability to mash up information from different sources is a plus. You can use Google Web Toolkit (GWT) to get and process XML-based news feeds such as RSS and the more modern Atom Syndication Format. In this article, explore methods to access any appropriate feed -- despite same-origin policy (SOP) limitations -- and to process the incoming XML data.
Articles 14 Jul 2009  
 
Integrate Creative Commons Licensing into your content with ccREL
With Web 2.0, Cloud, and SOA, it's more important than ever to have a clear understanding of who owns information and what you are permitted to do with it. The Creative Commons License contains a mechanism for providing more open usage rights without giving up ownership. The Creative Commons (CC) Rights Expression Language (ccREL) allows you to embed this information into Web content so that information owners and information users can clearly see the rights granted and choose accordingly, even through automation. Learn more about these techniques, and see how to use them in your own applications.
Articles 14 Jul 2009  
 
Discover the power of Flex and CSS
Leverage the powerful capabilities of CSS that are already built into the Adobe Flex framework. This article provides the information you need to start using CSS in Flex, and then provides tips and techniques to speed up your workflow when designing and developing user interfaces with Flex.
Articles 07 Jul 2009  
 
AjaXQuery
Discover how you can get the full benefit of using XQuery technology together with Asynchronous JavaScript and XML (Ajax). Your Web application will have the back-end benefit of sophisticated XML querying as well as the client-side benefit of rich presentation without the distraction of repeated requests.
Tutorial 07 Jul 2009  
 
Build RESTful Web services and dynamic Web applications with the multi-tier architecture
Continue your training on building RESTful Web services and dynamic Web applications using the multi-tier architecture. This article gives you hands-on experience on designing and building components in each tier and how the components are tied together. It provides an example of how RESTful Web services, Asynchronous JavaScript and XML (Ajax), and Spring Web Flow work together to produce a desktop-like rich and responsive Web interface. It also demonstrates how client programs such as Ruby scripts utilize the RESTful Web services to upload and download the user data from the server.
Articles 30 Jun 2009  
 
Going green and staying secure
In this developerWorks article, understand the benefits and risks of telecommuting. Learn how to create secure mashup applications for business users, and be sure you know the important questions to ask service providers to help ensure a secure and reliable environment.
Articles 30 Jun 2009  
 
Comment lines by Kevin Haverlock: A closer look at the WebSphere Application Server Feature Pack for Web 2.0
The same technology used by IBM to create dynamic Ajax style applications is available to you through the IBM WebSphere Application Server Feature Pack for Web 2.0. Learn how some of these key features can have a big impact on your Web applications.
Articles 24 Jun 2009  
 
The Support Authority: What’s new in IBM Support Assistant V4.1
IBM Support Assistant is a free serviceability workbench provided by IBM to facilitate self-help diagnostics for software problems. This article provides an overview of the newest features included in the IBM Support Assistant Workbench and Agent V4.1 software offerings.
Articles 24 Jun 2009  
 
Cloud computing for the enterprise, Part 3: Using WebSphere CloudBurst to create private clouds
Part 1 of this article series discussed cloud computing in general, including cloud layers and the different cloud types, along with their benefits and drawbacks, and explained why this movement is important for enterprise developers. Part 2 looked at the public cloud and how you can use IBM WebSphere sMash and IBM DB2 Express-C to deliver Web applications hosted on a public cloud infrastructure. This article provides an introduction to IBM WebSphere CloudBurst and IBM WebSphere Application Server Hypervisor Edition and discusses how these new offerings bring the significant advantages of private cloud computing to WebSphere enterprise environments.
Articles 24 Jun 2009  
 
Weaving a better Web page
A Cascading Style Sheets (CSS) framework expedites and simplifies the design and development of Web pages. Moreover, a CSS framework produces more standardized results in all browsers. Here's a look at two CSS frameworks, each with a unique philosophy.
Articles 23 Jun 2009  
 
Leveraging Amazon Web Services for enterprise application integration
Discover how to leverage XML and Amazon Web Services to integrate enterprise applications, and to build cross-platform application-integration capabilities using the Microsoft(R) .NET C#) and Java(TM) platforms.
Articles 16 Jun 2009  
 
Intermediate jQuery
jQuery is a great JavaScript library, but what about its performance? Is the trade-off between ease of use and a performance hit on the Web page worth it? Is there even a performance hit at all? This article answers your jQuery performance questions and offers some tips to improve its performance in your own applications.
Articles 16 Jun 2009  
 
SOA antipatterns
Service-Oriented Architecture (SOA) is the de-facto architectural approach for many IT initiatives. It is therefore important to understand the circumstances where this paradigm breaks, as this can significantly impact the delivery of IT programs. This article highlights two SOA antipatterns that define problems that can occur in the execution of SOA deliveries. A simple frame of reference for SOA is first introduced in the form of a layered reference architecture. The reference architecture is then used to illustrate the underlying reasons for the occurrence of the antipatterns. For each antipattern a description is provided that highlights the root causes of the problem and the approaches to re-factoring the solution, hence facilitating successful delivery.
Articles 09 Jun 2009  
 
A multi-tier architecture for building RESTful Web services
RESTful Web services have emerged as a promising alternative to SOAP-based services due to their simplicity, lightweight nature, and the ability to transmit data directly over HTTP. In this article, get an overview of the concept of REST and RESTful Web services, and compare them to RPC-style/SOAP-based Web services. You'll also learn about Java frameworks for building RESTful Web services as well as a shared multi-tier architecture for building both RESTful Web services and dynamic Web applications.
Articles 09 Jun 2009  
 
Mastering Grails: File uploads and Atom syndication
In this Mastering Grails installment, Scott Davis shows you how to upload files to your Grails application and set up an Atom syndication feed. With these last pieces in place, Blogito becomes a full-fledged blog server.
Articles 09 Jun 2009  
 
Using the Twitter REST API
Twitter is undoubtedly one of the most recent and successful examples of social networking to appear on the World Wide Web. Twitter provides an API so Web developers can enable their users to access the various features that the Twitter site provides. In this article, learn the basics of using the Twitter REST API.
Articles 09 Jun 2009  
 
The busy Java developer's guide to Scala: Enhancing the Scitter library
Scala is fun to talk about in the abstract, but using it in a practical way makes the difference between seeing it as a "toy" and using it on the job. In this follow-up article to his introduction to Scitter, a Scala client library for accessing Twitter, Scala enthusiast Ted Neward offers a more interesting and useful set of features for the client library.
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  
 
Using steganography to avoid observation
Articles 02 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  
 
Doing more with the Django admin
The built-in administration console provided by Django is one of its biggest selling points. What if you need to customize more than just the look and feel and a couple of model fields? Find out how to extend the existing admin application without ever modifying the source.
Articles 26 May 2009  
 
Working with jQuery, Part 3: Intermediate JQuery: Creating your own plug-in
jQuery lets you create your own plug-ins to extend the functions of jQuery--and to give back to the jQuery community. This article steps you through the process for creating your own plug-in and as well as getting it listed on the jQuery plug-in community Web pages.
Articles 26 May 2009  
 
Developing with Comet and Java
Explore the different implementations of developing with Comet. See how popular Java Web servers like Jetty and Tomcat have enabled Comet applications, and learn how to program with each server. And finally, learn about the standardization proposals for Comet in Java that are part of the upcoming Servlet 3.0 and JavaEE 6 specifications.
Articles 26 May 2009  
 
Cloud computing for the enterprise: Part 2: WebSphere sMash and DB2 Express-C on the Amazon EC2 public cloud
Part 1 of this article series discussed cloud computing in general, including cloud layers and the different cloud types, along with their benefits and drawbacks, and explained why this movement is important for enterprise developers. This article looks specifically at the public cloud and how you can use the IBM WebSphere sMash and IBM DB2 Express-C Amazon Machine Images (AMI) to deliver Web applications hosted on the EC2 public cloud infrastructure.
Articles 20 May 2009  
 
An introduction to RSS news feeds
RDF Site Summary (RSS) is catching on as one of the most widely used XML formats on the Web. Find out how to create and use RSS files and learn what they can do for you. See why companies like Netscape, Userland, and Moreover use RSS to distribute and syndicate article summaries and headlines. This article includes sample code that demonstrates elements of an RSS file, plus a Perl example using the module XML::RSS.
Articles 13 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  
 
Integrating Adobe Flex and IBM WebSphere Portal
Adobe Flex takes you to the next level of Web application development with the concept of Rich Internet Applications (RIAs), while IBM WebSphere Portal provides a composite tooling to build flexible, SOA-based solutions. But how do you get the two of them together? One option is to directly integrate Flex into WebSphere Portal server. This article walks you through a process to quickly build rich client and component-based Flex applications for WebSphere Portal, as well as a helpful method to reduce the size of WAR files.
Articles 12 May 2009  
 
My developerWorks: 6 ways to build your technical skills and your professional network
With the debut of My developerWorks, two little characters ("My") make a big difference: They take developerWorks from "just" the place where you find award-winning how-to content for developers and IT professionals to the place where you and your peers congregate to connect, share, and collaborate. Great content is just the beginning, and now it's time for you to take the next step: Create your professional profile and your custom home page on My developerWorks. Then find and connect with like-minded peers, start tagging and bookmarking, and invite your peers into your My developerWorks network to share expertise and build groups for further interaction and collaboration.
Articles 30 Apr 2009  
 
Get to know the QueryPath PHP library
HTML, HTTP, and XML are the undisputed triumvirate that form the backbone of Web technology. For the PHP developer, working with these can be frustrating. The new QueryPath library, a PHP cousin of the jQuery JavaScript library, offers an efficient API for working with XML, HTML, and HTTP. From Web pages to Web services, SVG to SPARQL, RDF to Atom, QueryPath provides a robust yet simple API for contemporary Web development in PHP. In this article, learn how to build QueryPath objects, and how to traverse and manipulate XML and HTML. Walk through an example that uses QueryPath to access a Web service (Twitter).
Articles 28 Apr 2009  
 
Developing widgets with Dojo 1.x
Learn the basics of developing HTML widgets using the Dojo JavaScript toolkit. This article gives you an introduction, and provides several examples to help you in the process--starting with sample widgets and moving up to more complex widgets, while highlighting and solving the common issues you could encounter in the development phase.
Articles 28 Apr 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  
 
Build a RESTful service on CICS with PHP
CICS Transaction Server (TS) is a powerful transaction manager designed for rapid, high-volume processing. SupportPac CA1S uses technology from IBM WebSphere sMash to enhance CICS TS with PHP scripting capabilities and Representational state transfer (REST)-related features. This tutorial shows how you can use PHP to quickly and easily work with CICS programs and expose them on the Web. If you are a PHP developer, find out how you can use your skills to interact with enterprise assets in CICS; if you are a CICS developer, see how PHP provides a simple and agile way to manipulate your existing resources.
Tutorial 21 Apr 2009  
 
Securing a Web server
Web servers are one of the many public faces of an organization and therefore are potentially an easy target. As a public resource, a Web server is like "shark bait" for some. But it doesn't have to be: Learn how a Web server can be public and safe at the same time.
Articles 21 Apr 2009  
 
Working with jQuery, Part 2: Intermediate JQuery: The UI project
The jQuery UI package aims to create a well-defined and reliable set of user interface widgets that you can reuse within your own Web applications. The goal is to provide well-tested widgets that go beyond those available in HTML Input elements, and ease the work of all user interface developers.
Articles 14 Apr 2009  
 
Implement roles-based authorization
Learn how to implement a dynamic user interface through user authentication. Authentication is often the requirement for applications with multiple groups of users. Each group may require access to application functionality that may need to be withheld from other groups. The authentication mechanism must validate user credentials and control access to application functionality based on the user's credentials. This article shows how to implement a basic authentication mechanism using OpenLDAP and Tomcat. It compares the OpenLDAP and Tomcat implementation to an OpenLDAP and WASCE implementation. And finally, code examples show the implementation of the dynamic UI using Java code and JSTL.
Articles 14 Apr 2009  
 
Cloud computing for the enterprise: Part 1: Capturing the cloud
Looking back to our recent technological past, it’s clear that the cloud computing movement has been coming in the time since distributed computing and its related technologies (like grid computing and SOA) gained widespread adoption. Cloud computing is now here, but many still have questions about this new technology. Part 1 of this article series discusses cloud computing in general, then dissects the layers of the cloud, presents the different cloud types, along with their benefits and drawbacks, and explains why this movement is important for enterprise developers.
Articles 08 Apr 2009  
 
Deploying Django applications to a production server
Django is a Python-based open source Web application framework that focuses on making the process of creating database-driven Web sites and Web applications easier. Getting started with developing Django applications is simple, as a development Web server is included with the framework. However, this server is not suitable for use in a production environment, so further steps are required to deploy your Django application to the Web. In this article, you will learn about the Django framework and how to install it on your local machine. Discover how a Django application is made and about the automatic administration interface created for your application. You will then find out how to deploy your Django application to the Web on a server running Apache and mod_python. Finally, learn how Django applications can and should be scaled as your application's requirements grow.
Articles 07 Apr 2009  
 
The role of Software as a Service in cloud computing
Want to know what role Software as a Service (SaaS) plays in cloud computing? Explore different flavors of SaaS, and see two examples of how SaaS works in cloud computing--namely, plant engineering management and distance learning--in the pay-on-demand infrastructure environment. Tune SaaS for optimal performance by combining the best of two worlds: multi-tenancy and virtualization. Discover solutions to the problems of unused resources and interoperability. And finally, understand that without proper planning and implementation, the costs of security safeguards can far outweigh the economic advantages of SaaS and cloud computing.
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  
 
Building Ajax-enabled JSP TagLib controls, Part 3: Update panel and popup dialog box controls
Build Asynchronous JavaScript + XML (Ajax) controls that can be used in business-line applications. These configurable JavaServer Pages (JSP) TagLib-based controls leverage JavaScript Object Notation (JSON), JavaScript scripting language, and Cascading Style Sheets (CSS). Because they are standard JSP TagLib controls, find out how you can easily drop them into any application to provide more intuitive and responsive user interfaces.
Articles 07 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  
 
Navigate the cloud computing labyrinth
If you're lucky enough to have a basic understanding of cloud computing, your skills are in demand. But when it comes to actually building an application, what platform do you use? Google and Amazon are both huge names, so it's not about popularity. And what if you're a Microsoft person? Are there options for you? Learn how to navigate the cloud wisely and pick the perfect platform for your particular application requirements.
Articles 31 Mar 2009  
 
Utilizing Web 2.0 in business
While Web 2.0 has been a huge hit with consumers, some businesses have been much slower to embrace it. Many companies, however, are now realizing the great potential of Web 2.0 and how Web 2.0 services such as YouTube, Twitter, and SlideShare can provide value to their organizations. See how businesses can exploit the power of Web 2.0 services while simultaneously improving workplace relationships. Empower your employees to share information that helps generate sales leads, aids in recruitment, and assists in strengthening your company's brand, image, and corporate identity. Explore business-oriented Web 2.0 tools such as LinkedIn and CrunchBase and the Web services and APIs that many of these tools offer, allowing their benefits to be incorporated into other applications.
Articles 31 Mar 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  
 
Exploring CouchDB
Relational databases define a strict structure and provide a rigid way to maintain data for a software application. Apache's open source CouchDB offers a new method of storing data, in what is referred to as a schema-free document-oriented database model. Instead of the highly structured data storage of a relational model, CouchDB stores data in a semi-structured fashion, using a JavaScript-based view model for generating structured aggregation and report results from these semi-structured documents. CouchDB has been developed from the ground up with Web applications as the primary focus and has its sights on becoming the de-facto database for Web application development.
Articles 31 Mar 2009  
 
Cultured Perl: Perl and the Amazon cloud, Part 1
This five-part series walks you through building a simple photo-sharing Web site using Perl and Apache to access Amazon's Simple Storage Service (S3) and SimpleDB. In this installment, get a feel for the benefits and drawbacks of S3 and SimpleDB by taking a tour of their architectures and starting to design your photo-sharing site.
Articles 31 Mar 2009  
 
Gain just-in-time skills with a developerWorks skill kit
Trying to stay current with the latest trends and technologies? Are you looking to increase your skills for your next promotion or assignment? Do you sometimes get overwhelmed by the sheer volume of information on the Net? You need skills and you need them now. The developerWorks skills team has heard you. In fact, we've been there and done that, too. We've come up with a way of providing IT professionals the skills they need, quickly and easily - and at no charge. We call it a skill kit, and it is based on the Eclipse Rich Client Platform (RCP) technology. Skill kits are built using the Toolkit for Custom and Reusable Solution Information, a technology brought to you by alphaWorks. This article describes skill kits, and how you can get started using the first one available on developerWorks.
Articles 25 Mar 2009  
 
Build Comet applications using Scala, Lift, and jQuery
Web applications have gotten more and more advanced, and users are always expecting more out of them. One of the most advanced features is Comet, also known as reverse Asynchronous JavaScript and XML (Ajax) or server-side push. Comet allows for browser-based instant messaging, real-time stock quotes, and so on. Advanced Ajax libraries, such as jQuery, make it easy to write Comet applications on the client side, but getting them to scale on the server is still a challenge. That is where the Scala programming language and the Lift Web application framework can step in and deliver a scalable back end for your Comet application. In this tutorial, build a real-time Web auction using these technologies.
Tutorial 24 Mar 2009  
 
Let's chat with Ajax
Want to chat with Asynchronous JavaScript and XML (Ajax)? Wish you could have a dedicated, open source Web chat pop up in response to a system event and let you know what's happening--for example, when performance goes below the guaranteed service level? Regular developerWorks author Judith Myerson introduces the idea of a two-panel chat for systems administrators to exchange private messages on one side and broadcast messages to general users on the other side. She offers solutions for chat server overload and talks about the issues of downloading Ajax Chat, how to change configurations, and even how to add as many channels as you want.
Articles 17 Mar 2009  
 
Scalable Vector Graphics and bitmap rendering using Flex
SVG (Scalable Vector Graphics) is one of the most important technologies in the graphics arena. Adobe Flash Player and its variant Flex provide full support for SVG. However, creating complex figures using SVG has always been difficult. Making SVG work with bitmap data requires an understanding of complex concepts like matrix rotation, transparency, and so on. Enter Flex. This article introduces you to the fascinating world of SVG in Flex. Create custom graphics and build appealing flashy components just by vector drawing.
Articles 17 Mar 2009  
 
Functional testing for Web applications
If you are entering into the cloud, testing becomes even more critical for your applications to be reliable. Learn to master automated, functional testing using the open source tools, Selenium, Windmill, and twill. The techniques covered in this article work on Google App Engine, blogging software, or your own home grown application.
Articles 10 Mar 2009  
 
Rich Internet Applications with Grails, Part 2: Grails and the Google Web Toolkit
In this second part of a two-part series, add to the Grails-powered Web services you created in Part 1. You will create a new search page, but this time using the Google Web Toolkit (GWT) to create the application. You will also use some richer UI widgets from the Ext GWT library.
Articles 10 Mar 2009  
 
Using E4X on the server-side with Jaxer
The ECMAScript for XML (E4X) standard gives JavaScript developers a powerful API to work with XML. As it is not supported in Internet Explorer, you might not get to use it often. That is not an issue if you use JavaScript on the server with Jaxer. In this article, you see how JavaScript and E4X make it easy to work with XML on the server. Combine this key ingredient with Jaxer to create Ajax applications using nothing but JavaScript.
Articles 03 Mar 2009  
 
Cloud computing versus grid computing
Want to know more about cloud and grid computing? Learn how you can use Infrastructure as a Service to get a full computer infrastructure using Amazon's Elastic Compute Cloud (EC2). See the similarities, differences, and issues to consider in grid and cloud computing. Explore some of the security issues and choices for Web development in the cloud, and see how you can be environmentally friendly using cloud computing.
Articles 03 Mar 2009  
 
Cross-domain communications with JSONP, Part 2: Building mashups with JSONP, jQuery, and Yahoo! Query Language
In the previous article of this series, we introduced JSONP (JSON with Padding) as a way to overcome browser same-origin policy limitations while combining and presenting data from third-party sources. This article continues this process and shows you how to use Yahoo! Query Language (YQL), a JSONP service from Yahoo!, to build a mashup Web page using jQuery.
Articles 03 Mar 2009  
 
Cross-domain communications with JSONP, Part 1: Combine JSONP and jQuery to quickly build powerful mashups
With the number of publicly offered Web service APIs, it's now much easier to get content from different Web sources and to build mashups--if you have access to the right APIs and tools. Discover how you can combine an obscure cross-domain call technique (JSONP) and a flexible JavaScript library (jQuery) to build powerful mashups surprisingly quickly.
Articles 24 Feb 2009  
 
Rich Internet Applications with Grails, Part 1: Build a Web application using Grails and Flex
Rich Internet Applications (RIAs) promise the dynamism and functionality of desktop applications through the browser. One of the key characteristics is moving your presentation layer to the client and backing it with a robust RESTful service layer on the server. This idea is being popularized with buzzwords like SOUI (Service Oriented User Interface) and SOFEA (Service Oriented Front End Architecture). In this article, the first of a two-part series, you will see how simple it is to create a Web service back end using Groovy's Grails Web application framework, and you will hook it up to an RIA developed with Adobe's Flex framework.
Articles 24 Feb 2009  
 
Working with jQuery, Part 1: Intermediate JQuery: Using plug-ins to create and extend the jQuery functions
The popularity of jQuery owes a lot to its decision to include a plug-in architecture. This decision allows any number of third-party developers to create and extend the jQuery functions beyond the original library functions. The result is hundreds of plug-ins that provide nearly any type of function needed on a Web application. This article describes this plug-in architecture and explains how jQuery can help your Web application behave just like a desktop application.
Articles 17 Feb 2009  
 
Implementing Enterprise 2.0
The term Enterprise 2.0 is gaining traction in organizations across the globe. This article investigates the underlying concepts of Enterprise 2.0, its relationship with Web 2.0, and the various tools and services that apply to it. Examine the benefits of employing Enterprise 2.0 in your business, and explore some of the potential drawbacks associated with it. Use this article to help you decide how to best implement Enterprise 2.0 in your organization.
Articles 17 Feb 2009  
 
Cloud computing with Amazon Web Services, Part 5: Dataset processing in the cloud with SimpleDB
Learn basic Amazon SimpleDB (SDB) concepts and explore some of the functions provided by boto, an open source Python library for interacting with SDB. In this "Cloud computing with Amazon Web Services" series, learn about cloud computing using Amazon Web Services. Explore how the services provide a compelling alternative for architecting and building scalable, reliable applications. In this article, learn some of the basic concepts and check out some of the functions provided by boto.
Articles 10 Feb 2009  
 
Creating mashups with JavaFX
Are you a Java developer who wants to leverage the open Web to create Rich Internet Applications (RIAs)? You are in luck. Now JavaFX empowers developers to leverage the Java platform to create RIAs. In this article, learn how you can use JavaFX to create mashups. See how JavaFX lets you tap into popular Web services such as Flickr and how you can use it to create interactive user interfaces. Along the way, get a taste of the new capabilities that JavaFX brings to client-side development.
Articles 10 Feb 2009  
 
Combine JSF with Dojo widgets to create a better user experience
As a mature Web framework, JavaServer Faces (JSF) provides end-to-end lifecycle management and a rich component model with complete event handling and data binding. Dojo is a popular Asynchronous JavaScript + XML (Ajax) library that provides rich widgets and fancy effects for Web2.0 applications. By leveraging JSF and Dojo technologies, you can create a better user experience by using JSF integrated features on the server side and Dojo user interfaces on the client side. This article explains this process and describes how you can easily build Web applications to give your users a better experience.
Articles 03 Feb 2009  
 
Anatomy of a Web attack
More applications are being hosted on the Internet than ever before. Everything from databases to services is moving to a Web-based format. As a matter of course, this increased number of applications and services on the Internet has led to an ever-increasing number of attacks targeted at them. Learn how some of the more popular attacks work so that you can protect your organization.
Articles 03 Feb 2009  
 
Architectural manifesto: An introduction to the possibilities (and risks) of cloud computing
Cloud computing has been a hot topic in the media and in the IT industry. There are critics who say that it's nothing new. In this final edition of Architectural Manifesto, learn about the possibilities and risks of cloud computing.
Articles 02 Feb 2009  
 
Comment lines: Kyle Brown and Rachel Reinitz: SOA lessons learned for Web 2.0
In this article, two experienced SOA architects look at the new world of Web 2.0 technologies with a critical eye and present five best practices that can help you be more successful in adopting Ajax, REST, and other Web 2.0 technologies as part of your SOA.
Articles 28 Jan 2009  
 
Building a 21st century user interface, Part 1: Your app's competition... isn't who you think
For years, the Web has been touted not just as a place for the programmers and alpha-geeks, but a community where even grandmothers and five-year-olds are shopping, gaming, and socializing. As more people come to the Internet daily, the demand for usable applications just grows -- although even most programmers still couldn't really explain what "usable" really means. So what's a usable application? More importantly, how do you build applications that feel usable, intuitive, and satisfying to today's typical Internet user, one who's nothing at all like you, the programmer tasked with actually designing and building the application?
Articles 27 Jan 2009  
 
Speed up your Web pages
Do you want faster-loading Web pages? Learn how you can make the browsing experience better for dial-up users by reducing loading times by as much as 80 percent, in some cases.
Articles 27 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  
 
Connecting Apple's iPhone to Google's cloud computing offerings
Cloud computing and software development for handheld devices are two very hot technologies that are increasingly being combined to create hybrid solutions. With this article, learn how to connect Google App Engine, Google's cloud computing offering, with the iPhone, Apple's mobile platform. You'll also see how to use the open source library, TouchEngine, to dynamically control application data on the iPhone by connecting to the App Engine cloud and caching that data for offline use.
Articles 20 Jan 2009  
 
Adaptive user interfaces for health care applications
Adaptive user interfaces assist users in accomplishing tasks in an application and construct a model of the user's preferences so as to serve them better in the future. Examples include systems that filter news stories, recommend products, and so on. This approach to personalized services is relatively new but has great potential for improving the effectiveness of human-computer interfaces. Health care is a significant area where adaptive user interfaces can be of great use. Health care users range from having little computer knowledge (for example, some nurses or doctors) to having expert computer knowledge (for example, system administrators). And, there can be many other distinguishing factors when it comes to patients. Therefore, adapting a computer application's interface to different types of users is important to improve the usability of such applications. Two major techniques used for adaptation are adaptive presentation and adaptive navigation. Adaptive presentation involves personalizing the contents presented to the user. Adaptive navigation involves customizing ways by which users complete their tasks in the application. These techniques can be used to enhance the usability of health care applications, thereby contributing to their success.
Articles 20 Jan 2009  
 
Supplement Creative Commons with open standards
$@!LessThan!@$!--Content owners use Digital Rights Management (DRM) technology to control access to their content.--$@!GreaterThan!@$ Deploying Digital Rights Management (DRM) technology restricts access to content to users who have not been specifically authorized by the content owner. However, these protections sometimes prevent users from using the content in ways they would expect to be entitled, such as playing music on their computers and their portable MP3 players. Through DRM standards that encourage some Creative Commons (CC) ideals, consumers can choose usage rights. Regular developerWorks author Judith Myerson gives a brief proprietary DRM recap, shows what the problems are, suggests some solutions to increase flexibility, and gives an example of a cross-browser menu of usage rights criteria, constraints, and requirements that consumers can choose.
Articles 13 Jan 2009  
 
Localized client-side validation messaging using Ajax
When building a Web application that caters to users across the globe, there are two points to consider: internationalized/localized page content and validation of user inputs and message displays. While you can easily build an internationalized version of the page using resource bundles (locale-specific property files) on the server side, it is very difficult to display internationalized validation messages when the validation is being done at the client side. Using Asynchronous JavaScript + XML (Ajax) is one option to make your life easier. This article discusses using Ajax and resource bundles together to make the process of internationalized/localized client-side validation messaging a little easier.
Articles 13 Jan 2009  
 
JavaScript EE, Part 1: Run JavaScript files on the server side
Combine JavaScript with Java code on the server to get the freedom to use the same JavaScript routines on both servers and clients. In addition, the techniques presented throughout this series will allow you to maintain a single code base for both Ajax and non-Ajax clients. Because much of the server-side code would still be written in the Java language, you'll find it necessary to expose the Java Platform, Enterprise Edition (Java EE) features to JavaScript. In this series, learn how to run JavaScript files on the server side, call remote JavaScript functions with Ajax, and use the Java Scripting API with the JavaServer Pages (JSP) technology.
Articles 16 Dec 2008  
 
Solve the Chinese geography translation problem in Google Maps programming
Google Maps is a free service that provides browser-based directions as well as maps of particular locations through the Internet. You can zoom in on the interactive maps to show detailed information, providing great user interactivity with the Web site. The maps provided by Google can be used not only directly by customers, but also to develop customized map services and products with the Google Maps API. The latest Google Maps API version, however, is not good at parsing Chinese geography, which makes it difficult to use in applications for a Chinese audience. In this article, we describe a feasible solution, combining other Web services, to parse Chinese geography with the current Google Maps API for a Chinese mapping solution. We'll use the example of the sites for the Beijing 2008 Olympic Games to demonstrate our solution.
Articles 16 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  
 
Writing a custom Dojo application
Learn the tips, techniques, and pitfalls when developing Web 2.0 and Dojo applications. Wendi Nusbickel and Melissa Betancourt have worked on the Dojo application documented in this article for over a year. Having recently completed the development of a Web 2.0 Dojo prototype, they share the experience they gained when creating a custom Dojo application.
Articles 09 Dec 2008  
 
Distributed computing with Linux and Hadoop
Every day people rely on search engines to find specific content in the many terabytes of data that exist on the Internet, but have you ever wondered how this search is actually performed? One approach is Apache's Hadoop, which is a software framework that enables distributed manipulation of vast amounts of data. One application of Hadoop is parallel indexing of Internet Web pages. Hadoop is an Apache project with support from Yahoo!, Google, IBM, and others. This article introduces the Hadoop framework and shows you why it's one of the most important Linux-based distributed computing frameworks.
Articles 09 Dec 2008  
 
Real Web 2.0: Battling Web spam, Part 2
This two-part installment provides a thorough guide to anti-spam techniques. This second article discusses content analysis, the problem with spam in linkbacks, and how to share in the anti-spam effort with a community of other Web site managers through blacklists and anti-spam services.
Articles 09 Dec 2008  
 
An introduction to IBM Lotus Mashups
Learn about mashups in this demo. See how they can be very useful for you and your business. This demo takes you through an example of how to create a mashup using the IBM Mashup Center, and show you the features and capabilities of a fully functional mashup.
Demos 03 Dec 2008  
 
Cloud computing with Amazon Web Services, Part 4: Reliable messaging with SQS
Learn basic Amazon SimpleDB (SDB) concepts and explore some of the functions provided by boto, an open source Python library for interacting with SDB. In this "Cloud computing with Amazon Web Services" series, learn about cloud computing using Amazon Web Services. Explore how the services provide a compelling alternative for architecting and building scalable, reliable applications. In this article, learn about the reliable and scalable messaging service provided by Amazon Simple Queue Service (SQS).
Articles 02 Dec 2008  
 
Real Web 2.0: Battling Web spam, Part 1
Spam on the Web is one of the biggest threats to a modern Web developer. The "bad guys" become more and more sophisticated every year in how to vandalize and proliferate ads over any Web 2.0 page they can grasp. To make matters worse, spam is increasingly used to distribute malware. The arms race is on, and Web developers need to know what basic tools are available to battle spam on their Web sites. This two-part installment provides a thorough guide to anti-spam techniques. This first article explains how to assess whether a visitor is a spammer and how to organize site workflow to discourage spam.
Articles 02 Dec 2008  
 
Building Ajax-enabled JSP TagLib controls, Part 2: Auto-populate and field validator controls
Build Asynchronous JavaScript + XML (Ajax) controls that can be used in business-line applications. These configurable JavaServer Pages (JSP) TagLib-based controls leverage JavaScript Object Notation (JSON), JavaScript scripting language, and Cascading Style Sheets (CSS). Because they are standard JSP TagLib controls, find out how you can easily drop them into any application to provide more intuitive and responsive user interfaces.
Articles 25 Nov 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  
 
The Abstract User Interface Markup Language Web Toolkit: An AUIML renderer for JavaScript and Dojo
Get an overview of the Abstract User Interface Markup Language (AUIML) Web Toolkit (AWT). Learn how the AWT makes it possible to develop Web 2.0 interfaces quickly and easily by merging the ease-of-use and expressiveness of the AUIML visual designer with the versatility of the Dojo toolkit. Rapid development of user interfaces is made possible thanks to the AUIML visual editor and also because of the availability of a number of ready-to-use patterns. Experience has shown that the combination of these two factors provide a significant increase in productivity, and this is even more true considering the fact that, currently, there is no comparable technology that targets a Dojo interface.
Articles 18 Nov 2008  
 
Implement a Facebook photo album using the Flex SDK
Adobe has released the free, open source Flex SDK framework to enable developers to create Rich Internet Applications (RIAs). The Flex framework provides you with a method of creating cross-browser, cross-platform Web applications that is quick and simple. Flex applications run in the Flash player, which is installed on the majority of Internet-connected computers, but Flex provides you with an object-oriented user interface framework similar to Java's Swing. In this tutorial, develop a Facebook application in Adobe Flex that displays a slideshow of a user's Facebook photo albums. The Facebook application will contain a Profile box listing all of the user's photo albums, each a link to a Flex slideshow of that album. The Flex application will use the Facebook REST API to fetch the photos of the selected Facebook album and dynamically generate the slideshow.
Tutorials 18 Nov 2008  
 
Standardize displays on Web portals running on Firefox3 and Internet Explorer 7
Do Firefox3 and Internet Explorer 7 look different? What's the best way to get these browsers to behave the same way? Should you use pixels or em values? Regular developerWorks author Judith M. Myerson shows you how to standardize displays on Web portals running on Firefox and IE. She gives tricks and tips for using em values to make the job of developing the contents of portals, including Asynchronous JavaScript + XML (Ajax) applications, much easier.
Articles 11 Nov 2008  
 
Develop mobile widgets with Yahoo! Blueprint
Developing mobile applications can be a daunting task. With hundreds of handsets to develop against and support, mobile application development can be time consuming and costly. Fortunately, Yahoo! Blueprint helps alleviate this pain by providing a single way to develop mobile applications. With Blueprint, you can author a mobile application one time that can be targeted at mobile devices with a browser (or devices that support the Blueprint platform), allowing you to potentially reach thousands of users. In this tutorial you will see how to develop a weather mobile widget using the Yahoo! Blueprint platform.
Tutorials 11 Nov 2008  
 
An introduction to XML User Interface Language (XUL) development
XUL is a tried and true application framework. In fact, the recently released Firefox 3.0 is not only built using XUL, but provides a XUL runtime environment that enables any Firefox user to run other XUL applications. In this tutorial, you start to program in XUL and learn about some tools to help you develop XUL apps. Build a XUL-based blog editor as you enhance your Web development skills to build desktop apps with XUL.
Tutorials 04 Nov 2008  
 
Real Web 2.0: The Wikipedia family
You know Wikipedia, but do you know of the dozens of related sites that provide user-generated content that is just as valuable? Many of the related sites under the Wikipedia umbrella are very useful to Web developers. Learn how to enrich your information space with resources beyond Wikipedia, including examples of widgets applying data from these sites.
Articles 04 Nov 2008  
 
Wicket: A simplified framework for building and testing dynamic Web pages
Wicket provides an object-oriented approach toward developing dynamic Web-based UI applications. Because Wicket is pure Java and HTML code, you can leverage your knowledge of Java programming to write applications based on Wicket, dramatically reducing your development time. This article gives you an overview of Wicket and describes how you can use Wicket to rapidly build Web-based applications in a non-intrusive and simplified way.
Articles 04 Nov 2008  
 
Working with jQuery, Part 3: Rich Internet applications with jQuery and Ajax: JQuery: Building tomorrow's Web apps today
JQuery is emerging as the JavaScript library of choice for developers looking to ease their creation of dynamic Rich Internet Applications. As browser-based applications continue to replace desktop applications, the use of these libraries will only continue to grow. Get to know jQuery in this series of articles that takes a look at JQuery and how you can implement it in your own Web application projects.
Articles 28 Oct 2008  
 
Build a stylish image gallery using Lightbox 2 and JavaScript
The Web has increasingly become a medium for showing off art. From candid snapshots taken by an amateur photographer to professional art galleries, Web pages are primary vehicles for displaying images. But a beautiful image is hindered--or aided--by its frame. Using a simple JavaScript library, you can "frame" your online images beautifully and provide an intuitive user interface along the way.
Articles 28 Oct 2008  
 
Unit testing Web 2.0 applications using the Dojo Objective Harness
Unit testing is an important part of quality software development, particularly in the agile and extreme programming development methodology. Traditionally, automated unit testing of Web 2.0 client-side user interfaces was difficult and often not attempted. However, Dojo provides a unit testing harness that lets you evaluate both JavaScript functionality and the visualization of the user interface. This results in a thoroughly tested user interface that will ultimately contain significantly fewer bugs. This article demonstrates the main features of the Dojo Objective Harness (DOH) and describes its superior capabilities compared with other test harnesses for Web 2.0 applications.
Articles 21 Oct 2008  
 
Intelligent agents and the Semantic Web
The Semantic Web envisioned by Berners-Lee, Hendler, and Lassila in 2001 was a grandiose vision that involved the use of agents to book doctor appointments and to find the best driving routes with the least hassle. The envisaged system was built upon formal ontologies that had already achieved a large following of scientists and agent developers. Although they raised some important issues and put forward interesting connections between technologies, they missed one thing: the fact that the Web had turned into a web of documents. Therefore, a middle way needed to occur between the formalism of ontologies and the informalism of documents. This is known as Linked Data. Linked Data coupled with agent technology is an ideal way of dealing with Semantic Web data. This article provides an overview of the Interlinked Semantic Web, agent technologies, and an example of the two combined.
Articles 21 Oct 2008  
 
Cloud computing with Amazon Web Services, Part 3: Servers on demand with EC2
Learn basic Amazon SimpleDB (SDB) concepts and explore some of the functions provided by boto, an open source Python library for interacting with SDB. In this "Cloud computing with Amazon Web Services" series, learn about cloud computing using Amazon Web Services. Explore how the services provide a compelling alternative for architecting and building scalable, reliable applications. This article introduces you to the virtual servers provided by Amazon Elastic Compute Cloud (EC2). Learn how EC2 can help you configure your applications' computing requirements on the fly and adjust capacity based on demand.
Articles 14 Oct 2008  
 
Dojo concepts for Java developers
Dojo is being used more and more in Web-based applications. Many developers have strong skills in Java programming, but only limited experience in JavaScript. They can struggle with the conceptual leap from a strongly typed, object-oriented compilation language to a dynamic, weakly typed scripting language. This confusion can make it difficult for developers to correctly declare Dojo classes. This article helps clear up this confusion, shows why it may be necessary to set context, and describes how to go about it.
Articles 14 Oct 2008  
 
Develop a dynamic location-based mashup
Mashups are a new, highly interactive Web development methodology. Essentially a mix of related content put together from disparate sources, mashups provide rich dynamic content for a superb user experience. Getting Asynchronous JavaScript + XML (Ajax) and mashup chops into your development toolbox will benefit you with high demand in the evolving Web 2.0 workspace.
Tutorials 07 Oct 2008  
 
Real Web 2.0: Mastering the Creative Commons
The Creative Commons (CC) initiative develops popular licenses for content, including Web content. Some people think using these licenses means giving up all your rights to content, but this is just one of many misconceptions. Learn how to choose and use CC licenses for your Web sites and applications and how to process these licenses in code.
Articles 07 Oct 2008  
 
High-performance Ajax with Tomcat Advanced I/O
Using Non-Blocking I/O (NIO) improves server performance drastically because of its efficient use of system resources (threads). The gain in performance is noticeable in Asynchronous JavaScript + XML (Ajax) applications with long polling mechanisms. It also lets you control system-resource usage on a server under pressure. This article explains how to optimize your server for performance during the handling of both Ajax and regular requests.
Articles 30 Sep 2008  
 
Real Web 2.0: Open, geographic information systems at Geonames.org
One of the best sources for geographical information for users and developers is a shining example of the power of open data. GeoNames is a database, Web service, and destination site for all things geographical. It has a rich, RESTful API and offers Semantic Web features using Linking Open Data conventions. Learn how to use GeoNames, as a user and as a developer.
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  
 
Working with jQuery, Part 2: Building tomorrow's Web applications today
This second article in the jQuery series looks at how to add more interaction to any Web site to create a dynamic Rich Internet Application. Learn how jQuery utilizes a combination of events produced by user interaction, information gathered from the Web site itself, and the ability to change the look and feel of the application without reloading to create these RIAs quickly and easily.
Articles 23 Sep 2008  
 
Learn and share your skills with the developerWorks community
Pass It Along is a stand-alone Web application built internally at IBM that combines various Web 2.0 features to facilitate learning and sharing among participants. The application has been available on alphaWorks, IBM's premier site for emerging technologies, since June, and now we at developerWorks want to introduce it to you. This article explains the high-level concepts of Pass It Along as a segue into the application itself, where you'll find step-by-step tutorials on how to use Pass It Along to learn from others and share your expertise. So think about what you know -- and what you'd like to know -- and explore how Pass It Along can help you with both. (You might just earn some money along the way -- virtually, that is!) And don't forget to tell us what you think. Your feedback is valuable to us as we roll out new, interactive features on developerWorks now and in 2009.
Articles 23 Sep 2008  
 
Creating modular interactive user interfaces with JavaScript
Discover a technique that lets you move sections of a Web page using drag-and-drop functions. Different aspects of the interactivity are implemented separately and then composed into a unified whole, allowing for flexible customization that can make your Web users very happy.
Articles 23 Sep 2008  
 
Develop PHP applications with Picasa Web Albums
Search, retrieve, add, modify, and delete photos in a Google Picasa web album with Picasa Web Albums REST-based Data API, the SimpleXML extension in PHP, and Zend's GData Library. In this article, find practical examples using ATOM feeds from the API along with PHP programs to process your photos and photo metadata.
Articles 16 Sep 2008  
 
Make your graphical text semantic and searchable
Web designers have long used graphical text to display unusual fonts, scripts, or other typefaces not available on most users' computers. With image-based text, color, kerning, line height, and font are completely at the control of the Web designer, not users' system fonts. However, without actual text on a page, search engines like Google and Yahoo, as well as ad services like Google Ads, are hampered in identifying and classifying a site. This article explains how to get the beauty and elegance of image-based text, without sacrificing semantic meaning on a Web page.
Articles 16 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  
 
Build a simple WYSIWYG Web page editor
Explore a simple Asynchronous JavaScript + XML (Ajax) system that lets your users assemble pages by adding and arranging pre-made widgets. Many sites provide this kind of functionality, but this easy-to-use system lets you do it on your own site and provides a simple library for creating new widgets.
Articles 16 Sep 2008  
 
Building Ajax-enabled auto-complete and cascading drop-down controls
Build Asynchronous JavaScript + XML (Ajax) controls that can be used in business-line applications. These configurable JSP TagLib-based controls leverage JavaScript Object Notation (JSON), JavaScript, and CSS. Because they are standard JSP TagLib controls, find out how you can easily drop them into any application to provide more intuitive and responsive user interfaces.
Articles 09 Sep 2008  
 
Overlay data on maps using XSLT, KML, and the Google Maps API, Part 2: Transform and use the data
In this two-part article series, you'll develop an application for a real estate brokerage to display all available apartment listings as clickable Placemarks on Google Maps. In Part 1, you created the first half of the application that collects the apartment listing information from the user, uses the Google Geocoder Web service to turn the street address into its geographical coordinates (longitude and latitude), and stores the coordinates in the database along with the address information. In Part 2, you will use this data to produce a KML overlay document and display it in Google Maps and Google Earth. First, you'll use stored procedures to produce XML from MySQL. Then with XSLT and a technique called Muenchian grouping, you'll transform the XML data into a KML document containing the overlay information -- one Placemark for each apartment building. The pop-up balloon for each Placemark displays the available apartment listings in that building. Finally, you'll use the Google Maps API to display the KML overlay in a Google Map embedded within your own Web site.
Articles 09 Sep 2008  
 
Working with jQuery, Part 1: Bringing desktop applications to the browser
jQuery is emerging as the JavaScript library of choice for developers looking to ease their creation of dynamic Rich Internet Applications. As browser-based applications continue to replace desktop applications, the use of these libraries will only continue to grow. Get to know jQuery in this series of articles and learn how you can implement it in your own Web application projects.
Articles 09 Sep 2008  
 
Introducing IBM WebSphere sMash
Project Zero is an IBM incubator project focused on agile development of Web 2.0 applications following the Service-Oriented Architecture (SOA). Web 2.0 applied to SOA allows Web artifacts to extend the reach of SOA. This can be thought of as Web Extended SOA. Get a hands-on, guided tour of Project Zero's innovations to create, assemble, and deploy powerful Web applications.
02 Sep 2008  
 
Build Ajax-based Web sites with PHP
Learn the process of writing Asynchronous JavaScript + XML (Ajax) applications using native JavaScript code and PHP. This article introduces a few different frameworks and application program interfaces (APIs) that reduce the amount of code you need to write to achieve a complete Ajax-based Web application.
Articles 02 Sep 2008  
 
Overlay data on maps using XSLT, KML, and the Google Maps API, Part 1: Tap into the Google Geocoder Web service
Explore the Google Geocoder Web service that takes a street address and returns data about that address including its longitude and latitude. In this two-part article series, you will combine it with the Google Maps API and XSLT to create data overlays for display in Google Maps and Google Earth. You will create an example application for a real-estate brokerage that lets a broker enter listings for apartments through an HTML form, uses Google's Geocoder Web service to translate those addresses into longitudes and latitude, and then creates KML overlays from the database of apartment listings. In Part 1, you build the first half of the application to collect the apartment listing information from the user, uses the Google Geocoder Web service to turn the street address into its geographical coordinates (longitude and latitude), and stores those coordinates in the database along with the address information.
Articles 02 Sep 2008  
 
Build Ajax applications using the first real Ajax server: Aptana Jaxer
Get acquainted with Jaxer, the first true Asynchronous JavaScript + XML (Ajax) server. Jaxer makes it possible to execute JavaScript code, Document Object Model (DOM), and HTML on the server side as well as giving you the ability to access server-side functions asynchronously from the client side. This article describes the features of Jaxer and shows the great potential that Jaxer has to offer, even in its infancy.
Articles 26 Aug 2008  
 
Getting started with CodeIgniter
Creating a CodeIgniter application is easier than you might think. Take a guided tour through your first project: a simple Web page with a contact form.
Articles 26 Aug 2008  
 
Cloud computing with Amazon Web Services, Part 2: Storage in the cloud with Amazon Simple Storage Service (S3)
Learn basic Amazon SimpleDB (SDB) concepts and explore some of the functions provided by boto, an open source Python library for interacting with SDB. In this "Cloud computing with Amazon Web Services" series, learn about cloud computing using Amazon Web Services. Explore how the services provide a compelling alternative for architecting and building scalable, reliable applications. This article delves into the highly scalable and responsive services provided by Amazon Simple Storage Service (S3). Learn about tools for interacting with S3, and use code samples to experiment with a simple shell.
Articles 19 Aug 2008  
 
Developing software on an open source stack
Web developers are enjoying a renaissance. After spending much of the previous decade toiling on server-centric code, programmers are now putting code front-and-center, turning the Web browser into its own computing platform. Much of the renaissance must be attributed to ingenuity. The newest generation of tools and application frameworks automate and simplify the drudgery of building, deploying, and maintaining a Web site. There are also more tools than ever, and all the most innovative tools are open source. This tutorial provides an expansive survey of the free software available to developers to create and deploy Web applications.
Tutorials 19 Aug 2008  
 
Get Nagios for your Ajax applications
Bottlenecks with hosts, services, and networks can be costly. To ensure Service Level Agreement (SLA) guarantees, Ajax applications must be monitored remotely over the networks. In this article, learn how to quickly install and start Nagios, an open source host, service, and network monitoring program, and discover how it can help. Learn how to monitor redundancy and failover, and get some Nagios-based products you can use to solve environmental and network problems.
Articles 12 Aug 2008  
 
Google Code baseball hacks: Display batting stats in a Google Gadget
This article demonstrates how to use several Google Code APIs using a baseball hack as an example. We will create a Google Gadget that displays Major League Baseball batting statistics. You will learn about Google Gadgets, the Google Spreadsheet API, and the Google Chart API. After reading this article, you'll have a good idea of the sorts of applications you can build using these APIs, know enough to get started writing your own applications, and know where to get more detailed information.
Articles 12 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  
 
Develop AJAX applications like the pros, Part 3: Use DWR, Java, and the Dojo Toolkit to integrate Java and JavaScript
Quick, how many Java Web development frameworks, libraries, and toolkits can you name? The are so many out there that it can be overwhelming just trying to figure out what does what and which one can actually help you solve your problems. However, if you are doing Ajax development, there is one library that you absolutely need to know: Direct Web Remoting (DWR). This library leverages the Java language and Java Web technologies to greatly simplify Ajax development. It has set the standard for how to integrate Ajax seamlessly into a Java web application. In fact, DWR joined the Dojo foundation, a broad coalition of popular, open source Ajax technologies. In this article, see just how easy Ajax can be using DWR.
Articles 05 Aug 2008  
 
Internationalizing Web applications using Dojo
The Dojo toolkit is getting more and more popular in many Web applications. One of its strongest features is its support for different locales. In this article, get a short and simple guide on how to use this important part of Dojo.
Articles 05 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  
 
Ajax overhaul, Part 4: Retrofit existing sites with jQuery and Ajax forms
Ajax techniques have changed the face of large, commercial Web applications, but many smaller Web sites don't have the resources to rebuild their entire user interface overnight. New features should justify their costs by solving real-world interface problems and improving user experience. With this series, you've been learning to modernize your UI incrementally using open source, client-side libraries. In this installment, learn to transform a multistep checkout process from a series of sequential forms into a single-screen interface using Ajax techniques. You do so using the principle of progressive enhancement, ensuring that your site remains accessible to all sorts of user-agents.
Articles 29 Jul 2008  
 
Cloud computing with Amazon Web Services, Part 1: Introduction
Learn basic Amazon SimpleDB (SDB) concepts and explore some of the functions provided by boto, an open source Python library for interacting with SDB. In this "Cloud computing with Amazon Web Services" series, learn about cloud computing using Amazon Web Services. Explore how the services provide a compelling alternative for architecting and building scalable, reliable applications. This first article explains the features of the building blocks of this virtual infrastructure. Learn how you can use Amazon Web Services to build Web-scale systems.
Articles 29 Jul 2008  
 
Ajax and Java development made simpler, Part 3: Build UI features based on DOM, JavaScript, and JSP tag files
In the first part of this series, you saw how to generate JavaScript code for sending Ajax requests and processing Ajax responses. The second part showed how to create HTML forms, using conventions and JSP tag files to minimize setup and configuration. In this third part of the series, you'll learn how to develop client-side validators based on JavaScript as well as server-side validators, which are implemented as JSP tag files backing up their JavaScript counterparts. You'll also learn how to use resource-bundles that are reloaded automatically when changed, without requiring the restart of the application.
Articles 22 Jul 2008  
 
The stateless state
"State" is a central concern of all sorts of distributed applications, but especially of Web applications, as HTTP and its derivatives are intrinsically stateless. Clear thinking about how data persists across retrievals, sessions, processes, and other boundaries can help you improve your Web applications, both present and future.
Articles 22 Jul 2008  
 
Developing iPhone applications using Ruby on Rails and Eclipse, Part 3: Developing advanced views for iPhone
The iPhone and iPod touch made Mobile Safari the most popular mobile browser in the United States. Although Mobile Safari is more than adequate at rendering normal Web pages, many Web developers created versions of applications aimed at the iPhone. Here in Part 3 of this "Developing iPhone applications using Ruby on Rails and Eclipse" series, we learn what you should do when the user reaches the end of the list structure and your application actually needs to display some content
Articles 15 Jul 2008  
 
Integrate encryption into Google Calendar with Firefox extensions
Today's Web applications provide many benefits for online storage, access, and collaboration. Although some applications offer encryption of user data, most do not. This article provides tools and code needed to add basic encryption support for user data in one of the most popular online calendar applications. Building on the incredible flexibility of Firefox extensions and the Gnu Privacy Guard, this article shows you how to store only encrypted event descriptions in Google's Calendar application, while displaying a plain text version to anyone with the appropriate decryption keys.
Articles 15 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  
 
Integrating Flex into Ajax applications
Traditional Ajax development continues to be the leading method for producing rich Internet applications (RIAs). However, the popularity of Adobe Flex cannot be ignored. This article introduces the Adobe Flex Ajax Bridge (FABridge), a code library that enables an easy and consistent method for integrating Ajax and Flex content. By the end of this article, you'll be able to take advantage of the rich features available through Flash assets.
Articles 15 Jul 2008  
 
Integrate your PHP application with Google Calendar
Google Calendar allows Web application developers to access user-generated content and event information through its REST-based Developer API. PHP's SimpleXML extension and Zend's GData Library are ideal for processing the XML feeds generated by this API and using them to build customized PHP applications. This article introduces the Google Calendar Data API, demonstrates how you can use it to browse user-generated calendars; add and update calendar events; and perform keyword searches.
Articles 08 Jul 2008  
 
Annotating the Web with Atom
You've seen reader comments on weblogs and other Web 2.0 sites, but the Atom protocol makes it possible to create and manage such comments in a very flexible way. Flexible Web annotations is an idea that will open up an entirely new class of Web applications with very little actual new invention. Learn how to create a system to manage annotations for anything on the Web, from nearly anywhere.
Articles 08 Jul 2008  
 
Ajax overhaul, Part 3: Retrofit existing sites with jQuery, Ajax tabs, and photo carousels
Ajax techniques have changed the face of large, commercial Web applications, but many smaller Web sites don't have the resources to rebuild their entire user interface overnight. New features should justify their costs by solving real-world interface problems and improving user experience. This series is teaching you to modernize your user interface incrementally using open source, client-side libraries. In this installment, you learn to turn slow, messy, annoying product-details pages into fast, elegant ones using DHTML and Ajax. You do so using the principle of progressive enhancement, ensuring that your site remains accessible to all sorts of user-agents.
Articles 08 Jul 2008  
 
Developing iPhone applications using Ruby on Rails and Eclipse, Part 2: Displaying iPhone content to the client
The iPhone and iPod touch made Mobile Safari the most popular mobile browser in the United States. Although Mobile Safari is more than adequate at rendering normal Web pages, many Web developers created versions of applications aimed at the iPhone. Here in Part 2 of this "Developing iPhone applications using Ruby on Rails and Eclipse" series, we learn the common use of drill-down lists as a navigation method
Articles 08 Jul 2008  
 
Build Ajax applications with Ext JS
Ext JS is a powerful JavaScript library that simplifies Asynchronous JavaScript + XML (Ajax) development through the use of reusable objects and widgets. This article introduces Ext JS, providing an overview of the object-oriented JavaScript design concepts behind it, and shows how to use the Ext JS framework for rich Internet application UI elements.
Articles 01 Jul 2008  
 
Using Snort, Part 2: Configuration
Detect intrusions, and prevent attacks from ruining your Web designs and application programming using Snort, a free and open source Network Intrusion Prevention System (NIPS) and Network Intrusion Detection System (NIDS) tool. In the first article in this series, you installed Snort and made sure it could detect packets, log traffic, and be prepared to detect intrusions. In this article, learn what the data inside those packets means, and how you can use that data to infer whether attacks are occurring and alert system administrators to those attacks.
Articles 24 Jun 2008  
 
Develop Ajax applications like the pros, Part 2: Using the Prototype JavaScript Framework and script.aculo.us
Are you building a Web application? Is it supposed to look more like cragislist or flickr? If the answer is the former, then you can probably skip this article. Still reading? Well you are in luck. In this article, Part 2 of a three-part series on JavaScript libraries, you will see how to use the Scriptaculous JavaScript library to enhance your Web applications.
Articles 24 Jun 2008  
 
Get ready for Firefox 3.0
Mozilla Firefox 3 is a major release with many enhancements, some of which are targeted at users, and some at developers. One of the most interesting updates gives Web developers the ability to build Web applications that work even when the user is disconnected from the Internet. Use this article to learn more about these new Firefox 3 features, especially the new offline application support.
Articles 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  
 
Track spatial objects with an Ajax-driven radar screen
Maybe you're trying to keep track of the traffic waiting for you on the commute home, or perhaps you're tracking the objects and people floating around Second Life or another virtual world. Wouldn't it be nice if you could track that kind of thing right from your browser? This tutorial shows you how to use Ajax to create an animated, self-updating radar screen.
Tutorials 17 Jun 2008  
 
Create reusable and redistributable components with Dojo and AJAX
In this article, learn to use Dojo and Ajax to develop reusable components that can easily be integrated with core applications. A a step-by-step example shows how to develop a Web application that adds mailing capabilities to an existing blogging application, generates mailing widgets, and handles intricacies of cross domain communication.
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.
Tutorials 05 Jun 2008  
 
Powering Google Gadgets with WebSphere sMash
IBM WebSphere sMash offers a variety of ways to share information in Web 2.0 applicatons. This article shows how you can build a Google Gadget from scratch, publish it, and power it using WebSphere sMash. Along the way, you will examine the gadget XML specification, use the WebSphere sMash flow model and feed tools, and, ultimately, deploy the gadget to a Web page.
Articles 04 Jun 2008  
 
Developing iPhone applications using Ruby on Rails and Eclipse, Part 1: Serving content for iPhones
The iPhone and iPod touch made Mobile Safari the most popular mobile browser in the United States. Although Mobile Safari is more than adequate at rendering normal Web pages, many Web developers created versions of applications aimed at the iPhone. This "Developing iPhone applications using Ruby on Rails and Eclipse" series shows how to use Ruby On Rails on the server side to identify and serve custom content to Mobile Safari.
Articles 03 Jun 2008  
 
The software development life cycle for Web 2.0
Any software development life cycle must be properly organized before you can expect to successfully execute a project. This is also true of Web 2.0, where a well-planned life cycle will let you realize the vision of building Web services in shorter development cycles, allow quick testing and deployment, and provide for service versioning. In this article, get to know the software development life cycle for Web 2.0-based applications.
Articles 27 May 2008  
 
Ajax security tools
Certain vulnerabilities within Ajax applications can allow malicious hackers to reek havoc with your applications. Identity theft, unprotected access to sensitive information, browser crashes, defacement of Web applications, and Denial of Service attacks are just a few of the potential disasters Ajax applications can be prone to and which developers need to guard against when building Ajax capabilities into their applications. Regular developerWorks author Judith Myerson suggests some application-strengthening tools, including Firefox tools and add-ons, which you can use to improve or solve security problems within your Ajax applications.
Articles 27 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  
 
Implement Semantic Web standards in your Web site
With Yahoo's recent announcement that they will implement support of Semantic Web standards in their search engine, the benefits that the Semantic Web has for your site have never been clearer. In addition to the existing benefits such as your structured content giving you a free, open-ended API, you now get the opportunity for increased search rankings, and more importantly, increased relevance because the search engine can better understand what the content of your site is about. In this tutorial you will learn to implement a simple social networking site using PHP and MySQL, which will implement Semantic Web standards such as hCard and Friend of a Friend (FOAF) as part of a semantic Uniform Resource Identifier (URI) scheme.
Tutorials 20 May 2008  
 
Understanding SPARQL
The Semantic Web, a knowledge-centric model for the Web's future, supplements human-readable documents and XML message formats with data that can be understood and processed by machines. SPARQL Protocol and RDF Query Language (SPARQL) is to the semantic Web as SQL is to a relational database. It allows applications to make sophisticated queries against distributed RDF databases, and is widely supported by many competing frameworks. This tutorial demonstrates its use through the example of a team tracking and journaling system for a virtual company.
Tutorials 15 May 2008  
 
Plants by WebSphere gets a Web 2.0 makeover
Plants by WebSphere is a traditional demonstration Web application for IBM WebSphere Application Server that illustrates commerce functionality, such as product management, shopping cart, and purchase processing. With the release of the WebSphere Application Server Feature Pack for Web 2.0, a new level of user interaction is now possible, enabling Web applications to be more robust and even as responsive as desktop applications. This article discusses the technologies and techniques you can leverage from the Feature Pack for Web 2.0 to “remake” the Plants By WebSphere application to be Web 2.0 ready, with UI redesign, RESTful interactions, plus community and user participation.
Articles 14 May 2008  
 
Comment lines: Scott Johnson: Lazily loading your Dojo Dijit tree widget can improve performance
Populating a tree widget's nodes lazily, rather than all up front, will render the tree more quickly and enable it to perform better. This real-world example shows how you can use REST calls to lazily load JSON data for populating a Dojo Dijit tree widget.
Articles 14 May 2008  
 
Real Web 2.0: Practical linked, open data with Exhibit
In the previous installment of this column you learned about Linking Open Data (LOD), a community initiative for moving the Web from separated documents to a broad information space of data. That article covered the main ideas of LOD, and in this article you will see how to quickly put these ideas to use. Learn about the Exhibit Web library from the MIT Simile project, which allows you to construct functional and visually attractive user interfaces without much work, once you have good LOD available.
Articles 13 May 2008  
 
Performance Ajax tools
Wasting server resources can impact the performance of Ajax applications, resulting in excessive HTTP requests, high memory consumption, and the need for an unusual amount of polling to make applications work. Regular developerWorks author Judith Myerson suggests some open source tools and Firefox add-ons you can use to improve or solve problems with your Ajax applications.
Articles 13 May 2008  
 
Develop Ajax applications like the pros, Part 1: Using the Prototype JavaScript library and script.aculo.us
If you're developing Web applications these days, then you're doing Ajax development. Ajax is no longer something unusual that you add to your applications in special cases. It has become an integral part of Web development. To some, enhancing applications with Ajax used to be a tricky proposition. Cross-browser limitations to deal with, writing a lot of complicated JavaScript, and learning about magic numeric codes within that JavaScript were just a few of the challenges facing Ajax developers. Thankfully, several open source JavaScript libraries are available now to make things much easier. In this first article in a three-part series, you will create an Ajax application for managing songs using the Prototype JavaScript library and script.aculo.us.
Articles 13 May 2008  
 
Internationalize your apps with XSLT
To meet the needs of users worldwide, today's Web applications often require internationalization. In this article, you'll see an approach for client-side internationalization based on XSLT. This solution only requires that both the data to be internationalized and the server stores are in XML.
Articles 06 May 2008  
 
Debug and tune applications on the fly with Firebug
Why are your Web pages taking so long to load? Did you ever want to inspect or edit HTML while browsing? Tweak CSS instantly? In this article, learn to use Firebug, a free, open source extension for the Firefox browser that provides many useful developer features and tools. Using Firebug, you can monitor, edit, and debug live pages, including HTML, CSS, JavaScript code, and network traffic. Read on to learn how to speed up the tasks of debugging and tuning your Web and Ajax applications with Firebug.
Articles 06 May 2008  
 
Ajax overhaul, Part 2: Retrofit existing sites with jQuery, Ajax, tooltips, and lightboxes
Asynchronous JavaScript + XML (Ajax) techniques have changed the face of large, commercial Web applications, but many smaller Web sites don't have the resources to rebuild their entire user interface (UI) overnight. New features should justify their costs by solving real-world interface problems and improving user experience. With this series, learn to modernize your UI incrementally using open source, client-side libraries. In this installment, you learn to eliminate pop-up windows and navigational dead ends using simple lightbox and tooltip techniques. You learn to do so using the principle of progressive enhancement, guaranteeing that advanced UI features don't hamper your site's accessibility and adherence to Web standards.
Articles 06 May 2008  
 
Create an Ajax-based IM client
The ability to instant message (IM) co-workers and friends is a great convenience, but some environments prohibit the use of instant messaging clients in the workplace due to security concerns. The exercise in this tutorial resolves any security concerns by showing you how to use Ajax to create a Web-based IM client that turns IM traffic into plain Web traffic by creating an instant messaging "bot" and a corresponding Web application. While it's not a production application, it demonstrates several nifty Ajax techniques, such as how to use Prototype to do easier DOM manipulation and how to easily update sections of a Web page, either once or repeatedly.
Tutorials 29 Apr 2008  
 
Ajax performance analysis
Asynchronous JavaScript + XML (Ajax) continues to raise user expectations for interactivity and performance, and developers are increasingly treating Ajax as a must-have component of their Web applications. As more code is moved client side and the network model changes, the community is responding by building more tools to address the unique performance challenges of Ajax. Examine toolsets that find and correct performance problems within your Ajax-enriched applications.
Articles 24 Apr 2008  
 
Build custom templates for your data-driven Web sites
Most developers dread dealing with HTML tables and cells to build their Web sites. For one thing, tables make it difficult to modify the site later or to change its appearance. Discover some basic techniques for writing Web sites that you can later re-skin by using templates during the site's initial creation. Also, learn why you should use data-driven techniques for your own Web sites.
Articles 22 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  
 
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  
 
Inheriting Web sites, Part 2: Optimizing your Web site
After you've made a Web site easily maintainable (see Part 1), issues of speed, accessibility, and organization become key. Learn how to analyze your site's pages and improve their efficiency and layout.
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  
 
Jacquard: a methodology for Web publishing
Learn about Jacquard, a software development methodology specialized for Web projects, and especially for Web development among diverse teams. Jacquard looks to align the work and goals of business interest personnel, Web designers, programmers, project managers, database analysts, and more. Learn about the core principles of Jacquard, and follow an example of its use in communication between a user experience team and a programmer team.
Articles 25 Mar 2008  
 
XML processing in Ajax, Part 3: JSON and avoiding proxies
Ajax-style server calls don't necessarily require XMLHttp requests. This last installment of the series uses a public Web service, JavaScript Object Notation (JSON), and dynamic script tags in a final approach to the weather badge project.
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  
 
Must-have tools for HTML, JavaScript and AJAX development and debugging
Use the best open source tools to work with Web pages, scripts, and styles, and make development of new sites and pages easy. Inspect and modify HTML markup, CSS, and JavaScript on the fly, inspect the DOM and client-server communications, and learn how bookmarklets can make development safer and easier.
Articles 11 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  
 
Ajax and XML: Ajax for tables
One strong suit of Asynchronous JavaScript + XML (Ajax) is presenting data from the server to users in a dynamic fashion. Discover several techniques that use Ajax for dynamic data display using tables, tabs, and gliders.
Articles 11 Mar 2008  
 
XML processing in Ajax, Part 2: Two Ajax and XSLT approaches
In Part 2 of this series, Mark Pruett presents two more approaches to the Asynchronous JavaScript + XML (Ajax) weather badge. Both approaches use Extensible Stylesheet Language Transformation (XSLT) transformations -- one on the server side and the other in the browser.
Articles 11 Mar 2008  
 
Does CSS float?
The CSS float property is a popular tool in a Web designer's toolbox for page layout, but it is often poorly understood and hampered by inconsistent browser implementations. This article explores the float property and its common uses, developer tool issues, and browser inconsistencies.
Articles 05 Mar 2008  
 
XML processing in Ajax, Part 1: Four approaches
Any programming problem can be solved in multiple right ways. This series looks at four approaches for creating an Asynchronous JavaScript + XML (Ajax) weather badge, a small reusable widget that's easily embedded on any Web page. This first article lays the foundation and examines the first approach -- walking the DOM tree.
Articles 04 Mar 2008  
 
Ajax overhaul, Part 1: Retrofit existing sites with Ajax and jQuery
This first article in a series on overhauling existing sites with Asynchronous JavaScript + XML (Ajax) shows you how to eliminate pop-up windows and navigational dead-ends with simple modal windows.
Articles 04 Mar 2008  
 
Inheriting Web sites: Getting a Web site to a maintainable state
In a perfect world, you'd create every Web site you were ever assigned to maintain, improve, and redesign. Unfortunately, in the real world, you're often forced to take on a site someone else designed or constructed.
Articles 28 Feb 2008  
 
Comment lines: Roland Barcia: Improve initial download time of your Dojo applications
Once an Ajax application is loaded, it subsequently fetches smaller fragments of data and content to avoid the overhead of re-rendering the entire page, thus improving performance. The tradeoff that enables this to happen is that the initial download of your application will usually take longer. This article looks at ways you can reduce the initial download time of your Dojo applications and still get great performance.
Articles 27 Feb 2008  
 
Create your own information space with Ajax and del.icio.us
del.icio.us is a social bookmarking Web site that allows users to create and share browser-independent bookmarks, accessible directly over the Internet, in ways your browser won't allow. The traditional hierarchical organization of browser bookmarks is overhauled, allowing users to instead associate each and every bookmark with any number of descriptive tags. Imagine a single page where you and your friends can surf the Web and have your del.icio.us tags, links, and functions handy, or a single page where you can save the site you're browsing directly into your del.icio.us account, along with comments and chosen tags. This tutorial shows you how to use Ajax to build just such a page using a PHP script as the server-side proxy.
Tutorials 26 Feb 2008  
 
Create an Ajax mindreader application with E4X and Prototype, Part 2: Make the mindreader smarter
In this two-part article series, you learn to use both ECMAScript for XML (E4X) and the Prototype JavaScript library to create a simple Ajax mindreader application that plays Twenty Questions and learns about new objects as it goes along. In Part 1, you learned to create a system that takes an existing knowledge base and analyzes it to determine what the user might be thinking. Now in Part 2, you'll learn to add new information to the knowledge base, and to use the Prototype JavaScript library to integrate the Twenty Questions application with an external database so training by one user is usable by others who play the game.
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  
 
Create an Ajax mindreader application with E4X and Prototype, Part 1: Build the Twenty Questions infrastructure
XML seems like a natural format for passing Ajax data. However, to work with XML in JavaScript using the Document Object Model (DOM) is not always the best way to handle this kind of data. This has given rise to other choices, such as JSON, which provide a more object-like feel for developers. Now ECMAScript for XML (E4X) combines many of the best features of the DOM with extremely easy data binding to provide a more straightforward way to deal with XML in the browser. In this two-part article series, you'll learn to use both E4X and the Prototype JavaScript library to create a simple Ajax mindreader application that plays Twenty Questions and learns about new objects as it goes along. Part 1 shows you how to create a system that takes an existing knowledge base and analyzes it to determine what the user may be thinking.
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  
 
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  
 
Where and when to use Ajax in your applications
Ajax has changed the way Web applications are made. Learn how you can use Ajax to improve your Web sites while avoiding bad user experiences.
Articles 05 Feb 2008  
 
Real Web 2.0: Linking open data
Learn about Linking Open Data (LOD), a community initiative for moving the Web from the idea of separated documents to a wide information space of data. The key principles of LOD are that it is simple, readily adaptable by Web developers, and complements many other popular Web trends. Learn how to make your data more widely used by making its components easier to discover, more valuable, and easier for people to reuse--in ways you might not anticipate.
Articles 05 Feb 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  
 
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  
 
The Ranvier URL mapper
Ranvier is a Python package you can integrate into Web application frameworks to map incoming URL requests to source code. It does this by a mechanism of delegation-and-consumption, which differs from more common regular expression-based URL rewriting. Ranvier also serves as a central registry of all the URLs in a Web application and can itself generate the URLs necessary for cross-linking pages. The registry function allows Ranvier to assure the integrity of links and automate coverage analysis. Ranvier is pure Python code and does not have any third-party dependencies; it should be usable (with a bit of adaptor code) in any Python-based Web application framework.
Articles 29 Jan 2008  
 
Ajax and XML: Ajax for forms
Augmenting your HTML forms with Ajax callbacks to the server is a practical way to add Web 2.0 functionality to your application. Discover a variety of techniques to add Ajax code and enhance the user experience for PHP applications.
Articles 22 Jan 2008  
 
Generate URIs and IRIs from Templates
The Universal Resource Identifier (URI) Template specification provides a mechanism that can be used to describe how to construct URIs for a broad variety of applications. This article introduces you to basic URI Template syntax and shows you how a template is expanded into a URI. View an illustration of the use of two URI Template implementations for JavaScript and Java language programs and learn about concepts related to the production of Internationalized Resource Identifiers (IRIs).
Articles 22 Jan 2008  
 
Build a customizable RSS feed aggregator in PHP
RSS (Rich Site Summary, RDF Site Summary, or Really Simple Syndication) has been around since the mid-1990s. Over the years, several variants of the RSS format have popped up and several claims have been made about its ownership. Despite these differences, RSS never ceased to serve its usefulness in distributing Web content from one Web site to many others. The popularity of RSS gave way to the growth of a new class of Web software called the feed reader, also known as the feed aggregator. Although there are several commercially available feed aggregators, it's easy to develop your own feed aggregator, which you can integrate with your Web applications. You'll appreciate this article's fully functional PHP code snippets, demonstrating the use of PHP-based server-side functions to develop a customizable RSS feed aggregator. In addition, you'll reap instant benefits from using the fully functional RSS feed aggregator code, which you can download from this article.
Articles 22 Jan 2008  
 
Create dynamic Firefox user interfaces
When you create browser-based applications that display XML data feeds, you often need to code the data-retrieval mechanism and the user interface. Mozilla Firefox provides an infrastructure that frees you from these tasks, so you can concentrate on your application's functionality. Learn how to use Asynchronous JavaScript + XML (Ajax) to download XML data from a Web server, and discover how you can use Extensible Stylesheet Language Transformations (XSLT) to transform it dynamically into Firefox user-interface elements expressed in XML User Interface Language (XUL). You can apply these techniques to any application that uses XML data sources.
Tutorials 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  
 
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  
 
Solid Ajax applications, Part 2: Building Ajax back ends
Back end processing -- server-side scripts and programs -- can't always be tossed into an Ajax application and behave well. Instead, careful planning to ensure data is sent in an appropriate and efficient form ensures your entire application is cohesive, rather than needlessly complex. Brett McLaughlin explains how a good server-side script complements Ajax behavior.
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  
 
Use Project Zero and WebSphere sMash's data access APIs to build a simple wiki
Project Zero is a simplified development platform focused on the agile development of Web 2.0 applications following a Service-Oriented Architecture (SOA). Among Project Zero's arsenal of libraries is a simplified API for executing SQL queries. Learn how to leverage these APIs to build a simple wiki.
Articles 08 Jan 2008  
 
Convert Atom documents to JSON
Converting an Atom document to JSON might, at first, appear to be a fairly straightforward task. Atom is, after all, just a bit of XML and XML-to-JSON conversion tools are widely available. However, the Atom format is more than just a set of XML elements and attributes. A number of subtle details can make proper handling of Atom difficult. This article describes those issues and demonstrates a mechanism implemented by the Apache Abdera project to convert Atom documents into JSON and produces a result that is readable, usable, and complete.
Articles 08 Jan 2008  
 
Push RSS to new limits
This tutorial presents an innovative use of the well-known Really Simple Syndication (RSS) format's associative properties to emulate the functionality of a simple relational database. It demonstrates using RSS channels to store contact information and meeting information -- much as a personal address book and calendar does. It uses RSS elements and attributes such as items and guids to create a neural-network-like mesh of related data.
Tutorials 18 Dec 2007  
 
Cross-browser Web application testing made easy
"Test on multiple browsers" has been a mantra ever since there have been multiple browsers to test on. Testing them all -- especially these days -- is impossible. But you can come a lot closer than you may think. In this article, learn a variety of techniques for cross-browser testing, from the very thorough to the quick and dirty. The choice you make will depend on your resources, but this is an issue you can't ignore.
Articles 18 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.
Tutorials 18 Dec 2007  
 
Build an Ajax-enabled search page using the Rico JavaScript library, ColdFusion MX 7, and Windows Indexing Service
A Web site or intranet has such a high volume of information available that you need special tools to index the content and provide access to it in a fast and convenient way. Learn how to do just that and provide a state-of-the-art search facility with the help of an Ajax library coupled with mature technologies like ColdFusion and Windows Indexing Service.
Articles 18 Dec 2007  
 
Ajax -- A guide for the perplexed, Part 2: Develop a Dojo-based blog reader
The previous installment of this series introduced you to Ajax development by walking through the practical information essential for getting an Ajax-enabled environment up and running. In this article, Part 2 of the series, the authors put your newly gained knowledge into practice by starting the development of a simple Dojo and Atom-based blog reader.
Articles 11 Dec 2007  
 
Why (almost) every Web site needs an RDBMS
When your Web application reaches a certain size, it needs a good database design behind it. And in fact, this "certain size" is much smaller than almost every small-site developer thinks. Relational Data Base Management Systems (RDBMSes) need not be restrictive or over-architected, as their bad reputation sometimes brings developers to fear. A bit of thought toward what your site does quickly turns into a sensible schema design, and it is easy to leave open expandable storage mechanisms like a "configuration" table within an RDBMS back end.
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  
 
Ajax and XML: Ajax for chat
Learn to build a chat system into your Web application with Asynchronous JavaScript + XML (Ajax) and PHP. Your customers can talk to you and to each other about the content of the site without having to download or install any special instant-messaging software.
Articles 04 Dec 2007  
 
HTML V5 and XHTML V2
While the intention of both HTML V5 and XHTML V2 is to improve on the existing versions, the approaches the developers chose to make those improvements is very different. And with differing philosophies come distinct results. For the first time in many years, the direction of upcoming browser versions is uncertain. Uncover the bigger picture behind the details of these two standards.
Articles 20 Nov 2007  
 
Enterprise architecture essentials, Part 6: Manageability
Organizations today face the challenge of two important enterprise architecture requirements: the need for agility and the overhead of regulatory governance. These requirements can be seen as mutually antagonistic--if business processes must be flexible, then governance of those processes may be difficult. Explore the notion of using manageability as a key enterprise architecture (EA) quality attribute to solve this problem.
Articles 13 Nov 2007  
 
Tip: Avoid unnecessary Ajax traffic with session state
Where possible, creating Web applications -- including Ajax-based applications -- in a RESTful way avoids a large class of bugs. However, a pitfall of REST (Representational State Transfer) is sending duplicate data across similar XMLHttpRequests. This tip shows how the moderate use of session cookies can maintain just enough server-side state to significantly reduce client-server traffic, while still allowing fallback to cookie-free operation.
Articles 13 Nov 2007  
 
Ajax-based persistent object mapping
The Persevere persistent object framework brings persistent object mapping to the browser JavaScript environment. Object persistence has seen great popularity in the Java programming and Ruby worlds, and the dynamic JavaScript language is naturally well suited to mapping objects to persisted data. Persevere automates mapping and communication in Ajax-based Web applications, in addition to simplifying much of the development challenge, by providing a manageable data model, transparent client-server Ajax interchanges, automatic state change storage, and implicit transaction management.
Articles 13 Nov 2007  
 
Mocking and stubbing in Ruby on Rails
Understand the basic foundations behind stubbing and mocking techniques and strategies with this hands-on walkthrough using the three most popular mocking frameworks for Ruby.
Articles 07 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  
 
Optimized and predictable Ajax applications
Wouldn't it be nice for developers if all browsers, computer models, and Ajax application users were the same? Maybe, but the reality is that they are not. Developers face a myriad of challenges when developing applications that behave predictably across browsers, computers, and individual user settings. When users transfer Ajax applications from one browser type to another (and especially when they transfer an Ajax application into a Web service portal), they're not guaranteed the same browser experience because of each browser's inherent limitations. In this article, author Judith Myerson gives a brief discussion of these limitations and what pitfalls to avoid, including some helpful solutions for optimizing browser differences.
Articles 30 Oct 2007  
 
World Wide Wits: Build an indestructible Web-hosted brain
Attach a simple neuron implementation to HTTP transport code to build a robust distributed computing application that is highly opaque to observers -- even those who have access to the source code.
Articles 30 Oct 2007  
 
Ajax and XML: Ajax for media
With the advent of widely available broadband, media, movies, images, and sound drive the Web 2.0 revolution. Learn to combine media with technologies such as PHP and Asynchronous JavaScript + XML (Ajax) to create a compelling experience for your customers.
Articles 23 Oct 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  
 
Create a photo album application with Project Zero and REST design principles
One of the main goals of Project Zero is to simplify the creation of rich Internet applications (RIAs). The Flickr photo sharing service is an excellent example of such an application. Designed using REST principles, Asynchronous JavaScript + XML (Ajax) techniques, and dynamic scripting languages, Flickr provides a service that is not only user friendly, but also scalable and extensible. Because Flickr has many of the qualities that authors of other RIAs are striving for, recreating this type of application with Zero would be an excellent way to validate Zero as an RIA platform. In this article, see how to combine existing Zero components to create a photo sharing service that can support many of the same functions provided by Flickr today. Along the way, you'll learn more about RESTful design, connecting components via HTTP, and the use of JavaScript to provide a function that isn't already part of Zero.
Articles 16 Oct 2007  
 
Browser extensions using XUL, Part 2: Assemble a cross-platform Firefox extension
XUL is a surprisingly easy way to build cross-platform browser extensions or even stand-alone applications. Discover how to build powerful, flexible Mozilla browser extensions that go beyond the capabilities of other tools like embedded scripting languages or CGI -- because they're built right into the user's browser.
Articles 16 Oct 2007  
 
Solid Ajax applications: Part 1: Building the front end
With Ajax still one of the industry's hottest buzzwords, more and more applications are being built with Ajax technologies. However, it's not always easy to build a good application. This article focuses on how to build intuitive, easy-to-use Ajax-driven applications.
Articles 16 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  
 
Thinking XML: Firefox 2.0 and XML
Firefox 2.0 brought several important changes in its XML support. It's currently reaching its peak in user deployment. Learn about updated XML features in Firefox 2.0, including a controversial change to the handling of RSS Web feeds.
Articles 02 Oct 2007  
 
Browser extensions using XUL, Part 1: Create a Firefox browser extension with user-interface features
Create extensions that go beyond the built-in capabilities of Web browsers. The Mozilla project's XUL engine is a user-interface language that you can use to extend Mozilla browsers, or to build stand-alone applications. XUL is a surprisingly easy way to build cross-platform browser extensions, and this pair of articles demonstrates how.
Articles 02 Oct 2007  
 
Write XForms that work across browsers
Learn how XHTML and XForms documents should be hosted and written to ensure that your end users have the best experience with your XForms-based applications.
Articles 02 Oct 2007  
 
Ajax and XML: Ajax for lightboxes
In a world where everything is designed to amaze and distract, it's awfully difficult to get a user's attention. Learn how to use new techniques such as lightboxes, pop-ups, windows, and fading messages with your Ajax tools to get your users' eyes on your content.
Articles 25 Sep 2007  
 
In pursuit of code quality: Adventures in behavior-driven development
Test-driven development (TDD) is a great idea in practice, but some developers just can't get over the conceptual leap associated with that word test. In this article, learn about a more natural way to integrate the momentum of TDD into your programming practice. Get started with behavior-driven development (BDD) (via JBehave) and see for yourself what happens when you focus on program behaviors, rather than outcomes.
Articles 18 Sep 2007  
 
Web development tips: Pay attention to the CSS @media rule
The CSS "@media" rule is a useful way to target an HTML or XML document to an intended output device. Use of the "print" media is now fairly widespread, and provides a much cleaner means of creating printer-friendly pages than does a separate "printable version." The use of the "screen" media has been somewhat underused, perhaps because of an overly general assumption that screen is merely the "default rendering." However, in regard to positioning--especially absolute positioning--the screen media type has an important meaning that is not covered by media-free stylesheet rules.
Articles 18 Sep 2007  
 
Auto-save JSF forms with Ajax: Part 2
In the first part of this "Auto-save JSF forms with Ajax" series, author and Java developer Andrei Cioroianu showed you how to build Java applications that automatically save Web forms, using Asynchronous JavaScript + XML (Ajax) and JavaServer Faces (JSF) technologies. You learned how to obtain, encode, and submit form data with JavaScript and XMLHttpRequest, how to adapt the JSF request processing life cycle for handling Ajax requests, and how to get the submitted data from the JSF component tree on the server side. In this second installment of the three-part series, you will see how to identify anonymous users across browser sessions, how to manage the auto-saved form data for multiple users and pages, how to choose a data repository, and how to deal with thread-safety issues.
Articles 18 Sep 2007  
 
Web development tips: Ten (or a few more) files every Web site needs
Regardless of what sort of Content Management System or Web application framework you might use to develop your Web site, there are some basics you should cover. A sophisticated user interface and rich content is great to have, but before you get to that, you should provide the basic files that users anticipate finding and that tell both humans and machines what your site does.
Articles 11 Sep 2007  
 
Real Web 2.0: Wikipedia, champion of user-generated content
Encourage user contribution to your Web site by learning from Wikipedia. Wikipedia builds on open source and respects the geographical variety and potential accessibility needs of its users. It provides tools to help users contribute, but also fosters an atmosphere where contributions are verified and discussed by the community.
Articles 04 Sep 2007  
 
Speed up your Ajax applications while dodging Web services vulnerabilities
Deploying bandwidth-efficient Ajax applications does not guarantee that the service levels in a Service Level Agreement will stay high. No matter how well you change code in the Ajax format to make it more bandwidth efficient, there will be always risks and vulnerabilities you'll need to watch out for and mitigate. Regular developerWorks author Judith Myerson gives a brief Ajax recap, shows what Web services vulnerabilities are and why Service Level Agreements (SLA) are important, and suggests some solutions for speeding up Ajax applications.
Articles 28 Aug 2007  
 
Behavior-driven testing with RSpec
Testing fever has infected the Ruby programming community, and the infection is spreading. One of the most promising innovations in testing in the past year is the introduction and rapid growth of RSpec, a behavior-driven testing tool. Learn how RSpec can change the way you think about testing.
Articles 28 Aug 2007  
 
Set up a Web server cluster in 5 easy steps
Construct a highly available Apache Web server cluster that spans multiple physical or virtual Linux servers in 5 easy steps with Linux Virtual Server and Heartbeat v2.
Articles 22 Aug 2007  
 
Develop an Ajax-based file upload portlet using DWR
File upload is a basic function of today's Web portals. In this article, authors Xiaobo Yang and Rob Allan describe how to develop an Ajax-based file upload JSR 168-compliant portlet using DWR (Direct Web Remoting). DWR is an ideal Ajax framework for Java developers that dynamically generates JavaScript based on server-side deployed Java classes. You will learn how you can use DWR to retrieve file upload progress from the portal server.
Articles 21 Aug 2007  
 
Web development tips: Use antipool.py for threaded Python database access
Databases are happy to handle many parallel requests (doing so is almost in the definition of a database). However, active processes (threaded or forked) almost inevitably eat up a valuable resource: database connections. The antipool.py module in Martin Blais' "antiorm" library does a nice job of making the pooling and reuse of connections transparent to programmers, and in a RDBMS-agnostic fashion.
Articles 21 Aug 2007  
 
Social computing: Maximizing the power of Web 2.0
At its core, social computing is the use of social interaction and communication tools. With Web 2.0, social software for large enterprise affects architects by making it more difficult to govern through formal authority, because power migrates from the institution to the community in many ways. Embracing the trend can promote consistency and cooperation across a development community and help you maintain influence and build acceptance as social communities grow and intensify.
Articles 21 Aug 2007  
 
The power of syndication at the click of a button
Have you ever wanted to bring the technical know-how of developerWorks straight to your workspace or personalized iGoogle, Netvibes, or My Yahoo page? Now you can with developer gizmos. It's the power of syndication at the click of the mouse: no programming, training, or registration required. Add any developerWorks custom feeds, or a developerWorks spaces portlet as a Google Gadget, Netvibes Module, or Yahoo Widget directly to your preferred syndication mashup, keep up with developerWorks feeds on your Apple iPhone, or download a developerWorks Gadget for Google Desktop with the content you select from developerWorks.
Articles 20 Aug 2007  
 
Program with XML for DB2, Part 3: Program with XML in the client
Learn how to extend the XML model in order to create rich clients using XML data transferred from your application server. Discover how to use Dynamic HTML (DHTML) to present the XML, XPath to navigate the XML and the Document Object Model (DOM) to modify and serialize the XML back to the application server.
Articles 16 Aug 2007  
 
iPhone development with PHP and XML
The Apple iPhone is the hottest new device on the market. Discover how you can develop an application for it using your existing Web tools.
Articles 14 Aug 2007  
 
Real world Rails, Part 4: Testing strategies in Ruby on Rails
Testing is firmly entrenched in the Ruby on Rails community. Many tools can help you, from the Rails stack to RCov for coverage to Mocha and FlexMock for enhancing your test cases. But different tools often support diverging strategies. Learn about the trade-offs of several basic testing strategies.
Articles 14 Aug 2007  
 
Mastering Ajax, Part 11: JSON on the server side
In the last article, you learned how to take an object in JavaScript and convert it into a JSON representation. That format is an easy one to use for sending (and receiving) data that maps to objects, or even arrays of objects. In this final article of the series, you'll learn how to handle data sent to a server in the JSON format and how to reply to scripts using the same format.
Articles 14 Aug 2007  
 
New elements in HTML 5
HTML 5 introduces new elements to HTML for the first time since the last millennium. New structural elements include aside, figure, and section. New inline elements include time, meter, and progress. New embedding elements include video and audio. New interactive elements include details, datagrid, and command.
Articles 07 Aug 2007  
 
Real Web 2.0: Quick and dirty Web applications with bookmarklets
Web 2.0 is well known for the fact that it's not built on breathtaking new inventions, but rather on renewed emphasis on age-old Web technologies. One of those age-old technologies that is enjoying a revival in Web 2.0 is bookmarklets. A bookmarklet is essentially a Web application shoehorned into a regular browser bookmark. This article includes a fully functioning bookmarklet and installation instructions you can use to highlight text on any Web page and search IBM developerWorks for that text.
Articles 07 Aug 2007  
 
Auto-save JSF forms with Ajax: Part 1
In this three-part series, author and Java developer Andrei Cioroianu shows you how to automatically save form data in a Java Web application using Asynchronous JavaScript + XML (Ajax) and JavaServer Faces (JSF) technologies. You'll learn how to submit Web forms with Ajax, how to use the JSF framework to handle Ajax requests, how to control the JSF request processing life cycle, how to manage form data on the server side, and how to identify anonymous users across browser sessions. Discover several frequently occurring development mistakes, including incorrect form-data encoding and improper Ajax request management, which can lead to failed requests and memory leaks.
Articles 07 Aug 2007  
 
Plans for the Rich Web Application Backplane
Both mashups and Ajax are now firmly entrenched in the Web landscape. Put them together and you have the makings for Rich Web applications. This article explains the Rich Web Application Backplane, currently a W3C Note, which is designed to bring standardization to the field, proving a set of common building blocks, or components, these applications tend to use.
Articles 31 Jul 2007  
 
Ajax and XML: Ajax for ratings and comments
In the age of the people-powered Web, allowing your readers to rate and review content on your site is critical. Discover just how easy it is to add rating and commenting features to a site with Ajax.
Articles 24 Jul 2007  
 
In pursuit of code quality: Unit testing Ajax applications
You might get a thrill out of writing Ajax applications, but unit testing them is surely painful. In this article, Andrew Glover takes on the downside of Ajax (one of them, anyway), which is the inherent challenge of unit testing asynchronous Web applications. Fortunately, he finds it easier than expected to tame this particular code quality dragon, with the help of the Google Web Toolkit.
Articles 24 Jul 2007  
 
The cranky user: What ever happened to Web engineering?
Does it ever occur to you that today's Web developers could learn a thing or two from traditional computer programming? The cranky user talks about the foundations of software engineering and asks where in the Web those best practices have disappeared to.
Articles 24 Jul 2007  
 
End-to-end Ajax application development, Part 3: Integrate, test, and debug the application
Ajax (Asynchronous JavaScript + XML) is quickly emerging as a modern way of bringing desktop quality software features to Web applications running on browser platforms. This article is the last of a three-part series where you can complete the development of an end-to-end Ajax application using technologies available from the open source community.
Articles 19 Jul 2007  
 
Ajax for Java developers: Write scalable Comet applications with Jetty and Direct Web Remoting
Ajax applications driven by asynchronous server-side events can be tricky to implement and difficult to scale. Returning to his popular series, Philip McCarthy shows an effective approach: The Comet pattern allows you to push data to clients, and Jetty 6's Continuations API lets your Comet application scale to a large number of clients. You can conveniently take advantage of both Comet and Continuations with the Reverse Ajax technology in Direct Web Remoting (DWR) 2.
Articles 17 Jul 2007  
 
Real world Rails, Part 3: Optimizing ActiveRecord
ActiveRecord is a fantastic persistence framework, but since the framework hides low-level details from you, it can be prone to performance problems. Discover the most common problems and how you can solve them.
Articles 17 Jul 2007  
 
Using Web 2.0 architecture for a more flexible enterprise
Web 2.0 repositories can help you create a flexible software architecture. Such software can be easily plugged into Web 2.0 communities and extranets. However, creating a fluid system that works in accordance with requirements for modifiability, performance, security, scalability, and reusability can be challenging. Learn techniques that help you ensure that your enterprise Web 2.0 architecture meets your quality requirements.
Articles 10 Jul 2007  
 
Lightweight Web servers
Recent years have enjoyed a florescence of interesting implementations of Web servers, including lighttpd, litespeed, and mongrel, among others. These Web servers boast different combinations of performance, ease of administration, portability, security, and related values. The following engineering study surveys the field of lightweight Web servers to help you find one likely to meet the technical requirements of your next project.
Articles 10 Jul 2007  
 
Ajax -- A guide for the perplexed, Part 1: Survey of Ajax tools and techniques
Ajax (Asynchronous JavaScript + XML) programming techniques are increasingly dominating the world of Web application development. New developers are stepping into the world of Ajax development every day, and they come from disparate development backgrounds. Part 1 of this multipart series gives you a cheat sheet of Ajax development resources from an expert team of Ajax developers at IBM. The authors draw from their own ramp-up experiences to help you with practical information that will put you on a fast track to effective Ajax development.
Articles 10 Jul 2007  
 
Implementing Hamlets
The Hamlet framework was developed to extend Java servlets and enforce the separation of content from presentation. In this article, you'll find an additional way to provide dynamic content as Rene Pawlitzek advances the framework further and refines use of the template engine.
Articles 03 Jul 2007  
 
Get to know JsonML
The rise of JavaScript Object Notation (JSON) has gone hand-in-hand with the rise of Asynchronous JavaScript + XML (Ajax). JSON is useful because it enables you to easily transmit data that can be turned back into a JavaScript object, but it still requires custom scripting to deal with that object. JsonML is an extension of JSON that enables you to map XML data using JSON type markup, and this in turn enables you to easily create XML or XHTML data based on JSON markup and to build and exchange user interface (UI) elements. This article shows you how to make use of this handy tool.
Articles 03 Jul 2007  
 
Massively multiplayer online games, Part 3: Resolve potential issues with hosting MMOGs
Massively multiplayer online games (MMOGs) require dozens of developers, hundreds of artists, and massive infrastructures. This article, the third in a series of articles covering MMOGs, shows you techniques for managing issues that can occur while hosting an online game. Discover some tips that can help you resolve issues effectively, and learn about alternative revenue sources that extend beyond one-time sales.
Articles 03 Jul 2007  
 
Real world Rails, Part 2: Advanced page caching
Normally, user-related content defeats page caching because the content for each user is subtly different. Using JavaScript with cookies, you can use page caching even when you're displaying some custom user data. This article explores advanced page caching in Ruby on Rails.
Articles 26 Jun 2007  
 
Real Web 2.0: Meet digg.com and Reddit, heirs of Slashdot
Explore the user and developer features that make up a modern Web news site. digg.com and Reddit are popular sites, both as destinations in themselves and as sources for mashups and other ways to provide customized experiences to users. Examine an example customization of Reddit using the Greasemonkey extension for Mozilla Firefox.
Articles 26 Jun 2007  
 
Page is temporarily unavailable
This page is temporarily unavailable. Please try again later. We apologize for any inconvenience.
22 Jun 2007  
 
Page is temporarily unavailable
This page is temporarily unavailable. Please try again later. We apologize for any inconvenience.
22 Jun 2007  
 
Page is temporarily unavailable
This page is temporarily unavailable. Please try again later. We apologize for any inconvenience.
22 Jun 2007  
 
Page is temporarily unavailable
This page is temporarily unavailable. Please try again later. We apologize for any inconvenience.
22 Jun 2007  
 
Page is temporarily unavailable
This page is temporarily unavailable. Please try again later. We apologize for any inconvenience.
22 Jun 2007  
 
Overcome security threats for Ajax applications
Asynchronous JavaScript + XML (Ajax), a key technology in Web 2.0, allows user interaction with Web pages to be decoupled from the Web browser's communication with the server. In particular, Ajax drives mashups, which integrate multiple contents or services into a single user experience. However, Ajax and mashup technology introduce new types of threats because of their dynamic and multidomain nature. Learn about the threats associated with Ajax technologies, and discover some best practices to avoid them.
Articles 19 Jun 2007  
 
End-to-end Ajax application development, Part 2: Implement the Ajax client and server tiers
Ajax (Asynchronous JavaScript + XML) is quickly emerging as a modern way of bringing desktop quality software features to Web applications running on browser platforms. This article is second of a three-part series where you can continue learning about developing an end-to-end Ajax application using technologies available from the open-source community.
Articles 19 Jun 2007  
 
Create an asynchronous message framework with Ajax and Apache Geronimo
Combine Apache Geronimo with an Asynchronous JavaScript + XML (Ajax) user interface (UI), an asynchronous messaging system, and loosely coupled business services to build a responsive, enterprise-grade Web application framework.
Articles 19 Jun 2007  
 
Embedding Hamlets
The open source Hamlets framework can help aid your Web development and properly separate content from presentation. The OSGi framework provides an excellent tool for development on embedded devices. Together, the two frameworks work as a team to provide browser-based interactivity to the humblest gadgets -- such as the lowly coffee maker. Read on to find out how it works.
Articles 19 Jun 2007  
 
Using PHP's SDO and SCA extensions
The PHP SCA extension is a Web service implementation for PHP that allows developers to easily create SCA (Service Component Architecture) components through PHP annotations on a PHP class. Data can also be represented using Service Data Objects (SDO). This article shows developers how to create a Web service using the PHP SCA extension, and how the Web service data is represented using SDOs.
Articles 19 Jun 2007  
 
Put XHTML 2 to work now
The XHTML 2 specification isn't finished, but it already has many advantages over XHTML 1, including a greater structural richness that will make it more viable than its predecessor as an editorial format to serve as the central schema for a single-source publishing system. Without waiting for browser support of the new user interface features in XHTML 2, people who do large- or small-scale publishing can start to use these new features now.
Articles 12 Jun 2007  
 
The W3C Multimodal Architecture, Part 3: A multimodal Web service
Gerald McCobb concludes his introduction to the W3C Multimodal Architecture by showing you how to use the architecture as a generic template for developing a multimodal Web service.
Articles 12 Jun 2007  
 
The cranky user: Simple is the new sophisticated
Consumer devices like the Nintendo Wii and the Apple iPod have shown that the simplest interfaces can win over users in record numbers. This month the cranky user takes a look at why simplification works and how the drive for innovation ties in with the "Principle of least astonishment".
Articles 12 Jun 2007  
 
Seamless JSF, Part 3: Ajax for JSF
JSF's component-based methodology encourages abstraction, but most Ajax implementations interfere with it by exposing the underlying HTTP exchange. In this final article in the Seamless JSF series, Dan Allen shows you how to use the Seam Remoting API and Ajax4jsf components to communicate with managed beans on the server as if they were local to the browser. You'll learn how surprisingly easy it is to leverage Ajax as a natural improvement on JSF's event-driven architecture and how to do so without compromising the JSF component model.
Articles 12 Jun 2007  
 
Turbocharge Ruby on Rails with ActiveScaffold
Save time and headaches, and create a more easily maintainable set of pages, with the Ruby on Rails ActiveScaffold plugin. ActiveScaffold handles all your CRUD (create, read, update, delete) user interface needs, leaving you more time to focus on more challenging (and interesting!) problems.
Articles 08 Jun 2007  
 
Tuning LAMP systems, Part 3: Tuning your MySQL server
Applications using the LAMP (Linux, Apache, MySQL, PHP/Perl) architecture are constantly being developed and deployed. But often the server administrator has little control over the application itself because it's written by someone else. This series of three articles discusses many of the server configuration items that can make or break an application's performance. This third article, the last in the series, focuses on tuning the database layer for maximum efficiency.
Articles 07 Jun 2007  
 
Convert XML to JSON in PHP
With the growing popularity of Web 2.0, a new data interchange format called JavaScript Object Notation (JSON) is emerging as a useful way to represent data in the business logic running on browsers. Learn how PHP-based server programs can convert XML-formatted enterprise application data into JSON format before sending it to browser applications.
Articles 05 Jun 2007  
 
End-to-end Ajax application development, Part 1: Set up an Ajax environment with a scenario
Ajax (Asynchronous JavaScript + XML) is quickly emerging as a modern way of bringing desktop-quality software features to Web applications running on browsers. Open source software such as Linux-Apache-MySQL-PHP (LAMP) and open standards-based J2EE middleware, such as WebSphere Application Server Community Edition, provide excellent capabilities to develop and deploy Ajax Web applications. This article is the first of a three-part series about developing an end-to-end Ajax application using an open source middleware stack. If you're a novice Web developer who can read and understand the code written in XHTML, CSS, JavaScript, PHP, and SQL, then this article is for you. After you're done, you will have a good understanding of the basic concepts of Ajax and its potential in the context of a three-tier Web application scenario.
Articles 05 Jun 2007  
 
Made-to-order content with Yahoo Pipes
Explore the steps and benefits of using a content feed filtering utility like Yahoo Pipes to better capture, merge, and alter specific data from available streams. This tutorial outlines some techniques to approach feed transformations, and includes three demonstrations featuring key areas of the environment.
Tutorials 05 Jun 2007  
 
Using Snort: Part 1: Installation and configuration
Web sites are the most vulnerable, and therefore the most hacked, bits of technology on the Internet. Enter Snort, a free and open source Network Intrusion Prevention System (NIPS) and Network Intrusion Detection System (NIDS) tool for managing and preventing intrusions to your Web sites, applications, and Internet-enabled programs. Learn how Snort can protect your sites, as well as analyze what's really going on with your networks. By the time you're done, you'll be ready for some of the more advanced intrusion detections that Snort offers, and for optimizing your site and network based on the information that Snort provides.
Articles 03 Jun 2007  
 
The W3C Multimodal Architecture, Part 2: The XML specification stack
Gerald McCobb continues his introduction to the forthcoming W3C Multimodal Architecture with a survey of the many XML languages that you can use to author multimodal applications. He then shows how several specifications -- SCXML, XHTML, REX, and XML Events -- could work together in a complete multimodal application.
Articles 31 May 2007  
 
Building Google gadgets, Part 2: Working with the user interface
Part 2 of the "Building Google gadgets" series introduces the advanced features of gadgets, including creating a tabbed user interface, drag and drop, and MiniMessages, and gets you started creating your own.
Tutorials 22 May 2007  
 
Upgrade Web applications with new technologies
To maintain success, companies often incorporate the benefits of new and evolving technologies into their star products. Unfortunately, integrating new technologies can sometimes compromise a product's features and adversely affect the time to market. The time it takes for a product development team to become acquainted with the new technology can limit the number of new features added to the product. Discover the most common problems associated with incorporating new technologies into existing products, and learn what steps you can take to avoid these issues and upgrade your products successfully.
Articles 22 May 2007  
 
Real world Rails: Caching in Rails
Ruby on Rails is increasingly showing up as the base framework for sophisticated and scalable applications of medium and large size. Because Ruby is an interpreted language, to bend Rails to your will, you will need to employ many different caching strategies. This article explores the caching strategies that are available to you, including the ones we use for ChangingThePresent.org.
Articles 15 May 2007  
 
Massively multiplayer online games, Part 2: Understand the economic factors of hosting a game
Massively multiplayer online games (MMOGs) are extremely complicated software systems that require massive infrastructures. This article, the second in a series of articles covering MMOGs, looks at some of the economic factors involved in hosting an online game. Learn how the physical infrastructure, power, networking, and cooling contribute to the overall cost of hosting an MMOG.
Articles 08 May 2007  
 
The W3C Multimodal Architecture, Part 1: Overview and challenges
The W3C Multimodal Interaction Working Group has been refining its proposal for a Multimodal Architecture since 2002. In this first article in a three-part series, Gerald McCobb of IBM presents an overview of the group's progress. Get an early look at the emerging architecture and learn about the challenges Web developers should consider when deciding whether to implement it.
Articles 08 May 2007  
 
PHP and RSS: Getting it together
RSS Syndication is virtually ubiquitous these days, so it's imperative that a PHP developer at least understand RSS and how it works. This article explains the basics of RSS, some of its many uses, how to use PHP to create an RSS feed from a database, and how to use the XML_RSS module to read an existing RSS feed and translate it into HTML.
Articles 01 May 2007  
 
Introducing developerWorks spaces
The developerWorks spaces initiative represents a new way for people to create, discover, integrate, or present information, ideas, business transactions, news, and even themselves to others through the global environment of the Internet. Meet the first phase of the project, called "community topics," and find out how you can get involved.
Articles 01 May 2007  
 
Seamless JSF, Part 2: Conversations with Seam
Put Seam's annotations and conversation scope to the test -- use them to build a simple, stateful CRUD application.
Articles 01 May 2007  
 
Second Life client, Part 2: Digging into the documentation
The developer documentation in the Second Life client takes the form of a wiki. In Part 2 of our ongoing exploration of the Second Life software, take a look at that documentation, and use it to jump-start some modifications to the client.
Articles 30 Apr 2007  
 
Tuning LAMP systems, Part 2: Optimizing Apache and PHP
Applications using the LAMP (Linux, Apache, MySQL, PHP/Perl) architecture are constantly being developed and deployed. But often the server administrator has little control over the application itself because it's written by someone else. This series of three articles discusses many of the server configuration items that can make or break an application's performance. This second article focuses on steps you can take to optimize Apache and PHP.
Articles 30 Apr 2007  
 
Second Life client, Part 3: Adding simple translation to Second Life
In the last part of our exploration of the Second Life software, learn how to plug a simple command-line program into Second Life that provides a language translation function.
Articles 30 Apr 2007  
 
Ajax and XML: Learning from Ajax's best
Take a tour through some of the best Asynchronous JavaScript + XML (Ajax) applications in the Web 2.0 world. Discover how these applications succeed at the user level and find techniques you can explore for your own Web 2.0 applications to create an exciting user experience.
Articles 24 Apr 2007  
 
Memory leak patterns in JavaScript
Plugging memory leaks in JavaScript is easy enough when you know what causes them. In this article authors Kiran Sundar and Abhijeet Bhattacharya walk you through the basics of circular references in JavaScript and explain why they can cause problems in certain browsers, especially when combined with closures. After seeing some of the common memory leak patterns you should watch out for, you'll learn a variety of easy ways to work around them.
Articles 24 Apr 2007  
 
The cranky user: Passion
Web usability suffers from a proliferation of browsers, competing standards, rushed deadlines, and more. But the greatest obstacle to usability is that too many Web developers aren't interested in it -- or even convinced that it matters. This month the cranky user offers concrete reasons why you should start prioritizing the usability and accessibility of your Web pages.
Articles 24 Apr 2007  
 
Building Google gadgets, Part 1: Fundamentals of Google gadgets
In this new Web development series, learn how to develop Google gadgets. Gadgets are small applications that you can add to most any Web page as a means to offer dynamic and rich content. Google has an abundance of gadgets to choose from. However, the most intriguing aspect of gadgets is that you can write them for your own use and then publish them on Google, where other developers can integrate your work into their Web projects.
Tutorials 24 Apr 2007  
 
Take a legacy path to advanced GWT controls
The Google Web Toolkit (GWT) provides libraries and tools that let you develop Ajax applications in the Java programming language. Unfortunately, GWT's standard gallery of UI controls (widgets) doesn't provide the advanced features that modern enterprise applications require. This article shows a technique that addresses this deficiency. Find out how to give GWT controls advanced functionality with relatively simple coding by integrating a popular JavaScript grid component with a GWT application.
Articles 24 Apr 2007  
 
Seamless JSF, Part 1: An application framework tailor-made for JSF
JavaServer Faces (JSF) is the first standardized user interface framework for Java Web applications. Seam is a powerful application framework that extends JSF. Discover the strong chemistry that these two frameworks share in this first article of a new three-part series. Dan Allen introduces Seam's enhancements to the JSF life cycle, including contextual state management, RESTful URLs, Ajax remoting, proper exception handling, and convention over configuration.
Articles 17 Apr 2007  
 
Simplify Ajax development with jQuery
jQuery is a JavaScript library that helps simplify your JavaScript and Asynchronous JavaScript + XML (Ajax) programming. Unlike similar JavaScript libraries, jQuery has a unique philosophy that allows you to express common complex code succinctly. Learn about the jQuery philosophy, discover its features and functions, perform some common Ajax tasks, and find out how to extend jQuery with plug-ins.
Articles 10 Apr 2007  
 
Crossing borders: A Rails case study
Ruby on Rails development and Java development differ in fundamental ways. In this final installment of Crossing borders, Bruce Tate outlines the major differences he's discovered by using Rails to develop a complex, scalable Web site from the ground up.
Articles 10 Apr 2007  
 
Lights, camera, ActionScript 3.0!
ActionScript 3.0 is a powerful object-oriented programming language that signifies an important step in the evolution of the Flash Player Runtime. The motivation behind ActionScript 3.0 was to create a language ideally suited for rapidly building rich Internet applications, which have become an essential part of the Web experience.
Articles 10 Apr 2007  
 
Massively multiplayer online games, Part 1: A performance-based approach to sizing infrastructure
Massively multiplayer online games (MMOGs) are some of the most complicated software systems under development today, often requiring dozens of developers, hundreds of artists, and truly massive infrastructures. This article is the first in a series of articles that will shine a light on the systems, storage, and networks needed to run an MMOG. It provides an introduction to MMOGs and demonstrates one approach to sizing a game's infrastructure. Learn how to figure out how much infrastructure you might need, as well as how to operate an MMOG.
Articles 10 Apr 2007  
 
Build Web apps with ThinWire and Java code, Part 5: Page switching
Part 5 of the "Build Web apps with ThinWire and Java code" series explores a methodology for separating your ThinWire and Java Web site into multiple pages, providing the ability for your clients to switch among those pages using either direct pointer links or sequential page access.
Tutorials 10 Apr 2007  
 
Use XML to develop with the Google Web Toolkit
The Google Web Toolkit enables you to use Java(TM) syntax to create the JavaScript(TM) necessary for Asynchronous JavaScript + XML (Ajax) user interfaces. Most of these Ajax applications use XML to transfer information to and from the server, so your application must be able to both parse and create XML data. This tutorial shows you how to manipulate and create XML using the Google Web Toolkit.
Tutorials 10 Apr 2007  
 
Ajax RSS reader
Learn how to build an Asynchronous JavaScript and XML (Ajax) Really Simple Syndication (RSS) reader, as well as a Web component that you can place on any Web site to look at the articles in the RSS feeds.
Articles 03 Apr 2007  
 
Shaping the future of secure Ajax mashups
Current Web browsers weren't designed to easily and securely get content from multiple sources into one page. Discover how developers have stretched the available tools to fit the task and how doing so has put strain on the resulting applications with respect to security and scalability. Also, learn about several browser improvements being proposed to remedy the situation and how to become part of the conversation that will bring Web development beyond this hurdle to a new level of interoperability.
Articles 03 Apr 2007  
 
Tuning LAMP systems, Part 1: Understanding the LAMP architecture
Applications using the LAMP (Linux, Apache, MySQL, PHP/Perl) architecture are constantly being developed and deployed. But often the server administrator has little control over the application itself because it's written by someone else. This series of three articles discusses many of the server configuration items that can make or break an application's performance. This first article covers the LAMP architecture, some measurement techniques, and some basic Linux kernel, disk, and file system tweaks. Successive articles investigate tuning the Apache, MySQL, and PHP components.
Articles 31 Mar 2007  
 
Mastering Ajax, Part 10: Using JSON for data transfer
Plain text and XML are both data formats that you can use for sending and receiving information in your asynchronous applications. This installment of "Mastering Ajax" looks at another useful data format, JavaScript Object Notation (JSON), and how it makes moving data and objects around in your applications easier.
Articles 27 Mar 2007  
 
Second Life client, Part 1: Hacking Second Life
The open source release of the Second Life viewer program by developer Linden Lab offers a rare opportunity to peer into the comparative strengths of closed and open source development models. This article, the first in a series, gives an overview of some of the differences between these development styles, and talks about what's involved in setting up your own build environment.
Articles 27 Mar 2007  
 
The cranky user: Name that thing!
A chrysanthemum by any other name would be easier to spell, but probably harder to find in a seed catalog. This month "The cranky user" asks the question "What's in a name," and explores the virtues of leaving well enough alone.
Articles 27 Mar 2007  
 
Ajax and XML: Five Ajax anti-patterns
You can learn a lot about how to do things correctly by understanding how things are done incorrectly. Certainly, there's a right way and a wrong way to write Asynchronous JavaScript + XML (Ajax) applications. This article discusses some common coding practices you will want to avoid.
Articles 20 Mar 2007  
 
Rich Ajax slide shows with DHTML and XML
Learn to create an Asynchronous JavaScript and XML (Ajax) client-side slide show that's animated using "Ken Burns Effects." Here, you discover how to build XML data sources for Ajax, request XML data from the client, and then dynamically create and animate HTML elements with that XML.
Articles 16 Mar 2007  
 
Build Web apps with ThinWire and Java code, Part 4: Write a template class
ThinWire is an open source development framework that lets you build Web applications that look and feel like desktop applications. This five-part series explores how to develop rich Web applications using ThinWire and Java programming. In this installation, learn how to write a template class that defines one of the most commonly used Web page layouts.
Tutorials 13 Mar 2007  
 
Programming Hamlets
This tutorial illustrates various aspects of Hamlet programming as it provides a number of practical Hamlet examples. The examples are part of WebZEC (Web-based Zurich Event Console) -- a fast, browser-based console to quickly navigate in intrusion-detection alarms. With these samples, you can develop a good understanding how to use Hamlets for Web-based application development and how Hamlets work.
Tutorials 13 Mar 2007  
 
Crossing borders: Extensions in Rails
The Java programming language has long been a great melting pot, with rich and powerful capabilities for integration -- from dependency-injection containers for integrating enterprise libraries, to Enterprise JavaBeans (EJB) technology, to the component models for Eclipse. With so many ideas and architectures available, Java developers pioneer new ways to weave disparate software libraries and components into a cohesive whole. But Java developers don't have a monopoly on good integration techniques. See how Ruby on Rails plug-ins work by looking at a popular plug-in called.
Articles 13 Mar 2007  
 
Finite state machines in JavaScript, Part 3: Test the widget
In this series you learn how to use a finite state machine to methodically design complex behavior for a simple Web widget -- an animated tooltip that fades into and out of view. The resulting code is compact and concise, its logic is transparent, and its animation performs smoothly even on heavily loaded processors. In this article, learn how to deal with practical issues to make the implementation work in all popular Web browsers, and wrap things up. Part 1 showed how to use a finite state machine to methodically design complex behavior for a simple Web widget. Part 2 described how to implement that behavior in JavaScript, and take full advantage of its distinctive language features, including associative arrays and function closures.
Articles 13 Mar 2007  
 
The ultimate mashup -- Web services and the semantic Web, Part 4: Create an ontology
This series details the creation of a mashup application that gives control over the data displayed back to the user; to do that, you need to build in intelligence. Now that you know how to represent information in RDF, you can start to create an ontology using the XML-based Web Ontology Language (OWL), which will enable you to automatically choose between services and parts of services.
Tutorials 08 Mar 2007  
 
The ultimate mashup -- Web services and the semantic Web, Part 5: Change out Web services
This series details the creation of a mashup application that gives control over the data displayed back to the user. Now that you know how to create an ontology that defines the concepts represented by a service, you can enable users to choose which service they want to use.
Tutorials 08 Mar 2007  
 
Ajax and XML: Five common Ajax patterns
Asynchronous JavaScript + XML (Ajax) was certainly the technology buzzword of 2006 and looks to do just as well or better in 2007. But what does it really mean for your application? And which common architectural patterns are used widely in Ajax applications? Discover five common Ajax design patterns that you can use as a basis for your own work.
Articles 06 Mar 2007  
 
Develop Web applications for local use
Writing local Web applications can be quick, easy, and efficient for solving specific Intranet problems. Understand why a Web browser is sometimes a better interface than a GUI application, and when a CGI script may be the simplest and most elegant solution.
Articles 27 Feb 2007  
 
Flip for Flapjax
Meet Flapjax -- a new programming language with an old syntax based on standard JavaScript. With Flapjax you can easily program data sharing, interfaces to external Web services, persistence, and end-user responsiveness in Web applications.
Tutorials 20 Feb 2007  
 
Develop HTML widgets with Dojo
Learn the basics of developing HTML widgets using Dojo; including how to refer an image, how to add an event handler to an HTML page, and how to handle composite widgets. Also, discover some important differences between plain old JavaScript-style coding versus Dojo, and get tips for handling complex issues inherent in Web application development.
Tutorials 14 Feb 2007  
 
XML for Perl developers, Part 3: Advanced manipulating and writing techniques
This article, the third in a three-part series, uses the parsing techniques introduced in Part 2 to build tree structures that can be transformed, navigated, and written. You will then see how to feed transformed parse trees into SAX pipelines, further transform them, and write them as text or to SQL databases. Finally you will learn how to reverse this, using database content to drive SAX pipelines.
Articles 13 Feb 2007  
 
Finite state machines in JavaScript, Part 2: Implement a widget
Part 1 of this series illustrated how to use a finite state machine to methodically design complex behavior for a simple Web widget -- an animated tooltip that fades into and out of view. In this article, you learn to implement that behavior in JavaScript and take full advantage of its distinctive language features, including associative arrays and function closures. The resulting code is compact and concise, its logic is transparent, and its animation performs smoothly even on heavily loaded processors. Part 3 will cover the practical issues of making the implementation work in all popular Web browsers.
Articles 13 Feb 2007  
 
XML for Perl developers, Part 2: Advanced XML parsing techniques using Perl
This series is a guide to those who need a quick XML-and-Perl solution. Part 1 looked at XML::Simple, a tool to integrate XML into a Perl application. This second article in the series introduces the Perl programmer to the two major schools of XML parsing: tree parsing and event-driven parsing.
Articles 06 Feb 2007  
 
Build Web apps with ThinWire and Java code, Part 3: Styling support
With ThinWire, an open-source development framework, you can build Web applications that look and feel like desktop applications. In this five-part series, you'll learn how to develop rich Web applications using ThinWire and Java programming. Here in Part 3, you learn to use ThinWire styling support at both a global level and an individual component level.
Tutorials 06 Feb 2007  
 
The cranky user: Who needs a virtual keyboard?
Usability experts have long held that it's important to give users a familiar interface when you introduce a new product. This month Peter argues in favor of exploring the unique potential of the Web medium, rather than reproducing the limitations of physical objects in hyperspace.
Articles 01 Feb 2007  
 
Quality busters: A utility program for every occasion
Utility programs are frequently overlooked when releasing an application for production use, which is unfortunate because they support all kinds of essential operations. This month Michael Russell gets you thinking about utility programs and why to include them in your development plan and budget.
Articles 31 Jan 2007  
 
XML for Perl developers, Part 1: XML plus Perl -- simply magic
This series is a guide to those who need a quick XML-and-Perl solution. In a surprisingly large number of cases, you only need one tool to integrate XML into a Perl application, XML::Simple. Part 1 tells you where to get it, how to use it, and where to go next. Once you whet your appetite for working with XML in Perl, the other two articles in this series will help you sharpen your new skills further.
Articles 30 Jan 2007  
 
Web 2.0 user interface technologies
Imagine that you are tasked to create a new application that will live in the Web 2.0 world. Some of your users are perfectly happy with HTML-based user interfaces while others expect every application they use to behave like Excel. Your business sponsor expects a productivity-enhancing user experience, but your CIO won't allow you to develop anything that a user needs to manually deploy. You know HTML won't cut it, but what else is out there? This article explores a series of Web 2.0 user interface technologies that enable you to build applications with better-than-browser user experiences. As a result, you can centrally deploy and manage them just like any other Java(TM) 2 Enterprise Edition (Java EE) application.
Articles 30 Jan 2007  
 
Unit Testing J2EE platform components with JUnit and JUnitEE frameworks in IBM Rational Application Developer Version 6.0.2: Part 1. Unit testing Java and EJB applications
This is Part 1 of a three-part series of articles. It demonstrates how you can use an open source test framework, such as JUnit and JUnitEE, to unit test Java and EJB applications by using IBM Rational Application Developer Version 6 in an IBM WebSphere Application Server Version 6 environment.
Articles 23 Jan 2007  
 
Mastering Ajax, Part 9: Using the Google Ajax Search API
Making asynchronous requests isn't just about talking to your own server-side programs. You can also communicate with public APIs like those from Google or Amazon, and add more functionality to your Web applications than just what your own scripts and server-side programs provide. In this article, Brett McLaughlin teaches you how to make and receive requests and responses from public APIs like those supplied by Google.
Articles 23 Jan 2007  
 
A meaningful Web for humans and machines, Part 2: Explore the parallel Web
In this series of articles, we present a thorough, example-filled examination of the existing and emerging technologies that enable machines and humans to easily access the wealth of Web-published data. In this article, we examine the concept of the parallel Web and look at two techniques that Web content publishers use to put both human-readable and machine-consumable content on the Web: the HTML link element and HTTP content negotiation. With these two techniques, content consumers can choose among a variety of different formats of the data on a Web page. Review the history of the techniques and how they are currently deployed on the Web, and how you might use the parallel Web to integrate calendar, banking, and photo data within an example scenario, MissMASH. Finally, we evaluate the parallel Web and determine that, while these techniques are mature and widely deployed, there are disadvantages to separating machine-readable data from the corresponding human-readable content.
Articles 17 Jan 2007  
 
Ajax and XML: Five cool Ajax widgets
With the Web 2.0 wave came a whole new emphasis on the user experience. Part of that experience is the development novel ways to interact with and present information to users. Often, these new interfaces are called widgets and use Asynchronous JavaScript + XML (Ajax) to communicate with the server. Discover five widgets that you can use to enhance the interactivity of your site.
Articles 16 Jan 2007  
 
Create data set navigation with the Rico LiveGrid widget
With the Rico LiveGrid widget, easily add Ajax-style navigation to your Web applications in this article by software engineer Nikhil Parekh.
Articles 16 Jan 2007  
 
XML Matters: Ajax tradeoffs: The many flavors of XML
Ajax has become a familiar acronym for many Web developers these days, but it combines several very different techniques. One is the in-page manipulation of the DOM tree that was formerly known as Dynamic HTML. Another is the passing of data back and forth between the client and the server behind the scenes, without re-loading the page. The combination of these can make powerful Web applications which have many of the desirable features of desktop applications. The focus for now will be on just one group of related aspects: what format should the data exchange take?
Articles 09 Jan 2007  
 
Finite state machines in JavaScript, Part 1: Design a widget
Finite state machines were long used as an organizing principle for designing and implementing complex behavior in event-driven programs, such as network adapters and compilers. Now, programmable Web browsers open a new event-driven environment to a new generation of applications. Browser-based applications, popularized by Ajax, are becoming more complex. Designers and implementers benefit from the discipline and structure that finite state machines offer. In this article you, learn how to use a finite state machine to design complex behavior for a simple Web widget -- an animated tooltip that fades into and out of view.
Articles 09 Jan 2007  
 
The cranky user: Ten ways to do better in 2007
So you say you're serious about improving your software and building better relationships with users in 2007? The cranky user offers 10 New Years resolutions to help you do it.
Articles 03 Jan 2007  
 
Build Web apps with ThinWire and Java code, Part 2: Using the SplitLayout Class
With ThinWire, an open-source development framework, you can build Web applications that look and feel like desktop applications. In this five-part series, you'll learn how to develop rich Web applications using ThinWire and Java. In Part 2, you learn to use the SplitLayout class in conjunction with your own layout management code to dynamically change the layout of a ThinWire GUI based on the current size of the Web browser window.
Tutorials 03 Jan 2007  
 
Introducing XML Internationalization
One key benefit of XML is the fact that it was designed for international use. But do you really understand the concepts of internationalization and localization? This article explains what they are, how they work, and why you want to use them.
Articles 03 Jan 2007  
 
Crossing borders: JavaScript's language features
JavaScript is often ridiculed as the black sheep of programming languages. The development tools, a complicated and inconsistent document object model for HTML pages, and inconsistent implementation in browsers contributes to that sentiment. But JavaScript is much more than a toy. In this article, Bruce Tate explores JavaScript's language features.
Articles 19 Dec 2006  
 
Build Ajax into your Web apps with Rails
Ruby on Rails provides an excellent platform for building Web applications. Discover how to use the built-in Asynchronous JavaScript(TM) + XML (Ajax) features of the platform to give your application the Web 2.0 rich user interface experience.
Articles 19 Dec 2006  
 
Generate Flash movies on the fly with PHP
Rich Internet Applications is the new buzz-phrase for Web 2.0, and a key component of the substance behind Web 2.0 is Adobe Flash. Learn how to integrate Flash movies into your application and generate Flash movies dynamically using the Ming library.
Articles 19 Dec 2006  
 
Host multiple SSL sites on a single network card with IP aliasing
The interest in using SSL and name-based virtual hosts together is on the increase. Some people will tell you that such a thing is impossible, but you can implement virtual hosts in Apache through IP-based virtual hosts. In this article, John Liao and Jim Miles show you how.
Articles 19 Dec 2006  
 
Build a shopping cart application using XForms
This tutorial focuses on key aspects of the W3C XForms 1.0 standard to produce a fully functional Web-based shopping cart. With this approach, the reader will get a good start at creating real-world applications with XForms, without having to learn the entire XForms specification.
Tutorials 12 Dec 2006  
 
Configuration-driven development
You can compare code duplication to an accident waiting to happen, just waiting for someone to make a modification and forget to carry it over to the duplicated sources. The resulting setback can be significant or minor, but no matter the magnitude, duplication remains a source of trouble. In this article, IBM developer Steve McDuff suggests configuration-driven development as a possible cure.
Articles 12 Dec 2006  
 
Build Web apps with ThinWire and Java code, Part 1: Manage Web app layout
With ThinWire, an open source development framework, you can build Web applications that look and feel like desktop applications. In this five-part series of tutorials, you'll learn how to develop rich Web applications using ThinWire and Java(TM) programming. In Part 1, you begin the process and learn how to deal with user interface layout issues in ThinWire. You will discover in this tutorial that providing dynamic layout management using the ThinWire framework is a relatively easy thing to do.
Tutorials 05 Dec 2006  
 
Crossing borders: Ajax on Rails
The hype for Ajax, a technique for making Web pages more interactive, is in overdrive. The Ruby on Rails framework is also flourishing, partly on the strength of its excellent Ajax integration. Find out what makes Ajax on Rails such a powerful combination.
Articles 05 Dec 2006  
 
The cranky user: Please don't interrupt me
Notification software often comes off like a bar-room bouncer when it should be acting like Jeeves the butler. This month, the cranky user offers tips for telling users what they really ought to know, but doing it graciously.
Articles 01 Dec 2006  
 
Improve LAMP security with Apache Proxy's directive (mod_proxy)
In this article, Nick Maynard outlines a method for you to improve the security of a LAMP setup by using Apache's mod_proxy module. This article is specific to Linux; however, you can also apply some of the principles to other operating systems.
Articles 29 Nov 2006  
 
Adapt Web applications to work with multiple browsers
Web pages perform differently on different browsers or on browsers with different settings. Learn some useful tips to help you make your Web applications more adaptable to all environments.
Articles 21 Nov 2006  
 
Make the most of XForms repeats
XForms provides many powerful mechanisms for working with XML data. One such mechanism is the "repeat" element, which allows you to quickly and easily implement iteration over homogeneous data sets in your XML. In addition, you can format the presentation of such sets as tables, as well as provide dynamic behavior like the insertion and deletion of specific pieces of data within the repeating set. Read on for some tips and tricks on how to make the most of your XForms repeats.
Articles 21 Nov 2006  
 
XML Matters: MochiKit
MochiKit is a useful and high-level library for JavaScript. MochiKit takes its main inspiration from Python, and from the many conveniences the Python standard library offers; but on the side it also smooths over the inconsistencies among browser versions. MochiKit.DOM is a particularly handy component that lets you work with DOM objects in much friendlier ways than raw"JavaScript provides. A lot of MochiKit.DOM is customized for XHTML work, which possibly makes its use of XHTML wrapped microformats particularly convenient when combining MochiKit and Ajax.
Articles 21 Nov 2006  
 
Ajax and REST, Part 2
Ajax has begun to explode in popularity. Old Web frameworks are retrofitting themselves to support Ajax, new pure-Ajax frameworks are under development, and many organizations are considering Ajax adoption or are already building Ajax applications. But for all the excitement, relatively few organizations have deployed Ajax applications successfully. This article, the second in a two-part series, will help you decide if you should use Ajax in real IT applications, and it aims to improve your chances of success with Ajax development.
Articles 14 Nov 2006  
 
Build a Web spider on Linux
Web spiders are software agents that traverse the Internet gathering, filtering, and potentially aggregating information for a user. Using common scripting languages and their collection of Web modules, you can easily develop Web spiders. This article shows you how to build spiders and scrapers for Linux to crawl a Web site and gather information, stock data, in this case.
Articles 14 Nov 2006  
 
Mastering Ajax, Part 8: Using XML in requests and responses
In the last article of the series,you saw how your Ajax apps can format requests to a server in XML. You also saw why, in most cases, that isn't a good idea. This article focuses on something that often is a good idea: returning XML responses to a client.
Articles 07 Nov 2006  
 
Cache in with JSON
Data validation is one of the most challenging and ever-changing parts of any enterprise Web application. Quite often validation metadata leaves JavaScript modules littered with server-side code. In this article, you'll learn an elegant way to cache metadata on the client side with the help of server code, which provides JSON-formatted (JavaScript Object Notation) stringified metadata. This approach also enables you to handle multivalue and multigroup attributes in a manner similar to Ajax.
Articles 01 Nov 2006  
 
The cranky user: The artful patcher
No matter how pretty the box is, most software will someday require a patch, probably even quite a few. This month Peter offers tips for writing and releasing patches that your users will appreciate...or at least not absolutely despise.
Articles 01 Nov 2006  
 
Explore the Web development zone here on developerWorks
In this newly named Web development (formerly Web architecture) zone on developerWorks, find the information and tools you need to build great Web sites with Web 2.0, Ajax, PHP, Wikimedia, and other current topics.
Articles 26 Oct 2006  
 
Real Web 2.0: Bookmarks? Tagging? Delicious!
In this article, you'll learn how to work with del.icio.us, one of the classic Web 2.0 sites, using Web XML feeds and JSON, in Python and ECMAScript. When you think of Web 2.0 technology, you might think of the latest Ajax tricks, but that is just a small part of the picture. More fundamental concerns are open data, simple APIs, and features that encourage users to form social networks. These are also what make Web 2.0 a compelling problem for Web architects. This column will look more than skin deep at important real-world Web 2.0 sites and demonstrate how Web architects can incorporate the best from the Web into their own Web sites.
Articles 26 Oct 2006  
 
Working XML: Serve friendlier RSS and Atom feeds
In this article, Benoit offers a technique to help visitors to your Web site read and understand the RSS and Atom feeds.
Articles 24 Oct 2006  
 
A meaningful Web for humans and machines, Part 1: How humans can share the wealth of the Web
In this series of articles you'll examine the existing and emerging technologies that enable machines and humans to easily access the wealth of Web-published data. You'll look at the need for techniques that derive the human and machine-friendly data from a single Web page. Using examples, you will explore the relationships between the different techniques and will evaluate the benefits and drawbacks of each approach. The series will examine, in detail: a parallel Web of data representations, algorithmic approaches to generating machine-readable data, microformats, GRDDL, embedded RDF, and RDFa. This first article introduces the human-computer "conflict," describes the criteria used to evaluate different technologies, and provides a brief description of the major techniques used today to enable machine-human coexistence on the Web.
Articles 24 Oct 2006  
 
Getting to know the Atom Publishing Protocol, Part 1: Create and edit Web resources with the Atom Publishing Protocol
The Atom Publishing Protocol is an important new standard for content publishing and management. In this article, explore a high-level overview of the protocol and its basic operation and capabilities.
Articles 17 Oct 2006  
 
Mastering Ajax, Part 7: Using XML in requests and responses
Brett McLaughlin demonstrates how you can use XML as the data format for sending asynchronous requests.
Articles 10 Oct 2006  
 
The cranky user: Spare me the help
Everyone knows that computer applications (and the people who write them) just want to help. Learn how poor design decisions can turn the most well-intentioned wizard into a hated enemy, and the most reasonable seeming default into an unreasonable one.
Articles 06 Oct 2006  
 
Improve mobile communication with a multimodal translator
Adding multimodal interaction to mobile applications enhances your experience by making it easier to interact with machines, providing voice input for translation, and getting translation results. This article introduces an automatic language translator created with IBM WebSphere Translation Server that can run on mobile phones or Personal Digital Assistants (PDAs).
Articles 03 Oct 2006  
 
Crossing borders: Streamlined, Part 2
Part 1 of this two-article series introduced Streamlined, a Rails-based open source framework that combines the power of Ajax, metaprogramming, and code generation to take Rails productivity to a new level. Part 2 explores how the metamodel behind Streamlined enables customizations.
Articles 03 Oct 2006  
 
Ajax and REST, Part 1
The more that server-side Web applications become immersive by following rich-application models and delivering personalized content, the more their architectures violate Representational State Transfer (REST), the Web's architectural style. These violations can decrease application scalability and increase system complexity. By achieving harmony with REST, Ajax architecture lets immersive Web applications eliminate these negative effects and enjoy REST's desirable properties.
Articles 02 Oct 2006  
 
Implement news syndication using RSS and Atom
The advent of RSS and Atom technologies brings a bright new era of news syndication. It takes time, however, for Web site administrators to publish the news manually every day and to manage e-mail subscribers. This article shows how to implement a general news publication architecture using RSS and Atom syndication formats to ease the process and minimize human error.
Articles 26 Sep 2006  
 
Unify your Web apps with UUE
Enterprise application integration (EAI) is the elusive Holy Grail of any large IT department. The value of integrating multiple disparate applications so they can share business data and business processes is well established. From information architecture to branding, applications that are integrated across a multifaceted user experience to share a unified user experience (UUE) are easier to learn and offer productivity gains. The standards, paradigms, and patterns that define the UUE can also help to accelerate design and development through the use of reusable components. Integrating the user experience (UX) does have its share of challenges and drawbacks. When done correctly, it can provide the enterprise with a homogeneous, familiar, efficient comfort when users interact with its application while it shortens development cycles.
Articles 19 Sep 2006  
 
Generate JSON from XML to use with Ajax
The use of JavaScript code to add interactivity to your data-driven Web applications is hot nowadays. If you can encode your data as JavaScript Object Notation (JSON), you'll simplify its use with the JavaScript language. Discover different approaches that use XSLT V2 to generate JSON from XML data.
Articles 12 Sep 2006  
 
Mastering Ajax, Part 6: Build DOM-based Web applications
Continue to explore how DOM programming fits into interactive Ajax applications as Brett McLaughlin completes his trilogy of articles on DOM programming with a DOM application in practice.
Articles 12 Sep 2006  
 
Provide key features in a Web-based application
Any enterprise-level application must have certain key abilities. For a Web-based application that might have worldwide users, it is crucial to provide impeccable scalability, availability, maintainability, and reliability. In this article, learn to address these key features, plus some techniques for devising metrics. You'll also find tips to consider during development to ensure your application will have the best of the abilities.
Articles 05 Sep 2006  
 
Understanding the Zend Framework, Part 9: Adding interactivity with Ajax and JSON
Throughout this "Understanding the Zend Framework" series, we use the PHP Zend Framework to create the Chomp online feed reader, and now it's time to do one last tweak to improve usability. This article shows how to use Ajax to add information to a page without reloading the entire page, and how to use the Zend Framework to easily streamline those requests by translating data to and from the JavaScript Object Notation (JSON).
Articles 05 Sep 2006  
 
The cranky user: What to do when the screen goes blank
Find some fool-proof solutions to the computer-borne panic attack. (Hint: You won't find these in the manual.)
Articles 01 Sep 2006  
 
Quality busters: Address temporal issues in distributed and global applications
In this article, survey some of the temporal issues you might encounter as you develop your distributed or global application, including how to handle events, schedules, clock synchronization, interval calculations, local relevance, and cultural significance.
Articles 29 Aug 2006  
 
Mix and match Web components with Python WSGI
Learn to create and reuse components in your Web server using Python. The Python community created the Web Server Gateway Interface (WSGI), a standard for creating Python Web components that work across servers and frameworks. It provides a way to develop Web applications that take advantage of the many strengths of different Web tools. This article introduces WSGI and shows how to develop components that contribute to well-designed Web applications.
Articles 22 Aug 2006  
 
SoC drawer: SoC design for hardware acceleration, Part 2
In the SoC design for hardware acceleration series, author Sam Siewert migrates a simple C function to a SystemC specification that can be simulated and verified for ultimate implementation as a hardware function. Part 1 provided the C code and a general overview of video capture, streaming, and processing. Part 2 shows how hardware acceleration of emergent applications, such as video streaming, can benefit from system-on-chip (SoC) design and reconfigurable SoCs with hybrid C software and field-programmable gate array (FPGA)-based functionality.
Articles 22 Aug 2006  
 
Automate XML file updates, Part 1: XML Process introduction and conversion stylesheet creation
This is the first part of a tutorial series that describes a method for automating updates to a library of XML files so that they all conform to an updated XML schema. In Part 1, you learn the steps in the entire process and then create an XSLT stylesheet to update the XML files. In Part 2, you learn to install, configure, and run Apache Ant and Java SE to iteratively transform each of your XML files based on the updates specified in your XSLT stylesheet.
Tutorials 17 Aug 2006  
 
Automate XML file updates, Part 2: Use Apache Ant and conversion stylesheets to update your XML
This is the second part of a tutorial series that describes a method for automating updates to a library of XML files so that they all conform to an updated XML schema. In Part 1, you learn the steps of the entire process, and then create an XSLT stylesheet to update the XML files. Here, in Part 2, you learn to install, configure, and run Ant and Java SE to iteratively transform each of your XML files based on the updates specified in your XSLT stylesheet.
Tutorials 17 Aug 2006  
 
Automate XML file updates, Part 1: XML process introduction and conversion stylesheet creation
This is the first part of a tutorial series that describes a method for automating updates to a library of XML files so that they all conform to an updated XML schema. In Part 1, you learn the steps in the entire process and then create an XSLT stylesheet to update the XML files. In Part 2, you learn to install, configure, and run Apache Ant and Java SE to iteratively transform each of your XML files based on the updates specified in your XSLT stylesheet.
Tutorials 17 Aug 2006  
 
Automate XML file updates, Part 2: Use Apache Ant and conversion stylesheets to update your XML
This is the second part of a tutorial series that describes a method for automating updates to a library of XML files so that they all conform to an updated XML schema. In Part 1, you learn the steps of the entire process, and then create an XSLT stylesheet to update the XML files. Here, in Part 2, you learn to install, configure, and run Ant and Java SE to iteratively transform each of your XML files based on the updates specified in your XSLT stylesheet.
Tutorials 17 Aug 2006  
 
Dynamic SVG features for browsers
Learn how to use dynamic features of Scalable Vector Graphics (SVG) to provide useful and attractive effects in your Web applications. SVG 1.1, an XML language for describing two-dimensional vector graphics, provides a practical and flexible graphics format in XML. Many SVG features provide for dynamic effects, including features for integration into a Web browser. Uche Ogbuji builds on basic SVG techniques introduced in a previous tutorial.
Tutorials 15 Aug 2006  
 
Crossing borders: Rails migrations
Ruby on Rails is a progressive Web development framework that implements radical ideas such as convention over configuration, heavy metaprogramming, domain-specific languages, and database wrapping instead of object-relational mapping. This article examines Rails schema migrations, a philosophy of separating each database schema change from the base object model.
Articles 15 Aug 2006  
 
Introduction to Spring 2 and JPA
Java server applications need not be difficult and tedious to create. Now in its second generation, the lightweight Spring framework adds a large suite of features that make it simple for even new server application developers to use. One key enhancement is Spring 2's integration with the Java Persistence API (JPA), a cornerstone of the Enterprise JavaBeans (EJB) 3.0 specification. In this tutorial, learn how to create server applications from scratch using the Spring 2 framework.
Tutorials 08 Aug 2006  
 
Seven simple reasons to use AppFuse
Getting started with open source tools for the Java platform such as Spring, Hibernate, or MySQL can be difficult. Throw in Ant or Maven, a little Ajax with DWR, and a Web framework -- say, JSF -- and you're up to your eyeballs just trying to configure your application. AppFuse removes the pain of integrating open source projects. It also makes testing a first-class citizen, allows you to generate your entire UI from database tables, and supports Web services with XFire. Furthermore, AppFuse's community is healthy and happy -- and one of the few places where users of different Web frameworks actually get along.
Articles 08 Aug 2006  
 
Beef up Web search applications with Lucene
Lucene is a full-text information retrieval (IR) library written in the Java(TM) programming language. Now it's an open source project in the popular Apache Jakarta Project family. Discover how to implement advanced searching capabilities, and learn how to create a robust Web search application using Lucene.
Articles 08 Aug 2006  
 
XML in Firefox 1.5, Part 3: JavaScript meets XML in Firefox
In this third article of the XML in Firefox 1.5 series, you learn to manipulate XML with the JavaScript implementation in Mozilla Firefox. In the first two articles, you learned about the different XML-related facilities in Firefox, and the basics of XML parsing, Cascading Style Sheets (CSS), and XSLT stylesheet invocation.
Articles 01 Aug 2006  
 
XML Matters: Lighter than microformats: Picoformats
In a past installment of the XML Matters column, David Mertz explored reStructured Text, a lightweight markup language for formatting mostly text documents, and prior to that he looked at YAML, a lightweight markup language for mostly data documents. With the rise of Ajax and microformats, are these still useful, or are microformats "light" enough? As picograms are lighter than micrograms, we'll explore how lighter than lightweight" formats JSON (lighter than YAML) and reStructured Text (lighter than HTML) and the lightweight MochiKit library can be used for for AJAX without the X and for generating microformats.
Articles 01 Aug 2006  
 
The cranky user: Your language usage matters
Have you ever looked at a dialog box -- I mean, really looked at a dialog box? These user interface components, which are among the most important part of any application, are often riddled with typos, logical inconsistencies, mismatched verbs, and other howlers. Find out how to keep your application out of the "Worst Dialog Box Ever" lists.
Articles 01 Aug 2006  
 
Ease the integration of Ajax and Java EE
With the rise of Ajax comes the need to dispel the myths of this hot property and pointedly deal with the issues that arise during its use. Senior IT Specialist Patrick Gan takes this opportunity to examine the potential impacts throughout the full development life cycle of introducing Ajax technology into Java EE Web applications. Being aware of the issues involved in accommodating Ajax's asynchronous communication based pattern will help put you on the road to effective Ajax integration.
Articles 25 Jul 2006  
 
Technology options for Rich Internet Applications
Web applications are ready to go to the next level, and Rich Internet Applications (RIAs) can greatly enhance user interaction. In this overview of RIAs, you'll learn how to adapt them in the user interface (UI) layer. Web developers and architects might be particularly interested in the discussion of Laszlo, XUL, XForms, Macromedia Flex, and Dojo -- the common technologies currently available in this area. Links to other technologies are also included. A fair understanding of traditional UI tools, such as HTML and XML, is assumed.
Articles 25 Jul 2006  
 
Power your mashups with XQuery
Today Web developers and architects can develop dynamic Web applications that offer a better user experience. The changing paradigm of Web application frameworks presents numerous challenges. Learn how XQuery can be effective in facing these challenges, as you create a sample mashup application.
Articles 25 Jul 2006  
 
Practical business graphing with SVG and XML
Learn to build business graphs using XML, PHP and the Scalable Vector Graphics (SVG) standard. The SVG standard gives your graphics infinite vector scalability, visual effects, and even scripted interactivity.
Articles 18 Jul 2006  
 
Configure FTP servers for IPv6
The next-generation protocol, Internet Protocol version 6 (IPv6), is becoming widely accepted as the future of the Internet and networking world. This acceptance has encouraged various IT companies to develop applications that support and talk with each other through the IPv6 address format. In this article, learn to configure the File Transfer Protocol (FTP) server for IPv6, and to communicate with FTP servers through a simple Java program that uses the IPv6 address.
Articles 18 Jul 2006  
 
DWR makes interportlet messaging with Ajax easy
Many developers are looking to use Ajax technologies to improve the user experience of Web-based applications, but Ajax programming can be a tricky task. The open source Direct Web Remoting (DWR) library can make Ajax development easier for Java developers by automatically transforming Java classes into JavaScript classes. In this article, you'll learn how how to use DWR and JSR-168-compliant portlets to build an Ajax application quickly and easily.
Articles 14 Jul 2006  
 
Get free stuff for Web design
Web developers can find many free resources, although some are freer than others. If you design a Web site or Web application, whether static or with all the dynamic Ajax goodness you can conjure up, you might find resources to lighten your load and spice up your content. From free icons to Web layouts and templates to on-line Web page tools, this article demonstrates that a Web architect can also get help these days at little or no cost.
Articles 13 Jul 2006  
 
Separate data and formatting with microformats
Microformats are a new way to embed structured data within standard XHTML code. Discover how to read and write the new microformats for the Web.
Articles 11 Jul 2006  
 
Configuring and troubleshooting Tomcat 3.2.4 on IBM System i5/OS
The Tomcat application server is a lightweight, easy-to-use, open source alternative to commercial products. Learn how it to use it with IBM System i5 computers.
Articles 11 Jul 2006  
 
Python Web frameworks, Part 2: Web development with TurboGears and Python
In this second article of a two-part series, we demonstrate TurboGears, another open source MVC-style Web application framework based on Python. Where the first article was an introduction to the Django framework, this one shows how to use TurboGears to create a Web-based shopping application and concludes with a comparison between Turbogears and Django.
Articles 11 Jul 2006  
 
Using open source software to design, develop, and deploy a collaborative Web site, Part 1: Introduction and overview
In this series, follow along as the IBM Internet Technology Group team designs, develops, and deploys a closed community Web site using a suite of software that is freely available -- including Drupal, MySQL, PHP, Apache, and Eclipse technologies.
Articles 11 Jul 2006  
 
Crossing borders: Web development strategies in dynamically typed languages
The Java community has used JavaServer Pages (JSP) technology through most of the last decade, but signs of rust are starting to show. Longstanding conventions inhibit Java programmers from using Java code within Web pages now, and extending even simple components is a chore. Frameworks that take Java Web development beyond JSP programming have emerged, but they fall short of dynamic languages' capabilities. This article shows you Ruby's Web page development strategy and touches on Seaside's radical approach.
Articles 05 Jul 2006  
 
The cranky user: Storing configuration data
Both computer users and application developers benefit from understanding the Big Three of storing configuration data: human readability, separation of data, and a centralized storage location.
Articles 05 Jul 2006  
 
Podcasting for developers
Many articles and books on podcasting assume that you have experience with sound recording, you can recognize XLR cables, and you understand decibels. Consequently, they spend a lot of time discussing the computer-specific aspects, such as MP3 encoding and hosting Really Simple Syndication (RSS) files, and comparatively little on the audio aspects. If you search on audio, you find plenty of articles on audio recording for musicians and home studio. Some of that material is useful but, again, the tendency is to assume that computers are the difficult bit. What makes this tutorial unique is that it is written by a developer, for developers. So it assumes that you can handle the developer's tasks (such as writing the RSS feed) and concentrates on the novelty: the use of audio.
Tutorials 27 Jun 2006  
 
Delve inside the Lucene indexing mechanism
Discover Lucene, a full-text information retrieval (IR) library written in the Java(TM) language. You can embed Lucene easily into your applications and implement indexing and searching functionality. Now it's an open source project in the popular Apache Jakarta Project family. Learn about Lucene's indexing mechanism, as well as its index file structure.
Articles 27 Jun 2006  
 
Ajax for Java developers: Exploring the Google Web Toolkit
The recently released Google Web Toolkit (GWT) is a comprehensive set of APIs and tools that lets you create dynamic Web applications almost entirely in Java code. Philip McCarthy returns to his popular Ajax for Java developers series to show you what GWT can do and help you decide whether it's right for you.
Articles 27 Jun 2006  
 
Architectural manifesto: In praise of simplicity
Back in the '90s most people had heard the phrase "Keep it simple, stupid," and at least some developers were doing their best to heed that advice. But by the dawn of the new millennium complexity was back in vogue. In this month's Architectural manifesto Mikko revisits the old maxim, and explains why it's still relevant today.
Articles 21 Jun 2006  
 
Compiling Hamlets
Rene Pawlitzek continues to advance the Hamlets framework, which extends Java servlets and enforces the separation of content and presentation. In this article, he proposes a new refinement: a method of compiling Hamlet templates that can improve application performance.
Articles 20 Jun 2006  
 
Create vector graphics in the browser with SVG
Learn step-by-step how to incorporate Scalable Vector Graphics (SVG) into Web pages using real browser examples. SVG 1.1, an XML language for describing two-dimensional vector graphics, provides a practical and flexible graphics format in XML, despite the language's verbosity. Several browsers recently completed or announced built-in SVG support.
Tutorials 20 Jun 2006  
 
Use functional programming techniques to write elegant JavaScript
Functional, or declarative, programming is a very powerful programming method and is gaining popularity in the software industry. This article introduces some of the relevant functional programming concepts, and provides examples to use those concepts effectively. The author explains how to write elegant code with JavaScript(TM), which can import constructs and features from functional programming.
Articles 13 Jun 2006  
 
Python Web frameworks, Part 1: Develop for the Web with Django and Python
In this first article of a two-part series, we show off Django, an open-source model-view-controller (MVC)-style Web application framework powered by the Python programming language. With Django, you can create high-quality, easy-to-maintain, database-driven Web applications in minutes.
Articles 06 Jun 2006  
 
The Ajax transport method
Discover three Ajax data transport mechanisms (XMLHttp, script tags, and frames or iframes) and their relative strengths and weaknesses. This tutorial provides code for both the server side and the client side and explains it in detail to provide the techniques you need to put efficient Ajax controls anywhere you need them.
Tutorials 06 Jun 2006  
 
Best practices for location-aware services
This tutorial gets you started with IBM Enterprise LAS middleware. Learn the concepts behind the middleware and write a simple location-tracking Web application with the help of Asynchronous JavaScript and XML (Ajax) and Scalable Vector Graphics (SVG) technologies. With these best practices in mind, you'll be on your way to building faster location-tracking systems that can easily integrate with positioning/sensoring technologies, such as RFID and Zigbee.
Tutorials 06 Jun 2006  
 
The cranky user: Flash and substance
Why use tools like JavaScript, Shockwave, and Flash for harm when you can use them for good? Get a user's perspective on where Flash belongs on your Web pages, and where it doesn't.
Articles 06 Jun 2006  
 
Discover Internet Protocol, version 6 (IPv6)
The next-generation protocol, Internet Protocol version 6 (IPv6), is the future of the Internet. Learn how IPv6 compares to Internet Protocol version 4 (IPv4), understand the version 6 address formats, discover the benefits of IPv6, and learn which IT products comply with this new standard.
Articles 06 Jun 2006  
 
Stick to the ECMAscript
To entice developers to create sites that render best in their specific browsers, vendors have fueled a compatibility war using scripting languages as their weapons of choice while users get caught in the middle with slow-loading Web pages and potential security holes. As the market drives such (unhealthy) competition, it's clear that it's time for better standardization. See what you can do to stay on neutral territory until that day comes.
Articles 30 May 2006  
 
Considering Ajax, Part 2: Change your life with mashups
Continue your exploration of what Ajax developers need to keep in mind when they build applications, in this article by Chris Laffra. In addition to concrete advice and warnings, catch a vision of Ajax's future, where it powers user-directed mashups of content on personalized Web pages.
Articles 23 May 2006  
 
XML Matters: Up and Atom
Atom the format is completed, and Atom the protocol is shaping up. How does Atom interact with microformats? Where will you store all the Atom content? This article presents some prototype Atom stores and explores the possibilities.
Articles 23 May 2006  
 
All Hail Shale: Anatomy of a Shale application
Brett McLaughlin continues his introduction to Shale with an in-depth look at the framework's application directory structure. Using the Shale starter application introduced in the first article in this series, Brett walks you through the core directories, from src/ to dist/. He shows you how Shale stores its libraries, where custom files go, and where you can insert specialized behaviors into your Shale applications. Along the way, he gives you some important tips about managing the Shale directories and gets you started with an example application (based on the Shale starter application) that serves as the basis of his discussion for the remainder of the series.
Articles 12 May 2006  
 
Use digital video broadcasting-handheld (DVB-H) in wireless and mobile networks
Learn how DVB, in a single device, can serve the entertainment industry, broadcast industry, individuals with Web files, and the business community with e-mail, e-commerce, and logistics. Understand the current and future DVB-H aspects, and get technical details of preparing for the coming DVB-H boom.
Articles 12 May 2006  
 
Devise Web 2.0 applications with PHP and DHTML, Part 2: Use JavaScript to create HTML elements on the fly
Part 1 of this "Devise Web 2.0 applications with PHP and DHTML" series discusses how to build PHP applications with user interface elements like tabs, spinners, and pop-ups using JavaScript, Cascading Style Sheets (CSS), and HTML. Part 2 extends the lesson to include graphing techniques that use JavaScript to create new HTML elements on the fly.
Articles 09 May 2006  
 
Crossing borders: What's the secret sauce in Ruby on Rails?
Ruby on Rails seems to be a lightning rod for controversy. At the heart of most of the controversy lies amazing productivity claims. Crossing Borders author Bruce Tate has come to understand that Rails isn't a better hammer; it's a different kind of tool. This article explores the compromises and design decisions that went into making Rails so productive within its niche. Then it looks at Rails-inspired ideas that should get more attention within the Java community.
Articles 09 May 2006  
 
Advanced Facelets programming
If you think internationalization is hard, think again! In this article, Richard Hightower follows up his immensely popular introduction to Facelets with more advanced ways to bridge the gap between Java Server Faces (JSF) and EL. Follow along as Rick shows you how to internationalize your Web pages easily, add custom logic tags to a composition component, and incorporate metaprogramming into your Facelets development.
Articles 09 May 2006  
 
Considering Ajax, Part 1: Cut through the hype
Lately, interest in Ajax (Asynchronous JavaScript and XML) is high. Various Ajax applications provide a more interactive and rich client experience than traditional Web pages. Using Ajax, you can deploy new and innovative aggregation and presentation techniques in an unprecedented fashion. Inspired by Alex Bosworth's list of Ajax mistakes, Chris Laffra has compiled a set of discussion points for every developer to consider before using Ajax techniques for a Web site that he outlines in this two-part series. Some points are potential problem areas; most highlight Ajax's great potential.
Articles 09 May 2006  
 
The cranky user: Master of pages
When you have more control over page layout, more things seem to go wrong. This month, Peter explains how page layout goes awry.
Articles 03 May 2006  
 
Devise Web 2.0 applications with PHP and DHTML, Part 1: Cook up your own with these recipes
The buzzword of 2006 is Web 2.0. What that means is hotly debated, but it appears to refer to cool dynamic Web applications. Those Web applications -- often developed in PHP -- use dynamic HTML (DHTML) to create pages that move and change without having to go back to the server for a refresh. Author Jack Herrington explains how to get started in this "Devise Web 2.0 applications with PHP and DHTML" series.
Articles 02 May 2006  
 
Secure Web site access with Perl
With Perl modules, automate the login procedures on secure Web sites.
Articles 25 Apr 2006  
 
Dynamic interface design with Swing
The Swing UI toolkit makes it possible, though not always easy, to update user interfaces dynamically in response to events or user actions. This article reviews some of the common ways you can build UIs that update dynamically, a few pitfalls you might encounter along the way, and some principles to help you decide when this is the right approach for the job.
Articles 25 Apr 2006  
 
LPI exam 202 prep, Topic 208: Web services
In this tutorial, the fourth in a series of seven tutorials covering intermediate network administration on Linux, David Mertz continues preparing you to take the Linux Professional Institute Intermediate Level Administration (LPIC-2) Exam 208. Here, David Mertz discusses how to configure and run the Apache HTTP server and the Squid proxy server.
Tutorials 25 Apr 2006  
 
Quality busters: Compare Web site appearance and functionality
Discover how to shift the priorities of your Web site from appearance to functionality and use Web standards to ensure cross-browser compatibility in this column by Michael Russell.
Articles 18 Apr 2006  
 
Mastering Ajax, Part 5: Manipulate the DOM
Last month Brett introduced the Document Object Model, whose elements work behind the scenes to define your Web pages. This month he dives even deeper into the DOM. Learn how to create, remove, and change the parts of a DOM tree, and take the next step toward updating your Web pages on the fly!
Articles 11 Apr 2006  
 
Performance tricks for data-intensive applications
The importance of data flow in large-scale applications is easy to overlook, but that can lead to serious performance leaks. In this article by Shantanu Bhattacharya, you'll explore the various aspects of data flow that affect performance in an n-tier application with multiple servers. You'll also find performance-minded tips on design and architecture for large-scale applications.
Articles 04 Apr 2006  
 
The cranky user: Have you tried to reboot your computer?
Most users know that rebooting can solve a variety of computing problems. What might come as a shock is the number of technical support departments that fail to offer a better solution when you need it.
Articles 03 Apr 2006  
 
Search Engine Optimization basics, Part 4: Improve search marketing for large sites
Making your Web site obvious to search engines is a key factor for your success as a Web site developer. Get the basic information you need to organically optimize your Web site in this four-part series. In this final part of the series, learn specialized techniques for large Web sites or sites with many dynamic pages.
Articles 28 Mar 2006  
 
Introduction to Syndication, (RSS) Really Simple Syndication
Are you ready to find out more about RSS, Atom, and feed readers? Such as, why is RSS so popular and what are the benefits? Learn what feed readers are available and which one might fit your needs. Find out what RSS and Atom subscriptions are available to you from IBM.
Articles 28 Mar 2006  
 
Search engine optimization basics, Part 3: Get your Web pages into search indexes
Making your Web site attractive to search engines is a key factor for your success as a Web site developer. Get the basic information you need to organically optimize your Web site in this four-part series. In Part 3 of the series, you'll learn how to get the pages of your Web site into the search indexes.
Articles 21 Mar 2006  
 
XML in Firefox 1.5, Part 1: Overview of XML features
The open source Firefox Web browser continues to grow in popularity. Users like the security and convenience features it offers. Developers like the Firefox attention to standards compliance, inherited from its Mozilla roots. The most recent version, Firefox 1.5, comes with many features for XML developers, including XML parsing, XHTML, CSS, XSLT, SVG, XML Events in JavaScript, and XForms. Additional third-party extensions provide even more XML support. In this article, Uche Ogbuji provides an overview of XML features in Firefox 1.5.
Articles 21 Mar 2006  
 
Crossing borders: Continuations, Web development, and Java programming
The Crossing borders series looks at how non-Java languages solve major problems and what those solutions mean to Java developers today. This article explores continuations, the technique behind frameworks like Smalltalk's Seaside. Continuation servers make it much easier to build Web applications by offering a stateful programming model without giving up the scalability inherent in statelessness.
Articles 21 Mar 2006  
 
Use PHP to build a search engine optimization app: Creating reports and billing clients
PHP, a dynamic Web-based programming language, takes a variety of input formats and has a built-in SOAP client to obtain information from the Web. PHP, combined with applications using search engine optimization (SEO), is a powerful tool for obtaining information from major search engines, allowing this information to guide a webmaster's online marketing and SEO strategies. In this final part of a two-part "Use PHP to build a search engine optimization app" series, we add two search venues and the functionality to search all or just one of the search engines. You will also extend the Apache Derby database to provide support for billing clients.
Tutorials 21 Mar 2006  
 
XML in Firefox 1.5, Part 2: Basic XML processing
This second article in the series, "XML in Firefox 1.5," focuses on basic XML processing. Firefox supports XML parsing, Cascading Stylesheets (CSS), and XSLT stylesheets. You also want to be aware of some limitations. In the first article of this series, "XML in Firefox 1.5, Part 1: Overview of XML features," Uche Ogbuji looked briefly at the different XML-related facilities in Firefox.
Articles 21 Mar 2006  
 
Mastering Ajax, Part 4: Exploiting DOM for Web response
The great divide between programmers (who work with back-end applications) and Web programmers (who spend their time writing HTML, CSS, and JavaScript) is long standing. However, the Document Object Model (DOM) bridges the chasm and makes working with both XML on the back end and HTML on the front end possible and an effective tool. In this article, Brett McLaughlin introduces the Document Object Model, explains its use in Web pages, and starts to explore its usage from JavaScript.
Articles 14 Mar 2006  
 
Use PHP to build a search engine optimization app, Part 1: Getting started
PHP, a dynamic Web-based programming language, takes a variety of input formats and uses a built-in SOAP client to obtain information from the Web. PHP, combined with applications using search engine optimization (SEO), is a powerful tool for obtaining information from major search engines, allowing this information to guide a webmaster's online marketing and SEO strategies. Find out how to take advantage of these strategies by building the back end of an application to monitor and track your client's SEO efforts.
Tutorials 14 Mar 2006  
 
The cranky user: Usability off the beaten path
Keyboards, mice, windows -- essentially, they have the same design. This month, the cranky user explores options that have looked beyond the box for innovative designs that users can really use.
Articles 13 Mar 2006  
 
Search engine optimization basics, Part 2: SEO keyword and infrastructure strategies
Making your Web site attractive to search engines is a key factor for your success as a Web site developer. Get the basic information you need to organically optimize your Web site in this four-part series. In Part 1, you learned the background of why white hat SEO is good for your site. In Part 2, you'll start optimizing. You'll create a strategy for choosing and optimizing your keywords from the top-left-down and learn more about other factors that can influence your success in search engines.
Articles 07 Mar 2006  
 
All Hail Shale: Shale isn't Struts
What Shale isn't is a shrink-wrapped, well-documented, well-tested product complete with an automated installer and a polished management interface. Now find out what it is, as Brett McLaughlin unveils this mighty -- and rightful -- heir to the legacy of Struts. In this first article of the series, Brett explains what Shale is, how it's different from the Struts framework, and how to install and set it up in your development environment.
Articles 28 Feb 2006  
 
Search engine optimization basics, Part 1: Improve your standing in search engines
Making your Web site attractive to search engines is a key factor for your success as a Web site developer. Get the basic information you need to organically optimize your Web site in this four-part series. In Part 1, you'll receive a foundation in search engine optimization so you can organically optimize your Web site and create Web pages that are usable, accessible, and friendly to search engines.
Articles 24 Feb 2006  
 
Web clients fatten up with OpenLaszlo
OpenLaszlo is a rich client application architecture that uses Macromedia Flash as a deployment vehicle. Declarative in design, OpenLaszlo relies upon JavaScript for logic and offers advantages over traditional Flash development, including an advanced UI constraints system, an object-oriented design methodology, and built-in support for Web services and a variety of flavors of Remote Procedure Call (RPC). This article details the basic concepts of OpenLaszlo, and gives examples of situations in which an OpenLaszlo solution might be beneficial.
Articles 21 Feb 2006  
 
An introduction to the Eclipse Web Tools Platform V1.0
The Eclipse Web Tools Platform (WTP) extends the Eclipse IDE to enable easy development of Java 2 Enterprise Edition (J2EE)-based applications. Learn how to install WTP, configure it for use with an application server, and use the tools it provides to create a J2EE application.
Tutorials 21 Feb 2006  
 
Architecting on demand solutions, Part 18: Use IBM WebSphere Integration Developer to assemble components
In Part 15 of this series, you were introduced to IBM WebSphere Integration Developer (Integration Developer) V6.0 as part of an insurance claim scenario. In this installment, you add human tasks, the steps in a workflow that require user action. You also find out how to include human tasks within your Business Process Execution Language (BPEL) process. And you also exploit WebSphere Portal V5.1.0.3 business process integration capabilities.
Articles 21 Feb 2006  
 
Tip: Use data URIs to include media in XML
There are many ways to link to non-XML content within XML, including binary content. Sometimes you need to roll all such external content directly into the XML. Data scheme URIs are one way to specify a full resource within a URI, which you can then use in XML constructs. In this tip, Uche Ogbuji shows how to use this to bundle related media into a single file.
Articles 15 Feb 2006  
 
Mastering Ajax, Part 3: Advanced requests and responses in Ajax
For many Web developers, making simple requests and receiving simple responses is all they'll ever need, but for developers who want to master Ajax, a complete understanding of HTTP status codes, ready states, and the XMLHttpRequest object is required. In this article, Brett McLaughlin will show you the different status codes and demonstrate how browsers handle each and he will showcase the lesser-used HTTP requests that you can make with Ajax.
Articles 14 Feb 2006  
 
The cranky user: Do you really expect me to believe that?
Peter talks playground rules to corporate liars, big and small.
Articles 02 Feb 2006  
 
User annotations in Ajax
The ability to add notes and comments to your Web site can be a powerful and attractive feature for users. This tutorial demonstrates how to implement an Asynchronous JavaScript and XML (AJAX)-based user annotation system in the form of yellow sticky notes that sit on top of regular Web page content. The only additional, required configuration is a back-end Perl script that stores the annotations
Tutorials 31 Jan 2006  
 
The future of HTML, Part 2: XHTML 2.0
In this two-part series, Edd Dumbill examines the various ways forward for HTML that Web authors, browser developers, and standards bodies propose. This series covers the incremental approach embodied by the WHATWG specifications and the radical cleanup of XHTML proposed by the W3C. Additionally, the author gives an overview of the W3C's new Rich Client Activity. Here in Part 2, Edd focuses on the work in process at the W3C to specify the future of Web markup.
Articles 25 Jan 2006  
 
Quality busters: Single technology solutions
Software professionals often get excited about a new technology, development tool, reference architecture, or approach. That excitement over a new "toy" often influences architects and developers to attempt to solve everything with this single solution. However, applying a single solution approach throughout a distributed application can have significant impact on performance, resource utilization, and other quality attributes. Here's why you need to think before putting all your eggs in a single basket.
Articles 24 Jan 2006  
 
Create VoiceXML pages within a Java Web developer framework
Brett McLaughlin shows you how to output VoiceXML from server-side Java code, allowing your Java applications to interact with telephony.
Articles 17 Jan 2006  
 
Mastering Ajax, Part 2: Make asynchronous requests with JavaScript and Ajax
Most Web applications use a request/response model that gets an entire HTML page from the server. The result is a back-and-forth that usually involves clicking a button, waiting for the server, clicking another button, and then waiting some more. With Ajax and the XMLHttpRequest object, you can use a request/response model that never leaves users waiting for a server to respond. In this article, Brett McLaughlin shows you how to create XMLHttpRequest instances in a cross-browser way, construct and send requests, and respond to the server.
Articles 17 Jan 2006  
 
Implement MVC in custom SWT components
Eclipse SWT (Standard Widget Toolkit) offers an extensive set of APIs to implement your custom-made widgets. In this article, the author briefly outlines the MVC (Model-View-Controller) architecture, explains the current implementation of MVC in the form of structured viewers, and shows an implementation using a custom SWT widget.
Articles 11 Jan 2006  
 
In tune with Tapestry, Part 2
The Tapestry framework allows Java and Web developers to develop servlet-based Web applications that are dynamic, lightweight, and responsive. Continue getting to know Tapestry this month, as Brett McLaughlin shows you how to plan the development of a Tapestry application and create useful, robust Tapestry components.
Articles 10 Jan 2006  
 
Call SOAP Web services with Ajax, Part 2: Extend the Web services client
Implement a Web Browser-based SOAP Web services client using the Asynchronous JavaScript and XML (Ajax) design pattern. In the Part 1 of this series, "Call SOAP Web Services with Ajax, Part 1," the author introduced a simple Web browser-based JavaScript library for invoking SOAP Web services. In the discussion that follows, the author expands on functions of that JavaScript library by implementing basic support for the Web Services Addressing Language and the Web Services Resource Framework specifications.
Articles 10 Jan 2006  
 
The cranky user: What you can do about phishing
Phishers lurk in sinister corners of the Internet, waiting to trick your users into providing the sort of information that can aid identify theft. But are you unwittingly helping them run their scams? Read on to find out changes you can make to your Web applications that can reduce the risk of phishing attacks.
Articles 04 Jan 2006  
 
In tune with Tapestry, Part 1
In this first half of a two-part article, author and frequent developerWorks contributor Brett McLaughlin shows you around Tapestry, from installation to file structure. See for yourself how Tapestry facilitates servlet-based Web application development using HTML and template tags.
Articles 04 Jan 2006  
 
Designing mobile Web services
From when to choose mobile Web services to the overall design guidelines to the value types to use in mobile Web services, this article addresses many of the design considerations you need to ponder when developing Web services for mobile devices. It also covers many of the best practices for designing mobile Web services. Learn how to decide when to use Web services, what things to consider when you design Web services, and what to keep in mind when planning mobile Web services.
Articles 03 Jan 2006  
 
Automate acceptance tests with Selenium
Acceptance, or functional, testing is designed to put manual tasks through their paces, but testing these tasks by hand can be time consuming and prone to human error. In this article, the author shows architects, developers, and testers how to use the Selenium testing tools to automate acceptance tests; automating the tests saves times and helps eliminate tester mistakes. You also are provided with an example of how to apply Selenium in a real-world project using Ruby on Rails and Ajax.
Articles 20 Dec 2005  
 
XML Matters: The Web ain't just for 2D any more
Once upon a time, 3D for the Web promised to be as easy as building a Web page. Unfortunately, 3D -- even simple 3D -- is more complex than displaying scrolling text and pictures. Each VRML vendor implemented a different subset of the spec, and it never gained traction. And so 3D on the Web faded away. Or did it? It turns out that VRML lives on in its XML flavor, X3D, which has grown to encompass VRML's siblings H-Anim (Humanoid Animation) and GeoVRML. Can 3D on the Web finally be used for more than virtual shopping malls? The latest installment of this mini-series on XML media shows that it can. In this article, Dethe focuses on a couple of uses that X3D is ready for now, and takes a look at where it might go in the future.
Articles 15 Dec 2005  
 
The future of HTML, Part 1: WHATWG
In this two-part series, Edd Dumbill examines the various ways forward for HTML that Web authors, browser developers, and standards bodies propose. This series covers the incremental approach embodied by the WHATWG specifications and the radical cleanup of XHTML proposed by the W3C. Additionally, the author gives an overview of the W3C's new Rich Client Activity. Here in Part 1, Edd focuses primarily on two specifications being developed by WHATWG: Web Applications 1.0 (HTML5) and Web Forms 2.0.
Articles 06 Dec 2005  
 
Mastering Ajax, Part 1: Introduction to Ajax
Ajax, which consists of HTML, JavaScript, DHTML, and DOM, is an outstanding approach that helps you transform clunky Web interfaces into interactive Ajax applications. The author, an Ajax expert, demonstrates how these technologies work together -- from an overview to a detailed look -- to make extremely efficient Web development an easy reality. He also unveils the central concepts of Ajax, including the XMLHttpRequest object.
Articles 06 Dec 2005  
 
Build culturally aware apps with GBO
This article gives an introduction to Global Business Object (GBO), an IBM alphaWorks technology that offers a set of Java libraries of culturally sensitive GUI elements for global applications. Shu Bei and Zhu Xiao Hui walk you through GBO's architecture and globalization features. They also describe one GBO component in detail, illustrating how GBO can integrate with your Web-based apps.
Articles 06 Dec 2005  
 
The cranky user: Ho ho hum online retailers
Forget about both Santa and ineffective design. It's that time of year again, and the cranky user has some well-timed advice for online retailers in this pre-Christmas column.
Articles 02 Dec 2005  
 
Design with the JSF architecture
In this article, author Anand Joshi explains the JavaServer Faces (JSF) architecture using design patterns in the JSF framework. He discusses Gang of Four design patterns employed in the JSF architecture, and how they work within the JSF framework. Anyone with a general knowledge of design patterns and JSF architecture will learn from Anand's detailed guide. *Readers should have a good knowledge of Gang of Four design patterns and JSF technology.
Articles 02 Dec 2005  
 
Retrofit your Web pages for wireless compatibility
Learn how to combine Extensible HyperText Markup Language (XHTML), cascading style sheets (CSS), and the media attribute to turn plain vanilla Web pages into wireless-compatible ones.
Articles 22 Nov 2005  
 
Dynamic radio buttons with Struts
Follow along as Struts Recipes co-author Danilo Gurovich walks you through five easy steps for creating radio buttons with dynamically selected elements.
Articles 15 Nov 2005  
 
Build apps using Asynchronous JavaScript with XML (AJAX)
AJAX (Asynchronous JavaScript with XML) enables a dynamic, asynchronous Web experience without the need for page refreshes. In this tutorial, you will learn to build AJAX-based Web applications -- complete with real time validation and without page refreshes -- by following the construction of a sample book order application.
Tutorials 15 Nov 2005  
 
Ajax for Java developers: Ajax with Direct Web Remoting
Exciting as it is, adding Ajax functionality to your applications can mean a lot of hard work. In this third article in the Ajax for Java developers series, Philip McCarthy shows you how to use Direct Web Remoting (DWR) to expose JavaBeans methods directly to your JavaScript code and automate the heavy-lifting of Ajax.
Articles 08 Nov 2005  
 
Build extra secure Web applications
Developers constantly fight the problems associated with action and data tampering in Web applications. This article provides a framework to secure these vulnerabilities. You can embed this framework, which offers a logical security design, in common presentation frameworks, such as Struts.
Articles 01 Nov 2005  
 
The cranky user: Take off the training wheels
Like dull knives in the kitchen and training wheels on bicycles, many so-called safety features just lead to trouble. The cranky user suggests an alternative approach.
Articles 01 Nov 2005  
 
Extending Spring JMX support
The Spring framework minimizes architectural dependencies and externalizes composition in your applications, but applications also need to be managed. Fortunately, Spring 1.2 includes sophisticated JMX integration support -- and JMX delivers a practical management infrastructure for your applications. In this article, Claude Duguay takes Spring JMX a step further, showing you how to add notification events to methods and attributes transparently. The resulting code lets you monitor state changes without cluttering up your Java objects.
Articles 01 Nov 2005  
 
Dynamic checkboxes with Struts
Struts Recipes co-author Danilo Gurovich picks up where George Franciscus left off with an easy-to-follow Struts recipe for creating dynamically selected checkboxes.
Articles 25 Oct 2005  
 
XML Matters: SVG and the scriptless script
Scalable Vector Graphics (SVG) browsers are becoming mainstream now, and they can be used in many powerful ways. Continuing on from David's earlier SVG column, Dethe looks at some of the ways that declarative markup can replace script for animation and other common scripting tasks. In the process, he briefly looks at replacing script with declarative markup in other XML dialects. Moving common scripting tasks into declarative markup can eliminate the need for tedious boilerplate code, reduce errors, and make your script's intent easier to follow, freeing you to focus on your code's unique aspects.
Articles 25 Oct 2005  
 
Tomcat for beginning Web developers
The Apache Tomcat application server is no longer the exclusive domain of advanced Web system developers. In this tutorial, Sing Li shows beginning Web developers how to leverage their current Java development skills to program server-side JSPs, servlets, and Web services using Tomcat.
Tutorials 20 Oct 2005  
 
The future of the Web is Semantic
Explore the basics of Semantic Web technologies as Naveen Balani shows you how organizations can leverage ontology-based development. The Semantic Web can aid effective knowledge management and cost-effective product life cycle automation for faster development and integration processes.
Articles 18 Oct 2005  
 
Get a better handle on Struts actions, with Spring
Struts Recipes co-author George Franciscus is back with another great Struts integration recipe -- this time for importing Struts applications into the Spring framework. Follow along as George shows you how to revamp Struts actions so they can be managed just like Spring beans. The result is a boosted Web framework that easily reaps the benefits of Spring AOP.
Articles 11 Oct 2005  
 
Say goodbye to complexity when developing Web services
Get an introduction to the Ad Hoc Development and Integration tool for End Users (ADIEU), a tool for developing Web applications and Web services without having to know anything about Java programming.
Articles 06 Oct 2005  
 
The Spring series, Part 4: 1-2-3 messaging with Spring JMS
Quick-step through the basics of JMS messaging, with the Spring JMS framework and IBM WebSphere MQ 5.3.
Articles 04 Oct 2005  
 
Ajax for Java developers: Java object serialization for Ajax
If you're doing JavaWeb development using Asynchronous JavaScript and XML (Ajax), then delivering data from the server to the client is probably your top concern. In this second article in the Ajax for Java developers series, Philip McCarthy walks you through five approaches to Java object serialization and gives you all the information you need to choose the data format and technology best suited to your application.
Articles 04 Oct 2005  
 
The cranky user: Watchen das blinkenlichten
Usability suffers when the design of computer interfaces is driven by the need to make a good first impression. This month the cranky user talks about the relationship between form and substance.
Articles 03 Oct 2005  
 
Why use DITA to produce HTML deliverables?
The Darwin Information Typing Architecture (DITA) is an XML-based format for structuring and authoring technical content. This article explores advantages DITA provides for producing HTML content -- including easy global changes, portability through standards, superior linking and Web management, conditional processing, content and design reuse, and better writing through focused content. DITA consolidates all of the benefits in a consistent, overall information architecture that can evolve and grow along with your product information needs and delivery modes, and with the evolution of standard tools for delivering XML as the presentation mechanism.
Articles 28 Sep 2005  
 
Ajax for Java developers: Build dynamic Java applications
The page-reload cycle presents one of the biggest usability obstacles in Web application development and is a serious challenge for Java developers. In this series, author Philip McCarthy introduces a groundbreaking approach to creating dynamic Web application experiences. Ajax (Asynchronous JavaScript and XML) is a programming technique that lets you combine Java technologies, XML, and JavaScript for Java-based Web applications that break the page-reload paradigm.
Articles 20 Sep 2005  
 
Discover Python, Part 5: Programming in Python
This article begins to demonstrate how to do things in Python by focusing on flow control, which is one of the simplest methods for writing programs. In this programming model, data is manipulated -- perhaps from a user interface, sensors, or a file; depending on the value of the data or resulting expressions, different actions are taken. Python provides several flow control mechanisms. This article discusses the if statement, and the while and for loops.
Articles 20 Sep 2005  
 
Struts-Velocity integration
Struts master George Franciscus shows you how to integrate the Velocity Template Engine into your Struts applications.
Articles 20 Sep 2005  
 
Build quick, slick Web sites
With everyone from your eight-year-old neighbor to your eighty-year-old grandmother building Web sites, the Internet has become a slow-moving, bogged-down beast. But with just a few tricks using XHTML, you can build classy, beautiful sites that still load in the blink of an eye.
Articles 20 Sep 2005  
 
The Spring series, Part 3: Swing into Spring MVC
Learn how to develop MVC-based applications using the Spring framework, in this third installment of Naveen Balani's popular Spring series.
Articles 06 Sep 2005  
 
XHTML, step-by-step
Get started working with Extensible Hypertext Markup Language. XHTML is a language based on HTML, but expressed in well-formed XML. But XHTML is much more than just regularizing tags and characters -- XHTML can alter the way you approach Web design. This tutorial gives step-by-step instruction for developers familiar with HTML who want to learn how to use XHTML in practical Web sites.
Tutorials 06 Sep 2005  
 
The cranky user: But does it come in purple?
Customization typically offers users the ability to manipulate shiny objects, but not much real power. Wouldn't it be better to put the time into supporting a more powerful and flexible user interface?
Articles 01 Sep 2005  
 
Linux on board: Little calendar challenges big groupware
Expensive groupware is simply overkill when all you want is to decide whose turn it is to do the dishes. This month, Peter uses his old Linux box to build a miniscule Web-based household calendar. In this column, Peter looks at Linux running on various kinds of hardware -- PDAs, embedded devices, or just ancient hardware no one thought was useful anymore. He alternates between looking at specific Linux devices and showing you in detail how to use Linux on decrepit hardware that's past its reputed prime.
Articles 26 Aug 2005  
 
Define a custom tag for table display
Create more manageable Web apps and update code in one place. When you define a custom tag for tables that display in multiple places, the Tag class reflects any changes across all JSP pages. Learn to create just such a flexible tag -- with various HTML controls, including href, checkbox, radio button, text field, and combo box.
Articles 23 Aug 2005  
 
Manage message contract changes with versioning
No matter how well a message's format and content -- the message contract -- is defined, it will eventually change as new demands are placed on the service application. In practice, due to tight coupling between client and service application, most message contracts are not prepared for this inevitable change. When the contract changes, both the client and service application must be altered at the same time. In this article, the author shows that message versioning can be used to reduce this coupling constraint between applications.
Articles 09 Aug 2005  
 
The cranky user: Oh, the pixel pickle
Do you think the pixel is the only unit of measurement for building graphical displays? Come on, you can measure better than that! This month, the Cranky user offers tips for user-friendly HTML layout and interface design, and explains why pixels aren't always the best unit for the job.
Articles 03 Aug 2005  
 
The Spring series, Part 2: When Hibernate meets Spring
Naveen Balani continues his Spring series with a how-to guide to integrating Hibernate transactions with Spring aspect-oriented programming (AOP). The result is a persistence framework you can count on.
Articles 02 Aug 2005  
 
Migrate apps from Internet Explorer to Mozilla
Ever have trouble getting your Internet Explorer-specific Web applications to work with Mozilla? This article covers common issues associated with migrating applications to the open source Mozilla-based browser. You'll first learn basic cross-browser development techniques, and then develop strategies for overcoming the differences between Mozilla and Internet Explorer.
Articles 26 Jul 2005  
 
Ruby on Rails and J2EE: Is there room for both?
Ruby on Rails is a relatively new Web application framework built on the Ruby language. It is billed as an alternative to existing enterprise frameworks, and its goal, in a nutshell, is to make your life -- or at least the Web development aspects of it -- easier. In this article, Aaron Rustad compares and contrasts some of the key architectural features of Rails and traditional J2EE frameworks.
Articles 12 Jul 2005  
 
The cranky user: My not-so-invisible enemy
Animated annoyances begone! Users don't even wonder anymore why their favorite Web sites take so long to load; they just wait it out. The cranky user takes on page bloat.
Articles 07 Jul 2005  
 
Introduction to Swing
This hands-on introduction to Swing, the first in a two-part series on Swing programming, walks through the essential components in the Swing library. Java developer and Swing enthusiast Michael Abernethy guides you through the basic building blocks and then assists as you build basic but functional Swing application. Along the way you'll learn how to use models to ease the process of dealing with the data.
Tutorials 29 Jun 2005  
 
Track and record database schema versions
Configuration management has proven to be a valuable tool in coordinating and tracking changes within a development environment. It is most often applied to such program components as program source code and dependent program products. In this article, you'll learn how to apply that configuration management to the database environment plus get some suggestions on how to track and record database versions and change information.
Articles 28 Jun 2005  
 
The Spring series, Part 1: Introduction to the Spring framework
Start to build lightweight, robust J2EE applications using Spring technology, with this first installment in a three-part introduction to the Spring framework.
Articles 21 Jun 2005  
 
Display XML with Cascading Stylesheets: Use Cascading Stylesheets to display XML, Part 3: Combine XSLT and CSS to process XML
In Parts 1 and 2 of this tutorial series, Uche Ogbuji has shown how to use Cascading Stylesheets (CSS) to display XML in browsers, presenting basic and advanced techniques. Although some people see XSLT and CSS as opposing technologies, they are actually very complementary. CSS cannot, and is not designed to, handle many XML rendering tasks. You can use XSLT for many such tasks, and even manage the CSS that is still used to fine-tune the presentation. This tutorial covers techniques for using XSLT to process XML in association with CSS.
Tutorials 20 Jun 2005  
 
Fast-track your Web apps with Ruby on Rails
Ruby on Rails is a recent entry into the world of Web application development that is rapidly gaining mindshare, even while still in beta versions. Rails succeeds by automating the creation of the most common types of Web applications while not straightjacketing you if you want to add custom or atypical requirements. Moreover, compared to many Free Software libraries that perform individual aspects of a Web application, Rails contains a nicely integrated set of tools for all aspects.
Articles 14 Jun 2005  
 
Set up a PHP and MySQL development environment
Set up PHP, Apache, and MySQL as a development environment on a Windows XP machine. This tutorial gives you step-by-step instructions on how to get it all up and running painlessly.
Tutorials 08 Jun 2005  
 
The cranky user: Ergonomics, Part 2: Ergonomic devices
Following up on "Part 1: The science of not hurting the user," the cranky user looks at the various tools and devices marketed to solve ergonomic problems.
Articles 01 Jun 2005  
 
Build a Perl/CGI voting system
Many Web-deployed applications are written within elaborate database-driven server-side development frameworks such as PHP and Java servlets, but for simple applications (for example, where the entire dataset fits comfortably within a Web server's RAM), data persistence can be easily accomplished using locked DBM files in conjunction with the Perl MLDBM module. This article presents a real-world example -- a Web-based voting application -- that highlights the use of minimal external modules, forgoes using client-based cookies, and takes advantage of CGI attributes.
Articles 31 May 2005  
 
XML Matters: Beyond the DOM
The Document Object Model (DOM) is one of the most widely implemented tools for manipulating XML and HTML data, but it is rarely used to its full potential. By taking advantage of the DOM and extending it to be even easier to use, you gain a powerful tool for XML applications, including dynamic Web applications.
Articles 20 May 2005  
 
The cranky user: Ergonomics, Part 1: The science of not hurting the user
With aching hands and wrists, the cranky user writes about ergonomics, from in-home doctor visits to the proper time for font smoothing.
Articles 04 May 2005  
 
The cranky user: Ergonomics, Part 1: The science of not hurting the user
With aching hands and wrists, the cranky user writes about ergonomics, from in-home doctor visits to the proper time for font smoothing.
Articles 04 May 2005  
 
Introduction to LAMP technology
This tutorial explores the Linux-Apache-MySQL-PHP, or LAMP, Web development framework and shows how that framework can help you build applications to solve common business problems. The tutorial begins with an exploration of the LAMP architecture, then introduces fundamental PHP concepts. After a solid grounding of PHP, the tutorial explains MySQL support, with coverage focusing on database concepts and how to access MySQL from PHP. All of these techniques are discussed within the context of a real-world customer management example.
Tutorials 03 May 2005  
 
Load list values for improved efficiency
Reduce the number of database hits and improve your Web application's efficiency when you load common shared list values only once. In this code-filled article, learn to load the values for drop-down lists when your Web application starts and then to share these loaded list values among all the users of your application.
Articles 19 Apr 2005  
 
XML Matters: Program with SVG
Scalable Vector Graphics (SVG) is an XML format that describes scale-independent graphics, with good support in free software and commercial tools. In this installment, David introduces scripting and animation with SVG, and touches on manipulating SVG through DOM. Because SVG is XML, it lends itself to transformation and/or generation with any of the tools and libraries you might use for XML generally.
Articles 15 Apr 2005  
 
Practically Groovy: Mark it up with Groovy Builders
Groovy Builders let you mimic markup languages like XML, HTML, Ant tasks, and even GUIs with frameworks like Swing.They're especially useful for rapid prototyping and, as Practically Groovy columnist Andrew Glover shows you this month, they're a handy alternative to data binding frameworks when you need consumable markup in a snap!
Articles 12 Apr 2005  
 
The cranky user: Bad design can be so taxing
When people design Web forms, they often overlook some great sources of professional expertise in the world -- the existence of form design techniques with which nearly all users are familiar. This month, the cranky user looks at form design and management.
Articles 05 Apr 2005  
 
LSID best practices
Life Science Identifiers (LSIDs) have become the universally accepted identification scheme for the life science domain. Get familiar with the major issues when creating an LSID system and discover the current best practices for working with LSIDs.
Articles 05 Apr 2005  
 
Designing Web content for mobile browsers
Because of the limited display area and processing power, mobile computing devices cannot efficiently render Web content that has been designed for a standard desktop browser. As a result, Web content that is to be viewed, or interacted with, on a mobile device should be designed with these limitations in mind. This article provides general guidelines for the creation of such content, with the ultimate goals of optimizing information display and enhancing human-computer interaction.
Articles 29 Mar 2005  
 
Hosting PHP applications on the IBM HTTP Server
IBM maintains its own copy of the Apache Web server and ships it as the IBM HTTP Server, along with its WebSphere Application Server. This Web server is fundamentally Apache and as such, can host and run applications written in PHP: PHP. Learn about the differences between the open source Apache Web server and IBM's version, and view demonstrations of IBM's version running a well-known PHP application.
Articles 24 Mar 2005  
 
Introducing Hamlets
Servlets are a key component of server-side Java(TM) development, but despite a number of attractive traits, servlets do not support or enforce the separation of content and presentation. To master that functionality, Rene Pawlitzek proposes Hamlets -- servlet extensions that provide this functionality within a lightweight framework implemented with less than 500 lines of Java source code.
Articles 22 Mar 2005  
 
Model and build ESB SOA frameworks
Application integration is the biggest challenge today for many enterprises. Building an Enterprise Service Bus (ESB) is probably the quickest and most cost-effective way to address this challenge. In this article, you gain insight on ESBs, and how to model and construct ESB service-oriented architecture frameworks.
Articles 15 Mar 2005  
 
Linking in XHTML 2.0
As a fundamental part of the Web, hypertext linking has been the subject of repeated attempts at standardization beyond the basic format allowed in simple HTML. Such attempts can be characterized as efforts to balance machine processing ability with authoring convenience. The latest specification in this area, XHTML 2.0, just might have gotten it right.
Articles 04 Mar 2005  
 
Architectural manifesto: Evaluating architectures
Creating an architecture involves many phases, and one of the critical early phases is to evaluate architecture candidates. In this month's column, Mikko illustrates the benefits of the architecture evaluation process by focusing on how the evaluation should be done, who should be involved, what the key elements are that need to be considered, and how the final solution is decided.
Articles 02 Mar 2005  
 
The cranky user: Baby duck syndrome
What if something neither looks nor quacks like a duck, but users think it is a duck? The cranky user comments on baby duck syndrome and how it can trap users with systems and interfaces that don't really meet their needs.
Articles 02 Mar 2005  
 
FacesClient Components, Part 3: Exchange data between FacesClient Components Web applications and backend servers
In this third article in a series on FacesClient Components, we concentrate on the methods used to update the client-side data model. Using the prototype from the first and second articles of the series plus code samples, the authors describe how to update the client-side data model without causing a refresh of the entire portal page. The best practices described in this article serve as building blocks for creating highly functional FacesClient Component-enabled portlet applications.
Articles 01 Mar 2005  
 
Display XML with Cascading Stylesheets: Use Cascading Stylesheets to display XML, Part 2: Advanced techniques to present XML in Web browsers
In a previous tutorial, Uche Ogbuji showed how to use Cascading Stylesheets (CSS) to display XML in browsers, presenting basic techniques. However, as anyone who has tried to master CSS even in the world of HTML and JavaScript can attest, there are numerous tricks, traps and nuances. The same is true when using CSS with XML. This tutorial builds on the basics in the earlier one to cover such intermediate and advanced topics.
Tutorials 25 Feb 2005  
 
Design interactive error handling for Web apps
When users interact with Web applications, errors inevitably occur. Your application must ensure that inputted data is valid; when it is not, your application must clearly communicate to the user why the data is not valid and make it easy for the user to fix the problem. Take advantage of both client- and server-side error handling strategies and ensure data validity while offering users friendly error recourse.
Articles 14 Feb 2005  
 
Detect-and-route with JavaScript
"If happy users keep coming back, then you'll want to keep them happy by serving optimum pages to each site visitor and by keeping all the technical details under the hood. Find out how to choose or craft JavaScript sniff-and-route code that helps keep the user's experience an easy and pleasant one."
Articles 09 Feb 2005  
 
The user experience, Part 1
In this two-part article on improving application design, Dick Berry focuses first on the differences between GUI and Web environments, and reveals effective approaches for each that can enable the best possible user experience.
Articles 09 Feb 2005  
 
XHTML 1.0: Marking up a new dawn
Still writing your documents in HTML? If you are, you're not complying with current standards. On January 26, 2000, XHTML 1.0 became a recommendation by the World Wide Web Consortium (W3C). HTML, according to the W3C, is no longer the Web markup standard. Instead, XHTML 1.0 has replaced our old favorite, marking up the dawn of a new and exciting time in communications technology.
Articles 09 Feb 2005  
 
When Web pages don't work
Puzzled why your site is not living up to your expectations? The problem may not lie with your content or products, but rather in your site's user experience. Find out what common pitfalls to avoid by following a few simple guidelines to improve the user experience and transform surfers into customers.
Articles 09 Feb 2005  
 
Getting to know Midgard
Server-side scripting languages such as PHP are great for creating dynamic, creative, and compelling Web sites. Unfortunately they have always left the mechanics of creating, rendering, and administering dynamic content to the script author -- until now. This article introduces and shows you how to use Midgard, an open-source system based on PHP that takes over the job of looking after content, allowing you to concentrate on site aesthetics and functionality.
Articles 09 Feb 2005  
 
JSP technology -- friend or foe?
An old Java technology hand and new Enhydra partisan, the author urges developers to consider alternatives to JavaServer Pages (JSP) servlets when choosing an approach to coding Web applications. JSP technology, part of Sun's J2EE platform and programming model, serves as a solution to the common dilemma of how to turn drab content into a visually appealing presentation layer. The fact is, Web developers aren't uniformly happy with JSP technology. Since many variations on the Sun technology are now available, you can choose from a number of presentation technologies. This article takes an in-depth look at JSP coding and explores some attractive alternatives.
Articles 09 Feb 2005  
 
FacesClient Components, Part 1: Portlet programming with FacesClient Components
Web applications developed using the thin client computing model exhibit performance gaps and user interface limitations. As an alternative, the FacesClient Components (formerly called the Odyssey Browser Framework) provides a more effective model for developing Web applications. FacesClient Components work inside a portlet programming environment to deliver exceptional value to users in the form of richer user interfaces and improved application performance. In this article, three software engineers explore the fundamentals of FacesClient Components and its uses for building portlet applications.
Articles 04 Feb 2005  
 
The cranky user: Performance anxiety
Processors are supposedly getting faster all the time, so why is your computer still so slow?
Articles 02 Feb 2005  
 
Introduction to JavaServer Pages
This tutorial introduces the fundamentals of JavaServer Pages (JSP) technology 2.0 and provides an update to the original tutorial written by Noel J. Bergman that discussed JSP 1.2. This tutorial provides a solid grasp of JSP basics to enable you to start writing your own JSP solutions. This tutorial will discuss the fundamental elements that define JSP, identify and exemplify each element, use topical examples to illustrate each element and clearly illuminate important issues related to that element.
Tutorials 01 Feb 2005  
 
Deploy an application with Cerise Web server
This article shows you how to create a guestbook Web application with the Cerise Web server and the Ruby programming language. You'll use RSS 1.0 as the file format for the guestbook entries and XSLT for transforming files to HTML.
Articles 01 Feb 2005  
 
Dynamically generate internationalized PDFs in Web applications
Find out how to internationalize your PDF documents. This article describes a way to dynamically generate PDF documents in Java Web applications using open source technologies, with an emphasis on generating double-byte PDF documents. The approach described fits the popular Model-View-Controller architecture for Web applications. A sample Web application is provided for reference.
Articles 21 Jan 2005  
 
Get dynamic Web content with HTTPRequest
The HttpRequest object initially might not seem like a big deal. Explore the possibilities of it when you issue a HTTP GET or POST on a URL for succinct page refreshes that update only a specific portion of the Web page.
Articles 18 Jan 2005  
 
The cranky user: Everything's automated!
Today's user interfaces are so eager to please that sometimes they're downright pushy. In this month's The cranky user, Peter calls for more tough love in UI design and less overcompensation for user ignorance, confusion, and error.
Articles 13 Jan 2005  
 
Quality busters: Reduce application complexity
From a user perspective, the reliability of an application is the perceived degree to which that application delivers the desired service at the desired time with the desired accuracy. If users think that an application is unreliable, they are reluctant to use it. Therefore, an architect must seriously evaluate the application's reliability. One way to improve reliability is to reduce the number of possible failure points in the application's event path.
Articles 11 Jan 2005  
 
FacesClient Components, Part 2: Use FacesClient Components in a portal environment
In this second article in a series on developing and enabling portlet applications with FacesClient Components, meet the challenges of using FacesClient Components in a portal environment. Using the prototype from the first article of the series plus examples and code samples, the authors explain how data models and instance data are shared between multiple portlets on a portal page, and also describe some best practice development approaches.
Articles 05 Jan 2005  
 
Defeat the no match found scenario
Differentiating between the number 0 and the uppercase letter O or between the number 1 and the uppercase letter I in search engines is a major cause of the no match found error message. Author Christopher Cring digs up a simple, pre-existing method designed to quickly and easily solve this common search problem of characters that cannot be easily identified.
Articles 28 Dec 2004  
 
Quality busters: Losing messages
The success of a message-oriented system, regardless of the technology used to implement it, depends upon the consistent and reliable delivery of messages between processes. In this installment of Quality busters, Michael Russell identifies some of the places or failure points along the path between processes where a message can be lost or rejected. If you don't properly address these failure points, the results might include data corruption, out-of-sync conditions, timeouts, and perceived unreliability.
Articles 28 Dec 2004  
 
Use continuations to develop complex Web applications
If you've ever developed a non-trivial Web application, you know that development complexity is increased by the fact that Web browsers allow users to follow arbitrary navigation paths through the application. No matter where the user navigates, the onus is on you, the developer, to keep track of the possible interactions and ensure that your application works correctly. While the traditional MVC approach does allow you to handle these cases, there are other options available to help resolve application complexity. Developer and frequent developerWorks contributor Abhijit Belapurkar walks you through a continuations-based alternative that could simplify your Web application development efforts.
Articles 21 Dec 2004  
 
Quality busters: Not measuring the risks
Members of the information industry often do not think about safety and risk. They consider these factors to be the domain of life-and-death environments like spacecraft software, nuclear power plant control systems, and medical equipment. But even business software can have safety concerns. An improperly processed financial transaction might cause long-lasting harm to a customer or to the business itself. In this article, I introduce failure modes and effects analysis (FMEA) and risk assessments as important tools for business software architects.
Articles 15 Dec 2004  
 
Architectural manifesto: Designing software architectures, Part 3
Even if you never write a requirements specification, it's important, as a software architect, to know what separates the good ones from the bad. Learn the fundamentals of writing a good spec and then pass on what you've learned to other members of your development team.
Articles 13 Dec 2004  
 
Learn the essentials of debugging
Debugging software is challenging. Without a process to follow, resolving problems can seem impossible. Most inexperienced programmers find themselves in precisely that situation when confronted with a bug. In this article, walk through a sample problem-solving session to learn the art of debugging and highlight six essential elements of the debugging process.
Articles 07 Dec 2004  
 
Quality busters: Treat everyone equally
Developers sometimes work on systems that are more powerful than the average end user's system. If the developer doesn't recognize the differences between his or her environment and the user's environment, then the end user may reject the developer's work as being unusable. Thus, it is important that enterprise software development implement testing and efficiency measurements with the end user in mind. Development might need to make trade-offs regarding code versions, supported environments, and testing resources.
Articles 03 Dec 2004  
 
The cranky user: Hardware and usability, Part 2
Peter continues with his special focus on hardware usability this month, including a maintenance checklist that could save you time and money, as well as your sanity.
Articles 02 Dec 2004  
 
Display XML with Cascading Stylesheets: Use Cascading Stylesheets to display XML, Part 1: Basic techniques to present XML in Web browsers
Cascading Stylesheets (CSS) are well known as the most standards-compliant means of manipulating the look of HTML Web pages. They also happen to be the most practical way of displaying XML in browsers. Browsers have included support for CSS applied to XML much longer than XSLT, and the CSS implementations are generally more complete and reliable. This tutorial shows how to use CSS to present XML in Web browsers.
Tutorials 30 Nov 2004  
 
Quality busters: Coding by assumption
Is your application ready for the latest version of the operation system it runs on or the program product on which it depends? Will you have to modify your application to upgrade? Have you made assumptions about the operating environment? These and other questions are easier to answer if you build portability into your application -- even if you do not plan to run it on another platform. One key to portability lies in not making any assumptions.
Articles 23 Nov 2004  
 
Enable backwards navigation through Web applications
Web frameworks like Struts and JavaServer Faces focus only on forward navigation of Web applications. In this article, Maurizio Albari introduces a framework that improves the backwards navigation of Web applications by keeping a server-side navigation history of visited Web pages and visited named sequences of Web pages, also known as Webflows. With the framework, you can also use the server-side navigation history to automatically clean the HTTP session, thus improving application performance. And the best part is that you can still use your favorite Web framework for forward navigation.
Articles 16 Nov 2004  
 
Introduction to XML Events
A number of markup technologies involve attaching behaviors to specific parts of a document. XML Events is a W3C Recommendation that allows declarative attachment of a behavior -- which can be a predefined bundle of actions defined in XML or a more general call to a scripting language -- to a specific element. This article gives an overview of how XML Events came about, what it's useful for, and how it works.
Articles 16 Nov 2004  
 
Conduct Web experiments using PHP, Part 2
In Part 1 of this two-part series, Paul Meagher showed you how to improve the quality of your Web offers by developing PHP-based tools to set up and run Web experiments. In Part 2, you focus on simulating and analyzing the contingency table data arising from these Web experiments.
Articles 09 Nov 2004  
 
Quality busters: What version is this?
Modern applications are built using many shared components, including dynamic link libraries (DLLs), JAR files, and runtime environments. Keeping track of these components, their versions, and their dependencies creates development and operational issues. This article discusses some of those issues and the considerations that arise from the use of components.
Articles 02 Nov 2004  
 
The cranky user: Hardware and usability, Part 1
In this first installment of a two-part miniseries, Peter takes a look at the interactions between hardware and usability.
Articles 01 Nov 2004  
 
Quality busters: Make your error messages meaningful
Many applications treat users as if they were programmers. Messages that report errors are often cryptic, contain meaningless codes, and provide no help regarding what to do next. While the developers who wrote the application can use those messages, most users are left with one option: call the help desk. This article describes a more appropriate kind of error message for users: one that includes description, cause, and recovery steps.
Articles 20 Oct 2004  
 
Increase stability and responsiveness by short-circuiting code
High volume Web sites often require asynchronous or threaded operations to achieve target performance criteria. While threads in Web containers are considered bad practice, the alternative is for developers to make blocking calls to code they cannot control. It becomes important that dependencies of this nature fail-fast. Goodman and Kebinger present a homegrown short-circuit pattern that ensures threaded execution and completion of a process in a fixed window of time.
Articles 19 Oct 2004  
 
Reusable Dialog Components
Speech application development is evolving to dynamically generated VoiceXML. Now companies can cost-effectively add speech to Web apps and not sacrifice the quality of the resulting Voice User Interface. Reusable Dialog Components, a component framework based on JavaServer Pages, are central to this evolution. Explore this roadmap for driving down the overall cost of creating, deploying, and managing speech solutions. Also, learn how complex speech applications built with today's technologies can interoperate with speech-enabled Web applications for a smooth transition and a seamless user experience.
Articles 07 Oct 2004  
 
Quality busters: Don't violate the principle of locality
Modern applications are highly distributed, with components residing on many systems. These components consist of many application objects, such as program modules, databases, and configuration files. Improperly distributing application objects increases the number of necessary maintenance tasks; this in turn increases the likelihood that a task might be performed incorrectly, which increases the probability of an application failure. In this installment of Quality busters, you'll look at some of the ways in which application objects are improperly distributed.
Articles 06 Oct 2004  
 
The cranky user: To err(or) is human
Writing informative, useful software error reports is the topic tackled by cranky user Peter Seebach.
Articles 06 Oct 2004  
 
Conduct Web experiments using PHP, Part 1
This two-part article series offers Web developers a practical introduction to the design of experiments (DOE) and categorical data analysis (CDA). This first part demonstrates how to use PHP to implement an experimental protocol for measuring the effectiveness of a Web-based offer. The second part will examine analyzing the resulting data using CDA tools that we'll implement using PHP.
Articles 05 Oct 2004  
 
Quality busters: Who's monitoring the application, anyway?
How do you know when the application you support fails or has a problem? Does an application monitoring utility notify you? Or, does the user support center notify you after frustrated users start complaining? With the large number of components -- systems, application servers, middleware services, database services, network, and more -- that make up modern business applications, a failure in one component can go undetected yet still cause quality of service problems. In this edition of Quality busters, Michael Russell examines the steps you can take to improve application monitoring -- and, by extension, application uptime.
Articles 22 Sep 2004  
 
Create easy-to-view tables
Tired of scrolling for table data? With this consolidated table widget, you simply point to all the information you need -- even on devices with small screens. This article describes how you can reduce the dimensions of a tabular display while retaining the ability to view all fields of a selected column and row simultaneously.
Articles 21 Sep 2004  
 
Data structures: Make the right choice
Selecting the most appropriate data structure to store your application's data is important. Your choice of data structure affects the operation and performance of your application -- sometimes with little consequence, sometimes dramatically. Examine a real-world problem that affected an application server product, the diagnosis, and the resolution that effectively improved performance twofold.
Articles 14 Sep 2004  
 
Quality busters: Customizing applications
To customize applications and program products for a specific operational environment, you must modify one or more configuration objects. These configuration objects can take many forms, such as text files, XML files, system registries, or a separate service. Managing the operational environment becomes more complex as the number of configuration objects increases.
Articles 08 Sep 2004  
 
The cranky user: Upgrades, downgrades, and the update treadmill
Peter points out what's wrong with the endless-upgrade cycle, and shows you where the solution lies.
Articles 02 Sep 2004  
 
Web app security using Struts, servlet filters, and custom taglibs
Web-based business applications need stringent security regulations. Within an application, each different role requires a predetermined set of access rights. In this article, Swaminathan Radhakrishnan explains how you can use Struts, taglibs, and servlet filters to develop a powerful and flexible security model that can be used directly by almost any Web-based business application.
Articles 02 Sep 2004  
 
The On Demand operating environment
The On Demand operating environment is based upon the concepts of Service Oriented Architecture (SOA). SOA views every application or resource as a service implementing a specific, identifiable set of (business) functions. In addition to the business functions, services in an on demand environment might also implement management interfaces to participate in the broader configuration, operation, and monitoring of the environment. This article provides an introduction to the On Demand operating environment.
Articles 24 Aug 2004  
 
Quality busters: The files that ate the disk
Nearly every application creates by-products which must be managed. These by-products include log files, tracings for debugging problems, intermediate files, data transfer files, temporary tables, and more. Failure to manage these transient objects can result in the application's failure due to limited disk space or other resource conflicts.
Articles 23 Aug 2004  
 
Online game infrastructures, Part 5: Make the game work
In this final installment of the online gaming series, IBM Senior IT Architect Veronika Megler recaps the game infrastructure design process, delivers a final revised build-buy-borrow template, discusses making the game work, and notes a few additional potential functions.
Articles 11 Aug 2004  
 
The cranky user: Crash
Frequent computer crashes are totally unacceptable. They cost incredible amounts in lost productivity, frustrate you, and serve as a barrier between you and the promised features of purchased software and hardware.
Articles 10 Aug 2004  
 
Quality busters: Forget the environment
The quality of an application depends on more than how well it satisfies user-functional requirements. Even an application that successfully makes it through development and deployment can encounter grumblings from users and system operators if it is hard to use, keeps failing, is difficult to diagnose, or consumes excessive resources. In addition to user-functional requirements, you must also consider how well the application satisfies the non-functional requirements and fits into the organization's operational environment.
Articles 10 Aug 2004  
 
Dynamic data analysis on the Web: A design approach
Learn about an adaptable approach which separates programming tasks from Web page design tasks. This strong conceptual model encourages good design, enables re-use of data definitions, and is well-suited to the construction of dynamic user interfaces.
Articles 05 Aug 2004  
 
Online game infrastructures, Part 4: Address community requirements, game upgrades, and account maintenance
In Part 4 of the series, IBM Senior IT Architect Veronika Megler focuses on the function requirements for community interaction, introduction of new game content, and assisting gamers with account-maintenance tasks.
Articles 27 Jul 2004  
 
Online game infrastructures, Part 3: Integrate additional device-support functions
In Part 3 of four, Senior IT Architect Veronika Megler focuses on integrating new device-support functions that meet e-commerce and device-connectivity requirements into the existing online games infrastructure.
Articles 13 Jul 2004  
 
Designing the Business Service Layer
Follow this article and learn a design technique that identifies the business service layers of a Web application through use cases. This identification opens the way to an uncluttered development process as it enables simplified testing and maintenance.
Articles 06 Jul 2004  
 
The cranky user: Policy, scourge of the people
Company policies have gradually grown from a way to keep practices consistent into a catch-all excuse for inappropriate responses. In this installment, cranky Peter Seebach explains why policy can be the enemy of the customer and the company, as well as why using the word "empowerment" in a corporate setting is so wrong.
Articles 01 Jul 2004  
 
Online game infrastructures, Part 2: Concentrate on the game
In Part 2 of four, IT architect Veronika Megler focuses on integrating runtime patterns of the online games infrastructure into a first-level solution and outlines how to determine if outsourcing is the best path.
Articles 23 Jun 2004  
 
The BlueSpace wall display project
This article provides some of the implementation details behind the BlueSpace wall display, a high-resolution screen display built on the Java platform.
Articles 22 Jun 2004  
 
Best practices for Struts development
Leverage your Web application development using the flexible Struts framework. Here, the authors explore best practicesthat you can follow to optimize this open source and mature framework. Learn to use standard, yet valuable, Struts components, including ActionForm, Action class, and ActionErrors.
Articles 16 Jun 2004  
 
Online game infrastructures, Part 1: Develop a high-level business description and identify patterns
Senior IT architect Veronika Megler ignites the first of a five-part series on infrastructures for online games companies with eight steps that demonstrate how to develop a compelling high-level business description and how to identify supporting business patterns.
Articles 07 Jun 2004  
 
The cranky user: All I want is a quick, easy install, Part 2
Peter adds a few finishing touches to his thoughts on what does and does not befit a well-mannered software installer.
Articles 02 Jun 2004  
 
Build Web apps with Maypole
Simon Cozens turns a love of beer into a Perl application server -- going from a simple front end to database servers, and developing into a social-network Web application. He begins, however, with the beer.
Articles 25 May 2004  
 
Build distributed object management frameworks for J2EE apps
Many enterprise Java technology developers build their own object management infrastructures to improve application performance. However, traditional object pools encounter problems in applications that run across distributed JVMs on multiple physical machines. In this article, Zhengrong Tang presents an object management framework that uses the concept of scopes to handle distributed systems with ease.
Articles 25 May 2004  
 
Implement Bayesian inference using PHP: Part 3
In this third article on Bayesian inference, Paul Meagher examines how to use PHP and Bayes methods to solve classification problems in medical diagnostic testing and Web survey analysis. Learn how Bayesian and conditional probability concepts are applicable to both building classifier systems and analyzing the accuracy of their output.
Articles 11 May 2004  
 
The cranky user: All I want is a quick, easy install
With the installer usually the first part of an application that a user sees, why is software installation such a notoriously buggy procedure? This month, in The cranky user column, Peter chronicles the ups and downs of installation, from the golden era of the floppy disk to the rise of the standard installer. He also offers some user-centered advice on building installers that work the way users want them to.
Articles 05 May 2004  
 
Analyze with XSLT: Create 3D representations with XSLT and SVG
In Part 4 of this series on analyzing data with XSLT, the MindMap Research Team realized that the cognitive data they're analyzing might be easier to understand if represented in the 3D space for which it is intended. The team decides to use XSLT to transform it into a 3D graph so changing the viewpoint changes the view of the data. This tutorial shows how to implement this from a command line and using a browser to display the results.
Tutorials 27 Apr 2004  
 
Monitoring and response for distributed systems
Building complex distributed systems is easier than ever, but many development and operations teams are not prepared for the volume of data that results from run-time failures. This paper describes a design and operations philosophy for monitoring and responding, which helps to manage these run-time failures. Real-world examples are used to illustrate the problems and solutions.
Articles 27 Apr 2004  
 
Implement Bayesian inference using PHP: Part 2
While the first article in this series discussed building intelligent Web applications through conditional probability, this Bayesian inference article examines how you can use Bayes methods to solve parameter estimation problems. Relevant concepts are explained in the context of Web survey analysis using PHP and JPGraph.
Articles 13 Apr 2004  
 
Unclog the server bottleneck with active containers
Regular developerWorks contributor Aashish Patil offers yet another inventive solution to a common problem. In this article, Aashish shows you how to use containers to overcome data-processing redundancy, which can otherwise drain the life out of your handheld or Web server.
Articles 06 Apr 2004  
 
The cranky user: Mixed signals on the high-tech highway
Mixed signals have become a fixture on the user landscape that most of you just ignore. Whether you're pressing Start to shut down a computer operating system or marveling at privacy-policy doublespeak, you've become so inured that you barely notice how exhausting and irritating it all is. Not so for the cranky user. This month's column reveals both the madness and the method behind the seemingly random insanity that most computer users are soaking in.
Articles 02 Apr 2004  
 
Authoring Web content with ed(1)
One of the most powerful Web authoring tools in existence is a standard part of a modern high-end UNIX installation. In this article, I discuss the ways in which you can use this excellent program to author dynamic Web pages. It supports the latest standards -- you don't even have to download updates when new versions of the HTML standards come out.
Articles 01 Apr 2004  
 
Implement Bayesian inference using PHP, Part 1
Conditional probability -- the probability of observing one event as a result of having observed another event -- is a potentially important factor in designing intelligent Web applications. Paul Meagher introduces Bayesian inference by discussing the basic mathematical concepts involved and demonstrating how to implement the underlying conditional probability calculations using PHP. In this article, the author discusses how Bayesian inference can be used to build an online PHP-based wizard that guides a user through the process making a medical diagnosis. This three-part series features interesting applications designed to help you appreciate the power and potential of Bayesian inference concepts.
Articles 16 Mar 2004  
 
The cranky user: Businesses behaving badly
This month, The cranky user looks at user reactions to common problems with user interfaces and corporate policies, and how these reactions can make some common business decisions counterproductive. When it comes to inconveniencing your customers, and sometimes even offending them, are some sales tactics worth it in the long run?
Articles 04 Mar 2004  
 
Enable dynamic HTTP compression
Dynamic HTTP compression is important to the Web architecture arena because it reduces the size of HTML content returned to the browser. In this article, Alan Beal speeds you forward by describing how to activate dynamic HTTP compression, thereby reducing the size of the resulting HTML content and positively affecting transmission times over slow network connections.
Articles 02 Mar 2004  
 
Create rich client apps with the DOM
Move your Web applications beyond the handicap of the ubiquitous thin client architecture. Today's browsers finally support advanced client-side interactions across all objects in an HTML document. Thanks to the Document Object Model (DOM), UI designers can now create interfaces that let users manipulate data in real time while still offering the conveniences of a Web application. Author Mike Padilla shows you how to implement code that exposes robust client-side functionality that is both clean and extensible.
Articles 17 Feb 2004  
 
The Servlet API and NIO: Together at last
Think it's impossible to combine NIO and the Servlet API? Think again. In this article, Java developer Taylor Cowan shows you how to apply the producer/consumer model to consumer nonblocking I/O, thus easing the Servlet API into a whole new compatibility with NIO. In the process, you'll see what it takes to build an actual Servlet-based Web server that implements NIO; and you'll find out how that server stacks up against a standard Java I/O server (Tomcat 5.0) in an enterprise environment.
Articles 03 Feb 2004  
 
Prevent a cross-site scripting attack
Cross-site scripting (XSS) occurs when an attacker introduces malicious scripts to a dynamic form that allows the attacker to capture the private session information. In this article, Anand K. Sharma casts light on the areas vulnerable to XSS exploitation, explains how the user can protect himself, and details what the webmaster can do to secure a site from this type of malicious intrusion.
Articles 03 Feb 2004  
 
The cranky user: You don't exist. Go away.
People were mistakenly declared dead long before people had computers. Frustration results when something or someone tells you that you don't exist, an experience the cranky user examines in this month's column.
Articles 02 Feb 2004  
 
XML Watch: Planet Blog
Edd Dumbill explains how RSS feeds from weblogs can be aggregated to enhance communication among groups of software developers, and how XML/RDF can be used to describe multiple communities.
Articles 28 Jan 2004  
 
The cranky user: Anthills into mountains
Tired of having your technology problems solved by squashing your particular complaint into a pre-defined, generically generated problem template? In this installment, the cranky columnist, Peter Seebach, explains why form letters work, or rather, why they don't work.
Articles 07 Jan 2004  
 
Self-manage data buffer memory
The C programming language defines two standard memory management functions: malloc() and free(). C programmers frequently use those functions to allocate buffers at run time to pass data between functions. In many situations, however, you cannot predetermine the actual sizes required for the buffers, which may cause several fundamental problems for constructing complex C programs. In this article, Xiaoming Zhang advocates a self-managing, abstract data buffer. He outlines a pseudo-C implementation of the abstract buffer and details the advantages of adopting this mechanism.
Articles 06 Jan 2004  
 
Web site user modeling with PHP
Web site user modeling, a mathematical discipline, is easier than you might expect. In this tutorial, Paul Meagher shows you how to construct a user-modeling platform with PHP and MySQL -- technologies well suited for a species of user-modeling called Web site user modeling. Even small Web-development shops can use clickstream data to build Web site user models.
Tutorials 30 Dec 2003  
 
Content feeds with RSS 2.0
A lot has happened in the RSS world since developerWorks last looked at RSS: Two new specifications have come out, RSS has become one of the most popular XML standards, and tools and feeds are popping up everywhere. RSS has contributed to the explosion of weblogs, and it is becoming a standard part of other Web sites, too. This article reviews RSS 2.0, looks at new RSS developments, and jump-starts your understanding of this important format.
Articles 23 Dec 2003  
 
Apache Ant 101: Make Java builds a snap
Whether you're a veteran user of Apache Ant in need of a refresher or just starting out with this open source Java-based build tool, this tutorial provides a wealth of information. With Java developer and Ant enthusiast Matt Chapman from the IBM Java Technology Centre, you'll walk through the steps involved in writing a build file for a simple Java project, and then look at some of Ant's other useful functions, including filesystem operations and pattern matching. You'll finish the course by writing our own Java class that extends Ant's functionality.
Tutorials 17 Dec 2003  
 
The cranky user: Ease-of-use or marketing-driven sabotage
Recently, a router vendor configured its product to occasionally redirect HTTP requests to a product ad Web site and defended the action as an "ease-of-use" feature. In this installment, cranky Peter Seebach discusses why this type of design is wrong and the technical (and ethical) problems it can cause.
Articles 17 Dec 2003  
 
The cranky user: The importance of documentation
Computer documentation is shoddy, or more often absent. Missing information amplifies usability problems, leaving users stuck calling unfriendly technical support lines. In this installment of The cranky user, Peter Seebach explains what's missing in the documentation effort and why it is gone.
Articles 14 Nov 2003  
 
Remote scripting servlet in action
This article presents a Web-based incoming-call monitor for a Customer Service Representative (CSR) in a Customer Relationship Management, or CRM, product based on Erik Hatcher's work, "Remote scripting using a servlet." To take that a step further, Victor Yang here analyzes those requirements and looks into such design options as why IFRAME is recommended over XML-RPC. Finally, he'll show you how to customize the original framework while explaining the key issues that take place during implementation with the code snippets.
Articles 11 Nov 2003  
 
The cranky user: The recent brouhaha with Site Finder
When VeriSign launched its Site Finder service, it included a number of side effects. One was the redirection of mistyped domain names to its own Web site. Under pressure from the Internet Corporation for Assigned Names and Numbers (ICANN), VeriSign has suspended the new service pending further discussion. This article addresses some of the effects of the service.
Articles 24 Oct 2003  
 
J2EE pathfinder: Implement JSP custom tags in five easy steps
Kyle Gabhart introduces the basics of JSP custom tags and takes you through the five-step process of incorporating them into your JSP pages.
Articles 22 Oct 2003  
 
Create Web applets with Mozilla and XML
To go beyond simple HTML, historically the only options have been to use Java technology or plug-ins. Now, you have a new way -- write and display applications natively in XML. The Mozilla platform provides such a mechanism. In this article, Nigel McFarlane introduces XUL (the XML User-interface Language). XUL is set of GUI widgets with extensive cross-platform support that are designed for building GUI elements for applications that have traditional, non-HTML GUIs.
Articles 21 Oct 2003  
 
Apply probability models to Web data using PHP
To help developers learn to fit the benefits of probability modeling into Web application development, Paul Meagher introduces you to basic concepts, techniques, and PHP-based tools that define the area of probability modeling and probability distributions. He demonstrates how to develop univariate probability models in PHP; discusses how to fit empirical data distributions to a theoretical probability distribution; and showcases an important tool for all this -- the Probability Distributions Library (PDL).
Articles 07 Oct 2003  
 
Build and implement a single sign-on solution
It is particularly difficult to bolt a single sign-on solution -- SSO, the ability to log in once and be authenticated to all your network resources -- onto existing applications, but every developer faces this problem when building sophisticated portals. Because portals need to integrate with back-end resources, each with its own authentication needs, the portal often has to provide the appearance of single sign-on to the user. In this article, Chris Dunne provides a step-by-step description of his experience with building a single sign-on solution for a Web portal. He shows you how to set up an open source solution, the Central Authentication Service from Yale University, and how to extend it to authenticate to a Microsoft Active Directory infrastructure.
Articles 30 Sep 2003  
 
Grab headlines from a remote RSS file
In this article, Nick shows you how to retrieve syndicated content and convert it into headlines for your site. Since no official format for such feeds exists, aggregators are often faced with the difficulty of supporting multiple formats, so Nick also explains how to use XSL transformations to more easily deal with multiple syndication file formats.
Articles 23 Sep 2003  
 
Tip: Convert from HTML to XML with HTML Tidy
This tip demonstrates how to convert HTML documents to XML (or more specifically, XHTML) with a simple, open source tool, HTML Tidy. This conversion is useful for webmasters who are migrating to XML. It can also help XML converts who have to interface with legacy HTML tools.
Articles 18 Sep 2003  
 
The cranky user: What can users do?
Since some users have insisted, Peter decides to provide a value-add to bad software. In this installment of The cranky user, the author, against his better judgment, details four ways to get some use out of poorly designed systems. Bonus points: Some ways to help improve the software in the long run.
Articles 03 Sep 2003  
 
Strike a balance: Users' expertise on interface design
Computers and users process information in distinct ways -- so do individual users. Although it's relatively easy to get a computer to understand input, what with fixed standards and universal APIs, usability with human users is not absolute. User interface usability is relative to the experience level of individual users. UI designer Mike Padilla provides an overview of UI design for Web-based productivity software with a focus on the broadest range of users, examining what makes an application UI usable and detailing concepts that can facilitate an efficient, broad-based UI design.
Articles 02 Sep 2003  
 
Add interactivity to your SVG
Scalable Vector Graphics (SVG) is an XML-based language for drawing two-dimensional graphics. However, its capabilities are not restricted to simple static vector shapes. This article shows how you can add interactive elements to your SVG documents that respond to user input.
Articles 27 Aug 2003  
 
Access unusable log data with SQL
Application output logs create a very real dilemma. The logs can have too much output and be unmanageable, or too little output and be useless for tracing real problems. Developer Sam Mefford demonstrates that logging to an RDBMS can eliminate this problem, turning unusable output into informative reports. This article illustrates that by using SQL as a mining tool, data worth is greatly enhanced by revealing details of application usage, highlighting code fragments and queries that need optimization, and pinpointing the conditions that create hard-to-reproduce bugs.
Articles 19 Aug 2003  
 
Take Web data analysis to the next level with PHP
Effective, multi-level analysis of Web data is a critical element for the survival of many Web-oriented businesses, and the design (and determination) of data-analysis tests is often the job of systems administrators and in-house application designers who may not have an understanding of statistics beyond tabulating raw counts. In this article, Paul Meagher delivers the skills and concepts Web developers need to be able to apply inferential statistics to their Web data streams.
Articles 05 Aug 2003  
 
The cranky user: Yes, Virginia, security affects usability
Peter gets cranky over incoherent or ill-considered advice about security. In this installment of The cranky user, he looks at how security affects usability and offers some background information on the threats computers face -- types of attacks, types of security holes, and how these problems affect users.
Articles 01 Aug 2003  
 
J2EE pathfinder: Create and manage stateful Web apps
In this installment of J2EE pathfinder, Java developer and consultant Kyle Gabhart sheds some light on the proper handling of the four J2EE session scopes for stateful Web application development.
Articles 30 Jul 2003  
 
Speed Web delivery with HTTP compression
HTTP compression, recommended for improved page download time, requires a compression feature at the Web server and a decompression feature implemented at the browser. Dr. S. Radhakrishnan dissects Web compression, examines the benefits of HTTP compression, offers several compression tools, and highlights the effectiveness of the technology in a case study.
Articles 22 Jul 2003  
 
Working XML: Fundamentals of Web publishing with XML
As more developers learn and experiment with XML, many have become interested in using stylesheets to publish and manage Web sites. But getting started is not always that easy. Although none of the concepts, taken in isolation, is difficult, putting them together coherently is not a trivial undertaking. In this article, Benoit Marchal provides step-by-step instructions to get you started. He shows how to organize your project in source, rules (stylesheets), and publishing directories. You'll also get some practical tips on XML editors.
Articles 11 Jul 2003  
 
Secure remote data access for Domino
In this budget-conscious case study, John Liao demonstrates how an Apache reverse proxy server can keep sensitive Domino-server-based data secure while providing Web-enabled access to it for trusted users.
Articles 08 Jul 2003  
 
The cranky user: Strategies for handling customer feedback
If your Web site doesn't include a feedback mechanism, it probably should. In this month's Cranky User column, Peter explains the importance of listening to the customer, and helps you develop strategies for dealing with the different types of feedback you will receive.
Articles 03 Jul 2003  
 
Interactive, dynamic Scalable Vector Graphics
Scalable Vector Graphics (SVG) is an XML application language which describes 2D vector graphics. SVG includes animation and scripting functionality. Scripting of SVG images provides powerful and flexible interactivity to add value to images on SVG-enabled Web sites. In addition, SVG images can be created dynamically from XML data, for example from an XML-enabled relational database management system, using XSLT and other technologies. This tutorial demonstrates the use of JavaScript to enable users to dynamically control the content and appearance of a floor plan rendered using SVG.
Tutorials 27 Jun 2003  
 
Practical database design, Part 2
Philipp K. Janert talks about database normalization and the five Normal Forms, and also addresses history tables and event logging. Part 2 of an article on practical database design.
Articles 24 Jun 2003  
 
Learn from your customers for usable Web apps
Usability consultant Paul Englefield takes you on a journey to demonstrate that listening to your customers is the only way to provide the ultimate usability when designing an e-commerce site or Web-based applications. Through examples, the article weaves user-centered design techniques into the steps of designing an effective business site, focusing on gathering data about your customers' (and their customers') usage behaviors, offers two design models, and demonstrates how to integrate customers' input into the testing and evaluation process.
Articles 10 Jun 2003  
 
The cranky user: And in this corner: Copy protection versus usability
Peter gets cranky with software manufacturers that create copy-protection schemes (hard or soft) which affect users' abilities to actually use the software they've paid for. This article looks at the way in which copy-protection schemes have hurt users, as well as the trade-offs users face when developers choose between security and usability in software and Web pages in general.
Articles 06 Jun 2003  
 
Practical database design, Part 1
Philipp K. Janert talks about primary and foreign keys, and about simple and complex datatypes. Part 1 in a series on practical database design.
Articles 27 May 2003  
 
Generate dynamic bitmap graphics with PHP and gd
A picture is worth a thousand words, especially when it is used to illustrate business, financial, or scientific data. It is worth even more if you can generate it on demand and serve the latest information in the visual format. If your job requires writing such applications in PHP, then this tutorial will teach you how to generate dynamic bitmap images using PHP and the gd library.
Tutorials 07 May 2003  
 
The cranky user: What ever happened to professional ethics?
Peter gets cranky on Web designers, software engineers, and even customer service reps; all of whom, he says, could use a refresher course in professional ethics.
Articles 02 May 2003  
 
Implementing online chat in a Web portal
Online chat gives customers interacting with a company's Web site easy access to support or advice from customer service representatives directly over the Web. This article describes how to provide an online chat service between an external customer and company employee through a Web-based portal, and includes implementation details from prototyping conducted with WebSphere Portal Server and Lotus Sametime.
Articles 01 May 2003  
 
Simple linear regression with PHP, Part 2
Developer Paul Meagher addresses three shortcomings in his PHP math libary to date and shows how to craft a data-exploration tool designed to plumb the depths of information contained in small- to medium-sized datasets. Part two of two parts.
Articles 29 Apr 2003  
 
Create themes for Mozilla and Netscape
This tutorial demonstrates how to control the appearance of Mozilla and Mozilla-based browsers (such as Netscape 7 and above). It walks you through an example of creating an installable theme that you can download to change the look and feel of your browser and its components. The example theme makes use of XML, Cascading Style Sheets, and image resources to expand your experience with the browser, while requiring no programming knowledge.
Tutorials 15 Apr 2003  
 
The cranky user: The cranky user recants
As time goes on, we all have to admit our mistakes; even columnists at respected Web sites like this one. Perhaps it's time I addressed a few of the gaffes I've made during the history of this column. Really, it's not that bad; one column of recanting for more than twenty columns that were entirely flawless. I hope this column is enlightening, as it's a bit hard to back down from my earlier positions. Luck being on my side, my readers will meet me halfway.
Articles 01 Apr 2003  
 
Assess your e-business infrastructure for Web readiness
Russ Scadden and the IBM Special Events Team highlight 20 topic areas to help you determine whether your e-business environment and applications are Web-ready for prime-time use.
Articles 01 Apr 2003  
 
XHTML applications go mobile
Send XHTML apps to mobile devices. Follow this tutorial and learn to build a mobile app that posts requests to a Java servlet, and receives responses in XHTML. Regular contributor Naveen Balani has you develop and test it.
Tutorials 18 Mar 2003  
 
The cranky user: Customer service -- it matters
Usability testing on phone systems is a valuable lesson for Web developers. After all, happy customers help with happy business growth.
Articles 10 Mar 2003  
 
Simple linear regression with PHP: Part 1
Contributor Paul Meagher explains the necessity of a PHP-based math library and constructs a simple linear regression algorithm model as an example. Part one of two parts.
Articles 01 Mar 2003  
 
SAX-like apps in PHP
Nicholas Chase demonstrates a SAX-like method in PHP that allows developers to work with both local and remote XML files.
Articles 01 Mar 2003  
 
Experience remote usability testing, Part 2
Two Pervasive Computing specialists explain why and when remote usability testing is a benefit, illuminate application-sharing tools used for testing, and offer insights into their experiences. (Part 2 of 2.)
Articles 01 Feb 2003  
 
Integrating components
Judith M. Myerson delivers an overview of the promises and problems to providing component-integration benefits to the wireless world.
Articles 01 Feb 2003  
 
The cranky user: Whose computer is this, anyway?
Software that installs unwanted additional programs creates a substantial burden on users, and makes it hard to exercise control over our own computers and software!
Articles 01 Feb 2003  
 
Experience remote usability testing, Part 1
Two Pervasive Computing specialists explain why and when remote usability testing is a benefit, illuminate application-sharing tools used for testing, and offer insights into their experiences and the sometimes hard lessons they've learned. (Part 1 of 2.)
Articles 01 Jan 2003  
 
The cranky user: Pigeonholed
Web sites often try to categorize visitors, transactions, questions, and more. These categories can be unnatural or limiting to the user -- as well as annoying. How can online sites please their visitors, while extracting needed information from them?
Articles 01 Jan 2003  
 
Build an abstract Java API for regular expressions
When you work with regular expressions in Java, depending on a concrete regexp library is generally not a good idea. If you use an abstract layer, you can switch between different regexp libraries, reduce the coupling between your code and a particular library, and choose which one best fits your needs. If you are thinking about using a Java regexp library in your next project, software developer Jose San Leandro Armendariz shows you how to keep your code independent of your chosen concrete library. He'll give you a close look at regexps and how they work, then provide you with a little practice.
Articles 01 Dec 2002  
 
Zen and the art of installing Request Tracker 2.0.x
This tutorial is designed to be a thorough introduction and installation guide for the great issue tracking tool, Request Tracker (RT). RT fulfills a key need in a project's Configuration Management (CM) process. By the end of the tutorial, you will have a working installation of RT and ready to implement a CM process for your project. The primary focus is installing RT on the average GNU/Linux system. The tutorial also points out possible stumbling blocks in various installation steps.
Tutorials 05 Nov 2002  
 
Develop rock-solid code in PHP: Write reusable functions, Part 3
Part 3 on developing PHP code discusses building efficient functions that maintain performance and manageability. Amol Hatwar focuses on function reuse and the common problems that occur in PHP coding.
Articles 01 Nov 2002  
 
The Web's future: XHTML 2.0
Over the years, HTML has only become bigger, never smaller, because new versions had to maintain backward compatibility. That's about to change. On 5 August 2002, the first working draft of XHTML 2.0 was released and the big news is that backward compatibility has been dropped; the language can finally move on. So, what do you as a developer get in return? How about robust forms and events, a better way to look at frames and even hierarchical menus that don't require massive amounts of JavaScript.
Articles 01 Sep 2002  
 
Use Cascading Style Sheets selectors
With Cascading Style Sheets (CSS), page authors can control the appearance of content with more precision. CSS rules consist of a selector that determines the content to which the rule applies, and the properties and values that are set. While most developers are accustomed to using selectors that are based on tag names, CSS actually provides several different options that enable even greater control. This article discusses each type of selector and shows you how to use it.
Articles 01 Sep 2002  
 
Introduction to Xindice
This article is an introduction to an Open Source Native XML Database System, called Xindice (pronounced zeen-dee-chay). It is also an introduction to Native XML Database concepts.
Articles 01 Sep 2002  
 
Creating Java2D composites for rollover effects
When creating or using Java applications, you may have experienced some interesting rollover and/or selection effects when using default Swing mechanisms. A more consistent, more common result can be reached using the Java2D API which allows you to methodically define composite values for rollover and selection events. In this article, discover how images are constructed within Java language and how they can be manipulated using AWT composites.
Articles 01 Sep 2002  
 
Develop rock-solid code in PHP: Use variables effectively, Part 2
In this article, PHP veteran Amol Hatwar discusses how to use variables effectively. He also shows how to make script configuration easy by constructing a configuration file parser using variable variable names in PHP.
Articles 01 Sep 2002  
 
The cranky user: User interfaces
We look at a couple of the concepts discussed in Don Norman's book, The Design of Everyday Things, and how they might apply to computer interfaces.
Articles 01 Sep 2002  
 
The cranky user: Macro viruses
Usability and security, it is often said, have an inverse relationship. Developers must consider the trade-offs between usability and security when designing or developing a new system. In this article, I argue that macro viruses show how important it is to consider both sides of this trade-off, and also that, in some cases, security IS usability.
Articles 01 Aug 2002  
 
Exploring XML Encryption, Part 2
In this second installment, Bilal Siddiqui examines the usage model of XML Encryption with the help of a use case scenario. He presents a simple demo application, explaining how it uses the XML Encryption implementation. He then continues with his last implementation of XML Encryption and makes use of JCA/JCE classes to support cryptography. Finally, he briefly discusses the applications of XML Encryption in SOAP-based Web services.
Articles 01 Aug 2002  
 
Using HTML forms with PHP
One of the advantages of PHP has always been the ability to easily manipulate information submitted by the user through an HTML form. In fact, PHP version 4.1 adds several new ways to access this information and effectively removes the one most commonly used in previous versions. This article looks at different ways to use the information submitted on an HTML form, in both older and more recent versions of PHP. It starts out by looking at individual values and builds to a page that can generically access any available form values.
Articles 01 Aug 2002  
 
Develop rock-solid code in PHP: Lay the foundation, Part 1
In this article, PHP veteran Amol Hatwar gives a higher perspective for designing and writing bug-free, maintainable code for medium- to large-scale Web applications.
Articles 01 Aug 2002  
 
An introduction to object prevalence
Persisting state and data has always been a problem with object-oriented software. Over the years, developers have stored object data in many ways, including relational databases, flat files,and XML. None of these approaches really managed to keep the software purely object-oriented. The Prevayler team is changing this with the object prevalence concept. This article introduces object prevalence.
Articles 01 Aug 2002  
 
Secure your Web server
This tutorial details how to "lock down" a Web server in less than an hour. It covers physical security, the importance of firewalls, correct application installation, file permissions, application configuration, and techniques that allow Web page maintainers to do their job without sacrificing system integrity.
Tutorials 23 Jul 2002  
 
XHTML: The power of two languages
This article takes a pragmatic look at XHTML, a markup language that effectively bridges the gap between the simplicity of HTML and the extensibility of XML. It also covers the essential features of the various flavors of XHTML and includes discussions of the language and a number of real-world applications.
Articles 01 Jul 2002  
 
JavaScript and the Document Object Model
While the Document Object Model (DOM) is perhaps best known in its role as a foundation for working with XML, variations on the theme actually started in browsers with HTML. Now DOM has come full circle as newer browsers implement the W3C Document Object Model through client-side scripting, such as JavaScript. This article looks at the JavaScript approach to DOM and chronicles the building of a Web page to which the user can add notes and edit note content.
Articles 01 Jul 2002  
 
Information architecture concepts
An information architect is a vital member of a Web development team, playing a critical role in how content is organized on a Web site. This article seeks to clear up some of the misconceptions about information architecture and help define the role an information architect plays in Web site development.
Articles 01 Jul 2002  
 
Customizing Apache for maximum performance
Apache is a marvelously customizable daemon. You can tailor this web server software for specific platforms, environments, and performance thresholds. Unfortunately, most administrators run an out-of-the-box installation with few modifications to the default configuration. In this Linux-focused tutorial, you learn many suggestions, tips, and tricks for controlling Apache and modifying its behavior to best fit its running environment.
Tutorials 20 Jun 2002  
 
Internationalizing your Eclipse plug-in, Part 1: How to write Eclipse plug-ins for the international market
In this roadmap for writing Eclipse plug-ins destined for the international market, we begin with a brief review of the motivations and technical challenges of internationalization, followed by step-by-step instructions for internationalizing your plug-in. We then examine how these steps were applied to the internationalization of the Eclipse Platform, itself.
Articles 01 Jun 2002  
 
The cranky user: Everything I need to know about usability, I learned at the arcade
A program that is integral to the operation of your business can be hard to use -- yet you will use it anyway. A video game that is hard to use is no fun, and you won't use it. Forged in this crucible is an attitude that's common to most games: Usability is paramount. Productivity software should learn some of the same lessons.
Articles 01 Jun 2002  
 
Create a printable and searchable version of your online documentation
Creating a PDF version of your online documentation or Web site is easy and provides an simple way for users to print, view, and search the information online or offline . This article walks you through using Adobe Acrobat to convert your existing Web site or online documentation into a single PDF file that users can print, download, and easily search.
Articles 01 Jun 2002  
 
Developing a technical architecture for Web-based enterprise software systems
As Web-based enterprise software systems become a reality, the need to understand and plan for infrastructures that support these applications grows. Application developers need to understand the processes and the issues involved in developing this infrastructure so they can architect and design their applications accordingly. This article elaborates on the issues associated with developing a technical architecture for Web-based enterprise software systems.
Articles 01 Jun 2002  
 
Improving Web page loading
When your Web pages load, you can't afford to let people be bored by a blank page at the outset. This article gives some tips on how to avoid common page loading problems and give users that valuable information they want even as more downloading takes place.
Articles 01 May 2002  
 
Managing structured Web service metadata
This article builds on an earlier developerWorks article on using the Resource Description Framework (RDF) to enhance WSDL, and related to a recent article on using SOAP with RDF. Uche Ogbuji looks at how updates in WSDL affect the techniques presented earlier, and draws on the significant discussion of RDF and Web services description to show how developers can use both to their advantage.
Articles 01 Apr 2002  
 
Flex your PHP
When you're working with the Wireless Markup Language, you should know that it can get more dynamic with the use of PHP. Contributor Vivek Malhotra takes you through sample Hypertext Preprocessor tasks. After following this free, dW-exclusive tutorial, which contains detailed sample code, you'll be able to create dynamic wireless and Web pages.
Tutorials 19 Mar 2002  
 
UCD for different project types, Part 1
Today's software applications need to be both useful and usable, supporting simple and efficient completion of tasks by the intended user audience. Much has been written about methodologies for designing software that meets user needs. But little emphasis has been placed on what types of activities are truly essential in achieving these goals. Here in part 1 of this two-part article, the authors tap into their 30+ years of combined experience in applying such techniques to boil the design of useful and usable software down to its essential activities.
Articles 01 Mar 2002  
 
UCD for different project types, Part 2
This article describes the applicability of core activities across a range of development project types -- selection and possible customization of a vendor application, evolution and rewrite of an existing application, and creation of a new application.
Articles 01 Mar 2002  
 
More Web-based wizard tips and tricks
Building on the concepts presented in her first developerWorks article, "Crafting a wizard," Jodi Bollaert dives deeper into the art and science of developing effective wizards. The first half of this article covers tips and tricks related to the wizard development process; the second half includes more insights about wizard interface design.
Articles 01 Jan 2002  
 
Exchanging information with a server without reloading your HTML page
Does constant page reloading make your Web site a resource hog? Perhaps your applications are spending too much time communicating with the server, reloading the entire page when only part of it needs to be changed. This not only decreases Web performance, but also increases Web server workload and traffic between server and client. Fortunately, there are techniques you can employ to solve these problems. Here, developer Tong Li offers three such techniques.
Articles 01 Jan 2002  
 
Working XML: Compiling XPaths
This month our columnist describes how he implements the DFA construction algorithm, giving the first concrete example of using the compiler to recognize XPath.
Articles 01 Jan 2002  
 
JavaScript floating objects
This tutorial is targeted at Web developers who want to create objects, such as images and menus, that hold their place (or float) in the browser window even when the user scrolls or resizes the window. You can achieve the same effect using JavaScript in the browser -- creating content, placing it, and controlling its location as the user scrolls or resizes the page.
Tutorials 20 Dec 2001  
 
Implementing Internet call management
The might of the Internet has been applied to many different business areas, from finance to HR. Here, Jon Hatcher introduces the benefits and implementation issues of an Internet call centre, focusing on the server-side technologies that glue the solution together. Jon also discusses the need for accurate statistics and reliable communication of data, along with other session management issues on the Internet. He includes an example written in PERL and Apache.
Articles 01 Dec 2001  
 
Understanding dynamic positioning
This tutorial is designed to assist Web developers who need tight control over the placement of content on their pages, but who understand the need to separate content from presentation in order to improve compliance with standards and ease of maintenance.
Tutorials 13 Nov 2001  
 
Empowering users with launchpads
Today's software designs attempt to limit the amount of expertise that's required of end users. As a result, usability and help mechanisms, such as wizards, have gained in popularity. However, sometimes even the most well-designed wizards are not enough to help end users successfully complete complex tasks. If you encounter this problem, a launchpad may be a relatively inexpensive solution. Here, Daina shows you what a launchpad is, how it can be useful, and how to design one that effectively empowers your users to be more productive.
Articles 01 Nov 2001  
 
Modularization of XHTML
This tutorial is designed for users who need to understand the modularization of XHTML, either to use a subset of XHTML, or to add their own tags to create their own markup language variants.
Tutorials 23 Oct 2001  
 
The cranky user: Constraining users with modal dialogs
Most GUI's incorporate a "modal" interface -- one that prevents you from doing anything else until you've completed the current task. This is almost always a mistake because it restricts user choices, often for no good reason. In this article, Peter explores the specifics of how modal dialog boxes can be inappropriate and annoying.
Articles 01 Oct 2001  
 
Preparing for supply chain architectures
Corporate Web architectures are likely to change as companies connect more fully with their supply chain partners. In this article, analyst Anne Zieger describes what changes will probably take place, and why.
Articles 01 Oct 2001  
 
Enabling XML security
XML is a major enabler of what the Internet, and latterly Web services, require in order to continue growing and developing. Yet a lot of work remains to be done on security-related issues before the full capabilities of XML languages can be realised. At present, encrypting a complete XML document, testing its integrity, and confirming the authenticity of its sender is a straightforward process. But it is increasingly necessary to use these functions on parts of documents, to encrypt and authenticate in arbitrary sequences, and to involve different users or originators. At present, the most important sets of developing specifications in the area of XML-related security are XML encryption, XML signature, XACL, SAML, and XKMS. This article introduces the first two.
Articles 01 Sep 2001  
 
Designing a Palm user interface, Part 1
Porting an application from a Windows to a Palm OS environment is no mean feat. A diverse IBM development team shares experiences and lessons it learned during just such a development process. This will give other software developers and interaction designers food for thought when undertaking similar processes. Although the case study presented here is specific to the port of a wireless client, the observations are useful to those who develop any kind of application for the Palm OS, regardless of whether that application has a Windows legacy or not. Here, in Part 1, the authors examine how Palm OS features -- specifically, non-object-oriented graphical user interface and modal applications -- affect the process of porting an application from Windows to the Palm.
Articles 01 Sep 2001  
 
Writing a simple IPv6 program
This article discusses the concepts behind a simple IPv6 program -- specifically, how IPv6 solves the problems of address space and large routing tables. A programmer familiar with IPv4 will be able to recognise an IPv6 address and configure one for his machine. The article also covers tunneling, mapped addresses, and porting IPv4 to IPv6 applications, as well as the logic of enabling an IPv4 client to handle IPv6 addresses.
Articles 01 Sep 2001  
 
Rapid Web development
What do you do when you need to have a Web site done "yesterday"? This article answers that question, showing you how to create sites quickly and flexibly using Web standards like cascading style sheets (CSS), structural HTML, and server-side includes. It contains examples that demonstrate how rapid Web development not only streamlines the process, but also makes updating easier.
Articles 01 Sep 2001  
 
The cranky user: What's with the attitude?
When users complain about sites, webmasters frequently respond with hostility, derision, condescension, or just plain silence. No wonder users rarely bother to complain. Bad attitudes stand between the site you created and the site your users want to use.
Articles 01 Sep 2001  
 
Crafting a wizard
Designing an effective wizard is no magician's trick. Even though wizards are intended to make complex tasks appear easy, shielding users from complex details is real work to designers and developers. This article will share 15 dos and don'ts gleaned from the author's experience to help you create a wizard that works.
Articles 01 Sep 2001  
 
The gentoo.org redesign, Part 4: A site reborn
Have you ever woken up one morning and suddenly realized that your cute little personal development Web site isn't really that great? If so, you're in good company. In this series, Daniel Robbins shares his experiences as he redesigns the Gentoo Linux Web site using technologies like XML, XSLT, and Python. This article: Daniel completes the conversion to XML/XSLT, fixes a host of Netscape 4.x browser compatibility bugs, and adds an auto-generated XML Changelog to the site.
Articles 01 Aug 2001  
 
The cranky user: The Principle of Least Astonishment
When computers are at their most usable, we don't even notice them; when they are at their least, they astonish us. Here, Peter explores the Principle of Least Astonishment, and how it can help you develop better interfaces.
Articles 01 Aug 2001  
 
Microbrowser architectures
Web architecture is evolving in new directions now that wireless devices have become a part of the Internet's information infrastructure. In this article, Anne describes various architectures used to support the microbrowsers that connect wireless devices to the Web.
Articles 01 Aug 2001  
 
Fly on the Wall
For developers to make products that delight customers, they need adequate information about who exactly the customers are and what their requirements are. The User-Centered Design (UCD) process provides numerous options for gathering both customer and user input, with wide variation regarding the time involved, labor required, overhead costs, and validity of the information collected. The "Fly on the Wall" (FOTW) technique is a low-cost, low-overhead method of collecting valid customer data. The method is illustrated here through a pilot study that used first-hand, unobtrusive observations by UCD practitioners to collect valid customer data in a timely, cost-effective manner in collaboration with development and marketing staff.
Articles 01 Aug 2001  
 
The cranky user: Sherlock users, Ur 0wn3d!
Update: A number of people have written to point out that a lot of searchsites complained that they were getting no ad revenue when Sherlock searched their sites, and that this is why Apple added ads to Sherlock. This is a reasonable thing; what's not reasonable is that Apple insists on showing you ads for Apple products when you're viewing a site that doesn't provide ads to Apple, because it doesn't depend on ad revenue. For instance, an online store may want Sherlock users to search its product listings -- and may well not want the users to be bombarded with ads for Apple's (competing) online store.
Articles 01 Aug 2001  
 
Preparing your Web site for machine translation
Machine translation is a sophisticated technology. However, it is not as sophisticated as human language. Understanding how MT works on the Web helps designers and developers prepare Web pages for MT. Preparatory tactics improve the usability of MT output.
Articles 24 Jul 2001  
 
The gentoo.org redesign, Part 3: A site reborn
Have you ever woken up one morning and suddenly realized that your cute little personal development Web site isn't really that great? If so, you're in good company. In this series, Daniel Robbins shares his experiences as he redesigns the www.gentoo.org Web site using technologies like XML, XSLT, and Python.
Articles 01 Jul 2001  
 
The impact of peer-to-peer on data management issues for developers
Enterprise peer-to-peer technology is still relatively new. But as peer-to-peer becomes more widely known, it will bring changes in how data is managed within enterprises. This article offers developers a look ahead at emerging P2P data management practices, offering insights into how these implementations will differ from conventional database-driven structures of today.
Articles 01 Jul 2001  
 
The cranky user: Making URLs accessible
Many Web pages, especially those created in authoring tools, have a tendency to treat URLs as impenetrable magic cookies. Users benefit when URLs are kept readable and understandable, and when the structure of a URL reflects the structure of the site. Even naive users may be helped by such a design. Here, Peter takes a look at why it's important to make URLs accessible, and offers some strategies for doing this effectively.
Articles 20 Jun 2001  
 
Web-based data mining
The World Wide Web is now undeniably the richest and most dense source of information the world has ever seen, yet its structure makes it difficult to make use of that information in a systematic way. The methods and tools described in this article will enable developers familiar with the most common technologies of the Web to quickly and easily extract the Web-delivered information they need.
Articles 01 Jun 2001  
 
The cranky user: Instant back buttons
We'll see how Web sites have the power to attract or repel, and how many commonly-accepted Web design features actually drive users away -- even before the page is finished loading.
Articles 24 May 2001  
 
The cranky user: Keeping up appearances
Last time, Peter Seebach examined why it's important to implement privacy policies that work. This time he talks more about your Web page content. In your effort to create usable Web pages, don't forget to make sure your textual content is up to snuff.
Articles 09 May 2001  
 
The gentoo.org redesign, Part 2: A site reborn
Have you ever woken up in the morning to the realization that your personal development Web site isn't really that great? If so, you're in good company. In this series, Daniel Robbins shares his experiences as he redesigns the www.gentoo.org Web site using technologies like XML, XSLT, and Python. Along the way, you may find some excellent approaches to use in your next Web site redesign. In this, the second installment, Daniel shows off the new documentation system and sets up a daily CVS-log mailing list.
Articles 01 May 2001  
 
A cross-browser DHTML table
The HTML table tag allows users to organize content in a Web page efficiently and in an easily readable form. However, this tag has limitations if you want to do something more than just display the data. You can use Java applets, but they take forever to load and are cumbersome. In this article, Shelley describes how users can create a cross-browser table with DHTML and JavaScript, which does most of the things that a table component written in Java might do.
Articles 01 May 2001  
 
Sending rich messages between client and server using asynchronous messaging
Erik's previous article, "Remote scripting using a servlet," described an infrastructure for asynchronous remote scripting between a browser and a servlet backend. This article expands on that premise by describing an asynchronous messaging system that allows rich messages to be sent back and forth between client and server. In order for these messages to be compliant with most browsers, they will be sent as JavaScript objects. This article builds on the code presented in the earlier piece, and creates an automated messaging layer so that the browser and server can keep in constant contact with one another.
Articles 01 May 2001  
 
The cranky user: Respecting user privacy, Part 3
In the previous article, we examined why it's critical to have effective privacy policies in place, and what goes into one. Here, we add a few more suggestions for implementing policies that work and discuss the importance of sticking by your policy.
Articles 27 Apr 2001  
 
The cranky user: Respecting user privacy, Part 1
We'll look at why privacy is a much-abused buzzword. The e-commerce industry has failed miserably to produce consumer confidence; not because we haven't tried to do so, but because we've done it through dog-and-pony shows, rather than real respect for personal data.
Articles 24 Apr 2001  
 
The cranky user: Respecting user privacy, Part 2
In Part 1, we examined why it's important to have an effective privacy policy in place. Here, we take a look at best ways of earning the trust of your users through straightforward, clearly-worded policies that meet consumer needs.
Articles 12 Apr 2001  
 
Make your Web page picture perfect with frames
Despite the presence of frames in HTML 4.0, Web designers still rely on tables for page layout. However, tables are not as resource efficient as frames and they do not present information as effectively as frames can. Frames minimize unnecessary page reloads, load common parts of your site once, and reduce the amount of page scrolling. Find out the benefits of frames and learn the secret to your pages rendering quickly and efficiently.
Articles 01 Apr 2001  
 
Attribute Explorer
Andy Smith takes a look at some of the benefits of an interactive presentation and exploration of data. He examines some traditional methods of step-by-step data exploration and filtering, and identifies their shortfalls. He introduces Attribute Explorer, and shows how its benefits are brought to bear on the problems identified. Finally, he discusses the potential use of Attribute Explorer in a car showroom kiosk application.
Articles 01 Apr 2001  
 
An XSLT style sheet and an XML dictionary approach to internationalization
In this article, Laura will show you how to leverage XML and XSLT technology to enable dynamic internationalization of your Web pages through a dictionary-driven approach. Provided is a sample of a generic XSLT style sheet that you can extend or include in your applications. Also included is a sample dictionary layout that will work along with the style sheet. This approach will allow you to minimize the number of files you need to edit when the content on your site changes.
Articles 01 Apr 2001  
 
Creating Dynamic HTML in Internet Explorer 4+ using JavaScript
This excerpt outlines how you can access the tags in an HTML page to change them dynamically and enhance user interaction. It describes a couple of simple (but fun) examples of creating dynamic content in HTML pages using JavaScript for use on Microsoft's Internet Explorer browser, version 4.0 and later.
Articles 01 Apr 2001  
 
The usability world according to Tog
Bruce Tognazzini has been at the forefront of the ongoing user interface debate for the past 20 years. He has been a relentless advocate of his own design principles, even when his work has been downplayed or ignored by computer companies that have hired him. This piece surveys his thoughts on the problems of usability, based on his online and offline writings. Since he has never been afraid to express his opinions on the subject, there's plenty of material to work with.
Articles 01 Apr 2001  
 
The cranky user: Curbing JavaScript dependency
Here, we'll take a look at the pitfalls of JavaScript. JavaScript can be used as an enhancement, but too often it ends up rendering a page unusable to people who don't run it. There are a number of good reasons why it might not be running in a given browser, and pages should never depend on it.
Articles 20 Mar 2001  
 
The cranky user: How not to make your site accessible
This article contains a set of principles for making your site as inaccessible as possible.
Articles 13 Mar 2001  
 
The gentoo.org redesign, Part 1: A site reborn
Have you ever woken up one morning and suddenly realized that your cute little personal development Web site isn't really that great? If so, you're in good company. In this series, Daniel Robbins shares his experiences as he redesigns the www.gentoo.org Web site using technologies like XML, XSLT, and Python.
Articles 01 Mar 2001  
 
Measuring Web traffic, Part 2
The best way to know whether your Web site is achieving its goals is to gather extensive traffic data. Here in the second of the two part series, the authors show you how to obtain detailed traffic measurements through analysis of HTTP server logs.
Articles 01 Mar 2001  
 
Measuring Web traffic, Part 1
The best way to know whether your Web site is achieving its goals is to gather extensive traffic data -- not just how many hits you're getting, but which pages are popular, who's visiting your site, when do they visit, and a host of other data that can give you a clearer idea of what's going on. In this article, Scott, Tom, and Andrei introduce you to the benefits of measuring Web traffic, exploring the importance of Web metrics, and describing various approaches of collecting Web data. They also show you how to choose whether to tackle this effort in-house or turn to an application service provider. Finally, they tell you how to make use of this data once it's been collected.
Articles 01 Mar 2001  
 
Remote scripting using a servlet
The users of Web applications have suffered a dramatic shift in experiences from the world of desktop applications. Many Web applications do not at all mimic the usability, interactivity, and dynamic nature that is available in typical standalone or client-server desktop applications because of the constraints that HTML and HTTP impose. Here, Erik Hatcher explains how remote scripting can be used to enhance the interactivity and dynamic nature of a Web application experience.
Articles 01 Feb 2001  
 
Language support in Apache through negotiation
If you've ever flicked through an Apache's httpd.conf file, you might have noticed a few lines near the top reading AddLanguage de .de and AddLanguage fr .fr. In this article, David Seager explains what they are, what they do, and how you can use them.
Articles 01 Feb 2001  
 
Icons to go!
These guidelines are written primarily for designers of icons for Windows 95/NT products, though many of the recommendations described here can equally be applied to software products developed for AIX (UNIX), OS/2, and Apple platforms; note that these platforms all have their own specific requirements regarding color palettes, resolution variants, and platform styles.
Articles 01 Feb 2001  
 
PHP by example, Part 2
As a language for building dynamic Web pages, PHP offers a simplified method for constructing complex and powerful Web-related programs. Step by step, Erik demonstrates the fundamental principles of PHP in an original real-world Web site example. In Part 2 of this series, he shows you how the delivery module presents a menu of stories to the reader, and how the authoring module permits authors to submit stories to a Webzine.
Articles 02 Jan 2001  
 
PHP by example, Part I
As a language for building dynamic Web pages, PHP offers a implified method for constructing complex and powerful Web-related programs.Step by step, Erik demonstrates the fundamental principles of PHP in an original, real-world Web site example. Part 1 of this two-part series offers the basics of PHP and features a Webzine that includes an author's page where content providers can enter the text of articles, as well as a front end for presenting this content to the world.
Articles 12 Dec 2000  
 
  1 - 797 of 812 results    Next   Show All   Hide Summaries
Not finding what you're looking for? Suggest Content