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, 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 - Deprecated. 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.
- swagger2 - 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.
- Guice for dependency injection.
- Governator for lifecycle management.
- Resteasy for JAX-RS implementation.
- Swagger for API documentation.
- Jackson for JSON serialization.
- Avro for avro serialization.
- Configuration for Apache Commons Configuration2.
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 main 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.