Microservice is a relatively new software architectural term to describe a standalone application that performs a task, exposing an API so other applications can access it. You can see that if you had many microservices running as stateless processes, each with a REST API, you can build a very large application made up of these components. Martin Fowler's blog has an excellent explanation.
Anyways, at work there is a move towards building microservices and we have a hackathon next week. My team has a few ideas, but I thought it would be helpful to create a reference app that we can use to fork and try out other ideas.
So simple-service is just that, a simple service. The premise is applications send error codes to the logs or system user, which they provide when they call in for tech support. The simple-service accepts codes and returns a more detailed error message. I also added the ability to add, update and delete codes. There's no authentication required (simple, remember) which isn't really a concern since the database is loaded into memory from a JSON file. Restarting resets everything.
I did write a more monolithic app a few years ago that included authentication, roles and a mongo database. I'd say my understanding of REST design was a bit misguided, but it still has some useful features such as functional testing of the APIs with a test database.
Anyways, at work there is a move towards building microservices and we have a hackathon next week. My team has a few ideas, but I thought it would be helpful to create a reference app that we can use to fork and try out other ideas.
So simple-service is just that, a simple service. The premise is applications send error codes to the logs or system user, which they provide when they call in for tech support. The simple-service accepts codes and returns a more detailed error message. I also added the ability to add, update and delete codes. There's no authentication required (simple, remember) which isn't really a concern since the database is loaded into memory from a JSON file. Restarting resets everything.
I did write a more monolithic app a few years ago that included authentication, roles and a mongo database. I'd say my understanding of REST design was a bit misguided, but it still has some useful features such as functional testing of the APIs with a test database.