Please enable JavaScript.
Coggle requires JavaScript to display documents.
Create Service via Maven Archetype - Coggle Diagram
Create Service via Maven Archetype
Purpose
Standardized service template
core-service-archetype is a standard template used to create Spring Boot services.
It ensures all services follow a consistent structure.
Prevents teams from configuring services in completely different ways.
Makes long-term maintenance easier because every service looks familiar.
Production-ready foundation
The generated service is not just runnable — it is ready for production environments.
It includes essential infrastructure components that production systems require:
Logging
Monitoring
Health checks
Security
Focus on business logic
Developers do not need to manually configure common infrastructure.
Instead, they can focus on developing functionalities.
Default Capabilities
(These features are automatically included in generated services.)
Security
Basic security configuration is already provided.
Allows services to:
Authenticate requests
Control access to endpoints
Logging & Tracing
Logging:
Records application events.
Helps diagnose issues and failures.
Tracing:
Tracks how requests move across multiple services.
Essential in distributed microservice environments.
Health & Metrics
Health Checks:
Indicates whether the service is running properly.
Metrics:
Collects runtime data such as: CPU usage, Memory usage, Request counts
Service Discovery
Services automatically register themselves.
Other services can locate them dynamically.
Load Balancing
Distributes incoming requests across multiple service instances.
Prevents a single instance from becoming overloaded.
Cloud Configuration
Configuration is managed outside the service code.
Allows configuration changes without rebuilding the application.
Core Foundation
service-sdk-starter-core
This is the core foundation used by all services.
It provides:
Standard dependencies
Dependency version management
Build plugin configuration
Shared infrastructure setup
Centralized dependency management
Library versions are controlled centrally.
Prevents different services from using incompatible versions.
Benefits:
Fewer dependency conflicts
Easier upgrades
Consistent service behavior
Services behave in predictable ways.
Easier to monitor and troubleshoot.
Easier to onboard new developers.
Integration Approaches
(How service-sdk-starter-core is integrated into a project.)
As Parent (recommended)
The project
inherits configuration
from service-sdk-starter-core.
This is the most commonly used approach.
As Dependency (less common)
The project
imports configuration
instead of inheriting it.
Used when:
The project already has another parent.
The Maven structure requires more flexibility.
Service Extensions
(The generated service is only the foundation — real services extend it.)
Persistence
Adds data storage capability.
Includes:
Database integration
Repository layer
Entity mapping
Purpose:
Store data permanently.
Retrieve and update stored data.
HTTP Client
Enables communication with other services.
Purpose:
Service-to-service communication
Request data from other systems
Examples:
Calling a User Service
Calling a Payment Service
External Integration
Connects the service to external systems.
Examples:
Third-party APIs
External payment systems
External enterprise platforms
OpenAPI Specification
Defines API contracts.
Includes:
API endpoints
Request formats
Response formats