Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Accurest Becomes Part of the Spring Cloud Contract

DZone's Guide to

Accurest Becomes Part of the Spring Cloud Contract

I’m extremely happy to announce that we have successfully rebranded the Accurest project. It’s officially become part of the Spring Cloud Contract initiative.

· Java Zone
Free Resource

Build vs Buy a Data Quality Solution: Which is Best for You? Gain insights on a hybrid approach. Download white paper now!

I’m extremely happy to announce that we have successfully rebranded the Accurest project. It’s officially become part of the Spring Cloud Contract initiative. Ladies and Gentlemen please welcome the new projects:

A Little Bit of History

Accurest was created because of the lack of an easy-to-use tool for doing Consumer Driven Contracts. From our production experience, the biggest problem was the lack of verification that the defined contract actually does what it says it does. We wanted to ensure that tests are automatically generated from the contract so that we can have a proof that the stubs are reliable. Since there was no such tool, the first commit of Accurest took place on 12/2014. This idea and its implementation was initially set by Jakub Kubrynski and me. The last available version of Accurest was 1.1.0 released on 06/2016 (the docs for the old version are available here). During these 19 months, a lot of feedback has been gathered. The tool has received very good reception, and that made us want to work even harder. Many times we have missed out on good sleep, so as to fix a bug or develop a new feature in Accurest... it's been hard but rewarding work!

Notable Features

Speaking of features, there are quite a few of them that definitely make Accurest stand out on the “market” of Consumer Driven Contract (CDC) tooling. Out of many, the most interesting are:

  • Possibility to do CDC with messaging
  • Clear and easy to use, statically typed DSL
  • Possibility to copy-paste your current JSON file to the contract and only edit its elements
  • Automatic generation of tests from the defined Contract
  • Stub Runner functionality - the stubs are automatically downloaded at runtime from Nexus / Artifactory
  • Spring Cloud integration - no discovery service is needed for integration tests

For more information check out my posts about Stub Runner, Accurest Messaging, or just read the docs.

Spring Cloud Contract

In Pivotal, we came to the conclusion that Accurest could become an interesting addition to our Spring Cloud tooling. Due to the increased interest of the community in the Consumer Driven Contracts approach, we’ve decided to start the Spring Cloud Contract initiative.

Accurest became Spring Cloud Contract Verifier (note: the name might change in the future) but, for the time being, we will remain in the Codearte repository. It’s becoming the part of Spring Cloud tooling as a mature tool with a growing community around it. Some arguments for that are that it has:

Since we believe very much in the Consumer Driven Contract approach, we also want to do the library in a Client Driven way. That means that we (server side) are very open to your feedback (consumer side) and want you to be the main driver of changes in the library.

Credits

The Accurest project would never have come to life without the hard work of the Codearte developers (the order is random):

And obviously, we have to thank everybody who has ever committed to the project.

Build vs Buy a Data Quality Solution: Which is Best for You? Maintaining high quality data is essential for operational efficiency, meaningful analytics and good long-term customer relationships. But, when dealing with multiple sources of data, data quality becomes complex, so you need to know when you should build a custom data quality tools effort over canned solutions. Download our whitepaper for more insights into a hybrid approach.

Topics:
accurest ,spring

Published at DZone with permission of Marcin Grzejszczak, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}