Title
![]() |
Date
![]() |
---|---|
Making the cut: Top Java content from developerWorks
A quick rundown of the top content published in the Java hub in 2017.
Also available in:
Chinese
|
15 Jan 2018 |
Editor's picks: Top five WebSphere Liberty tutorials
If there is one thing that IBM WebSphere Liberty gives you, it's the
freedom, and flexibility, to dynamically create applications both on-premises
and in the cloud. This article highlights the top five tutorials in
developerWorks for WebSphere Liberty.
Also available in:
Chinese
|
31 Oct 2017 |
Sample code: Translate natural language with the Watson Language Translator
service
This code shows you how to use the Java API for the Watson language
translator service. Given some text, a source language, and a target language,
Watson translates that text and returns one or more translations to
you.
|
18 Aug 2017 |
Sample code: Analyze text with the Watson Personality Insights
service
This code shows you how to use the node.js API for the Watson
Personality Insights service. Given some text, Watson analyzes the openness,
conscientiousness, extraversion, agreeableness, emotional range, and needs of
the speaker.
|
18 Aug 2017 |
Sample code: Identify the tone of written text with the Watson Tone
Analyzer service
This code shows you how to use the node.js API for the Watson Tone
Analyzer service. Given some text, Watson evaluates the tone, looking for
qualities such as the speaker's levels of anger, disgust, joy, fear, and
sadness.
|
18 Aug 2017 |
Sample code: Identify the context of natural language with the Watson
Natural Language Classifier service
This code shows you how to use the node.js API for the Watson natural
language classification service. Given some text and a context, Watson
analyzes the text and returns a list of categories relevant to that
text.
|
18 Jul 2017 |
Sample code: Identify objects in an image with the Watson Visual
Recognition service
This code shows you how to use the node.js API for the Watson Visual
Recognition service. Given an image, Watson attempts to identify objects in
that image.
|
18 Jul 2017 |
Sample code: Identify the tone of written text with the Watson Tone
Analysis service
This code shows you how to use the Java API for the Watson tone analysis
service. Given some text, Watson evaluates the tone, looking for qualities
such as the speaker's levels of anger, disgust, joy, fear, and
sadness.
|
18 Jul 2017 |
Sample code: Translate natural language with the Watson Language Translator
service
This code shows you how to use the node.js API for the Watson Language
Translator service. Given some text, a source language, and a target language,
Watson translates that text and returns one or more translations to
you.
|
18 Jul 2017 |
Sample code: Identify the context of natural language with the Watson
Natural Language Classifier service
This code shows you how to use the Java API for the Watson natural
language classification service. Given some text and a context, Watson
analyzes the text and returns a list of categories relevant to that
text.
|
18 Jul 2017 |
Sample code: Analyze text with the Watson Personality Insights
service
This code shows you how to use the Java API for the
Watson Personality Insights service. Given some text, Watson analyzes
the openness, conscientiousness, extraversion, agreeableness,
emotional range, and needs of the speaker.
Also available in:
Chinese
|
18 Jul 2017 |
5 things you didn't know about ...: Multithreaded Java programming
Multithreaded programming is never easy, but it does help to understand
how the JVM processes subtly different code constructs. Steven Haines shares
five tips that will help you make more informed decisions when working with
synchronized methods, volatile variables, and atomic classes.
|
17 May 2017 |
5 things you didn't know about ...: Apache Maven
You might be familiar with profiles, but did you know that you can use
them in Maven to execute specific behaviors in different environments? This
installment in the 5 things series looks beyond Maven's build features, and
even its basic tools for managing the project life cycle, delivering five tips
that will improve the productivity and ease with which you manage applications
in Maven.
|
17 May 2017 |
5 things you didn't know about ...: The Java 6 Collections API, Part 1
The Java 6 Collections API is far more than a replacement for arrays,
though that's not a bad place to start. Ted Neward dispenses five tips for
doing more with Collections, including a primer on customizing and extending
the Java Collections API.
|
17 May 2017 |
5 things you didn't know about ...: Java performance monitoring, Part
2
If it's news to you that the JDK ships with the full-featured profiler
JConsole, you'll be even more surprised to learn about the five stand-alone
profiling utilities introduced in this article. Find out how lightweight (and
in some cases experimental) Java process monitoring and analysis tools can
help you hone in on performance bottlenecks like thread starvation, deadlocks,
and object leaks.
|
17 May 2017 |
5 things you didn't know about ...: Java performance monitoring, Part 1
Blaming bad code (or bad code monkeys) won't help you find performance
bottlenecks and improve the speed of your Java applications, and neither will
guessing. Ted Neward directs your attention to tools for Java performance
monitoring, starting with five tips for using Java's built-in profiler,
JConsole, to collect and analyze performance data.
|
17 May 2017 |
5 things you didn't know about ...: JARs
Many Java developers never think beyond the basics of JARs -- only using
them to bundle classes before shipping them off to the production servers. But
a JAR is more than just a renamed ZIP file. Learn how to use Java Archive
files at their fullest capacity, including tips for jarring Spring
dependencies and configuration files.
|
17 May 2017 |
5 things you didn't know about ...: java.util.concurrent, Part 2
In addition to concurrency-friendly Collections, java.util.concurrent
introduced other pre-built components that can assist you in regulating and
executing threads in multithreaded applications. Ted Neward introduces five
more of his Java programming must-haves from the java.util.concurrent
package.
|
17 May 2017 |
5 things you didn't know about ...: java.util.concurrent, Part 1
Writing multithreaded code that both performs well and protects
applications against corruption is just plain hard -- which is why we have
java.util.concurrent. Ted Neward shows you how concurrent Collections classes
like CopyOnWriteArrayList, BlockingQueue, and ConcurrentMap retrofit standard
Collections classes for your concurrency programming needs.>
|
17 May 2017 |
Protect your apps from cross-site scripting (XSS) attacks
One of the most common techniques for cross-site scripting attacks is
injecting code into a web page. This code snippet shows you how to use escape
sequences so that any injected code can't run.
Also available in:
Chinese
|
14 Apr 2017 |
Docker: A boon for the modern developer
Use Docker to code more productively and expand your skills more
efficiently. Declutter your development environment, eliminate dependency
conflicts, and reduce development and learning time by working with
containerized applications.
|
05 Jan 2016 |
Using Spark Streaming for keyword detection
As new kinds of devices connect to the internet, they generate petabytes
of data every day. Companies analyze this valuable data to better understand and meet their customers’ needs.
Streaming big data analytics gives users the ability to analyze data in real
time, which is useful in time-critical applications like fraud detection. In
this article, learn how to use the Spark Streaming platform for real-time keyword detection.
Also available in:
Chinese
|
26 Nov 2015 |
Notes from developerWorks Technology: Top Java tutorials from 2015
The developerWorks Technologies editor showcases the top tutorials
published in 2015 for Java developers.
|
17 Nov 2015 |
Playful web development, Part
1: Manage user authentication with the Play Framework and Scala
Implement user management for your Play Framework applications and put
your Scala skills to work. Pablo Pedemonte takes you through building a basic
Play application that handles authentication and authorization. You can even
use the application code as a starter for your own Play projects to shorten
user-management development time.
|
12 Nov 2015 |
Move your Java application into a hybrid cloud using Bluemix, Part
3
In this article, we examine how to run stand-alone Java programs in
Bluemix. We also share some expert hints on navigating the Cloud Foundry
documentation, using the CF command-line tool, and debugging in Cloud Foundry
and Bluemix.
|
26 Oct 2015 |
Move your Java application into a hybrid cloud using Bluemix, Part
2
Want to quickly migrate a Tomcat application to IBM Bluemix using
Eclipse tooling? This tutorial provides step-by-step directions to set up
Eclipse tooling to analyze, migrate, and deploy a Tomcat application to the
Liberty for Java runtime in Bluemix. We show you how to set up both the Java
runtime and the SQL Database, and how to bind the application to the database.
|
21 Oct 2015 |
Move your Java application into a hybrid cloud using Bluemix, Part 1
In this article, we show you how to tier a hybrid application, and we
guide you step by step through migrating parts of your Tomcat or WebSphere
applications to Bluemix, while connecting to services best left within your
enterprise. We introduce a tool you can use to determine if your application
will run in the Bluemix Liberty Java buildpack, and we show you how to connect
to an SQL database in the cloud or on-premise. We'll also explain how to
update an application for important cloud considerations including session
persistence, scaling, and logging.
|
15 Oct 2015 |
Develop full-stack Java apps with Vaadin in the cloud
Use the Vaadin Rich Web Starter boilerplate to deploy a customized
DB2-backed, three-tier order-desk web app to the Bluemix cloud in
minutes.
|
30 Sep 2015 |
Full-stack Java web dev with Vaadin
Java web developers are often forced to learn JavaScript, CSS, and HTML5
(cornerstone of all modern browsers) in order to create compelling interactive
user experiences for their web applications. Vaadin open source framework
empowers Java developers by giving them full-stack control within a 100% Java
world.
|
30 Sep 2015 |
Data integration at scale: Explore OSLC examples
Explore simple but useful examples of how the conceptual layers presented so far
in this series combine to integrate information easily and seamlessly across various
tools. The examples use Open Services for Lifecycle Collaboration (OSLC) vocabularies
and standards, but they are equally useful for any group of participants wanting to connect information quickly to find value across data stores.
Also available in:
Chinese
Portuguese
|
02 Sep 2015 |
JVM
concurrency: Building actor applications with Akka
Actor applications require a different style of programming from the
linear approach that is used for single-threaded applications. Go deeper into
structuring systems in terms of actors and messages from Scala code, using the
Akka toolkit and runtime.
|
12 Aug 2015 |
Introduction to Java multitenancy
The multitenant JVM recently became available as part of the IBM SDK
Java Technology Edition, Version 7 Release 1 as a tech preview. By running
multiple applications within a single multitenant JVM, a cloud system can
speed applications' start times and reduce their memory footprint. This
article introduces the technology behind multitenant cloud JVM and discusses
the main costs and benefits.
|
06 Aug 2015 |
Build a data mining app using Java, Weka, and the dashDB service
The dashDB (formerly known as Analytics Warehouse and BLU
Acceleration) service provides data warehousing and analytics as a service on IBM Bluemix.
Developers can develop and deploy a heavy-duty analytic application using blazing-fast IBM
BLU database technology offered in the cloud. Learn how to develop a data mining application
using the Weka statistical analysis tool and leveraging the IBM BLU columnar database.
|
08 May 2015 |
JVM
concurrency: Acting asynchronously with Akka
The actor model, a long-established approach to concurrent programming,
gives you an easy way to build applications for high concurrency and
scalability. Learn about the actor model and start working in Scala or Java
with the Akka implementation of the model.
|
08 Apr 2015 |
Use a Liberty JAAS login module for Bluemix single sign-on
This tutorial provides a technique for Liberty-aware authentication with the Bluemix SSO service.
Create a sample app that uses the Bluemix SSO service for user login; the Liberty server creates all
necessary objects (Subject, Principal, Session) upon successful authentication. A Liberty app can obtain
Bluemix SSO capabilities using JAAS authentication with the SSO service so that your authentication
mechanism is abstracted from application code.
|
24 Mar 2015 |
Rapidly build a rich three-tier web app, Part 1: Build the database
In this three-part tutorial, learn how to use IBM Rational Application Developer and IBM Bluemix to rapidly build and host a multi-tier Java Enterprise Edition (JEE) app. Find out how you can save time in each stage: creating the data model and database, generating the data access code using the Java Persistence API (JPA), writing the Enterprise JavaBeans (EJBs) and web services, and using Dojo to create a rich web UI for viewing and modifying the data. When the application is complete, you'll deploy it to IBM Bluemix, the IBM Platform as a Service (PaaS).
|
10 Mar 2015 |
Create and manage cloud applications with Java
For full, continuous integration, you need to automate deployment of
applications in the cloud. This tutorial includes examples that show how to
use the Cloud Foundry Java Client Library to automate how you create and
manage apps in IBM Bluemix.
|
10 Feb 2015 |
Integrating FindBugs, CheckStyle and Cobertura with Rational Team Concert build system
This article discusses the integration of quality assurance tools FindBugs, CheckStyle and Cobertura with IBM Rational Team Concert. This integration reduces defect generation when compiling and building an application. It improves the code quality of the application while performing the day-to-day build job. This technique can be used cross-platform with products and applications built on Java technology.
|
22 Jan 2015 |
IBM@JavaOne 2014: Developers first
As a longtime licensee of the Java platform, IBM is a regular supporter
and active participant in the annual JavaOne conference. This article provides
an overview of IBM's activities -- keynotes, technical presentations, demos,
and after-hours entertainment -- during JavaOne 2014.
Also available in:
Russian
|
24 Sep 2014 |
From the developerWorks trenches: The best open technologies content in
2014
As developerWorks celebrates its 15th anniversary, the technical
landscape has never been more exciting or complex. Myriad products, projects,
technologies, and techniques abound. Let us cut through the noise and provide
a quick look at what's hot right now.
|
16 Sep 2014 |
JVM
concurrency: Asynchronous event handling in Scala
Scala Future and Promise classes give you powerful ways to handle
asynchronous processing, including nonblocking ways to organize and sequence
events. The async / await constructs, implemented as a macro, make it even
easier to write nonblocking event handling in Scala. This tutorial shows you
the basic Future and Promise techniques in action, then demonstrates how async
/ await can convert what looks like simple blocking code to nonblocking
execution.
|
02 Sep 2014 |
Improving performance and scalability for IBM Sterling Order Management
This article discusses the design best practices that are important for the
performance and scalability of the IBM Sterling Order Management solution. Adopting
these design best practices during implementation, helps eliminate the common
performance bottlenecks that are introduced with custom design or code.
Also available in:
Russian
Portuguese
|
07 Aug 2014 |
Java multitenancy: Configuration options, tenant lifecycle, and isolation
in action
The multitenant JVM is available with the IBM SDK Java Technology
Edition, Version 7 Release 1 as a tech preview. By running multiple
applications within a single multitenant JVM, a cloud system can speed
applications' start times and reduce their memory footprint. Examine the
tenant lifecycle, learn some of the available configuration options, and see
the benefits of isolation of statics in tenant applications. This article
builds on a previous developerWorks article, "Introduction to Java
multitenancy."
|
31 Jul 2014 |
JVM
concurrency: To block, or not to block?
The CompletableFuture class added in Java 8 gives you new ways to handle
the completion of asynchronous processing, including nonblocking ways to
compose and combine events. This article helps you understand the differences
between blocking and nonblocking approaches to handling completions and gives
you some reasons to prefer nonblocking approaches.
|
22 Jul 2014 |
Build a portable Java travel app that integrates web services
Learn how to develop and deploy a Java
|
27 Jun 2014 |
Use Software Defined Networking to optimize your IaaS
Explore Software Defined Networking (SDN)
|
24 Jun 2014 |
Use SLDT to transfer data to SoftLayer object storage
SoftLayer
|
24 Jun 2014 |
Create IBM SmartCloud Orchestrator-compatible images for Windows
Creating images you can deploy through IBM SmartCloud Orchestrator
requires knowledge of the operating system, the hypervisor on which the images
are going to be deployed, and the corresponding hypervisor manager. Learn how
to easily and smoothly prepare a SmartCloud Orchestrator-compatible image for
Windows.
|
10 Jun 2014 |
Java.next: Choosing your next JVM language
Any of the Java.next languages is a suitable candidate for your next language, so how do you choose? Investigate the factors that contribute to this important decision.
|
13 May 2014 |
Java.next: Java 8 as Java.next
This installment of Java.next investigates the Java 8 release as a
reasonable candidate for your next programming language. Find out how lambda
blocks and the streaming API upgrade Java to a modern language.
|
28 Apr 2014 |
JVM
concurrency: Java 8 concurrency basics
Java 8 incorporates new language features and added classes that give
you easier ways to construct programs, including concurrent programs. Learn
about new, powerful parallel-processing support in the language made possible
by Java 8 extensions, including CompletableFuture and streams. You'll
recognize similarities between these new features and some of the Scala
capabilities that you explored in the first article of this series.
|
08 Apr 2014 |
Java 8 language changes
Java 8 incorporates important new language features that give you easier
ways to construct programs. Lamba expressions define a new syntax for inline
code blocks that gives you the same flexibility as anonymous inner classes,
with much less boilerplate. Interface changes make it possible to add to
existing interfaces without breaking compatibility with existing code. Learn
how these changes work together.
|
08 Apr 2014 |
Generate DITA Java
Combine DITADoclet and DITA API specialization to save time and still
produce quality API documentation directly from the Java source
code.
|
17 Mar 2014 |
Transparent network acceleration for Java-based workloads in the
cloud
Java Sockets over RDMA (JSOR) is a new communication
library in the IBM Java 7 SDK for Linux platforms. JSOR can improve
throughput and reduce latency for client-server applications in cloud
environments by exploiting RDMA-capable high-speed network adapters. Learn
about the technology underlying JSOR, find out how to use the library, and
compare JSOR performance with solutions based on other communication
protocols.
|
28 Jan 2014 |
Java.next: Functional coding styles
All of the Java.next languages include functional programming
constructs, which enable you to think at a higher level of abstraction.
However, differences in terminology among the languages can make it difficult
to see similar constructs. This installment shows how common functional
programming constructs manifest in the Java.next languages, pointing out some
subtle differences in the implementation details of those features.
|
24 Dec 2013 |
Eliminate banner grabbing in Apache Tomcat
Banner grabbing is often the first step before a full-blown cyber attack, but
it's easy to prevent. Learn how to secure your Apache Tomcat installation against version-based exploits by overriding the default parameters in your Server.xml and ServerInfo.properties files.
|
02 Dec 2013 |
Java.next: Currying and partial application
All of the Java.next languages include currying and partial application
but implement them in different ways. This installment explains both
techniques, distinguishes between them, and shows implementation details --
and practical uses -- in Scala, Groovy, and Clojure.
|
26 Nov 2013 |
Developing
mobile apps with Node.js and MongoDB, Part
1: A team's methods and results
Explore the advantages of using Node.js (server-side JavaScript) to
develop systems of engagement. In this article, see the results achieved by an
IBM Extreme Blue team who used Node and MongoDB with IBM Passes,
an application that demonstrates the notion of systems of engagement. Their
experience with Node and MongoDB provides interesting insight into how rapid
application development can be achieved with these solutions that are starting
to appear in the enterprise.
Also available in:
Portuguese
|
26 Nov 2013 |
Next-generation search and analytics with Apache Lucene and Solr 4
Apache Lucene and Solr are highly capable open source search
technologies that make it easy for organizations to enhance data access
dramatically. With the 4.x line of Lucene and Solr, it's easier than ever to
add scalable search capabilities to your data-driven applications. Lucene and
Solr committer Grant Ingersoll walks you through the latest Lucene and Solr
features that relate to relevance, distributed search, and faceting. Learn how
to leverage these capabilities to build fast, efficient, and scalable
next-generation data-driven applications.
|
28 Oct 2013 |
Verify and convert JSON payloads dynamically for cloud-based
applications
This article presents a solution architecture that facilitates
JavaScript Object Notation (JSON) validation and transformation for the
benefit of cloud consumers and cloud service providers.
|
02 Oct 2013 |
Java.next: Mixins and traits
The Java language's primary paradigm, object orientation with single
inheritance, effectively models most but not all programming problems. The Java.next languages extend this paradigm in various ways, including mixins and traits. This Java.next installment defines the mechanisms that mixins and traits share, and it delves into the subtle differences between mixins in Groovy and traits in Scala.
|
19 Sep 2013 |
IBM@JavaOne 2013: The IBM sessions
IBM is a regular supporter of the JavaOne conference, both as a sponsor and as a source of technical presenters. If you plan to attend JavaOne 2013, don't miss your opportunity to glean invaluable knowledge from IBM's Java experts and to learn about their vital contributions to the Java ecosystem. This article gives you an overview of the activities that the IBM team is involved in during the week of JavaOne in 2013.
Also available in:
Chinese
|
19 Sep 2013 |
Test cloud-based applications with Apache JMeter
JMeter is a powerful testing tool that you can use to test applications
that run in the cloud. But managing and maintaining JMeter scripts can be
challenging if you don't know how to use JMeter effectively. This article
presents techniques that can help you implement well-designed, automated
JMeter tasks in your cloud-based application testing.
|
09 Sep 2013 |
Build server-cluster-aware Java applications
Server clustering has become commonplace for highly scalable Java enterprise application development, but application-level server-cluster awareness is not currently part of Java EE. In this article, Mukul Gupta and Paresh Paladiya show you how to leverage two open source projects, Apache ZooKeeper and LinkedIn's Project Norbert, for server-group coordination in distributed enterprise Java applications.
|
27 Aug 2013 |
Develop Spring Redis applications
Redis is a key-value NoSQL datastore solution. Spring Data Redis is a Spring
portfolio project that helps Java
|
21 Aug 2013 |
Prevent cross-site scripting attacks by encoding HTML responses
Uncover the basics of cross-site scripting attacks and learn how you can
prevent them using a Java-based approach to encode HTML output from a server.
|
30 Jul 2013 |
Java diagnostics, IBM style, Part 2: Garbage collection with the IBM Monitoring and Diagnostic Tools for Java - Garbage Collection and Memory Visualizer
The IBM Monitoring and Diagnostic Tools for Java - Garbage Collection and Memory Visualizer, new tooling from IBM, is designed to
help diagnose and analyze memory-related Java performance problems. This article,
the second in a four-part series, explains how to obtain and use the toolkit and
demonstrates how you can use it to quickly diagnose some common problems.
|
18 Jul 2013 |
Java diagnostics, IBM style, Part 1: Introducing the IBM Diagnostic and Monitoring Tools for Java - Dump Analyzer
Java applications have become increasingly complex; as a
result, diagnosing problems in these applications is a non-trivial task and may
require extensive work with an external service organization. A helpful pointer in
the right direction could save both time and expense. The IBM Diagnostic and Monitoring Tools for Java - Dump Analyzer
is a tool that performs basic analysis against a formatted system dump and produces
a concise report indicating what it thinks your next course of action should be.
|
18 Jul 2013 |
Java diagnostics, IBM style, Part 5: Optimizing your application with the Health Center
IBM Monitoring and Diagnostic Tools for Java - Health Center is a tool for monitoring a running Java application. It reports on all aspects of system health via charts, graphs, and tables, and it makes recommendations for fixing problems. The Health Center includes an extremely low-overhead method profiler, a garbage-collection visualizer, a locking profiler to identify contention bottlenecks, and a configuration explorer. Find out how you can use this tool to diagnose and fix performance, configuration, and stability issues in your applications.
|
18 Jul 2013 |
Faster problem solving in Java with heuristic search
Learn about the field of heuristic search and its application to artificial
intelligence. This article's authors show how they arrived at a successful Java implementation
of the most widely used heuristic search algorithm. Their solution exploits an alternative
framework to Java Collections and uses best practices for avoiding excessive garbage
collection.
|
16 Jul 2013 |
DB2 JSON capabilities, Part 3: Writing applications with the Java API
DB2 JSON enables developers to write applications using a popular
JSON-oriented query language created by MongoDB to interact with data stored
in IBM DB2 for Linux, UNIX, and Windows or IBM DB2 for z/OS. This driver-based solution embraces
the flexibility of the JSON data representation within the context of a RDBMS
with well-known enterprise features and quality of service. This DB2 NoSQL
capability supports a command-line processor, a Java API, and a wire listener
to work with JSON documents. The DB2 JSON Java API is the backbone of the
command-line processor and the wire listener, and supports writing custom
applications. The article introduces basic methods with a sample Java program
and discusses options to optimize storing and querying JSON documents.
|
03 Jul 2013 |
DB2 JSON capabilities, Part 4: Using the IBM NoSQL Wire Listener for DB2
DB2 JSON enables developers to write applications using a popular JSON-oriented query
language created by MongoDB to interact with data stored in IBM DB2 for Linux, UNIX, and Windows or IBM DB2 on z/OS. This driver-based solution embraces the flexibility of the JSON data
representation within the context of a RDBMS with well-known enterprise features and
quality of service. This DB2 NoSQL capability supports a command-line processor,
a Java API, and a wire listener to work with JSON documents.
In this article, the IBM NoSQL Wire Listener for DB2 is introduced. It parses messages based on the MongoDB wire protocol.
It thus enables using MongoDB community drivers, and the skills acquired when working with these drivers, to store, update
and query JSON documents with DB2 as JSON store.
|
27 Jun 2013 |
HTML5 2D game development: Implement gravity and add sound
In this series, HTML5 maven David Geary shows you how to implement an HTML5 2D
video game one step at a time. In this installment, you'll complete Snail Bait's
mechanics by learning how to incorporate gravity when the runner falls.
Then, you'll see how to implement sound -- both a musical soundtrack and sound effects.
|
21 Jun 2013 |
DB2 JSON capabilities, Part 2: Using the command-line processor
Rapidly changing application environments require a flexible mechanism to
store and communicate data between different application tiers. JSON (Java
Script Object Notation) has proven to be a key technology for mobile,
interactive applications by reducing overhead for schema designs and
eliminating the need for data transformations.
DB2 JSON enables developers to write applications using a popular
JSON-oriented query language created by MongoDB to interact with data stored in IBM DB2
for Linux, UNIX, and Windows or IBM DB2 for z/OS. This driver-based solution
embraces the flexibility of the JSON data representation within the context of
a RDBMS, which provides established enterprise features and quality of service. This DB2
NoSQL capability supports a command-line processor, a Java API, and a wire
listener to work with JSON documents. In this article, you will set up a DB2
database to support NoSQL applications and walk through a scenario that introduces
basic features of the DB2 JSON command-line processor to help you get started with
your own applications.
|
20 Jun 2013 |
Java.next: Extension without inheritance, Part 1
Groovy, Scala, and Clojure offer many extension mechanisms, whereas inheritance is virtually the Java language's only option. This installment looks at category classes, the ExpandoMetaClass, implicit casts, and protocols as ways to extend Java classes with the Java.next languages.
|
12 Jun 2013 |
Java.next: The Java.next languages
This article launches a new developerWorks series by Neal Ford that performs a
deep comparison of three next-generation JVM languages: Groovy, Scala, and Clojure. In
this initial installment, find out what you'll gain from understanding their similarities and differences -- whether or not you choose to keep using Java as your main programming language for now.
|
14 May 2013 |
Java.next: Common ground in Groovy, Scala, and Clojure, Part 1
The Java.next languages (Groovy, Scala, and Clojure) have more commonalities than differences, converging toward common ground in many of their features and conveniences. This installment explores how they each address a longstanding deficiency in the Java language -- the inability to overload operators. It also discusses the related concepts of associativity and precedence.
|
14 May 2013 |
Mobile for the masses: Take a swipe at it! Programming gestures in Android
Mobile users are typically distracted, busy, and ergonomically constrained, so
build your mobile application UIs accordingly. Andrew Glover discusses key factors
that differentiate mobile apps from web apps, then guides you through the creation of a mobile application UI that uses swipe gestures for navigation rather than button clicks.
|
23 Apr 2013 |
Define a multithreading threshold when building SaaS applications
While on-premise COBOL programs have been successfully transformed into Java-based SaaS applications, there are multithreading issues developers should watch out for when interfacing COBOL and Java with one another in a SaaS application. The author illustrates what proactive actions to take in a multithreaded SaaS failure scenario.
Also available in:
Chinese
|
18 Apr 2013 |
HTML5 2D game development: Collision detection and sprite animations
In this series, HTML5 maven David Geary shows you how to
implement an HTML5 2D video game one step at a time. In this installment,
learn how Snail Bait implements collision detection and
explosions.
|
16 Apr 2013 |
Working with jQuery UI themes
The jQuery UI is now the industry standard for theme implementation because of its
support for widgets. Dive into the jQuery UI platform with Java architect Ken Ramirez
to learn how to use jQuery UI's native themes and design custom themes for your site.
|
04 Apr 2013 |
Process real-time big data with Twitter Storm
Storm is an open source, big-data processing system that differs from other systems in that it's intended for distributed real-time processing and is language independent. Learn about Twitter Storm, its architecture, and the spectrum of batch and stream processing solutions.
|
02 Apr 2013 |
Build a text visualization and analytics application
Text visualization is an effective way to see and analyze what a designated text is saying. Learn to combine Eclipse and open source text visualization and analytics tools to build a word-wave application that visualizes and compares two texts.
|
02 Apr 2013 |
Mobile for the masses: A gentle introduction to Android
The mobile landscape is rich with promise, and Android is a viable and exciting platform for developers who seek
a way in. This new series starts with an introduction to Android that is tailored specifically for Java developers just getting started with mobile. Learn about Android's three-layer versioning system (and find out why it matters), then set up your development environment and build your first Android app.
|
05 Mar 2013 |
Test automation and continuous integration with STAF/STAX
Regression and incremental tests play an important role during the testing of an application that might comprise hundreds or thousands of requirements. While the execution of incremental tests can sometimes be run manually, regression tests require an automation tool or framework. The support for multiple operating systems, architectures, and middleware software, like application servers and databases, make the necessity of an automation framework even more urgent. This article briefly introduces STAF/STAX test automation framework. It also shows how you can use it to build a framework for the automation of tests and continuous integration in a complex test bed.
|
26 Feb 2013 |
Monitor a Java application with the Health Center API, Part 1
The 2.1 release of Health Center contains a powerful API. The API allows
Java developers to embed Health Center in their applications and harness its
monitoring power to troubleshoot problems. In Part 1 of this two-part article,
you learn to use the Health Center API and to monitor for deadlocks in a running Java application. Part
2 uses the deadlock detection application that is developed in this article and adds a method-profiling view to show where
the application spends most of its CPU cycles.
|
26 Feb 2013 |
Monitor a Java application with the Health Center API, Part 2
The 2.1 release of Health Center contains a powerful API. The API allows
Java developers to embed Health Center in their applications and harness its
monitoring power to troubleshoot problems. Part 2 of this series takes the
deadlock detection application from Part 1 and adds a method-profiling view to show where the application spends most of its CPU cycles.
|
26 Feb 2013 |
Functional thinking: Why functional programming is on the rise
Java developers should learn functional paradigms now, even if they have no
immediate plans to move to a functional language such as Scala or Clojure. Over time,
all mainstream languages will become more functional; Neal Ford explores the reasons
why in this installment.
|
29 Jan 2013 |
Look-ahead Java deserialization
When Java serialization is used to exchange information
between a client and a server, attackers can try to replace the legitimate
serialized stream with malicious data. This article explains the nature of
this threat and describes a simple way to protect against it. Find out how to
stop the deserialization process as soon as an unexpected Java class is found
in the stream.
Also available in:
Russian
|
15 Jan 2013 |
Agile
DevOps: Continuous software delivery in the cloud
When developers and operations work together in a collaborative manner,
they often need one place to manage the software delivery process and pipeline
of changes. A Continuous Delivery (CD) platform addresses this need. In this
Agile DevOps installment, DevOps expert Paul Duvall lays out how you can use
OpenDelivery, an open CD platform.
|
08 Jan 2013 |
HTML5 2D game development: Implementing Sprite behaviors
In this series, HTML5 maven David Geary shows you how to implement an HTML5 2D video game one step at a time. In this installment, you'll learn how to implement the essence of any video game: sprite behaviors.
|
08 Jan 2013 |
Functional thinking: Laziness, Part 2
Implementing lazy evaluation is easy in a language that supports closures. This Functional thinking installment shows how to derive a lazy list using Groovy's closures as building blocks. Then it explores some of the performance and conceptual benefits of lazy evaluation, including the ability to initialize fields lazily in some languages.
|
19 Dec 2012 |
IBM@JavaOne 2012, Part 2: Roundup of the IBM sessions
IBM was active throughout JavaOne 2012, leading numerous technical talks and birds-of-a-feather (BOF) sessions, participating in panels, and delivering an opening-day keynote. This article summarizes IBM's contributions to the conference. Get synopses of the IBM sessions you might have missed, and view the video or presentation slides for many of them.
Also available in:
Chinese
|
18 Dec 2012 |
Generate PDF files from Java applications dynamically
If your application needs to generate PDF documents dynamically, you
need the iText library. The open source iText library makes PDF creation a
snap. This article introduces iText and gives a step-by-step guide to using it
to generate PDF documents from Java technology applications. We create a
sample application to better understand iText.
|
12 Dec 2012 |
The Java technical podcast series: The cloud files
This season, Andrew Glover focuses his interviews on the technologies, companies, and
people influencing cloud computing. Recorded over a three-month period, Andrew spoke
with established players and their interests, including CloudBees and Heroku, as well
as exciting newcomers like Jelastic and NuoDB. And that's not all. If you're working
in the cloud, you won't want to miss a single interview.
Also available in:
Chinese
|
11 Dec 2012 |
Introduction to VoltDB
Learn about VoltDB, an in-memory database that offers the scalability of NoSQL databases with the ACID-compliance of traditional relational database systems. You'll design and partition database tables, store and retrieve data with stored procedures written in Java code. You'll also explore VoltCache, a key-value store built on top of VoltDB.
|
11 Dec 2012 |
Discover MongoDB quiz
Test your MongoDB knowledge and skills and you'll be able to quickly assess how well you've mastered key information and coding techniques you've learned.
|
04 Dec 2012 |
HTML5 2D game development: Sprites
In this series, HTML5 maven David Geary shows you how to implement an HTML5 2D
video game one step at a time. Sprites -- graphical objects that you can assign
behaviors to -- are one of the most fundamental and important aspects of video games.
In this installment, you'll learn how to implement the sprites that make up Snail Bait's cast of characters.
|
04 Dec 2012 |
Agile
DevOps: Version everything
Which types of software-system artifacts should you version? In this
Agile DevOps installment, DevOps expert Paul Duvall recommends that DevOps
teams version application code, infrastructure, configuration, data, and even
internal system artifacts to gain the capacity to deliver software to users
quickly and often.
|
27 Nov 2012 |
Java development 2.0: Scalable searching with ElasticSearch
Like the word google, search technology has evolved tremendously over the past 10 years. Learn how one of the newer cloud-friendly search platforms brings simple, scalable search to your Java enterprise applications.
|
27 Nov 2012 |