Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

The Tools of Java Development (Part 3): CI, Testing, and the Web

DZone's Guide to

The Tools of Java Development (Part 3): CI, Testing, and the Web

If your Java project needs a solid continuous integration tool, a web framework, something to help with testing, or an app server, this list is for you.

· Java Zone
Free Resource

Learn how to troubleshoot and diagnose some of the most common performance issues in Java today. Brought to you in partnership with AppDynamics.

Welcome back! If you're just joining us in this series on the tools available for Java development, feel free to check out Part 1, which covers general tools and IDEs, and Part 2, which talks about code coverage, APM, and logging. If you're all caught up, take a look at the best tools out there that cover continuous integration, testing, web frameworks, app servers, and app management tools for your Java projects.

Continuous Integration Tools

32. Bamboo

@atlassian

Bamboo

Bamboo is a continuous integration (CI) server by Atlassian to build, test and deploy code.

Key Features:

  • Tech stack
  • Deployment projects
  • Dedicated agents
  • Visibility
  • Parallel tests
  • Docker agents
  • Triggers
  • Quarantine

Cost:

  • FREE for 30 days
  • Small teams – $10
    • Up to 10 jobs
    • Unlimited local agents
    • No remote agents
    • All proceeds are donated to the Room to Read charity!
  • Growing teams
    • $800 for Unlimited jobs, Unlimited local agents, 1 remote agent
    • $2,200 for Unlimited jobs, Unlimited local agents, 5 remote agents
    • $4,000 for Unlimited jobs, Unlimited local agents, 10 remote agents
    • $8,000 for Unlimited jobs, Unlimited local agents, 25 remote agents
    • $8,000 for Unlimited jobs, Unlimited local agents, 25 remote agents
    • $16,000 for Unlimited jobs, Unlimited local agents, 100 remote agents
    • $40,000 for Unlimited jobs, Unlimited local agents, 250 remote agents

33. TeamCity

@teamcity

TeamCity

A build management and continuous integration server tool for Java, TeamCity is offered by JetBrains.

Key Features:

  • Feature branches with Git or Mercurial
  • Easy to scale
  • Good customer support
  • Continuous integration server

Cost:

  • FREE

34. Jenkins

@jenkinsci

Jenkins

Jenkins is the leading open source automation server and a clear leader in Java continuous integration. It can be used as a simple CI server or turned into a complete continuous delivery hub for any project.

Key Features: 

  • Self-contained and ready to run
  • Easily configurable web interface
  • Detects errors on the fly
  • Hundreds of plugins for seamless integration

Cost: FREE

Java Testing Tools

35. Junit

@junitteam

Junit

JUnit is a framework that helps write repeatable tests. It is considered to be one of the top testing frameworks out there.

Key Features:

  • Simple unit test tool
  • You can test one block of code at a time

Cost:

  • FREE

36. Apache JMeter

@ApacheJMeter

Apache JMeter

JMeter is an instance of open source software, and a 100% pure Java application for load testing. This testing tool measures the functional behavior and performance of websites, web services, and more.

Key Features:

  • Easy to understand GUI
  • Easier test plan building, and application debugging
  • Open source
  • Ability to load and performance test different applications/server/protocol types
  • Full featured Test IDE
  • Command-line mode
  • Complete and ready to present dynamic HTML report

Cost:

  • FREE

37. Mockito

@MockitoJava

Mockito

Mockito is one of the developer-favorites when it comes to Java mocking frameworks. It allows you to write tests with a clean and simple API.

Key Features:

  • Produce readable, clean tests, and verification errors
  • Stub method calls
  • Verify interactions
  • Slim API
  • Natural mocking when TDD-ing Java code
  • Similar syntax to EasyMock

Cost:

  • FREE

38. Selenium

@SeleniumHQ

Selenium

Selenium is an automated browser web testing Java tool. Most developers use this tool to test frameworks in large-scale web application testing. Web-based administration tasks can also be automated.

Key Features:

  • Choose between Selenium WebDriver or IDE
  • Runs in many browsers and operating systems
  • Can be controlled by many programming languages and testing frameworks

Cost:

  • FREE

39. Spock

@spockframework

Spock

Spock is another behavior-driven development (BDD) testing tool which can support JVM language Java and Groovy. It is also an enterprise-ready specification framework.

Key Features:

  • Enterprise-ready specification framework
  • Highly expressive specification language

Cost:

  • FREE

40. Google Guice

 Google Guice

Google’s Guice (pronounced “juice”) is a popular dependency injection tool. It is a lightweight framework for Java 6 and above.

Key Features:

  • Enables you to wire together and test objects with less effort
  • Can use annotations when binding type is not sufficient

Cost:

  • FREE

Java Web Frameworks

41. AngularJS

@angular

 AngularJS

AngularJS is a Java web framework with HTML that is great for declaring static documents. It is also fully extensible and can work well with other libraries.

Key Features:

  • Can extend HTML vocabulary for application
  • Fully extensible and works well with other libraries
  • Features can be modified or replaced
  • Add controls
  • Create components

Cost:

  • FREE

42. Spring MVC

@springcentral

Spring MVC

Another top Java web framework, Spring MVC, provides mode-view-controller architecture and ready components. These can be used to develop web applications.

Key Features:

  • Dispatches requests to handlers
  • Configurable handle mapping, local, time zone, view resolution, theme resolution, and more
  • Offers wide range of flexible handling method
  • Clear separation of roles
  • Adaptability, non-intrusiveness, and flexibility

Cost:

  • FREE

43. Vaadin

@vaadin

Vaadin

Vaadin is another open-source web framework that works for rich internet applications. It features server-side architecture, which makes the majority of logic to run on the servers.

Key Features:

  • One language for the whole application
  • Extensible with Java and HTML5
  • UI logic is right next to the data
  • Strong abstraction of web technologies

Cost:

  • FREE

Application Servers and Application Management

44. Apache Tomcat

@TheApacheTomcat

Apache Tomcat

Apache Tomcat is one of the most used Java application servers out there. It an open-source implementation of the Java Servlet, JavaServe Pages, Java Expression Language, and Java WebSocket technologies.

Key Features:

  • Powers numerous large-scale
  • Lightweight app server

Cost:

  • FREE

45. WebLogic

@Oracle

WebLogic

Another popular Java tool by Oracle is the WebLogic Server. It is considered to be the best application server for building and deploying enterprise Java EE applications in the industry.

Key Features:

  • Helps lower cost of operations
  • Helps in enhancing scalability
  • Based on standardized, modular components.

Cost:

  • FREE

46. WebSphere

@IBMWebSphere

WebSphere

IBM’s WebSphere in an application server that allows you to optimize, create and connect applications on-premise, and on the cloud.

Key Features:

  • Optimize application infrastructure to reduce cost
  • Connect existing Java applications to the cloud and unlock new value with API lifecycle management and cloud services
  • Create and deploy cloud-native and web-based apps
  • Migration support
  • TCO Calculator
  • Analyst Report

Cost:

  • FREE

47. GlassFish

@glassfish

GlassFish

GlashFish is an open-source application server project by Sun Microsystems for the Java EE platform. It is now sponsored by Oracle.

Key Features:

  • Issue tracker
  • Documentation
  • GlassFish Source Code repository
  • IDEs
  • Forum and mailing list

Cost:

  • FREE

48. Mesos

@ApacheMesos

Mesos

Mesos is an open source software solution that sits between the application layer and operating system to make it easier to deploy and manage applications.

Key Features:

  • Abstracts CPU, memory, storage, and other compute resources away from machines
  • Linear scalability
  • High availability
  • Containers
  • Two-level scheduling
  • APIs
  • Web UI

Cost:

  • FREE

49. JBoss EAP

@rhdevelopers

JBoss EAP

Red Hat’s JBoss EAP (Enterprise Application Platform) is used for hosting apps. It provides an innovative modular, powerful management and automation, cloud-ready architecture and world-class developer productivity.

Key Features:

  • Innovative/modular
  • Cloud-ready architecture
  • Powerful management and automation
  • High availability clustering
  • Distributed caching
  • Messaging and transaction and full web services stack

Cost:

  • FREE

And there you have it! The preceding lists of tools should help get you started on anything related to CI, testing, app management, and web frameworks. Stay tuned for the conclusion to this series, which will cover the variety of artifact management, web extension, and messaging distribution tools as well as the various JVM languages out there for you to consider.

Understand the needs and benefits around implementing the right monitoring solution for a growing containerized market. Brought to you in partnership with AppDynamics.

Topics:
java ,java tools ,continuous integraiton ,app server ,java testing

Published at DZone with permission of Angela Stringfellow, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}