Development tools for continuous software delivery
Software developers build applications faster when they have the right tools. Review the essential tools every software developer needs, such as Git, Jenkins, IDEs such as Eclipse and build tools including Maven and Gradle. Also, gain insight into how AI and machine learning are pushing software development tool capabilities to new levels to help developers generate quality code.
Top Stories
-
Video
10 Apr 2024
Jira story vs. task: What's the difference?
To help teams progress from vision to implementation, Jira provides stories and tasks. Here's the difference between a Jira story and a task. Continue Reading
-
Video
08 Apr 2024
Learn Jenkins: Tutorial for beginners
Jenkins is a popular open source CI/CD tool, and it's not hard to learn either. Learn to build your own CI/CD pipelines with this full Jenkins tutorial for beginners. Continue Reading
-
Podcast
06 Mar 2015
What is Google's Solve for X?
Learn about the Google initiative, Solve for X, in this podcast with Barry Burd. Continue Reading
-
News
12 Feb 2015
Google's Solve for X program names four pioneers
Google's Solve for X program has determined four moonshot finalists. Learn who they are and the technological advances they represent. Continue Reading
-
News
23 Jan 2015
Google's Solve for X Program nears this year's final round
Interested in solving the worlds greatest problems? Well, Google is, and if you want Google to give some of your solutions a little attention, then getting in on their Solve for X program is a must. Continue Reading
-
Feature
14 Jan 2015
Will 2015 be the year of the cloud-based, mobile IDE?
With so many improvements in both cloud based technology and handheld devices, more and more developers want to develop in the same device they send texts with. Will 2015 be the year of the cloud-based, mobile IDE? Continue Reading
-
Feature
08 Jan 2015
10 reasons why HTML5 implementation should happen now
Learn the top 10 reasons why HTML5 implementation should be your next Web development project. Continue Reading
-
Feature
26 Nov 2014
Seven ways to optimize mobile apps for improved performance
While many organizations have been developing mobile apps for years, making sure those apps are optimized in such a way that will improve performance is still a challenge. Here we look at seven simple ways organizations can optimize their mobile applications. Continue Reading
-
Tip
28 Oct 2014
Incorporating Google Maps to the Java desktop
Rob Terpilowski discusses how he and his architect team brought Google Maps to the Java desktop in this video from JavaOne 2014. Continue Reading
-
Definition
04 Mar 2014
NetBeans
NetBeans is a Java-based integrated development environment (IDE). The term also refers to the IDE’s underlying application platform framework. Continue Reading
-
Feature
01 Mar 2014
Top five reasons why Scala might not be the right choice for your next project
There is a time and a place for everything, but is it the right time to use Scala in your next project? Sometimes sober second thought is a good thing, so if you're thinking about moving to Scala, here are a few warnings you might want to heed. Continue Reading
-
Feature
05 Jan 2014
The server-side trend for 2014? Modular and componentized application servers
With modern applications, the focus is more on the software being developed, and less on the server-side software that manages all of the back-end services. The trend for 2014 and beyond? More modularization and componentization. Continue Reading
-
Feature
04 Jan 2014
Getting out is harder than getting in: The importance of a cloud exit strategy
Many organizations have overcome their fear of moving to the cloud and have adopted various cloud based technologies. But every entrance should have a corresponding exit. Sadly, not enough organizations have thought about a cloud exit strategy. Continue Reading
-
Feature
04 Oct 2013
Pros, cons of moving from Swing to JavaFX: UI tools a plus
In this Q&A, Lynden Inc. senior software architect Rob Terpilowski explains why his team found JavaFX provided richer UI tools than Swing. Continue Reading
-
News
23 Sep 2013
Java development and application lifecycle management collide at JavaOne
There is an intersection between Java development and application lifecycle management, but at JavaOne this year, the ebb has flowed away from ALM, as the conference focuses largely on the technical side of things. Continue Reading
-
Feature
03 Aug 2013
Software developers demanding resource based, RESTful APIs
Software developers are demanding APIs that are delivered in a RESTful, resource based way, and one way to do that is by building with the RESTlet framework. Continue Reading
-
Definition
08 May 2013
Apache Solr
Apache Solr is an open source search platform built upon a Java library called Lucene. Continue Reading
-
Tip
05 May 2013
Two most commonly misconfigured Tomcat performance settings
Tomcat on the server is different from Tomcat on the desktop, but too many system admins fail to optimize their production servers for performance. Continue Reading
-
Feature
23 Apr 2013
Big Data Hadoop solutions with Hive, Mahout, HBase and Cassandra
As Hadoop evolves, complimentary technologies such as Hive, Mahout, HBase and Cassandra are allowing software engineers get more and more out of commodity hardware. Continue Reading
-
Feature
08 Apr 2013
Simplified cloud-based application development with Node.js
Cloud-based application development with Node.js allows for one simple and scalable technology to be used on both the client and the server. Continue Reading
-
Feature
06 Feb 2013
Contrasting distributed computing with concurrent programming:
In many ways, concurrent programming and distributed programming address the same set of programming issues, but there are significant differences between the two, and architects and developers need to understand the difference. Continue Reading
-
Feature
10 Jan 2013
How NoSQL, MySQL and MongoDB worked together to solve a big-data problem
Choosing between schemaless NoSQL databases and strong-schema relational designs isn't an either-or decision, as this case study points out. When dealing with their big data problem, Craigslist decided that their MySQL servers could use a little help from MongoDB, and putting the two technologies together created a better system with greater availability, scalability and performance. Continue Reading
-
Feature
09 Jan 2013
The Craigslist Dilemma: A case study for big data and NoSQL solutions
It's hard to imagine just how many postings Craigslist has handled over the years, and if you were in charge of archiving those posts and storing them for compliance, you'd need a 'big data' solution. So how does Craigslist manage all of their data, both the incoming stuff and the stuff that needs archiving? It's a beautiful combination of MySQL, NoSQL and a little help from the people at 10Gen. Continue Reading
-
Tip
24 Oct 2012
Consistent application performance: It's not always about speed
When developing applications, the response time is always an important metric. But inconsistent response times can often be more aggravating than slow sites. Make sure you take response time consistency into your application performance reviews. Continue Reading
-
Feature
18 Oct 2012
Web page performance: Removing the white flicker delay
Looking for ways to improve the performance of web page rendering and removal of the white flicker that often occurs when a web page loads? There are many tweaks and tips commonly talked about regarding web page development – from design to the final deployment of an application. However, most of the end user's time is spent on the front end, hence from the user's perspective the most promising area to look for improvement is with the web page and how speedily the web pages loads when user clicks on a link or URL. Continue Reading
-
Feature
25 Jul 2012
Discovering the right metrics for scalability testing
Scalability testing is perhaps the most important test you need to run on your application before going forward with deployment. But how do you know when you've proven that your application can scale. Here we take a look at some of the most important metrics to measure when testing the scalability of your applications. Continue Reading
-
Feature
31 May 2012
Why Java applications fail to scale linearly: A simple explanation
The process of scaling up Java applications often runs into the problem of diminishing returns, where adding another processor no longer adds significant benefit. Why won't Java programs scale? Here's your answer. Continue Reading
-
Tutorial
17 Feb 2012
Install the Apache Tomcat application server
The first choice in application servers for many Java developers is the open source Apache Tomcat. Learn how to download and install the Apache Tomcat 6 servlet engine. Continue Reading
-
Feature
19 Sep 2011
Cloud Technologies are Changing the IT Landscape
By far, the largest impact of a cloud computing model is to IT infrastructure. The migration to such a model must be carefully considered because not only is hardware and software affected but also the way in which internal IT processes and vendor relationships must change. Continue Reading
-
Feature
26 Aug 2011
Embedded operating systems: Linux versus Windows
Choosing the right embedded operating system is not an easy decision. Closely examine the pros and cons of each OS to determine which one will bring the most value to your specific project. Continue Reading
-
Feature
27 Jul 2011
Say No To The Cloud? There Are Reasons Why
The extensively use of IT systems by business users to increase productivity and bring down cots of operations has lead to building and maintaining substantial IT infrastructure. Managing the complex IT systems require high capital cost, expensive IT manpower with high attrition rate, security, and maintenance. Continue Reading
-
Feature
01 Feb 2011
Developing for the cloud: How developing in the cloud is different
The benefits of cloud computing have been widely touted – business agility, scalability, efficiencies and cost savings among the top – and companies are migrating and building mission-critical Java applications specifically for cloud environments at a growing rate. TheServerSide caught up recently with Bhaskar Sunkara, Director of Engineering at AppDynamics, an application performance company focused on Java and cloud applications, to discuss the challenges in developing Java applications for the cloud and managing them once they’re there. Continue Reading
-
Feature
01 Feb 2011
Scala and the cloud
As the cloud becomes more popular, so does the functional programming language Scala. Don't worry though, it's Java compatible and it runs on a JVM. So why are people using it? Perhaps because it's so functional. Continue Reading
-
Feature
01 Feb 2011
Sharding in the Cloud
I/O reads to non-virtualized datastores can be one of the biggest bottlenecks in applications that have been deployed to the cloud. One of the easiest ways to avoid this problem is to simply shard your database. Continue Reading
-
Feature
14 Dec 2010
Caching Scenarios
Caching is a quick and easy way to save roundtrips between your application and where you store your data. However, it’s not as easy as just snapping a map into your application – to really leverage a cache, you not only have to understand where a cache can be used, but how it can affect what your application does and how your architecture is used. Continue Reading
-
Feature
18 Nov 2010
Comparing MySQL and Postgres 9.0 Replication
Replication is one of the most popular features used in RDBMS’s today. Replication is used for disaster recovery purposes (i.e. backup or warm stand-by servers), reporting systems where query activity is offloaded onto another machine to conserve resources on the transactional server, and scale-out architectures that use sharding or other methods to increase overall query performance and data throughput. Continue Reading
- Report 17 Sep 2010
-
Feature
28 Jun 2010
The Performance Paradox of the JVM: Why More Hardware Means More Failures
Administrators are seeing their JVMs not crash, but pause, and just stop responding to requests, as though they were a 400 meter sprinter, stopping to catch their breath at the end of a race. Continue Reading
-
Definition
03 May 2010
Enterprise JavaBeans (EJB)
Enterprise JavaBeans (EJB) is an architecture for setting up program components, written in the Java programming language, that run in the server parts of a computer network that uses the client/server model. Continue Reading
-
News
06 Aug 2009
Asynchronous Processes Modeled as Persistent Finite State Machines
The need for a way to execute concurrent tasks within Java has been addressed within JSE by the java.util.concurrent.Executor and in a limited fashion in JEE by the WorkManager specification. Unfortunately, the WorkManager specification is only supported by two application servers – BEA's WebLogic and IBM's WebSphere – and does not address several requirements that commonly exist in concurrent applications. Continue Reading
-
Definition
16 Oct 2008
Groovy
Groovy is a dynamic object-oriented programming language for the Java virtual machine (JVM) that can be used anywhere Java is used. Continue Reading
-
News
01 Jul 2008
Introduction to m2eclipse
In this article, we will explore the features m2eclipse provides and help you start using an Eclipse plugin which provides real Maven integration for the best IDE platform available. Continue Reading
-
News
01 Jul 2008
Scaling Your Java EE Applications
In this article, Wang Yu takes real world cases as examples to explain ways on how to scale Java applications based on his experiences on the laboratory projects, and at the same time, bring together practice, science, algorithms, frameworks, and experience on failed projects, to help readers on building high scalable Java applications. Continue Reading
-
Definition
24 Mar 2008
JAX-WS (Java API for XML Web Services)
Java API for XML Web Services (JAX-WS) is one of a set of Java technologies used to develop Web services... (Continued) Continue Reading
-
News
01 Mar 2008
Performance Engineering - a Practitioner's Approach to Performance Testing
With every passing day, organizations are becoming more and more conscious about the performance of their Enterprise Solutions. As the IT industry matures and the technology evolves, so does the awareness about expectations from an Enterprise Application. Continue Reading
-
Definition
05 Oct 2006
Java Cryptography Extension (JCE)
The Java Cryptography Extension (JCE) is an application program interface (API) that provides a uniform framework for the implementation of security features in Java. Continue Reading
-
Definition
20 Sep 2006
Java Authentication and Authorization Service (JAAS)
The Java Authentication and Authorization Service (JAAS) is a set of application program interfaces (APIs) that can determine the identity of a user or computer attempting to run Java code, and ensure that the entity has the privilege or permission to execute the functions requested... (Continued) Continue Reading
-
News
01 Sep 2006
Testing Concurrent Programs
Writing correct concurrent programs is harder than writing sequential ones. This is because the set of potential risks and failure modes is larger - anything that can go wrong in a sequential program can also go wrong in a concurrent one, and with concurrency comes additional hazards not present in sequential programs such as race conditions, data races, deadlocks, missed signals, and livelock. Continue Reading
-
News
01 Jun 2006
Testing a persistent domain model
Some developers treat testing in the same way I treat flossing: It's a good idea but they either do it with great reluctance or not at all. Continue Reading
-
News
11 May 2006
Free Book: EJB Design Patterns
EJB Design Patterns goes beyond high-level design pattern descriptions into critical EJB-specific implementation issues, illustrated with source code implementations. But remember, there are also some Evil Design Patterns you need to be aware of! Continue Reading
-
News
11 May 2006
Book Chapters: Mastering EJB 3rd Edition Review Project
Much has happened since the second edition of Mastering EJB book series; mainly, the release of EJB 2.1 specification and massive adoption of Web services technologies by the industry. EJB 2.1 had a few but substantial additions in the specification. Besides, EJB 2.1 specification is part of J2EE 1.4 platform, which has some major additions/changes. As a result, a new edition of this book is warranted. The proposed new edition will contain five new chapters - each either covering a major EJB 2.1 technology or focusing on best practices (such as security) related to the same. This plus the normal updates (ranging from 10% to 50%) to all the existing chapters result in an overall 30% change in the proposed edition from the previous one. Continue Reading
-
News
01 Jan 2006
Using Eclipse BIRT Report Libraries and Templates
Any organization that implements Web reporting quickly realizes the need for standards and controls in reporting infrastructure and content development, especially those implementations with large numbers of complex reports, or large developer communities. Continue Reading
-
Definition
21 Sep 2005
JOLAP (Java Online Analytical Processing)
JOLAP (Java Online Analytical Processing) is a Java application-programming interface (API) for the Java 2 Platform, Enterprise Edition (J2EE) environment that supports the creation, storage, access, and management of data in an online analytical processing (OLAP) application. Continue Reading
-
News
01 Sep 2005
Code Analysis with the Eclipse Profiler
In my experience as a software professional, I often have the need to analyse an existing body of code in order to understand it. Everyone tries his or her best to create adequate documentation but it's a rare thing to find a fully documented component that needs no further explanation. This document describes an analysis technique using the Eclipse Profiler. Continue Reading
-
News
01 Jun 2005
Tuning Your Stress Test Harness
Have you ever had to stress test an application only to discover that you couldn't make sense of the results? If you have been in this situation or you are about to embark on a stress testing exercise, here are a few things that you need to consider. Continue Reading
-
News
01 Jun 2004
Enhancing Web Application Performance with Caching
Memory is a constant bottleneck for large, busy applications. Effective caching strategies can both lower the memory footprint and speed up the application. Caching is a well known optimization technique because it keeps items that have been recently used in memory, anticipating that they will be needed again. Continue Reading
-
News
01 Apr 2004
Understanding Class.forName() - Java
Dynamic loading of Java classes at runtime provides tremendous flexibility in the development of enterprise systems. It provides for the basis of "application servers", and allows even simpler, lighter-weight systems to accomplish some of the same ends. Within Java, dynamic-loading is typically achieved by calling the forName method on the class java.lang.Class; however, when Class.forName is called from within an Extension, strange errors can occur. This paper describes why those errors occur, and how Java2 provides a facility, called the "Thread context ClassLoader", to avoid them. Continue Reading
-
News
01 Jan 2004
Test-Driven Development Series Part 2 - Testing Java Classes with JUnit
The first article is a concept piece explaining why testing helps in an enterprise server-side software environment. Most software applications today are written in tiers: the presentation tier, the logic tier (where business logic is kept), and the data tier. The logic tier is the meat of the application and comprises all of the rules and actions of the application. Continue Reading
-
News
01 May 2002
Improving J2EE Application Performance
This article describes how to achieve a high level of performance in a J2EE application, independent of which Application Server you use. Continue Reading
-
News
01 Apr 2002
Clustering Technologies: In Memory Session Replication in Tomcat 4
In this article we will cover one of the clustering technologies, HTTP session replication, that is used within the J2EE model. There is an example is provided of how session replication can be implemented using Tomcat in conjunction with JavaGroups, a communication protocol which can perform reliable multicast operations to transfer session state between nodes. Continue Reading