autumn.exemplary

Opinionated micro-service kernel.

License

License

Categories

Categories

Data
GroupId

GroupId

com.intuit.data.autumn
ArtifactId

ArtifactId

autumn.exemplary
Last Version

Last Version

1.0.20160606213425
Release Date

Release Date

Type

Type

jar
Description

Description

autumn.exemplary
Opinionated micro-service kernel.

Download autumn.exemplary

How to add to project

<!-- https://jarcasting.com/artifacts/com.intuit.data.autumn/autumn.exemplary/ -->
<dependency>
    <groupId>com.intuit.data.autumn</groupId>
    <artifactId>autumn.exemplary</artifactId>
    <version>1.0.20160606213425</version>
</dependency>
// https://jarcasting.com/artifacts/com.intuit.data.autumn/autumn.exemplary/
implementation 'com.intuit.data.autumn:autumn.exemplary:1.0.20160606213425'
// https://jarcasting.com/artifacts/com.intuit.data.autumn/autumn.exemplary/
implementation ("com.intuit.data.autumn:autumn.exemplary:1.0.20160606213425")
'com.intuit.data.autumn:autumn.exemplary:jar:1.0.20160606213425'
<dependency org="com.intuit.data.autumn" name="autumn.exemplary" rev="1.0.20160606213425">
  <artifact name="autumn.exemplary" type="jar" />
</dependency>
@Grapes(
@Grab(group='com.intuit.data.autumn', module='autumn.exemplary', version='1.0.20160606213425')
)
libraryDependencies += "com.intuit.data.autumn" % "autumn.exemplary" % "1.0.20160606213425"
[com.intuit.data.autumn/autumn.exemplary "1.0.20160606213425"]

Dependencies

compile (9)

Group / Artifact Type Version
com.intuit.data.autumn : autumn.api jar 1.0.20160606213425
com.intuit.data.autumn : autumn.service jar 1.0.20160606213425
com.intuit.data.autumn : autumn.client jar 1.0.20160606213425
com.intuit.data.autumn : autumn.metrics jar 1.0.20160606213425
com.intuit.data.autumn : autumn.web jar 1.0.20160606213425
com.netflix.governator : governator jar 1.3.3
com.google.inject : guice jar 4.0
com.google.inject.extensions : guice-multibindings jar 4.0
ch.qos.logback : logback-classic jar 1.1.3

test (10)

Group / Artifact Type Version
junit : junit jar 4.12
org.hamcrest : hamcrest-core jar 1.3
org.hamcrest : hamcrest-library jar 1.3
org.mockito : mockito-core jar 1.10.19
org.powermock : powermock-core jar 1.6.2
org.powermock : powermock-api-mockito jar 1.6.2
org.powermock : powermock-module-junit4 jar 1.6.2
org.easymock : easymock jar 3.3.1
org.powermock : powermock-api-easymock jar 1.6.2
cglib : cglib jar 3.2.0

Project Modules

There are no modules declared in this project.

Autumn

Build Status Build Status Coverage Status Maven Central Apache 2 Join the chat at https://gitter.im/intuit/Autumn

Project Autumn

####Why

Contemporary API services built to scale are largely comprised of a sizable amount of common concerns, examples being secure service endpoints, request integrity validation, application logic delegation, durable persistence, operational concerns such as auditing and logging, etc.

####What

Autumn is a collection of ready-to-use-as-is base implementations that solve the above thereby freeing up application concerns to focus on it’s principle value proposition. Autumn is used by a number of Intuit/IDEA big-data initiatives, namely: ABTesting, ClickStream Ingress, etc.

Autumn can be viewed as the artifact of disciplined engineering rigor. Stabilizing the provided resources with concrete and readily consumable components yet readily enabling implementation to vary over time without requiring complete/large-scale application re-writes/overhauls thereby allowing applications organization wide to keep pace with current state offerings, innovate more rapidly via selective leverage, etc.

####How

Autumn is a contemporary collection of readily consumable state-of-the-art Java libraries that satisfies micro-service principle concerns, namely: protocols, observability, manageability, separation of concerns, injectability (IoC), component lifecycle management, and discreet testability.

Getting involved

The principles of Autumn can be summarized as both a strong leverage of dependency injection and consistently specified component lifecycle management, collectively allowing for significant higher-order application leverage while at the same time allowing for rapid incorporate of new internal service implementations.

Documentation improvements are always welcome, so please send patches our way.

Contributing

The master branch of this repository contains the latest stable release of Autumn, and snapshots are published to the develop branch. In general pull requests should be submitted against develop in the form of feature branch pull requests. See the Contributing to a Project article for more details about how to contribute.

Development

Environment

% /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
% brew install git
% brew install git-flow-avh
% brew install maven
% brew cask install java

Build

% git clone https://github.com/intuit/autumn
% cd autumn
% git flow init
% mvn clean package

Run

% java -cp ./modules/exemplary/target/autumn.exemplary-*-SNAPSHOT-development-all.jar \
    com.intuit.autumn.exemplary.server.Main

Maven

<dependency>
    <groupId>com.intuit.autumn</groupId>
    <artifactId>autumn</artifactId>
    <version>1.0.20160626031951</version>
</dependency>

Test

Java

% java -cp modules/exemplary/target/autumn.exemplary-*-SNAPSHOT-development-all.jar \
    com.intuit.autumn.exemplary.client.PingClient

curl

% curl http://localhost:8080/foo/proto/ping/d5bba1d7-3631-4f0a-a2c9-5ea53fb3d157
% curl http://localhost:8080/foo/proto/pings
% curl -X POST -H "Content-Type: application/json" -d '{"id":"id-1","message":"message-1"}' \
    http://localhost:8080/foo/proto/ping

Future Considerations

  • --tbd--

License

The code is published under the terms of the Apache License v2.0.

com.intuit.data.autumn

Intuit

Powering prosperity around the world.

Versions

Version
1.0.20160606213425
1.0.20160606082444
1.0.20160515205816
1.0.20160515121534
1.0.20160513005034