A software design methodology where application components provide reusable services to other components over a network. It allows industrial enterprises to easily scale, modify, and integrate complex manufacturing execution systems with business IT.