/beadledom

A simple, composable framework for building RESTful services

Primary LanguageJavaApache License 2.0Apache-2.0

Beadledom

Beadledom is a bundle of common components required for building JAX-RS web services. It is the starting point for new services. The core of Beadledom provides health checks, monitoring via Stagemonitor, API docs via Swagger, JSON serialization via Jackson, and integration of these components with Guice. For more information on creating a service check out our documentation.

Beadledom is made up of the following components:

  • avro - Additional Avro functionality required for services.
  • client - HTTP client for communicating with the JAX-RS web services.
  • common - Common utilities.
  • Configuration - Centralized API to access the aggregated configurations from different sources.
  • core - Core Guice module that pulls in all the other recommended Beadledom modules.
  • guice - Additional Guice extensions.
  • guice-dynamicbindings - To retrieve annotated bindings at runtime.
  • health - Health checks for services.
  • jackson - JSON serialization for services.
  • jaxrs - Restful API additions (filters and providers)
  • lifecycle - Defines and manages the lifecyle hooks for an application or a container.
  • lifecycle-governator - An implementation of the beadledom-lifecycle using Governator.
  • pagination - Parameters and hypermedia for paginated endpoints.
  • resteasy - RESTEasy implementation and integration of Beadledom components.
  • stagemonitor - Performance monitoring and troubleshooting.
  • swagger1 - API documentation.
  • testing - Testing utilities for the services.

Additional Documentation:

Below is the list of documentations that are helpful to get started but outside the scope of the Beadledom documentation.

Contribute

You are more than welcome to Contribute to Beadledom.

Read our Contribution guidelines.

Releasing

Depending on the need for the release, every month or earlier the beadledom committer team reviews contributions in master that have not been released. The committer team then takes a quick vote on if a release of master should be made. If 2/3 of the committers agree on the release a release is cut.

To release Beadledom please follow our releasing documentation.

License

Copyright 2017 Cerner Innovation, Inc.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.