IBM DevWorks

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.

Agile DevOps: Test-driven infrastructure

Few in the software industry question that writing automated tests for application code is a good practice. Teams are now applying similar automated testing practices to infrastructure and environments. In this Agile DevOps installment, DevOps expert Paul Duvall covers writing automated tests for your infrastructure using tools such as Cucumber with Gherkin. These tests can be run in conjunction with every scripted change to the infrastructure to ensure quick feedback when a change introduces an error into an environment.

Build a portable Java EE app across Bluemix and private cloud patterns

As a Java developer, you want the “write once, run anywhere” promise of Java. How can you ensure this if you are moving your applications between IBM Bluemix and on-premise cloud environments like SmartCloud Orchestrator or Pure Application System? In this article, we show you how.

Implement responsive web design using WebSphere Portal, Part 3: Developing multi-channel portlets

Responsive Web Design (RWD) ensures a seamless user experience across multiple device types and form factors. For a truly adaptive and holistic site experience across devices, a responsive portlet user interface is essential. In this article, we discuss some of the more common yet complex portlet UIs and show how to use WebSphere Portal V8.0.0.1 to make them render seamlessly across devices, without having to maintain multiple code bases for each device type.

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.

OAuth 2.0 clients in Java programming, Part 3: Authorization code grant

This multi-part series will help you develop a generic and reusable OAuth 2.0 client that can be used to interface with any OAuth 2.0-compliant server. Part 1 explained how to implement the resource owner password credentials grant. Part 2 described how to implement the client credentials grant. Now, Part 3 teaches you how to implement the authorization code grant.

OAuth 2.0 clients in Java programming, Part 2: Client credentials grant

This multi-part series will help you develop a generic and reusable OAuth 2.0 client that can be used to interface with any OAuth 2.0-compliant server. Part 1 explained how to implement the resource owner password credentials grant. Now, Part 2 describes how to implement the client credentials grant.

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.

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.

Build a data mining app using Java, Weka, and the Analytics Warehouse service

The Analytics Warehouse (formerly 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.

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.

Explore the eXtreme Scale-based caching service options in IBM PureApplication System

Caching services are a popular solution to address performance and scalability issues for cloud enterprise applications. Explore three caching options available with the IBM PureApplication System cloud system: One built-in, one based on WebSphere eXtreme Scale that uses a virtual system pattern on a cluster, and one based on eXtreme Scale that uses a VSP with a core OS image.

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."

Use Software Defined Networking to optimize your IaaS

Explore Software Defined Networking (SDN) network management via software abstraction layers as a method to enhance and optimize your Infrastructure as a Service in the areas of interoperability, user and provider expectation management, developer and administrator requirements, and effective risk mitigation.

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. Choosing your next JVM language

Any of the languages is a suitable candidate for your next language, so how do you choose? Investigate the factors that contribute to this important decision.

Use SLDT to transfer data to SoftLayer object storage

SoftLayer provides an object storage service that is based on OpenStack Swift. You can transfer files to and from the object store by using the SoftLayer APIs and a command-line tool like cURL, but that can be tedious for large files. This article describes how to use a simple Java tool, SLDT, to handle authentication, object segmenting, and data transfer to and from the SoftLayer object store.