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.
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.
- StageMonitor for metering the API.
- Jackson for JSON serialization.
- Avro for avro serialization.
- Configuration for Apache Commons Configuration2.
You are more than welcome to Contribute to Beadledom.
Read our Contribution guidelines.
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.
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.