Giter VIP home page Giter VIP logo

orientdb-microservices's Introduction

orientdb-microservices

THIS PROJECT IS AN HUGE WORK IN PROGRESS AND IT IS NO PRODUCTION READY. IF YOU WANT USE IN PRODUCTION, PLEASE CONTACT ME. FEEL FREE TO USE THE SINGOLAR COMPONENTS ASE YOU NEED

This Maven archetype aims to create in a short time a project where you can develop production-ready RESTful web services in Java. The generated project solves the little annoying issues to configure always the same things like a database connection, a webserver, a server api and so on.

I choose to use OrientDB as database because is an interesting multi-model database written in Java with a lot of interesting features like graph database, document database, geo-spatial support, live query and a native java api. The database starts as embedded in the application so, you must deploy only one component.

In this project I already configured:

  • OrientDB: as embedded database, but you can also connect to a remote instance. More information on https://github.com/jesty/orientdb-javaee
  • Reasteasy: as JAX-RS implementation
  • Undertow: as webserver
  • Swagger: as API documentation generator

##Configuration Before all you must download https://github.com/jesty/orientdb-javaee and install in your local Maven Repository:

git clone [email protected]:jesty/orientdb-javaee.git
cd orientdb-javaee
mvn install
cd ..

After that you must download this project and install in your local repository

git clone [email protected]:jesty/orientdb-microservices.git
cd orientdb-microservices
mvn install
cd ..

Now you are ready to use the archetype and generate your project:

mvn archetype:generate -DarchetypeGroupId=com.nutcore -DarchetypeArtifactId=orientdb-microservices-archetype -DarchetypeVersion=1.0-SNAPSHOT -DgroupId=com.company -DartifactId=project -Dversion=1.0-SNAPSHOT -Dpackage=com.company.project -DinteractiveMode=false -DarchetypeCatalog=local

Wait for a little and when the archetype generation ends, starts your generated project:

cd project
mvn package exec:java

When the webserver starts visit http://localhost:8080/api/hello/davide to create a simpe entry on database and http://localhost:8080/api/hello to view created entities. The application documentation is on http://localhost:8080/api/swagger.json

Now you are ready to snoop around the code and build your real project!

Future developments

I like to be complaiant to Principles of microservices (http://samnewman.io/talks/principles-of-microservices/) to do that I'm working on this tasks. The tasks with check are work in progress or in test.

  • Deployment how-to
  • Metrics (http://metrics.dropwizard.io) integration
  • Correlation ID
  • Exception tracking and management
  • Conqueur the world
  • Openshift integration
  • Zero configuration clustering
  • Migrate all utility classes from the archetype to an indipendent project

orientdb-microservices's People

Contributors

jesty avatar

Stargazers

 avatar  avatar

Watchers

 avatar

Forkers

fourmicao

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.