phpfunk.com


Technology News

Open Source

Use Ext, Aptana, and AIR to build desktop applications

While Rich Internet Applications and Web 2.0 have been all the rage, the latest wave of emerging technologies are focusing on not only giving Web applications a desktop-like feel but actually bringing them to the desktop. The Adobe Integrated Runtime (AIR) has led the way, allowing Web application developers to leverage their existing knowledge of HTML, CSS, JavaScript, Flash, and Flex to build powerful desktop applications. In this tutorial, you will use the open source Aptana Studio IDE, the Adobe AIR plug-in for Aptana, and the open-source JavaScript framework Ext.

Build a RESTful Web service

Representational state transfer (REST) is a style of designing loosely coupled applications that rely on named resources rather than messages. The hardest part of building a RESTful application is deciding on the resources you want to expose. Once you've done that, using the open source Restlet framework makes building RESTful Web services a snap. This tutorial guides you step-by-step through the fundamental concepts of REST and building applications with Restlets.

Give Apache Geronimo a Lift

Lift is a new Web application framework. It is a highly scalable framework built on the Scala programming language. It is the perfect partner for a highly scalable application server, such as Apache Geronimo, especially since Scala compiles to byte code just like the Java language and leverages the Java platform. In this article, you will learn how to create a Web application using Lift and deploy it to Geronimo.

Running an Ant task on the IBM Rational Software Delivery Platform

Learn how to create and invoke an Ant task capable of running in headless (command line) mode to produce a list of changes between two UML models. Prerequisite: Version 7.0.0.5 of any of these tools: IBM Rational Application Developer, Rational Software Architect, or Rational Software Modeler.

Debug iPhone Web applications with Eclipse

Learn how to debug Asynchronous JavaScript + XML (Ajax) Web applications using Eclipse, Aptana's iPhone Development plug-in, Aptana's Firefox JavaScript debugger, and Firebug.

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.

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

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.

Manage your Informix database with the IDS OpenAdmin Tool, Part 2: Migrate from Informix Server Administrator to the IDS OpenAdmin Tool

Migrate from the Informix Server Administrator (ISA) to the OpenAdmin Tool. Also, learn about the basic capabilities of ISA that are made available on OAT, along with enhanced functionalities and greater ease-of-use.

Manage your Informix database with the IDS OpenAdmin Tool, Part 1: Configuring and using the OpenAdmin Tool with IDS

IBM Informix Dynamic Server (IDS) is well known for ease of administration. To make server administration more user friendly, a new open source, platform-independent tool called OpenAdmin Tool (OAT) is now available to IDS users The OpenAdmin Tool provides graphical interface for administrative tasks and performance analysis tools. Introduced with IBM Informix Dynamic Server version 11.10, it is a PHP-based, Web browser administration tool that gives you the ability to administer multiple database server instances from a single location. This article highlights some of the most useful features of OAT and helps you get started.

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

Automation for the people: Continual refactoring

Refactoring is a well-accepted practice for improving existing code. Yet, how do you find the code that should be refactored, in a consistent and repeatable manner? In this installment of Automation for the people, you'll learn how to use static analysis tools to identify code smells to refactor, with examples showing how to improve odiferous code.

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.

Apache Geronimo on Grails

Do you want to build your Web sites faster and cheaper, but still leverage industrial-strength technology? You can do just that using Grails and Apache Geronimo. Grails leverages the power of the dynamic language Groovy to accelerate your development. However, it runs on the Java Virtual Machine and leverages proven Java technologies. This makes it easy to take your Grails application to the next level by deploying it to Apache Geronimo, the premiere open source Java EE V5-certified application server. In this article, you will see how easy Grails can make Web development and how easy Geronimo can make Grails deployment. You will also see how a Grails application can leverage the resources and services provided by Geronimo.

Advanced charting in BIRT

Since 2004, the Eclipse-based Business Intelligence and Reporting Technology (BIRT) community has grown and gained massive success. This success is growing as more users are starting to integrate with BIRT technology to present business data. A key reason for this success is that users are discovering the rich BIRT reporting components. The BIRT charting capabilities is one of the rich components that allow the end user to uncover trends in data to answer business questions. BIRT provides extensive interactive charting and other advanced features to allow report developers to create professional-looking reports.

Build Web services with PHP in Eclipse

Learn how to build Web services in PHP using the PHP Development Tools (PDT) plug-in in Eclipse in three easy steps. First, become familiar with the PDT project, and learn how to create and deploy useful PHP projects. Second, learn the philosophy behind contract-first development. Finally, get an informative overview of the basic parts that make up a Web Services Description Language (WSDL) file.

Getting graphic with PHP

Imagine creating Web-page graphics dynamically using just code -- no need for a complex graphics program. Creating and manipulating images is yours for the doing with the power of PHP. Put your coding skills to work generating images for the Web.

Create a productivity package with the Zend Framework V1.5 and Google applications, Part 1: Getting started with Zend Framework V1.5

Google applications provide amazing productivity tools. From sharable calendars, collaborative documents and spreadsheets to even a database, they have reinvented what one can do in the Web browser. Zend Framework V1.5 provides an API to connect to these services to extend what these tools offer. In this three-part "Create a productivity package with the Zend Framework V1.5 and Google applications" tutorial series, we will build an application with Zend Framework V1.5 that uses the Google applications. Here in Part 1, we explore the various features of the Zend Framework, outlining the many new features in V1.5 that we will take advantage of to build an example Web site.

Interfacing with the CDT debugger, Part 2: Accessing gdb with the Eclipse CDT and MI

The graphical debugging environment provided by the Eclipse C/C++ Development Tooling (CDT) is about as good as it gets, displaying breakpoints, watchpoints, variables, registers, disassembly, signals, and memory contents. You can add new capabilities to this environment or access these views to display output from a custom debugger. But first, you need to understand the C/C++ Debugger Interface (CDI) and how it communicates with Eclipse. Part 1 describes the CDI at a high level, and this article presents a practical example: How the CDT uses the CDI and the Machine Interface (MI) to interface the GNU Debugger.

Eclipse Ganymede at a glance

The Eclipse Ganymede release of 24 projects showcases the diversity and innovation going on inside the Eclipse ecosystem. Get an overview of several Ganymede projects, along with resources to find out more information.

Debugging PHP using Eclipse and PDT

The PHP Development Tools (PDT) plug-in, when installed with Eclipse Europa, gives you that ability to quickly write and debug PHP scripts and pages. PDT supports two debugging tools: XDebug and the Zend Debugger. Learn how to configure PDT for debugging PHP scripts and discover which perspectives you use when taking closer looks at your scripts.

Mastering Facebook application development with PHP, Rational Application Developer, WebSphere Application Server, and DB2, Part 3: Complete the Facebook stock broker demo application

This is the final tutorial of a three-part series on developing a fully functioning Facebook application in PHP and Java languages that provides a Facebook interface to an existing stock brokerage's trading application. In this tutorial you use all the tools you installed and components you developed in the first two parts of this series to implement the specifics of the Facebook application.

Interfacing with the CDT debugger, Part 1: Understand the C/C++ debugger interface

The Eclipse C/C++ Development Tooling (CDT) is one of the most well-known open source environments for C/C++ development, and its full-featured debugger plays a large role in its popularity. What isn't as well known is that the CDT framework can be extended to support custom debuggers. With the right plug-in, a custom debugger can access the full spectrum of the CDT's graphical debugging environment: code-stepping, watchpoints, breakpoints, register contents, memory contents, and variable views. Learn how to construct this plug-in, with a focus on the C/C++ Debugging Interface (CDI).

Automation for the people: Pushbutton documentation

Project documentation is often one of the necessary evils in delivering a software product. But imagine being able to generate your documentation at the click of a button. In this installment of Automation for the people, automation expert Paul Duvall explains how you can use open source tools to automate the generation of Unified Modeling Language (UML) diagrams, build figures, entity-relationship diagrams (ERDs), and even user documentation.

Visualizing time-dependent data with distortion portals

Create an SDL-enabled application that allows you to create distortion portals in sequential image frames to explore the relationship of data sets through time.

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.

Embed the NASA World Wind Java SDK in Eclipse

The open source World Wind Java (WWJ) SDK by NASA creates new possibilities for the open Geographic Information Systems (GIS) community. World Wind, a 3D interactive world viewer written in the Java language and OpenGL, lets users zoom from outer space into any place on Earth. This article explains how GIS developers who want to enhance their Eclipse-based applications can embed the WWJ SDK as an Eclipse plug-in.

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.

Add multitouch gesture support to a TouchPad-equipped laptop

Enable swipe and pinch gestures for Linux applications by analyzing synclient program output for a Synaptics TouchPad.

Use JRuby on Rails and XML to supercharge Ajax with a Java Application Server

The Ruby on Rails framework has handy XML features that will make developing with and serving database data in XML format to your JavaScript applications easier than ever. JavaScript also has built-in XML parsing capabilities that make it a snap to receive and parse data in XML format. But what if you now want to hook into Java applications without having to deploy another server? That's where JRuby comes in. JRuby on Rails is the Java implementation of the Ruby on Rails framework and brings the benefits of Rails to Java programming by allowing deployment of Ruby apps to Java application servers. In this tutorial, you'll develop a JRuby on Rails application deployable to a Java application server that will serve database data in XML format to an Ajax client that you'll build for film lovers to manage their online films database. You'll also deploy a couple of Java Server Pages pages on the same Java application server to assist the Ajax client in adding and updating films.

Build software with Gant

Gant is a highly versatile build framework that leverages both Groovy and Apache Ant to let you implement programmatic logic while using all of Ant's capabilities. In this tutorial, Andy Glover guides you step-by-step through Gant's fundamental concepts. You'll learn how to define behavior in your build through Gant's flexible domain-specific language, how to reuse Ant features, and how to define functions that make your builds more efficient and even proactive.

Meet the JavaScript Development Toolkit

The JavaScript Development Toolkit (JSDT) is an open source plug-in that brings robust JavaScript programming tools to the Eclipse platform. JSDT streamlines development, simplifies code, and increases productivity for pure JavaScript source files and JavaScript embedded in HTML.

Open an Eclipse Rich Client Platform application from a URL

Imagine being able to navigate to the rich function of a Rich Client Platform (RCP) application just as easily as you can navigate to a Web page today. Follow along to enable the opening of specific business objects in your Eclipse RCP application simply by clicking a URL.

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.

Setting up your own on-demand video site with PHP, Part 2: Basic structure

Setting up your own on-demand video site doesn't have to be complicated. Upload some videos and put them up for people to watch. Easy enough. But if you're going to be doing a lot of videos, you'll need a way to keep them organized. This three-part "Setting up your own on-demand video site with PHP" tutorial series will take you through what you need to know to create video optimized for the Web, as well as creating a PHP application that will keep your videos organized and readily accessible. Part 1 lays the groundwork by assembling and installing the necessary components, and gathering and converting the video. Part 2 builds the basic application using CakePHP.

Picking the right Eclipse distribution for you

Which Eclipse distribution is right for you? Commercial distributions (distros) based on Eclipse Europa offer different features and conveniences. Many commercial ones also offer free or community editions to download and use. This article compares the CodeGear JBuilder 2008 Turbo trial version, nexB EasyEclipse, IBM's Europa bundles, and Innoopract's Yoxo On Demand distros -- all of which allow you to download a prepackaged, customized version of Eclipse Europa, and many of which already contain the plug-ins and tools you need to start working right away.

Process and integrate Google Notebook data with PHP

Google Notebook is a free service that allows users to save and share notes and Web clippings in an online journal. A REST-based API allows developers to build customized PHP applications around this service using SimpleXML. In this article, you learn how to use the API, with examples of reading notebooks and notebook contents using PHP.

Understanding Eclipse's new bundle-management mechanism

Learn how to fill the gap between the IBM Rational Functional Tester and the console of Eclipse-based products by supporting the OSGi commands install, ss, start, stop, headers, active, update, and uninstall. The solution offers an effective approach for automation test-case support when the manifest of an Eclipse-AutoStart header has been upgraded to Eclipse-LazyStart. This article presents test scenarios to verify that the bundle-management mechanisms work well.

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.

Integrate external tools and builders in Eclipse

With launch configurations in Eclipse Europa, you can run external programs from within the development environment and save settings for how you call an external program. Learn how to build and use these launch configurations, including the types of automatic parameters available.

The future of PHP

PHP's next edition, V6, includes new features and syntax improvements that will make it easier to use from an object-oriented standpoint. Other important features, such as Unicode support in many of the core functions, mean that PHP V6 is positioned for better international support and robustness.

Automation for the people: Manage dependencies with Ivy

Managing source-code dependencies among projects and tools is often a burden, but it doesn't need to be. In this installment of Automation for the people, automation expert Paul Duvall describes how you can use the Apache Ant project's Ivy dependency manager to handle the myriad dependencies that every nontrivial Java project must manage.

Mock Web services with Apache Synapse to develop and test Web services

Apache Synapse is a simple, lightweight, high-performance enterprise service bus (ESB) released under the Apache License, Version 2.0 from the Apache Software Foundation. Using Apache Synapse, you can filter, transform, route, manipulate, and monitor SOAP, binary, XML, and plain text messages that pass through your large-scale enterprise systems by HTTP, HTTPS, Java Message Service (JMS), Simple Mail Transfer Protocol (SMTP), Post Office Protocol Version 3 (POP3), FTP, file systems, and many other transport mediums. But for an individual developer, what's the use of an ESB product in your day-to-day life? The simplicity of the configuration, out-of-the-box feature set, extensible architecture, and the minimal footprint makes it a versatile and powerful tool that you can use for a variety of tasks. This article examines how you can use Apache Synapse to create mock Web services.

Migrating to ext4

Ext4 is the latest in a long line of Linux file systems, and it's likely to be as important and popular as its predecessors. As a Linux system administrator, you should be aware of the advantages, disadvantages, and basic steps for migrating to ext4. This article explains when to adopt ext4, how to adapt traditional file system maintenance tool usage to ext4, and how to get the most out of the file system.

Easily migrate WebSphere Application Server Community Edition applications to WebSphere Application Server

A new tool available from alphaWorks can help you migrate existing J2EE V1.4 applications from Apache Geronimo-based IBM WebSphere Application Server Community Edition V2.0.x to IBM WebSphere Application Server V6.1.

Introducing the JyDT plug-in for Eclipse

The JyDT plug-in enables Eclipse to work as a Jython/CPython IDE. This tutorial provides a brief description of the JyDT project and how to configure it. Learn to use the PyDev perspective and explorer, compile and run code, use the debugger, do unit testing, refactor, manage Python projects, and use the editor and IDE.

Jenabean: Easily bind JavaBeans to RDF

The Resource Description Framework (RDF) is the World Wide Web Consortium (W3C) proposed standard for linking and expressing data on the Web. Java developers who develop applications for the Semantic Web will need to convert RDF properties to or from Java types. Jenabean uses the Jena Semantic Web framework's flexible RDF/OWL API to persist JavaBeans, making the task of writing these applications easier and more familiar to Java developers.

Make JUnit testing Java applications easier with Grester

So, you've written a bunch of unit tests. As a developer, you run your tests multiple times per day, especially in a continuous integration environment. But how badly would they break if the sources had to change? When Jester and Maven combine to make Grester, you can quickly find out.

10 time-saving techniques in Eclipse Europa

Eclipse Europa offers many convenient features for navigating and editing Java files. Discover what they are and how to use them, and when you're finished, you may be saying, "I didn't know that!"

Migrate .NET applications from Visual Studio to Eclipse

Learn how to develop open source C# applications using the Emonic Eclipse plug-in and how to use Eclipse on existing Microsoft .NET Framework V2.0 projects.

Web Services

Build a RESTful Web service

Representational state transfer (REST) is a style of designing loosely coupled applications that rely on named resources rather than messages. The hardest part of building a RESTful application is deciding on the resources you want to expose. Once you've done that, using the open source Restlet framework makes building RESTful Web services a snap. This tutorial guides you step-by-step through the fundamental concepts of REST and building applications with Restlets.

Cloud computing with Amazon Web Services, Part 1: Introduction and overview

This series introduces you to cloud computing using Amazon Web Services and details the compelling alternative it provides for architecting and building scalable and reliable applications. In this first article, explore the features of this virtual infrastructure and the services that you can use to build today?s Web-scale systems.

Web services with SOAP over JMS in IBM WebSphere Process Server or IBM WebSphere Enterprise Service Bus, Part 2: Using the IBM WebSphere MQ JMS provider

The IBM WebSphere Process Server and IBM WebSphere Enterprise Service Bus products both include support for invoking and providing Web services. Part 1 of this article series covered the support of the SOAP over Java Message Service (JMS) protocol in WebSphere Process Server and WebSphere Enterprise Service Bus V6.02 and V6.1. This second installment of the series reveals how to change the referenced Java Naming and Directory Interface (JNDI) resources of SOAP over JMS exports and imports so that they can receive and send SOAP messages using the IBM WebSphere MQ JMS provider rather than the Service Integration Bus (SIBus) JMS provider. To follow along with this article, you should know how to create modules in IBM WebSphere Integration Developer and how to create WebSphere MQ resources.

Build an RPC service and client using JAX-RPC

Remote procedure calls (RPCs) are the precursors to modern Web services that are based on the Simple Object Access Protocol (SOAP) or Representational State Transfer (REST). Because all of the Java platform's Web service APIs are built on the concepts introduced in RPC, understanding the Java APIs for XML-Based RPC (JAX-RPC) is an almost mandatory step for writing efficient and effective Web services in the Java language. This tutorial takes you through getting and installing JAX-RPC, configuring it, and building a server-side RPC receiver and a simple client-side application.

SOAP nodes in IBM WebSphere Message Broker V6.1, Part 2: The SOAP domain logical tree

The first article in this four-part series covered the basic use of SOAP nodes, which send and receive SOAP-based Web services messages, allowing a message flow to interact with Web service endpoints. This article, Part 2, describes the new logical tree format used by the SOAP domain. You should have a general familiarity with SOAP-based Web services and WSDL to follow along with this article series. Note: This article relates to IBM WebSphere Message Broker V6.1 Fix Pack 6.1.0.2. Some details could differ slightly from the 6.1 GA version.

Content on demand with Web 2.0, Part 2: Improve Web 2.0 application search results with consistent tags in an SOA

Get more coherent queries across your Web 2.0 application. Building on Part 1 of this series, the solution in this article introduces the notion of roles and communities of practice (CoPs). Combine these with a client-slide tag management capability to achieve a consistent set of tags across Web 2.0-enabled applications, which can be queried against.

IBM Mashup Center and the InfoSphere MashupHub, Part 2: In-depth look at Feed Mashup Editor within IBM Mashup Center's InfoSphere MashupHub

In Part 2 of this series, explore the InfoSphere MashupHub more deeply and extend the use-case scenario to showcase the different components and illustrate the advantages of using Web 2.0 concepts, such as data feeds and feed mashups in an enterprise.

Build configurable workflows with WS-BPEL and IoC, Part 1: Understanding dynamic business workflows

Inversion of Control (IoC) and Web Services Business Process Execution Language (WS-BPEL) can be effective tools for implementing dynamic business workflows. In this article, the first in a two-part series, Bilal Siddiqui describes business workflows' dynamic nature and proposes a two-layer workflow model that lets you use XML to build configurable and flexible solutions.

Web services security interoperability using Kerberos

XML Web services provide an open, standards-based mechanism for inter-process communication and are common in implementations of Service Oriented Architecture (SOA). From a security perspective, complementary standards such as WS-Security exist to enable cross-platform, cross-domain interoperability for message level security. Implementations using these standards often reveal subtle challenges. In this article, security interoperability using Kerberos security tokens in a heterogeneous Microsoft .NET and IBM WebSphere J2EE environment is examined. A number of non-obvious implementation details are provided to assist readers in implementing their own solutions.

SOA meets situational applications, Part 3: Examples and lessons learned

The first article in this series explained the applicability of Web-based situational applications (SAs) to the enterprise, their relationship to Service-Oriented Architecture (SOA), and how they can be used to improve the current state of corporate IT. Part 2 described the IBM experience in building the Situational Applications Environment (SAE), which has been developed to support the community-based computing that takes advantage of both traditional SOA and emerging Web 2.0 technologies and approaches. This third and final installment describes several SAs, the business situation that inspired their creation, their architecture, the tangible business results that come from technologies that enable each solution, and lessons learned.

IBM Mashup Center and the InfoSphere MashupHub, Part 1: Get started with InfoSphere MashupHub

Learn about the architecture, tools, and utilities of InfoSphere MashupHub, part of the IBM Mashup Center product. Then, explore a simple use case scenario that showcases the different components and illustrates the advantages of using Web 2.0 concepts. This article is the first in a two-part series.

Creating flexible service-oriented business solutions with WebSphere Business Services Fabric, Part 1: Overview

WebSphere Business Services Fabric provides an SOA platform to enable a new class of service-oriented business solutions. Business Services Fabric provides an integrated environment to model, assemble, deploy, manage and govern composite business services. This series of articles introduces you to WebSphere Business Services Fabric and shows you how to use it to build composite business services.

Creating flexible service-oriented business solutions with WebSphere Business Services Fabric, Part 2: Extending the ontology models

Learn how you can leverage the features of WebSphere Business Services Fabric to build composite business applications that support dynamic binding and orchestration. In Part 2, you'll learn how to model the variability points in the business process as ontology extensions using the Fabric Modeling Tool.

Definition languages for RESTful Web services: WADL vs. WSDL 2.0

There are two specifications for describing interfaces of HTTP-based Web applications: Web Application Description Language (WADL) and the Web Services Description Language (WSDL) 2.0 HTTP binding extension. These two languages are very similar, but there are some differences. This white paper (see below) provides an unbiased, objective comparison of the two technologies, highlighting both the differences and similarities between WADL and the WSDL 2.0 HTTP binding.

Enterprise Service Bus (ESB) Interoperability Standards

Read about the concepts and capabilities of the Enterprise Service Bus (ESB) and the standards that deliver the value of an ESB in a heterogeneous environment.

SOAP nodes in IBM WebSphere Message Broker V6.1, Part 1: SOAP node basics

SOAP nodes send and receive SOAP-based Web services messages, allowing a message flow to interact with Web service endpoints. The messages might be plain SOAP, SOAP with Attachments (SwA), or Message Transmission Optimization Mechanism (MTOM). The nodes are configured using Web Services Description Language (WSDL) and support WS-Security and WS-Addressing. This four-part series describes the SOAP nodes, the logical tree for the new SOAP domain, and details of configuration and runtime behavior. In this first article, you learn about the basic use of the nodes. You should have a general familiarity with SOAP-based Web services and WSDL to follow along with this article series.

IBM SOA Foundation product integration: Managing your WebSphere-based SOA solution

As more companies are putting service oriented solutions -- including a portfolio of services -- into production, the role of managing of these solutions becomes increasingly important. This ranges from monitoring individual services with respect to their associated service level agreements and the discovery of ?rogue? services that do not follow established protocols, all the way to the active management of an entire environment of applications, servers, and the networks that connect them. This part of our series on integrating products of the IBM SOA Foundation looks at how to manage a WebSphere-based SOA solution with IBM Tivoli Composite Application Manager for SOA. (IBM WebSphere Developer Technical Journal)

The professional architect: Part 3: The business case for enterprise data architecture

Good enterprise data architecture requires adherence to a new type of discipline--and an extensive array of IT and business resources--in order to earn the needed commitment from your sponsoring organization. By understanding the overall landscape of affected applications and gathering useful metrics, you can make this commitment easier to achieve. In this article, I'll describe how to communicate the value of enterprise data architecture, and how to keep on track and deliver what you promised.

SOA integration: Decouple service consumers from service providers over an ESB

Develop an integration solution composed of business and mediation modules. In this tutorial, you deploy the scenario to IBM WebSphere Process Server V6.1. The scenario involves the IBM WebSphere Adapter for Flat Files V6.1 for inbound delivery and IBM WebSphere Service Registry and Repository V6.1 to implement a dynamic Web service lookup.

Using cyclic flows to enable loopbacks in WebSphere Business Modeler and WebSphere Integration Developer

This article teaches you a simple technique you can use to convert loopback flows in business models created with WebSphere Business Modeler into cyclic flows in WebSphere Integration Developer so that the looping behavior can be executed on WebSphere Process Server.

Adding custom roles in WebSphere Business Services Fabric

Learn how you can add custom roles to the base WebSphere Business Services Fabric V6.1 Business Service Model using Rational Software Architect and the Fabric modeling tool. Once you add these roles, you can build policies and assertions around them.

Operation-state modeling

Operation-state modeling is a technique for writing detailed and consistent service specifications. Learn how to objectively verify the validity of a service implementation by checking its behavior against the operation-state model.

Signing flows for Web Services Security

Set up Web Services Security (WS-Security) for signing data that your applications send to and receive from IBM WebSphere Message Broker. This article describes basic concepts, how to set up the environment, and how to configure WebSphere Message Broker to sign the data. The information provided here is platform-independent and operating system-independent, but you can see examples of specific operating systems where appropriate. A section on terminology at the end of this article helps clarify the concepts described.

Use ARM to monitor SCA invocations in IBM WebSphere Process Server V6.1, Part 2: Understand SCA invocation patterns and debug asynchronous scenarios

In Part 1 of this series, you learned about Application Response Measurement (ARM) and debugging synchronous scenarios using IBM Tivoli Composite Management for Response Time Tracking. Now get an introduction to the multiple Service Component Architecture (SCA) invocation patterns and the related ARM observation points to better understand the relationship between the ARM transaction and SCA invocation. This article, Part 2 of the series, also shows some examples of how to debug asynchronous scenarios using Tivoli Composite Management for Response Time Tracking.

Improving information access and reuse with SOA, Part 1: An architecture to help your enterprise become information-centric in an SOA world

This article describes an enterprise information strategy and architectural framework to maximize the value and accessibility of information in an enterprise, and to help your enterprise become information-centric in an SOA world.

WebSphere DataPower and DB2 pureXML, Part 1: XML schema and content validation using WebSphere DataPower and DB2 pureXML

Understand how IBM DB2 pureXML and the IBM WebSphere DataPower SOA Appliance can complement each other to realize powerful applications, and provide flexible and speedy access to validated XML documents. The WebSphere DataPower Appliance performs XML validation, and the DB2 pureXML database manages XML storage, indexing, and querying.

Use ARM to monitor SCA invocations in IBM WebSphere Process Server V6.1, Part 1: Debug SCA invocations using IBM Tivoli Composite Application Manager for Response Time Tracking

This two-part series shows you how to monitor Service Component Architecture (SCA) invocations using the Application Response Measurement (ARM) standard in IBM WebSphere Process Server V6.1. You can use an ARM implementation, such as IBM Tivoli Composite Application Manager for Response Time Tracking, to generate a graphic view of SCA invocations. This article, Part 1 of the series, starts by describing ARM and showing you how to debug synchronous scenarios using Tivoli Composite Application Manager for Response Time Tracking. In Part 2, you get an introduction to SCA invocation patterns and learn how to debug asynchronous scenarios.

Describe REST Web services with WSDL 2.0

At their core, Web services define a mechanism for machine-to-machine interaction using a network and XML. A key component of a Web service is a formal description with Web Services Description Language (WSDL). Until recently there was no formal language to describe REpresentational State Transfer (REST) Web services -- now there's WSDL 2.0. This article introduces you to REST and WSDL 2.0, and walks you through creating a WSDL 2.0 description of a REST Web service.

Increase business agility through BRM systems and SOA

The widespread acceptance of Service-Oriented Architecture (SOA) proves that enterprises have realized the promise of this technology. That promise of increased agility comes from a basic software design principle: loose coupling. SOA allows for business functions to be exposed as independent services. Web services, which is one way to implement SOA, makes any business functionality available over the Internet. Another technology that promises to extend that agility to business users is business rules management (BRM) systems. A BRM system gives business users direct control over the business logic, allowing them to change it without much intervention from IT. This article explores how these two technologies--SOA and BRM--promise to help businesses respond more quickly and cost effectively to changing market conditions.

Data Web Services on WebSphere Application Server, Part 3: Leverage DB2 trusted context support using Data Studio

Use trusted context with a Data Web Services Web application. Trusted context is available in DB2 9.5 and allows users to leverage the benefits of connection pooling without sacrificing security.

Multistate maintenance using BPEL parallel path pattern and custom properties

IBM Industry Architect Sravan Yallapragada illustrates how to maintain multiple states of an entity concurrently using the Business Process Execution Language (BPEL) parallel path pattern and the custom properties of a BPEL. Learn how to run different queries on the states maintained in the custom properties using the BusinessFlowManager APIs.

Web services with SOAP over JMS in IBM WebSphere Process Server or IBM WebSphere Enterprise Service Bus, Part 1: Using the SIBus JMS provider

This two-part article series shows you how to use SOAP over Java Message Service (JMS) in IBM WebSphere Process Server and IBM WebSphere Enterprise Service Bus. Learn how to set up and use SOAP over JMS as configured by default by the IBM WebSphere Integration Developer tool and how to enable the use of the IBM WebSphere MQ JMS provider via configuration. In this article, Part 1 of the series, you create and invoke a Web service using SOAP over JMS and an end-to-end application example, covering the full process of creating, building, deploying, and testing the applications. Scenarios covering both point-to-point and publish/subscribe messaging walk you through the process. In the second article in this series, you'll reconfigure a Web service that uses the SOAP over JMS protocol to enable the use of WebSphere MQ as the JMS provider and allow the transport of SOAP messages via WebSphere MQ queues.

Improve the performance of your XML applications using Xerces-C++

XML is becoming a main staple in data exchange both between applications and on the Web. Learn how to improve the performance of your XML applications by using the Xerces-C++ parser properly. You'll learn the best ways to use the parser efficiently, and which features and properties affect its performance.

Integrating IT monitoring and business activity monitoring

Learn how you can monitor IT and business activities on a single dashboard by converting ITCAM for SOA events for display and processing by WebSphere Business Monitor. Three sample scenarios illustrate how to define monitor models to configure WebSphere Business Monitor.

Upgrade to the system requirements engineering framework in SOA

Want to know how to move up to the system requirements engineering framework (REF) in Service-Oriented Architecture (SOA)? Learn about issues related to shifting to the framework, soft-goal operationalization, and completing the framework with constraints, risks, and changes. Regular developerWorks author Judith Myerson gives you examples of developing soft goals and suggests ways to operationalize one goal.

SOA governance framework and solution architecture

Service-Oriented Architecture (SOA) promises to deliver business agility by aligning business and IT needs and goals. But without proper governance, an SOA implementation is just a group of potentially unrelated services that doesn't deliver anything of sustainable value. As part of an SOA initiative in your enterprise, it's crucial to successfully initiate SOA governance to help guarantee the success of an SOA implementation. This includes recognizing when to integrate IBM WebSphere Service Registry and Repository into the SOA architecting process. In this article, learn about SOA governance, and find out how WebSphere Service Registry and Repository can help in your efforts.

JSR-235 Service Data Objects

The Java Specification JSR-235 defines the Service Data Object (SDO 2.1.1) API. This API enables application developers to uniformly access and manipulate data from heterogeneous data sources.

Using DataPower SOA Appliances to query WebSphere Service Registry and Repository

Learn how to use IBM WebSphere DataPower SOA Appliances to query information from IBM WebSphere Service Registry and Repository using the REST API and SOAP API. Reusable stylesheets are provided to serve as standard query components to be used throughout DataPower configurations. Step-by-step examples show how these assets can be used to query WebSphere Service Registry and Repository. (IBM WebSphere Developer Technical Journal)

Data Web Services on WebSphere Application Server, Part 2: Enable transport-level security

Configure the sample Data Web Service application from Part 1 of this series to use basic HTTP authentication and authorization.

The information perspective of SOA design, Part 7: The execution approach for the data quality analysis pattern in SOA

This is the seventh paper in a series called the ?The Information Aspect of SOA Design." The purpose of this article is to demonstrate to an architect community the execution approach of detailed data quality analysis in the context of an SOA environment. This article focuses on the implementation of data quality analysis regardless of the specific technology in use, and will be followed by a related article that describes in more detail how the related IBM products (WebSphere Information Analyzer) can be used in this context.

Build an RSS aggregator using IBM WebSphere DataPower SOA Appliances multistep services

The IBM WebSphere DataPower SOA Appliances multistep processing policy system is a key part of appliance configuration. Version 3.6.1 of the firmware includes a number of enhancements to multistep that provide functionality familiar to programmers, including loops of actions, conditional execution of actions, and the ability to execute actions in parallel. Explore how you can combine the new features in multistep 3 to build an RSS feed aggregator.

Key questions from an enterprise data architect

Data is the lifeblood of the enterprise, and the best way to prepare for a development and integration project is to document the characteristics of the data that drive the target applications. Learn the key questions that an enterprise data architect should explore in order to effectively document the characteristics of relevant data and take the most important first step towards project success.

Data Web Services on WebSphere Application Server, Part 1: Create and deploy Data Web Services for WebSphere Application Server with IBM Data Studio

Deploy Web services created with DWS on WebSphere Application Server. Also, leverage WebSphere Application Server enhanced features to turn your DWS application into a powerful, secure, and reliable enterprise Web service.

Mock Web services with Apache Synapse to develop and test Web services

Apache Synapse is a simple, lightweight, high-performance enterprise service bus (ESB) released under the Apache License, Version 2.0 from the Apache Software Foundation. Using Apache Synapse, you can filter, transform, route, manipulate, and monitor SOAP, binary, XML, and plain text messages that pass through your large-scale enterprise systems by HTTP, HTTPS, Java Message Service (JMS), Simple Mail Transfer Protocol (SMTP), Post Office Protocol Version 3 (POP3), FTP, file systems, and many other transport mediums. But for an individual developer, what's the use of an ESB product in your day-to-day life? The simplicity of the configuration, out-of-the-box feature set, extensible architecture, and the minimal footprint makes it a versatile and powerful tool that you can use for a variety of tasks. This article examines how you can use Apache Synapse to create mock Web services.

Adopt an SOA in a service-oriented enterprise

Want to know how to adopt Service-Oriented Architecture (SOA) in a service-oriented enterprise (SOE)? In this article, regular developerWorks author Judith Myerson focuses on issues related to transitioning to an SOE, transformation initiatives, the impact of organizational changes, and implementing SOE while avoiding the usual organizational pitfalls. Get suggestions on how to close the gaps in the SOE.

Universal Services for pureXML using Data Web Services

Get started with configuring, testing, and modifying the Universal Services.

Security for JAX-RPC Web services, Part 2: Consuming custom tokens

This series describes how to generate custom tokens using Web services security, authenticate them with WebSphere Application Server, and create credentials from them. Part 2 describes the implementation and configuration steps required to enable consumption of the custom token you generated in Part 1.

Tip: Improve the display of logged messages in WebSphere ESB V6.1

Learn about the changes to the Message Logger mediation primitive in WebSphere Enterprise Service Bus V6.1, and how you can improve the display of logged messages in V6.1.

JAX-WS client APIs in the Web Services Feature Pack for WebSphere Application Server V6.1, Part 3: Using the JAX-WS asynchronous programming model

In the final part of this series on JAX-WS 2.0 in the WebSphere Application Server V6.1 Feature Pack for Web Services, you'll learn how to create an asynchronous Web client, and learn how to use the polling and callback models.

Develop and deploy multitenant Web-delivered solutions using IBM middleware, Part 1: Challenges and architectural patterns

Web-delivered solutions that follow a Software as a Service (SaaS) delivery model -- where customers subscribe to software and access it from a service provider site rather than get licenses and have software installed on their premises -- can offer compelling business value for businesses of any size. Solution developers who develop new solutions or transform existing solutions and service providers who deploy these solutions are faced with several technical challenges. One example is multitenancy, where a single instance of the software, running on a service provider's premises, serves multiple organizations. This article series describes different patterns to address these challenges, often using Service-Oriented Architecture (SOA) techniques. Also learn how IBM software products can help you build and deploy scalable, configurable, and cost-effective multitenant Web-delivered solutions.

Java

Build a RESTful Web service

Representational state transfer (REST) is a style of designing loosely coupled applications that rely on named resources rather than messages. The hardest part of building a RESTful application is deciding on the resources you want to expose. Once you've done that, using the open source Restlet framework makes building RESTful Web services a snap. This tutorial guides you step-by-step through the fundamental concepts of REST and building applications with Restlets.

Deal with errors in XML parsing

XML parsing is a part of nearly every enterprise application. Error handling, though, is absent from most of those same applications. Learn how to use the Simple API for XML (SAX) to deal with errors in your XML parsing -- even if your applications are using the DOM, JAXP, or another API to deal with XML.

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.

Build an RPC service and client using JAX-RPC

Remote procedure calls (RPCs) are the precursors to modern Web services that are based on the Simple Object Access Protocol (SOAP) or Representational State Transfer (REST). Because all of the Java platform's Web service APIs are built on the concepts introduced in RPC, understanding the Java APIs for XML-Based RPC (JAX-RPC) is an almost mandatory step for writing efficient and effective Web services in the Java language. This tutorial takes you through getting and installing JAX-RPC, configuring it, and building a server-side RPC receiver and a simple client-side application.

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.

Migrate from EJB 2 container-managed persistence to pureQuery for IBM Master Data Management Server, Part 2: Proving the pureQuery technology

If you've been curious about the new release of WebSphere Customer Center (now named IBM InfoSphere Master Data Management Server), then this series is for you! This series describes how and why pureQuery technology was used in the new release, the implementation and migration to pureQuery, and the results of performance and capability testing to validate this critical decision. Part 2 focuses on our productivity and performance measurements in making the decision to user pureQuery and also provides some hints and tips for working with pureQuery.

Evaluating XPaths from the Java platform

XPath makes selecting elements, attributes, and text in an XML document easy. Learn how to evaluate XPaths from Java programming, and work with the returned nodes.

Automation for the people: Continual refactoring

Refactoring is a well-accepted practice for improving existing code. Yet, how do you find the code that should be refactored, in a consistent and repeatable manner? In this installment of Automation for the people, you'll learn how to use static analysis tools to identify code smells to refactor, with examples showing how to improve odiferous code.

Build configurable workflows with WS-BPEL and IoC, Part 1: Understanding dynamic business workflows

Inversion of Control (IoC) and Web Services Business Process Execution Language (WS-BPEL) can be effective tools for implementing dynamic business workflows. In this article, the first in a two-part series, Bilal Siddiqui describes business workflows' dynamic nature and proposes a two-layer workflow model that lets you use XML to build configurable and flexible solutions.

Migrate from EJB 2 container-managed persistence to pureQuery for IBM Master Data Management Server, Part 1: Evaluating pureQuery technology

If you've been curious or confused about the new release of WebSphere Customer Center (now named IBM InfoSphere Master Data Management Server), then this series is for you! This series describes how and why pureQuery technology was used in the new release, the implementation and migration to pureQuery, and the results of performance and capability testing to validate this critical decision. Part 1 focuses on the evaluation of persistence mechanisms and our plan to validate the technology.

Java theory and practice: Going wild with generics, Part 2

Wildcards can be very confusing when it comes to generics in the Java language, and one of the most common mistakes is to fail to use one of the two forms of bounded wildcards ("super T" and "? extends T") when needed. You've made this mistake? Don't feel bad, even the experts have, and this month Brian Goetz shows you how to avoid it.

The busy Java developer's guide to Scala: Collection types

Objects have their place in Scala, but so do functional types such as tuples, arrays, and lists. In this installment of Ted Neward's popular series, you'll begin to explore the functional side of Scala, starting with its support for types common to functional languages.

Integrating the Spring Framework with Data Studio

pureQuery is IBM's new platform within Data Studio for developing Java database access applications. Its simple API and integrated tooling make data access developers more productive and encourages coding best practices for improved performance. Spring is an open source Java/J2EE application framework that offers higher level data access features like transaction management, resource management, and Data Access Object hierarchies which, when integrated with pureQuery, lead to a simpler application development and maintenance experience. This tutorial guides you in creating a pureQuery application that uses the Spring Framework's Data Access features.

Robust Java benchmarking, Part 2: Statistics and solutions

Program performance is always a concern, even in this era of high-performance hardware. This article, the second in a two-part series, covers the statistics of benchmarking and offers a framework you can use to benchmark Java code ranging from self-contained microbenchmarks to code that calls a full application.

Robust Java benchmarking, Part 1: Issues

Program performance is always a concern, even in this era of high-performance hardware. This article, the first in a two-part series, guides you around the many pitfalls associated with benchmarking Java code. Part 2 covers the statistics of benchmarking and offers a framework for performing Java benchmarking. Because almost all new languages are virtual machine-based, the general principles the article describes have broad significance for the programming community at large.

Locate specific sections of your XML documents with XPath, Part 2

Part 1 of this tutorial gave you a foundational understanding of XPath. Using slash notation, wildcards, unions, and simple text, you learned how to locate elements and attributes anywhere within an XML document. However, sometimes you need more than just matching based on the name of a node. Predicates give you advanced and refined searching capabilities, allowing you to evaluate the values of attributes and the parent and child nodes of a targeted element. Rather than find a wider node set and refine or filter that set programmatically, you can add predicates to your XPaths to find exactly the nodes you want.

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.

Locate specific sections of your XML documents with XPath, Part 1

XML is a data format concerned primarily with compatibility and flexibility. But as useful as XML is, it's limited without the abilities to find specific portions of a document quickly and to filter and selectively locate data within a document. XPath provides the ability to easily reference specific text, elements, and attributes within a document -- and with a fairly low learning curve. Additionally, XPath is key to many other XML vocabularies and technologies, such as XSL and XQuery. This tutorial will teach you the fundamentals of XPath, including all of its various selectors and semantics, in an example-driven and hands-on manner.

Automation for the people: Pushbutton documentation

Project documentation is often one of the necessary evils in delivering a software product. But imagine being able to generate your documentation at the click of a button. In this installment of Automation for the people, automation expert Paul Duvall explains how you can use open source tools to automate the generation of Unified Modeling Language (UML) diagrams, build figures, entity-relationship diagrams (ERDs), and even user documentation.

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.

Embed the NASA World Wind Java SDK in Eclipse

The open source World Wind Java (WWJ) SDK by NASA creates new possibilities for the open Geographic Information Systems (GIS) community. World Wind, a 3D interactive world viewer written in the Java language and OpenGL, lets users zoom from outer space into any place on Earth. This article explains how GIS developers who want to enhance their Eclipse-based applications can embed the WWJ SDK as an Eclipse plug-in.

The busy Java developer's guide to Scala: Implementation inheritance

Scala gives you just as much support for implementation inheritance as the Java language does -- but Scala's inheritance yields a few surprises. This month, Ted Neward introduces you to polymorphism done the Scala way, blending functional and object-oriented language styles while still mapping perfectly to the Java platform's inheritance model.

Use JRuby on Rails and XML to supercharge Ajax with a Java Application Server

The Ruby on Rails framework has handy XML features that will make developing with and serving database data in XML format to your JavaScript applications easier than ever. JavaScript also has built-in XML parsing capabilities that make it a snap to receive and parse data in XML format. But what if you now want to hook into Java applications without having to deploy another server? That's where JRuby comes in. JRuby on Rails is the Java implementation of the Ruby on Rails framework and brings the benefits of Rails to Java programming by allowing deployment of Ruby apps to Java application servers. In this tutorial, you'll develop a JRuby on Rails application deployable to a Java application server that will serve database data in XML format to an Ajax client that you'll build for film lovers to manage their online films database. You'll also deploy a couple of Java Server Pages pages on the same Java application server to assist the Ajax client in adding and updating films.

Build software with Gant

Gant is a highly versatile build framework that leverages both Groovy and Apache Ant to let you implement programmatic logic while using all of Ant's capabilities. In this tutorial, Andy Glover guides you step-by-step through Gant's fundamental concepts. You'll learn how to define behavior in your build through Gant's flexible domain-specific language, how to reuse Ant features, and how to define functions that make your builds more efficient and even proactive.

Dead like COBOL

With the recent reports of Java's imminent demise, you're probably wondering if it's time to leave the platform behind for greener pastures. Before you make a decision, step back and examine the Java ecosystem, along with that of its competitors, to see if the rumors have any substance. It's time, in other words, to have a State of the Java Union address, holding neither pride nor prejudice in the evaluation of the platform.

Data Web Services on WebSphere Application Server, Part 3: Leverage DB2 trusted context support using Data Studio

Use trusted context with a Data Web Services Web application. Trusted context is available in DB2 9.5 and allows users to leverage the benefits of connection pooling without sacrificing security.

Creating business model templates with WebSphere Service Registry and Repository V6.1

Creating new enterprise-specific business models for use within the IBM WebSphere Service Registry and Repository enables your organization to represent your business concepts within WSRR, relate them to other concepts, and manage them using WebSphere Service Registry and Repository's governance capabilities. The default business models demonstrate what you can represent in WebSphere Service Registry and Repository, but how do you create your own models? This article describes how to create, load, update, and use new business models within WebSphere Service Registry and Repository V6.1 without having to use any special tooling.

Mastering Grails: Grails services and Google Maps

Scott Davis shows you how you can add maps to a Grails application using freely available APIs and Web services in this latest installment of Mastering Grails. He uses the trip-planner sample application from previous installments and takes it to the next level with geocoding, Google Maps, and Grails services.

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.

JSR-235 Service Data Objects

The Java Specification JSR-235 defines the Service Data Object (SDO 2.1.1) API. This API enables application developers to uniformly access and manipulate data from heterogeneous data sources.

Developing long term strategies for using Java EE technology

Changes to technology are inevitable and necessary, and some of these changes could affect how your existing applications operate. Such inevitability might make it seem risky to commit to technologies that are driven by changing specifications, such as Java EE. However, it is possible to minimize the impact of incompatible changes with informed choices and good planning when determining which technologies are appropriate for you to use. This article offers information to help you make those informed choices, and also explains what IBM does to minimize the impact of these changes to your organization. (IBM WebSphere Developer Technical Journal)

Create secure Java applications productively, Part 2

This is the second in a two-part tutorial series on creating secure Java-based Web applications using Rational Application Developer, Data Studio and Rational AppScan. In Part 1 you developed a Java Web application with Rational Application Developer, and then deployed the application on WebSphere Application Server with Java Server Pages (JSP). This tutorial shows you how to scan the Wealth application created in Part 1 using Rational AppScan to discover and fix all known Web security vulnerabilities. It also shows how to re-scan your application and generate reports.

Java theory and practice: Going wild with generics, Part 1

One of the most complicated aspects of generics in the Java language is wildcards, and in particular, the treatment and confusing error messages surrounding wildcard capture. In this installment of Java theory and practice, veteran Java developer Brian Goetz deciphers some of the weirder-looking error messages emitted by javac and offers some tricks and workarounds that can simplify using generics.

Automation for the people: Manage dependencies with Ivy

Managing source-code dependencies among projects and tools is often a burden, but it doesn't need to be. In this installment of Automation for the people, automation expert Paul Duvall describes how you can use the Apache Ant project's Ivy dependency manager to handle the myriad dependencies that every nontrivial Java project must manage.

Universal Services for pureXML using Data Web Services

Get started with configuring, testing, and modifying the Universal Services.

Write high performance, Java data access applications, Part 2: Introducing pureQuery inline method style

IBM pureQuery is a high-performance Java data access platform focused on simplifying the tasks of developing and managing applications that access data. It consists of tools, APIs and a runtime engine. pureQuery introduces two programming styles to help users access the database through simple but powerful APIs. This article introduces one such style, the inline method programming style, and discusses how users can use it to efficiently query and update databases. This article also explores the benefits as well as some of the key features of using the inline method programming style.

Use XQuery from a Java environment

The XQuery API makes querying and searching XML documents easy, and Sun's XQuery API for Java brings these capabilities to Java applications.

Jenabean: Easily bind JavaBeans to RDF

The Resource Description Framework (RDF) is the World Wide Web Consortium (W3C) proposed standard for linking and expressing data on the Web. Java developers who develop applications for the Semantic Web will need to convert RDF properties to or from Java types. Jenabean uses the Jena Semantic Web framework's flexible RDF/OWL API to persist JavaBeans, making the task of writing these applications easier and more familiar to Java developers.

The busy Java developer's guide to Scala: Of traits and behaviors

Scala doesn't just bring functional concepts to the JVM, it offers us a modern perspective on object-oriented language design. In this month's installment of The busy Java developer's guide to Scala, Ted Neward shows you how Scala exploits traits to make objects simpler and easier to build. As you'll learn, traits are both similar to and different from the traditional polarities offered by Java interfaces and C++ multiple inheritance.

Scala and XML

Scala is a popular new programming language that runs on the Java Virtual Machine (JVM.) Scala compiles into byte-code and thus it can leverage the Java programming language. Its syntax, however, makes it a powerful alternative to Java in certain scenarios. One of those scenarios is XML processing. Scala lets you navigate and process parsed XML in several ways. It also has first class support for XML built right in, so there is no need to create strings of XML or programmatically build DOM trees. In this article, you will see these aspects of Scala in action and see how Scala can make working with XML a joy to do.

Patterns of persistence, Part 2: Increase code reuse and enhance performance

Part 1 of this two-part article covers the basics of achieving a consistent, concise domain model and persistence tier with modern object-relational mapping (ORM) tools. In Part 2, the authors describe base domain entities, behavior in the domain model, and more-advanced features of a generic DAO. They also share strategies for enhancing data-retrieval performance with the domain model.

Patterns of persistence, Part 1: Strategies and best practices for modern ORM tools

Although many developers use object-relational mapping (ORM) tools for their applications' persistence tier, some are confused about how to use them and duplicate code unnecessarily. The authors' experience constructing many persistence tiers has given them a clear understanding of persistence patterns and best practices. The first part of this two-part article covers the basics of a consistent, concise domain model and persistence tier. Part 2 builds and expands on the concepts covered in this article.

Migrating Java EE projects to IBM Lotus Expeditor V6.1

Migrate your Java EE projects to IBM Lotus Expeditor V6.1 using IBM Lotus Expeditor Toolkit, and then deploy the migrated project on the Lotus Expeditor runtime. This article shows you which steps you need to take to migrate your Java EE projects and which Java EE features are not supported by Lotus Expeditor.

Data binding with Castor, Part 4: Bind your Java objects to SQL databases

Castor allows you to bind the data in your Java objects directly into database tables. Learn how to marshal from Java objects to SQL in this article.

Develop applications using the IBM Enterprise Content Management Java APIs with IBM Rational Application Developer

Set up the IBM Rational Application Developer environment for each of the APIs covered, and start writing simple code to log-on, search, retrieve, and view documents using each API.

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.

Write high performance, Java data access applications, Part 1: Introducing pureQuery annotated method style

pureQuery is a high-performance Java data access platform focused on simplifying the tasks of developing and managing applications that access data. It consists of tools, APIs and a runtime. This article introduces the pureQuery annotated method coding style -- a simple, flexible style falling under the named-query paradigm, capable of executing SQL statically or dynamically. This article explains why a developer might choose to write a pureQuery application in the annotated method style, explains some of the differences between the annotated method style and the pureQuery inline coding style, and gives a brief overview of the most powerful features of pureQuery annotated methods.

Use XStream to serialize Java objects into XML

XML serialization has a myriad of uses, including object persistence and data transport. However, some XML-serialization technologies can be complex to implement. XStream is a lightweight and easy-to-use open source Java library for serializing Java objects to XML and back again. Learn how to set up XStream, and discover how to use it to serialize and deserialize objects as well as to read configuration properties from an XML configuration file.

Spice up collections with generics and concurrency

The Java Collections Framework is an important aspect of the Java platform. Both desktop and enterprise applications typically collect items to work with. This article shows you how to work with collections while taking advantage of enhancements made to the framework in Java SE 6. You can go far beyond HashMap or TreeSet by using generics and concurrency features to make your applications more maintainable and scalable.

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.