Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/randgalt/soabase

Base application library for Dropwizard based Service Oriented Applications
https://github.com/randgalt/soabase

Last synced: 6 days ago
JSON representation

Base application library for Dropwizard based Service Oriented Applications

Awesome Lists containing this project

README

        

soabase
=======

A suite of [Dropwizard](http://dropwizard.io/) bundles and utilities that aid in building
Service Oriented Applications. Soabase is implementation neutral. However, default production-level implementations
are provided.

Why Soabase?
------------

Dropwizard was created to create a turn key solution for Java server applications. It standardizes the things that
every Java server app needs and relieves the tedium of re-inventing the wheel every time you write a new Java server app.

Soabase extends this to Service Oriented Architecture applications. Writing clustered Java server applications
requires writing the same things over and over. Every app needs a discovery service integrated with the REST client.
They also need global configuration/attributes and global administration.

Features
--------

* Service Discovery
* Default implementation using [Apache Curator](http://curator.apache.org/curator-x-discovery/index.html)
* Supports plugging in any desired implementation
* Load Balancing REST Client
* Default implementations for both Jersey and Apache clients
* Integrates with Service Discovery for retries, etc.
* Supports plugging in any desired implementation
* Distribued, scoped attributes
* Built in support for JDBC datasources via [Mybatis](http://mybatis.github.io/mybatis-3/)
* Supports plugging in any desired implementation
* Jersey-based Admin APIs
* Add Jersey resources to the Admin port
* Built in resources for SOA features
* Administration Console
* Customizable/extensible
* Monitor all instances in the cluster
* Watch any Dropwizard metric
* Configuration Utilities
* A flexible Dropwizard ConfigurationSourceProvider. Allows configuration to be either a string, an external file or a resource in the classpath. Special tokens are used to determine how to treat the argument.
* A simple way of allowing shared bundles, etc. to access their custom configuration objects

Details
-------

For full details, see the website: http://randgalt.github.io/soabase