In 1999, software developer Peter Rodgers had been working on the Dexter research project at
Hewlett Packard Labs, whose aim was to make code less brittle and to make large-scale, complex software systems
robust to change. Ultimately this path of research led to the development of
resource-oriented computing (ROC), a generalized computation abstraction in which REST is a special subset. In 2005, during a presentation at the Web Services Edge conference, Rodgers argued for "
REST-services" and stated that "
Software components are Micro-Web-Services... Micro-Services are composed using
Unix-like pipelines (the Web meets Unix = true
loose-coupling). Services can call services (+multiple language run-times). Complex service assemblies are abstracted behind simple
URI interfaces. Any service, at any granularity, can be exposed." He described how a well-designed microservices platform "applies the underlying architectural principles of the
Web and REST services together with Unix-like scheduling and pipelines to provide radical flexibility and improved simplicity in service-oriented architectures. Also in 2005,
Alistair Cockburn wrote about
hexagonal architecture which is a software design pattern that is used along with the microservices. This pattern makes the design of the microservice possible since it isolates in layers the business logic from the auxiliary services needed in order to deploy and run the microservice completely independent from others. == Microservice granularity ==