Enhancing Java Development: An Overview of Payara Developer Tools

Photo of Luqman Saeed by Luqman Saeed

Payara offers an extensive range of developer tools designed to support Java and Jakarta EE developers at every stage of the application lifecycle. This comprehensive blog post explores the complete ecosystem of Payara developer tools and how they streamline enterprise Java development workflows.

Project Initialization and Setup

Getting started quickly with the right project structure and dependencies is critical for development velocity. Payara offers tools that make this initial phase smooth and straightforward.

Payara Starter

Payara Starter accelerates Jakarta EE development by simplifying the creation of new projects. It allows you to:

  • Generate Maven or Gradle Jakarta EE projects with pre-configured settings
  • Select specific Jakarta EE and MicroProfile specifications
  • Include necessary dependencies automatically
  • Set up project structures following best practices
  • Access an AI-powered ER diagram generator for different types of applications

This tool shortens the time from concept to functional code base, allowing you and your team to focus on business logic rather than project configuration.

 

Maven and Gradle Support

Payara provides strong support for the two main Java build tools:

Payara Micro Maven Archetype

This archetype offers a project template specifically for Payara Micro applications, enabling you to:

  • Start new projects with standardized structures
  • Incorporate best practices from the beginning
  • Access pre-configured settings and dependencies

Maven BOM (Bill of Materials)

The Payara Platform BOM artifact centralizes version information, helping your team:

  • Maintain consistent dependency versions
  • Reduce version conflicts
  • Simplify dependency management
  • Ensure compatibility between different Payara components

Building and Deployment Tools

Moving from development to deployment requires reliable tools that handle packaging and execution. Payara offers plugins for the most common build systems.

Payara Micro Maven Plugin

This plugin streamlines working with Payara Micro by providing Maven goals to:

  • Bundle applications into executable Uber JARs
  • Start and stop Payara Micro instances
  • Automatically deploy applications during development
  • Configure runtime parameters

Payara Micro Gradle Plugin

For teams using Gradle, this plugin offers similar capabilities:

  • Package applications with Payara Micro runtime
  • Manage Payara Micro instances
  • Configure deployment options
  • Integrate with Gradle build workflows

IDE Integration

Modern Java development happens within IDEs, and Payara ensures you have access to Payara features directly from your preferred development environment.

Payara Tools Eclipse Plugin

This plugin integrates Payara Server and Payara Micro into the Eclipse IDE, allowing you to:

  • Manage Payara Server instances directly from Eclipse
  • Deploy applications with a single click
  • Monitor server and application logs
  • Debug applications in context

Payara Tools for Apache NetBeans

NetBeans offers built-in support for Payara, providing:

  • Payara Server management capabilities
  • Deployment tools
  • Runtime monitoring
  • Debugging support

Payara IntelliJ IDEA Plugin

For IntelliJ IDEA, this plugin enables:

  • Payara Server and Micro integration
  • Application deployment management
  • Server control from within the IDE
  • Debugging support

Payara Visual Studio Code Extension

As VS Code gains popularity among Java developers, our Payara extension provides:

  • Server management capabilities
  • Deployment workflows
  • Configuration options
  • Integration with other VS Code Java tools

Testing Tools

Testing enterprise applications requires specialized tools that understand the Jakarta EE managed environment.

Arquillian Containers

Payara offers Arquillian containers that simplify your integration testing by:

  • Providing managed Payara Server environments for testing
  • Supporting both Payara Server and Payara Micro
  • Enabling in-container testing
  • Allowing automated testing of Jakarta EE components

Cloud and Integration Tools

Your modern applications rarely exist in isolation. Payara provides you with the tools to connect with various cloud services and external systems.

Cloud Connectors

Payara's JCA adapters facilitate connections to popular cloud messaging providers:

  • Amazon SQS for AWS messaging
  • Apache Kafka for distributed event streaming
  • Azure Service Bus for Microsoft cloud integration
  • MQTT for IoT communication

These connectors follow the Jakarta Connector Architecture standard, providing consistent APIs regardless of the backend service.

Administration and Monitoring

To keep your applications running smoothly, you'll need effective management and monitoring tools.

Admin Console

The web-based Admin Console provides a comprehensive interface for:

  • Managing Payara Server domains
  • Configuring resources like data sources and JMS destinations
  • Monitoring application deployments
  • Tuning performance parameters

Asadmin Command-Line Tool

For automation and scripting, the Asadmin utility offers:

  • Command-line management of all Payara Server features
  • Scripting capabilities for automated administration
  • Integration with CI/CD pipelines
  • Remote management options

Monitoring Console

Payara's Server Monitoring Console helps your operations team by:

  • Providing real-time metrics on application performance
  • Offering health checks for system components
  • Visualizing resource usage
  • Enabling proactive problem detection

Security Tools

Your enterprise applications demand strong security, and Payara provides the tools to address these requirements.

Payara Server includes security tools for:

  • Authentication and authorization management
  • Certificate handling
  • Security realm configuration
  • Integration with identity providers
  • Audit logging

Profiling and Debugging

Finding and fixing performance issues or bugs requires specialized tools.

Debugging Support

Payara Server integrates with standard Java debugging tools, allowing you to:

  • Set breakpoints in application code
  • Inspect variables and state
  • Step through execution
  • Diagnose runtime issues

Profiling Integration

For performance analysis, Payara works with Java profiling tools to:

  • Identify performance bottlenecks
  • Analyze memory usage
  • Monitor thread activity
  • Optimize application performance

Benefits Across the Development Lifecycle

The comprehensive suite of Payara developer tools provides advantages throughout the application lifecycle.

  1. Development Phase: Faster setup, IDE integration, and build tool plugins accelerate development.
  2. Testing Phase: Arquillian containers and debugging tools ensure application quality.
  3. Deployment Phase: Build plugins and deployment tools simplify moving to production.
  4. Operations Phase: Admin tools, monitoring, and security features keep applications running smoothly.

Summary of Payara Developer Tools

The following table provides an overview of all Payara developer tools for your easy reference:

 

Category

Tool

Description

Key Benefits

Project Setup & Init

Payara Starter

Web-based tool to generate Jakarta EE project skeletons (Maven/Gradle) with pre-configured settings, dependencies, and best-practice structure. Includes an AI powered ER diagram generator.

Rapid project start, consistent setup, reduced boilerplate, best-practice defaults, accelerates development.

Payara Micro Maven Archetype

Maven archetype to quickly create new Payara Micro projects.

Standardized project structure, pre-configured for Payara Micro, simplifies initial setup.

Maven BOM

Bill of Materials (BOM) for managing Payara Platform dependencies in Maven projects.

Consistent dependency versions, reduces conflicts, simplifies updates.

Build & Deployment

Payara Micro Maven Plugin

Maven plugin to package, run, and deploy applications using Payara Micro. Provides goals for bundling into Uber JARs, starting/stopping instances, and automatic deployment.

Streamlines Payara Micro development within Maven, simplifies deployment, automates tasks.

Payara Micro Gradle Plugin

Gradle plugin providing similar functionality to the Maven plugin for Payara Micro.

Simplifies Payara Micro development within Gradle, simplifies deployment, automates tasks.

IDE Integration

Payara Tools Eclipse Plugin

Integrates Payara Server and Payara Micro management, deployment, and debugging into the Eclipse IDE.

Seamless Payara development within Eclipse, single-click deployment, in-context debugging.

Payara Tools for Apache NetBeans

Built-in Payara Server and Payara Micro support within the Apache NetBeans IDE.

Seamless Payara development within NetBeans, single-click deployment, runtime monitoring, debugging.

Payara IntelliJ IDEA Plugin

Integrates Payara Server and Payara Micro management, deployment, and debugging into IntelliJ IDEA.

Seamless Payara development within IntelliJ IDEA, single-click deployment, server control, debugging.

Payara Visual Studio Code Extension

Provides Payara Server and Payara Micro management, deployment, and configuration capabilities within Visual Studio Code.

Integrated Payara experience in VS Code, streamlines Java development workflows, server management, deployment within VS Code.

Testing

Arquillian Containers (Payara)

Arquillian container adapters for Payara Server and Payara Micro, enabling in-container testing of Jakarta EE components.

Realistic testing environment, automatic dependency management, simplified integration testing.

Cloud & Integration

Cloud Connectors

JCA (Jakarta Connector Architecture) adapters for connecting to cloud messaging services (Amazon SQS, Apache Kafka, Azure Service Bus, MQTT).

Standardized, portable connections to cloud services, simplified integration.

Administration & Monitoring

Admin Console

Web-based graphical interface for managing Payara Server domains, resources, deployments, and performance.

Centralized server management, visual configuration, performance monitoring.

Asadmin Command-Line Tool

Command-line interface for managing Payara Server, enabling scripting and automation of administrative tasks.

Scriptable server management, automation of deployments and configuration, integration with CI/CD.

Monitoring Console

Provides real-time metrics and health checks for Payara Server and deployed applications.

Proactive problem detection, performance analysis, resource monitoring.

Security

(Built-in Payara Server Features)

Payara Server comes wth built-in security features for authentication, authorization, certificate management, security realm configuration, and integration with identity providers. Audit logging is also available.

Comprehensive security management, protection against common vulnerabilities, simplified secure application development.

Profiling & Debugging

(Integration with Java Tools)

Payara Server supports standard Java debugging and profiling tools (e.g., JProfiler, VisualVM, YourKit) for diagnosing performance issues and identifying bottlenecks.

Performance optimization, bug identification, runtime analysis.



Choosing the Right Tools

When choosing the right tools for your team, consider:

  • Your existing technology stack and preferences
  • Specific project requirements
  • Team expertise and familiarity
  • Integration needs with other systems

Most teams benefit from a combination of tools, so select the ones that best address your specific challenges.

Conclusion

Payara's comprehensive suite of developer tools can address the full spectrum of your Jakarta EE and MicroProfile development needs. From project initialization to production monitoring, these tools can help your development team work more efficiently while maintaining high-quality standards. Whether you're starting a new project or maintaining an existing application, Payara's developer tools provide the support you need to build reliable, scalable, and secure enterprise Java applications.

Related Posts

Comments