Liferay Portal 7 (micro)services for the enterprise Milen Dyankov @milendyankov Microservices characteristics! Componentization via Services Organized around Business Capabilities Products not Projects Smart endpoints and dumb pipes Decentralized Governance Decentralized Data Management Infrastructure Automation Design for failure Evolutionary Design ... ... ... or ... ... ∞ or ... ... ... ∞ or ... Reduced complexity !!! ... ... ∞ or ... ... then all you are doing is shifting complexity from inside a component to the connections between components. ... it moves it to a place that's less explicit and harder to control. ... The Deployment Model is a Detail. ... there is no such thing as a micro-service architecture. Micro-services are a deployment option ... 50% not strictly software but rather operations related! Componentization via Services Organized around Business Capabilities Products not Projects Smart endpoints and dumb pipes Decentralized Governance Decentralized Data Management Infrastructure Automation Design for failure Evolutionary Design Let's focus on software related ones Componentization via Services Smart endpoints and dumb pipes Decentralized Data Management Design for failure OSGi services OSGi service registry Interface Service 1 ... Service N manifest manifest manifest OSGi services OSGi service registry Interface Service 1 REGISTER ... Service N REGISTER manifest USE manifest manifest OSGi services OSGi service registry HTTP Service GET HTTPServiceImpl REGISTER manifest REGISTER SERVLET HTTPServiceImpl REGISTER SERVLET GET OSGi services applying White Board Pattern OSGi service registry HTTP Servlet Servlet1 (path=”/1”) REGISTER Servlet2 (path=”/2”) manifest REGISTER GET (when needed) SERVLET HTTPServiceImpl SERVLET ● Componentization via Services OSGi service registry HTTP Servlet Servlet1 (path=”/1”) REGISTER Servlet2 (path=”/2”) manifest REGISTER GET (when needed) SERVLET HTTPServiceImpl SERVLET no Smart endpoints and dumb pipes OSGi service registry HTTP Servlet Servlet1 (path=”/1”) REGISTER Servlet2 (path=”/2”) manifest REGISTER GET (when needed) SERVLET HTTPServiceImpl SERVLET Decentralized Data Management Everything OSGi service registry HTTP Servlet Servlet1 (path=”/1”) REGISTER Servlet2 (path=”/2”) manifest REGISTER GET (when needed) SERVLET HTTPServiceImpl SERVLET Design for failure OSGi service registry HTTP Servlet Servlet1 (path=”/1”) REGISTER Servlet2 (path=”/2”) manifest REGISTER GET (when needed) SERVLET HTTPServiceImpl SERVLET Remote services OSGi service registry Interface Service 1 Service 1 (remote) OSGi service registry Interface Service 1 DEMO milen.dyankov@liferay.com http://www.liferay.com/web/milen.dyankov/ @milendyankov @LiferayPL http://www.liferay.com @Liferay http://www.facebook.com/Liferay
© Copyright 2024