Taimos microservices framework
JavaScript Java CSS Other
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.idea
archetypes
cloud
cluster
daemon
dynamodb
i18n
interconnect
jaxrs-jwtauth
jaxrs
jpa
mongodb
monitoring
notification
orchestration
template
test
.editorconfig
.gitignore
.travis.yml
CHANGELOG.md
CODEOWNERS
CODE_OF_CONDUCT.md
ISSUE_TEMPLATE.md
LICENSE.txt
PULL_REQUEST_TEMPLATE.md
README.md
dvalin-parent.iml
pom.xml

README.md

Build Status sonarcloud.io Maven Central

dvalin - Taimos Microservice Framework

Dvalin is a Java micro service framework based on several open-source frameworks to combine the best tools into one quick start suite for fast, reliable and scaling micro services. The core technology is the Spring framework and dvalin uses our Daemon Framework as the lifecycle management for the service process.

To use dvalin in your project add the maven dependencies as shown below. It is recommended to set the dvalin version as property to make sure all modules you use have the same version.

<dependency>
    <groupId>de.taimos</groupId>
    <artifactId>dvalin-<MODULENAME></artifactId>
    <version>${dvalin.version}</version>
</dependency>

Then add dvalin as a BOM to the maven dependency management to ensure compatibly versions of used third-party libraries.

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>de.taimos</groupId>
            <artifactId>dvalin-parent</artifactId>
            <version>${dvalin.version}</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

Parts of dvalin

Dvalin provides several independent but combineable libraries serving different purposes around the runtime and interaction of micro services. By adding a library as a Maven dependency, it gets activated automatically and all the needed Spring components are started.

These libraries are:

  • daemon - the core library for lifecycle and basic Spring enhancements
  • jaxrs - implement JAX-RS based REST services using the Apache CXF framework
  • jaxrs-jwtauth - JSON Web Token support for the jaxrs module
  • jpa - connect to SQL databases using the popular Hibernate framework
  • mongodb - connect to MongoDB document store
  • dynamodb - connect to AWS DynamoDB data storage
  • cloud - basic tools to communicate with Cloud providers
  • cluster - basic tools to form a cluster
  • template - templating functionality
  • notification - notification service to send e-mails and use template engines
  • monitoring - monitoring service to report statistics of your service
  • interconnect - communication framework to connect micro services with each other
  • orchestration - orchestration tools like service discovery and global configuration
  • test - utilities for writing tests
  • i18n - internationalization and localization support

Contributing

How to contribute to dvalin

Did you find a bug?

  • Ensure the bug was not already reported by searching on GitHub under Issues.

  • If you're unable to find an open issue addressing the problem, open a new one. Be sure to include a title and clear description, as much relevant information as possible, and a code sample or an executable test case demonstrating the expected behavior that is not occurring.

Did you write a patch that fixes a bug?

  • Open a new GitHub pull request with the patch.

  • Ensure the PR description clearly describes the problem and solution. Include the relevant issue number if applicable.

Did you fix whitespace, format code, or make a purely cosmetic patch?

Changes that are cosmetic in nature and do not add anything substantial to the stability, functionality, or testability will normally not be accepted.

Do you intend to add a new feature or change an existing one?

  • Suggest your change under Issues.

  • Do not open a pull request on GitHub until you have collected positive feedback about the change.

Do you want to contribute to the dvalin documentation?

  • Just file a PR with your recommended changes