Software development best practices and processes
The enterprise software development landscape has changed drastically with the rise of Kotlin, Clojure, Python and JavaScript. From a focus on functional programming to new takes on object-oriented analysis and design, Java programmers and JDK architects can learn from these languages' development processes and software engineering best practices.
Top Stories
-
Tip
11 May 2023
5 Scrum servant leader examples
The term 'servant leader' was removed from the 2020 Scrum Guide, but that doesn't mean it's not important. Here are five examples of a Scrum master as a servant leader. Continue Reading
-
Tip
09 May 2023
How to address Python performance problems
Python is a great language for nonprogrammers to do mathematical and scientific tasks, even if such optimization impacts performance. Here's why that's not a fair criticism. Continue Reading
-
Feature
26 Sep 2012
Top five ways cloud computing impacts mobile application development teams
To accelerate time to market, mobile application development teams are relying heavily on these five cloud computing services. Continue Reading
-
Feature
21 Sep 2012
Embedded architecture accelerates mobile application development
Mobile application development projects succeed at getting products to market quickly. The reason behind the speed? It's all about the architecture. Continue Reading
-
Feature
08 Aug 2012
What type of software development professional do you need?
Be it an agile team or a company using a waterfall type of development process, your application development team needs an assortment of different skills and skillsets. Here we look at the various types professionals that make up the typical application development team. Continue Reading
-
Feature
25 Jul 2012
Application lifecycle management (ALM) challenges for multiple apps
Managing the lifecycle of one application is a challenge, but how do you go about the application lifecycle management process when you have multiple big applications being developed simultaneously. The best project managers need to know how to manage multiple applications simultaneously. Continue Reading
-
Tip
04 May 2012
Why application integration matters
Application integration may hold much more benefit than most Java development shops realize. Continue Reading
-
Feature
21 Dec 2011
Embedded software patterns for more than just embedded systems
Embedded software patterns have a lot to offer any software engineer who routinely faces serious resource constraints. Continue Reading
-
Tutorial
15 Dec 2011
New Java 7 Features: Using String in the Switch Statement Tutorial
The new Java 7 Certified Professional exam expects you to know what's new with the switch statement in Java 7. The biggest news? The fact that you can now switch on a String literal. Continue Reading
-
Tutorial
11 Nov 2011
Writing Java code in the cloud
The road bumps one experiences when they drive towards cloud computing can be avoided, especially when one has the opportunity to learn from the experiences of those who have gone before. Continue Reading
-
Opinion
14 Oct 2011
A cloud service to build mobile apps
Tiggr is a cloud-based mobile app builder that provides a mobile application development platform as a service. Continue Reading
-
Feature
09 Aug 2011
Managed File Transfer in Enterprise Java Applications
In an SOA world, bulk data transfer occurs largely by way of file transfer. "Multiple studies show that around 80% of business-to-business traffic consists of files," says Jonathan Lampe of File Transfer Consulting, a vendor-neutral consultancy focused solely on file transfer issues. Continue Reading
-
Tip
11 Jul 2011
Building out a service-oriented architecture with Java EE
A service-oriented architecture can help software developers deal with complicated applications that often eat up time with excessive maintenance needs. Continue Reading
-
Feature
08 Jul 2011
OSGi: A Proven Approach for Developing Modular Applications
OSGi provides a framework for developing modular enterprise applications by installing a set of (preferably reusable) component modules. Continue Reading
-
News
29 Jun 2011
James Gosling Says He Doesn't Care About Java
At TSSJS 2011, James Gosling, the father of Java, talks about Java and the JVM, and opines about how the Java Virtual Machine, not necessarliy the Java language, is what he is most passionate about. Continue Reading
-
Tip
23 Jun 2011
How to properly estimate a Java project
Focusing on accurate use cases can simplify software development project estimations and improve your algorithms chances of producing an accurate time to completion. Continue Reading
-
Tip
06 Jun 2011
Waterfall versus Agile methods: A pros and cons analysis
In project management, Agile has been touted as a replacement for antiquated Waterfall methods. Yet Waterfall methods do hold value for certain projects and some development teams. Continue Reading
-
Tip
18 May 2011
RESTful Web services made easy
Learn the basics about RESTful web services in this quick tip. You can create a RESTful Web service using nothing more than the JDK, a simple text editor and Tomcat 7. Continue Reading
-
Feature
28 Mar 2011
Working with the EJB Container
This article talks about the intricacies of invoking a remote EJB running in an application server's EJB container. Continue Reading
-
Tip
13 Jul 2010
Evil Design Patterns - When Design Patterns Become the Problem
Have you ever been on a project in which all of your team members have just gone through an intense week of Design Pattern training? It's painful. Continue Reading
-
Tutorial
29 Jun 2010
Use Sonar to Develop a Quality Feedback Loop into the Build Cycle
Sonar is great for ferreting out quality problems in your code base. But what if it kept the problems out in the first place? With a little work, key Sonar feedback metrics can be integrated into the code/test/commit/build cycle. Continue Reading
-
Report
09 Jun 2010
Secure-Critical User Control Mechanisms
In many business areas an increased need for safety and control of business processes executed by human actors can be observed. Humans are by nature error-prone and make mistakes. Human activities, ranging from simple scenarios, such as manual approval to complex scenarios involving complicated entry of sensitive data are subject to failure, misunderstandings, typos and incorrect data. But a business can come into trouble not only by unintended errors introduced by human beings; also intentional misuse and internal fraud can produce a lot of damage and is often hard to track. Continue Reading
-
News
01 Mar 2009
Scalability and Performance of jBPM Workflow Engine in a JBoss Cluster
The goal of this article is to show how to achieve near-linear scalability of jBPM workflow engine by tuning its configuration and setting it up on a JBoss cluster with distributed TreeCache. Readers will be guided through all steps required to cluster jBPM efficiently – from cluster setup to fine-tuning jBPM configuration – and provided with performance test results as well as various tips and tricks allowing to achieve maximum performance. Continue Reading
-
News
01 Jan 2009
SOA and the Mainframe: Two Worlds Collide and Integrate
In the context of Legacy Modernization, an SOA Integration architecture can bring a legacy environment into the world of the World Wide Web, Web 2.0, and all the other latest Internet-based IT architectures. Continue Reading
-
News
01 Jan 2009
Java Pseudo Transactions With Non-Transactional Resources
When working in enterprise environments, it is often necessary to interact with multiple resources in a single atomic unit of work – a distributed transaction. The ideal way to accomplish this is by leveraging JTA to manage the distributed transaction. However, in transaction scenarios where one or more resources do not support XA transactions JTA cannot be used. This paper describes a method of interacting with non-transactional resources in a pseudo-transaction. Continue Reading
-
News
01 Nov 2008
Intercepting JNDI Filters
This article presents a simple filtering framework to "intercept" JNDI operations and objects in a non-intrusive way (without code changes or the overhead of AOP systems). Continue Reading
-
News
01 Nov 2008
Inside db40
db4o, database for objects, is a true object database; it manipulates objects in such a fashion that those objects retain their nature throughout their lifetimes - in or out of the database. Object content, structure, and relationships are preserved, regardless of class complexity. Continue Reading
-
News
01 Aug 2008
Building a Scalable Enterprise Applications Using Asynchronous IO and SEDA Model
This article presents one solution to overcome the scalability issues related to the enterprise applications that must support a mix of fast and long running business processes, or with great or small throughput. Continue Reading
-
News
18 Jul 2008
Implementing Finite State Machines with Physhun and Spring
This paper presents the Physhun project, a Spring-based framework for implementing complex processes through Finite State Machine models. Physhun provides finite State Model persistence and transaction management with synchronous or asynchronous behavior. Continue Reading
-
News
01 Jul 2008
Are Java Web Applications Secure?
One of the most extended belief about web applications is that most of them are insecure. This opinion is supported by statistics published by SANS [1] which show that almost half the vulnerabilities published during 2007 were related to web applications, independently from being open-source or commercial software. Continue Reading
-
News
01 May 2008
OSGi for Beginners
As a non-OSGi advocate, I would like to take some time to try to explain OSGi to the people who don't know about it – a novel idea, apparently – along with some example code to help people get started. Continue Reading
-
News
01 May 2008
The Whiteboard Pattern for OSGi
Learn about a pattern that a lot of OSGi programmers say is the way to go - and it's certainly one way to go. We'll discuss the whiteboard pattern for OSGi and then discuss some of its strengths and weaknesses, and alternatives. Continue Reading
-
News
01 Apr 2008
Complex Event Processing Made Simple Using Esper
Event processing has been at the heart of any computing system for more then a decade. A common challenge across industries is to be able to extract actionable intelligence from disparate event sources in the most real-time possible way. Continue Reading
-
News
01 Dec 2007
XWiki: A Platform for Collaborative Apps
This article demonstrates how to customize XWiki Enterprise by writing a small application with it. Specifically you'll learn how to write a Todo application for managing Todo tasks. This application will let users enter tasks using a description, assignee, target date and status. Continue Reading
-
News
01 Nov 2007
Design to Unit Test
Unit tested code reduces the defect density in an application. The motive of this article is not to elucidate the benefits of unit testing (see references for that), but to provide a collection of good practices to design an application keeping in mind the ability to unit test. Continue Reading
-
News
01 Sep 2007
Defining Your Object Model with JPA
In the perfect world, your object model would map seamlessly to your database schema. Most organizations however, have database naming standards, requirements for how relationships are modeled and columns that all tables must have. Continue Reading
-
News
01 Sep 2007
Implementing e-forms with Adobe LiveCycle Forms
Most companies today use e-forms in some way or the other, ranging from the simple contact form with fields where customers can leave their e-mail address and a message, to complex multi-page forms incorporating calculations and logic. Learn more about implementing e-forms with Adobe LiveCycle Forms. Continue Reading
-
News
01 Aug 2007
Manage test data for integration tests using Spring and DBunit
This article will look at configuring integration tests using Spring and DBUnit so that test data is inserted into the database before every test. This article also looks at a utility to export/import test data in the database using DBunit. Continue Reading
-
News
01 May 2007
Using OpenID
Learn more about OpenID, a decentralized, open source framework for user-centric digital identity. With OpenID, rather than managing all online accounts individually, users can manage their identity in one place via an authentication server. Continue Reading
-
News
01 Feb 2007
Part 5 - Integrating Java and Microsoft .NET
Interoperability is one of the main promises of Web services. Web services are designed to be independent of the underlying operating system and programming language. In this article we will introduce basic web services interoperability issues. We will focus on the two most popular platforms - Java and Microsoft .NET. Continue Reading
-
News
01 Feb 2007
Transforming Legacy Systems to J2EE Architecture
This document is a living reference document for anyone involved in the design and architecture for organizations to transform their legacy systems to Java 2 Enterprise Edition (J2EE) based applications. Continue Reading
-
News
01 Jan 2007
Mule: A Case Study
The buzzword du jour in service-oriented architectures is ESB. Enterprise service buses are the preferred tools for integrating systems with heterogeneous data interchange interfaces and based on a wide array of technologies, from COBOL to CORBA to JEE. This article is an introduction to ESBs and enterprise integration using Mule, the open-source ESB. Continue Reading
-
News
01 Sep 2006
The Pragmatic Code Generator Programmer
In this article we will reimplement an exercise taken from the best-selling book "The Pragmatic Programmer" written by Andy Hunt and Dave Thomas [1]. In the third chapter "The Basic Tools" the authors motivate the reader to learn a "text manipulation language" (like Perl or Ruby) in order to be able to develop little code generators. Continue Reading
-
News
01 Jun 2006
Pipeline to Visitor Design Pattern
Moving from Analysis to Design phase, designers try to make the software system very maintainable through selecting all the functions that are used frequently by most of the use cases and make components out of them. Continue Reading
-
News
11 May 2006
Free Book: The J2EE Architect's Handbook
This book is written for technical architects and senior developers tasked with designing and leading the development of J2EE java applications. This book will guide the architect through the entire process of delivering a project from analysis through application deployment providing numerous tips, tricks, and "best practices" along the way. Continue Reading
-
News
11 May 2006
Free Book: Java Testing and Design
Java Testing and Design: From Unit Testing to Automated Web Tests teaches you a fast and efficient method to build production-worthy, scalable, and well performing Web-enabled applications. The techniques, methodology, and tools presented in this book will enable developers, QA technicians, and IT managers to work together to achieve unprecedented productivity in development and test automation. Continue Reading
-
News
01 Dec 2005
SSO and Identity Management
As Web-applications have grown over the years to support various business processes, these applications have expanded the number of users, groups and roles that need to be managed by administrators. Continue Reading
-
News
01 Apr 2005
BPEL and Java
The idea and motivation behind almost each new technology and platform for enterprise application development is to provide an environment where better business applications can be developed with less effort –business applications which should closely align to the business processes, which should not be too complex, and which can be adapted to the changing nature of business processes without too much effort. Continue Reading
-
News
01 Apr 2005
Taking the load off: OSCache helps databases cope
Do you think that you can solve your J2EE performance problems by just adding more application servers? One caches is the Open Source product, OSCache. It may not be the best solution in all cases but, as a maintainer of OSCache, it is the one I will be reviewing. Continue Reading
-
News
01 Jan 2005
Exploring J2EE Security for Applications using LDAP
This article is loosely based on prototyping a number of J2EE applications constructs, such as servlets, EJB, MDB (Message-driven Beans) and JSP implemented using LDAP (Lightweight Directory Access Protocol) for application authorization. The applications were built in order to understand standard J2EE security and IBM WebSphere extensions. The article identifies key interfaces within WebSphere Application Server Version 5.x (WAS) or any J2EE compliant application server that need to be configured in order to build secure applications. Continue Reading
-
News
01 Nov 2004
Redirect After Post 2
This article demonstrates the benefits of Redirect-after-Post pattern using a simple web application. See my previous article " Redirect-after-Post pattern in web applications" for the discussion of the concept. Continue Reading
-
News
01 Sep 2004
Object Slicing and Component Design with Java
Object-oriented systems are usually partitioned into layers of related responsibilities and only dependencies in one direction are allowed, from higher layers (more specific, less reusable) to lower ones (more general, more reusable). Classes in higher layers can extend or wrap classes in lower ones, but not the other way around. Learn more about object slicing. Continue Reading
-
News
01 Sep 2004
Implementing Object Caching with AOP
Object caching has a number of characteristics that make it a prime candidate for implementation as an Aspect. Learn what some of these characteristics are. Continue Reading
-
News
01 Aug 2004
Redirect After Post
This article shows how to design a well-behaved web application using redirection. Continue Reading
-
News
15 Jun 2004
Dynamic Coupling
Loose coupling has more up-front costs than tight coupling. The assumption is that the loose coupling device will pay for itself. Continue Reading
-
News
01 May 2004
An Introduction to the Drools Project
Part one of this article revisits an old concept and introduces a new technology for the Java Enterprise developer's utility belt. I'll discuss how Rules Engines can improve the agility of your business by helping you isolate the "logic of the bottom line" from the technical logic of your software applications. I'll introduce the JSR-94 Rules Engine API and an Open Source product called Drools, the forerunner implementation of this up-and-coming technology. Continue Reading
-
News
01 Apr 2004
Using Database MetaData methods appropriately
Developing performance-oriented JDBC applications is not easy. JDBC drivers do not throw exceptions to tell you when your code is running too slow. Continue Reading
-
News
01 Jan 2004
Back End Code Generation Techniques For Java
Code generation is nothing new, especially for Java programmers, but it is still confusing to most people because of the variety of code generation models and solutions. This article will help you cut through the fog by providing a summary of the popular models and solutions in the Java world today. Continue Reading
-
News
01 Sep 2003
SQLExecutor - A Simple, Open Source JDBC Framework
Writing succinct and elegant JDBC code can be difficult. You have to create a few different objects and catch numerous checked exceptions, even if you can't reasonably recover from them. Continue Reading
-
News
01 Aug 2003
Using JAAS for Authorization & Authentication
This paper explains how to use the Java Authentication and Authorization API (JAAS). It plugs JAAS into the Struts framework. Though this paper focuses on Struts, and in particular the example application distributed with Struts, the lessons learned should be applicable to any MVC web framework. Continue Reading
-
News
01 Mar 2003
Using JMX to Manage Web Applications
The Java Management Extensions (JMX) standard is gaining adoption within the J2EE community for the management of applications, as well as application servers and other infrastructure software. JMX makes it possible to manage and monitor applications using a choice of management systems and consoles, including SNMP consoles. Continue Reading
-
News
01 Feb 2003
Simplifying Domain Model Persistence in a J2EE application by using JDO
This article describes how using Java Data Objects (JDO) [JDO] can avoid these problems and accelerate development. Continue Reading
-
News
01 Jan 2003
Serve It Up with J2EE 1.4 - Use JCA 1.5 and EJB 2.1 to Extend your App Server
J2EE application servers have become the standard for serving Web-based applications, and for good reason. Application servers provide a secure, reliable and manageable execution environment for Web applications using open, portable standards. Continue Reading
-
News
01 Jul 2002
Intro to Java Message Service 1.1
This article illustrates how to program using the new features of the Java Message Service (JMS) 1.1 API. The new features in JMS 1.1 are demonstrated through a sample application. Continue Reading
-
News
01 Jun 2002
JAXP: Coding for Parser & Transformer Independence
This introductory article will educate developers about the JAXP API, and provide them with a strong understanding of the pluggability layer that will allow their applications to switch between parsers at will. Continue Reading
-
News
01 Feb 2002
Part 6 - Securing Web Services with Single Sign-On
Web Services are arguably the most heterogenous distributed technology ever. A typical Web services setup will make use of many different technologies, object models and programming languages, which might include simple Perl scripts and standalone Web services implemented in C++ or Java, through to sophisticated applications build on top of J2EE application servers. Being able to interact across such diverse environments is one of the strengths of Web services, but it has a price: it becomes difficult to secure such systems. It is hard to find a common security standard for all involved technologies. Today we will talk about single sign-on, the security architecture that brings a flexible an interoperable way of securing heterogenous systems. Continue Reading
-
News
01 Jan 2000
Implementing a Data Cache using Readers And Writers
You may have come across a situation where you need to cache some data in your server. You then use this cache to service queries from incoming requests. You will also probably have a thread that listens for cache update events. This thread updates the cache in response to these events. Continue Reading
-
News
01 Jan 2000
Nuts and Bolts of Transaction Processing
This article walks the reader through the transaction processing and ACID. Continue Reading
-
News
01 Jan 2000
Why Prepared Statements are important and how to use them "properly"
Processing statements can be an expensive operation but databases are now written in such a way so that this overhead is minimized. However, these optimizations need assistance from the application developers if we are to capitalize on them. This article shows you how the correct use of Prepared Statements can significantly help a database perform these optimizations. Continue Reading