Skip to content

Latest commit

 

History

History
193 lines (193 loc) · 6.85 KB

OpenSourcesJava.md

File metadata and controls

193 lines (193 loc) · 6.85 KB

Open Sources Java

1. Development Tools

  1. Spring Framework
  • The core framework for building enterprise applications.
  1. Spring Boot
  • Simplifies microservices and standalone application development.
  1. Spring Data
  • Provides easy access to database technologies like JPA, MongDB, and Elasticsearch.
  1. Spring Security
  • For securing Spring-based applications.
  1. Spring Cloud
  • Tools for building cloud-based, distributed systems.

2. IDEs and Plugins

  1. Eclipse IDE(with Spring Tools)
  • IDE with Spring Tool Suite plugins for Spring development.
  1. Intellij IDEA
  • Supports Spring development with additional plugins for enhanced Spring configuration.

3. Build Tools

  1. Maven
  • Dependency management and build tool often used with Spring.
  1. Gradle
  • Modern, flexible build tool, widely adopted for Spring projects.

4. Testing Tools

  1. JUnit
  • The default testing framework for Spring applications.
  1. Mockito
  • For mocking dependencies in Spring tests.
  1. Testcontainers
  • Enables testing with containerized environments.
  1. Automation Test (Selenium)

5. Monitoring and Observability

  1. Prometheus
  • For collecting and monitoring metrics from Spring applications.
  1. Grafana
  • For visualizing application metrics.
  1. Spring Boot Actuator
  • Provides production-ready features like monitoring and metrics collection.

6. Databases

  1. Relational Database Management System(DBMS)
  • MySQL, Orale, SQL Server, Postgress,...
  1. NoSQL
  • MongoDB, Apache Cassandra, Couchbase, Elasticsearch

7. Containers and Orchestration

  1. Docker
  • For containerizing Spring applications
  1. Kubernetes
  • For orchestrating Spring microservices.

8. Dependency Injection and Aspect-Oriented Programming

  1. Guice
  • Lightweight dependency inject framework, and alternative to Spring DI.
  1. AspectJ
  • Provides powerful aspect-oriendted programming capablities that integrate well with Spring

9. Database and ORM

  1. Hibernate
  • Popular ORM framework, often used with Spring Data JPA.
  1. MyBatis
  • Flexible SQL mapper framework for database interaction.
  1. Flyway
  • Database migration tool for versioning schema changes.
  1. Liquibase
  • Another database change management tool.

10. Security

  1. Keycloak
  • Open-source Identity and Access Management (IAM) solution for securing Spring applications.
  1. Apache Shiro
  • General-purpose security framework, supports authentication and authorization.

11. Caching

  1. Ehcache
  • High-performance caching solution for Spring applications.
  1. Caffeine
  • A high-performance caching library, ideal for in-memory caching in Spring.
  1. Redis
  • In-memory data store, commonly used with Spring for caching.

12. Messaging and Event Handling

  1. Apache Kafka
  • Distributed event streaming platform for building real-time applications.
  1. RabbitMQ
  • Open-source message broker supporting multiple messaging protocols.
  1. Axon Framework
  • Provides support for event-driven microservices and CQRS in Spring.

13. API and Web Services

  1. Feign
  • Declarative HTTP client, often used with Spring Cloud for microservices communication.
  1. Retrofit
  • Type-safe HTTP client for making API calls in Spring-based applications.
  1. Apache CXF
  • Framework for creating SOAP and RESTful web services.

14. Monitoring and Logging

  1. Logback
  • A flexible logging framework used with Spring Boot.
  1. ELK Stack (Elasticsearch, Logstash, Kibana)
  • For centralized logging and log analysis in Spring applications.
  1. Zipkin
  • Distributed tracing system for monitoring Spring microservices.

15. Frontend Integration

  1. Thymeleaf
  • Server-side Java templating engine, integrated with Spring MVC.
  1. Vaadin or Hilla(a product of Vaadin)
  • Framework for building rich web applications in Java, compatible with Spring.
  1. GraphQL Java
  • Library for integrating GraphQL APIs with Spring applications.

16. Performance and Optimization

  1. Micrometer
  • Metrics instrumentation library, used with Spring Boot Actuator.
  1. JHipster
  • Developer tool to generate Spring Boot and Angular/React/Vue projects.
  1. Apache Ignite
  • In-memory data fabric for high-performance computing.

17. Application Development

  1. Quarkus
  • A Kubernetes-native Java framework optimized for fast startup and low memory usage.
  1. Micronaut
  • Lightweight framework for microservices and serverless applications, alternative to Spring Boot.
  1. Jersey
  • RESTful web services framework, part of the Jakarta EE project.
  1. Play Framework
  • Reactive web application framework, supports Java and Scala.

18. Configuration Management

  1. Apache Zookeeper
  • Centralized service for configuration and synchronization, often used with Spring Cloud.
  1. Consul
  • Service mesh and configuration management tool.

19. API Management and Gateway

  1. Kong Gateway
  • Open-source API gateway and microservices management tool.
  1. Tyk
  • Open-source API management platform with a gateway and dashboard.
  1. API Umbrella
  • Open-source API management platform.

20. Event Streaming and Messaging

  1. ActiveMQ
  • Open-source message broker for asynchronous communication.
  1. NATS
  • Lightweight messaging system for modern cloud-native applications.
  1. Pulsar
  • Distributed messaging and streaming platform.

21. Observability and Monitoring

  1. Jaeger
  • Distributed tracing platform compatible with Spring Cloud Sleuth.
  1. OpenTelemetry
  • Open standard for observability, supports tracing, metrics, and logs.

22. Frontend Frameworks for Java

  1. GWT (Google Web Toolkit)
  • Framework to build browser-based applications in Java.
  1. Spring Web Flow
  • Extension of Spring MVC for managing conversational state in web apps.
  1. JSF (JavaServer Faces)
  • Component-based framework for building UI for web applications.

23. Scheduling and Workflow

  1. Quartz Scheduler
  • Advanced job scheduling system, integrates with Spring.
  1. Apache Airflow
  • Workflow orchestration platform.
  1. Camunda
  • Workflow and decision automation engine, integrates with Spring Boot.

24. Machine Learning and Data Processing

  1. Weka
  • Machine learning library for Java, can be used in Spring-based apps.
  1. Apache Mahout
  • Machine learning library for scalable algorithms.
  1. TensorFlow Java
  • TensorFlow library for running machine learning models in Java.

25. Distributed Systems and Scalability

  1. Hazelcast
  • In-memory data grid and caching platform.
  1. Apache Cassandra
  • NoSQL distributed database, integrates with Spring Data.
  1. ETCD
  • Distributed key-value store for service discovery and configuration.

26. Authentication and Authorization

  1. Auth0
  • Open-source authentication platform, integrates with Spring Security.
  1. Gluu Server
  • Open-source identity and access management solution.

27. Storage(Without SQL and NoSQL)

  1. Object Storage
  • MinIO
  • Ceph
  • Apache Hadoop HDFS
  1. Time-Series Databases
  • InfluxDB
  • TimescaleDB
  1. File Storage Systems
  • Apache Hadoop
  • GlusterFS
  • SeaweedFS
  1. Backup and Archival Storage
  • Apache Archiva
  • Zenko
  1. Cloud-Compatible Storage Solutions
  • OpenStack Swift
  • Scality RING

... reseach more