Skip to content

IBM developerWorks : Java technology : Technical library
Syndicate content developerWorks
The latest content from IBM developerWorks
Updated: 3 hours 57 min ago

Functional thinking: Functional features in Groovy, Part 3

Tue, 01/31/2012 - 07:00
Modern dynamic languages have incorporated many functional features to take mundane tasks off developers' hands. This article explores the benefits of caching at the function level with Groovy, contrasting it with an imperative approach. It illustrates two types of caching -- intramethod and external -- and discusses the advantages and disadvantages of the imperative and functional versions.
Categories: Java

Deploy a J2EE app with TSAM extensions

Thu, 01/26/2012 - 07:00
IBM Tivoli Service Automation Manager (TSAM) 7.2.2 introduces the extension, a set of TSAM software components that can implement a new IT service automation solution (known as a service definition) or add capabilities to existing service definitions. In this article, the authors define a scenario in which the desired result is to securely deploy a three-tiered enterprise application (in this case J2EE) to the cloud. They demonstrate how to set up and provision extensions in TSAM as the first step to accomplishing this task.
Categories: Java

Java development 2.0: Securing Java application data for cloud computing

Tue, 01/24/2012 - 07:00
Data security is a serious concern for organizations considering cloud adoption, but in many cases it needn't be. In this installment of Java development 2.0, learn how to use private-key encryption and the Advanced Encryption Standard to secure sensitive application data for the cloud. You'll also get a quick tutorial on encryption strategy, which is important for maximizing the efficiency of conditional searches on distributed cloud datastores.
Categories: Java

Customize container-managed security with AuthenticRoast

Tue, 01/17/2012 - 07:00
AuthenticRoast is an open source project that works with the Java Authentication Service Provider Interface for Containers (JSR 196) to let you develop custom authentication modules for use with container-managed, declarative security. Joe Sam Shirah shows how AuthenticRoast can minimize configuration impact on Java Enterprise Edition (JEE) containers and greatly reduce coding effort for custom security requirements. A downloadable WAR with demonstration code is provided.
Categories: Java

Passing data objects between CICS Java environments: Part 2: Techniques for passing Java data objects

Wed, 01/11/2012 - 07:00
Java is becoming a popular programming language for CICS applications. CICS provides multiple Java environments, each with its own strengths, so passing data objects between the different CICS Java environments is an important topic. This three-part article series gives you the details. Part 2 uses an example Java class to show you how to pass Java data objects between applications running in a CICS-pooled JVM, an Axis2-based JVM, a CICS Dynamic Scripting environment, and a CICS OSGi-based JVM.
Categories: Java

Using RichFaces with JSF 2

Tue, 01/10/2012 - 07:00
RichFaces, like most other rich/Ajax component frameworks designed for use with JavaServer Faces (JSF), was extensively revamped for compatibility with the significant changes in JSF 2. Joe Sam Shirah examines changed and new RichFaces 4.1 components that provide the same functionality he demonstrated in "An introduction to RichFaces" with version 3.1. He also updates the setup requirements for using RichFaces with JSF.
Categories: Java

Passing data objects between CICS Java environments: Part 1: CICS Java environments

Wed, 01/04/2012 - 07:00
Java is becoming a popular programming language for CICS applications. CICS provides multiple Java environments, each with its own strengths, so passing data objects between the different CICS Java environments is an important topic. This article series gives you the details. Part 1 describes the CICS Java environments, the advantages of each one, and the different ways to pass data between them.  Part 2 uses an example Java class to show you how to pass Java data objects between applications running in a CICS-pooled JVM, an Axis2-based JVM, a CICS Dynamic Scripting environment,  and a CICS OSGi-based JVM. Part 3 shows you how to pass Java data objects from a CICS Transaction Gateway Java client program to a CICS-pooled JVM or CICS OSGi-based JVM.
Categories: Java

Become a Java developer

Tue, 01/03/2012 - 07:00
This knowledge path introduces Java development concepts and skills to programmers who are new to the language and platform. Experienced Java developers guide you from basic Java syntax to more-advanced abstractions and constructs, sharing best practices and useful resources along the way. You'll also get acquainted with the Eclipse IDE and use it for hands-on learning.
Categories: Java

Functional thinking: Functional features in Groovy, Part 2

Tue, 12/20/2011 - 07:00
With Groovy, metaprogramming and functional programming form a potent combination. See how metaprogramming enables you to add methods to the Integer data type that take advantage of Groovy's built-in functional capabilities. And learn how to use metaprogramming to incorporate the Functional Java framework's rich set of functional features seamlessly into Groovy.
Categories: Java

Java technology zone technical podcast series: Season 3

Tue, 12/20/2011 - 07:00
For years, the Java zone has brought you top-quality technical content by some of the best minds in the industry. But taking the time to read an in-depth, code-heavy article can be difficult, even if it's about a topic that's critical to your day job. This new podcast series, led by the engaging and technically curious Andrew Glover, provides a new way to get information from the sources you trust most. Every few weeks, we'll publish a new discussion with an expert on the topics that are important to your job.
Categories: Java

Transactions with file systems using XADisk

Mon, 12/19/2011 - 07:00
Java applications, which store their partial data in files, can benefit in many ways by accessing file-systems using transactions. Learn how to work with open source XADisk for transactional file access.
Categories: Java

Java development 2.0: Redis for the real world

Tue, 12/13/2011 - 07:00
Redis has a lot in common with memcached but it boasts a richer set of features. In this month's Java development 2.0, Andrew experiments with adding Redis (by way of Java-based variant Jedis) to his location-based mobile application. Learn how Redis works as a simple data store, then try repurposing it for ultra-fast, lightweight caching.
Categories: Java

Node.js for Java developers

Tue, 11/29/2011 - 07:00
Node.js presents an exciting alternative to traditional Java concurrency, and all you need to get started is an open mind and a little bit of JavaScript.
Categories: Java

Functional thinking: Functional features in Groovy, Part 1

Tue, 11/22/2011 - 07:00
Over time, languages and runtimes have handled more and more mundane details for us. Functional languages exemplify this trend, but modern dynamic languages have also incorporated many functional features to make developers' lives easier. This installment investigates some of the functional features already lurking in Groovy, showing how recursion hides state and how to build lazy lists.
Categories: Java

Using the Java Native Interface

Thu, 11/17/2011 - 07:00
The Java language's main benefit is the portability of Java applications across hardware platforms and operating systems. But some applications can't be written entirely in Java: The standard Java class libraries might not support a required platform-specific feature or library; you might prefer to implement time-critical code in a lower-level, faster language, or you might want to leverage legacy code assets. The Java Native Interface (JNI) within the Java platform enables Java and "native" (non-Java) code to interoperate. Using JNI entails certain trade-offs, beyond loss of application portability. This knowledge path is designed to help all Java developers use JNI safely and efficiently.
Categories: Java

Java development 2.0: Git-commit your Java apps with Heroku's PaaS

Tue, 11/15/2011 - 07:00
Meet Heroku, a Ruby-based PaaS that brings a winning combination of configurability and ease-of-use to Java application development and deployment in the cloud.
Categories: Java

Monitor and diagnose Java applications

Tue, 11/15/2011 - 07:00
Tracking the source of Java application bottlenecks is critical to the application-development cycle. With the introduction of better profiling tools and a host of diagnostic tooling from the IBM Java team and others, the task of monitoring and diagnosing Java applications has become considerably less difficult than in the past. In this knowledge path, you'll learn more about the tools you can use to assess and improve the health of your applications effectively.
Categories: Java

Introducing Spring Roo, Part 4: Rapid application development in cloud with Spring Roo and Cloud Foundry

Tue, 11/15/2011 - 07:00
Take the rapid development of Roo a step further by creating applications to work in the cloud with Cloud Foundry, the first open platform as a service project created by VMWare. Learn more about the environment and then deploy an application into Cloud Foundry using the Roo shell.
Categories: Java

Getting started with Node.js

Fri, 11/11/2011 - 07:00
Learn what Node.js is and how to get started using it in this brief introduction.
Categories: Java

Apache Mahout: Scalable machine learning for everyone

Tue, 11/08/2011 - 07:00
Apache Mahout committer Grant Ingersoll brings you up to speed on the current version of the Mahout machine-learning library and walks through an example of how to deploy and scale some of Mahout's more popular algorithms.
Categories: Java