Top Banner
Milen Dyankov @milendyankov Liferay Portal 7 (micro)services for the enterprise
25

Liferay 7 - microservices for the enterprise

Jul 30, 2015

Download

Software

Milen Dyankov
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Liferay 7 - microservices for the enterprise

Milen Dyankov@milendyankov

Liferay Portal 7 (micro)services for the enterprise

Page 2: Liferay 7 - microservices for the enterprise

Componentization via ServicesOrganized around Business CapabilitiesProducts not ProjectsSmart endpoints and dumb pipesDecentralized GovernanceDecentralized Data ManagementInfrastructure AutomationDesign for failureEvolutionary Design

Microservices characteristics!

Page 3: Liferay 7 - microservices for the enterprise
Page 4: Liferay 7 - microservices for the enterprise

. . .

Page 5: Liferay 7 - microservices for the enterprise

. . .

Page 6: Liferay 7 - microservices for the enterprise

. . .

Page 7: Liferay 7 - microservices for the enterprise

. . .or

Page 8: Liferay 7 - microservices for the enterprise

. . .or

. . .∞

Page 9: Liferay 7 - microservices for the enterprise

. . .or

. . .∞

. . .

Page 10: Liferay 7 - microservices for the enterprise

. . .or

. . .

Reduced complexity !!!

. . .

Page 11: Liferay 7 - microservices for the enterprise

. . .

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.

Page 12: Liferay 7 - microservices for the enterprise

. . .

The Deployment Model is a Detail.. . .

there is no such thing as a micro-service

architecture.Micro-services are a

deployment option . . .

Page 13: Liferay 7 - microservices for the enterprise

Componentization via ServicesOrganized around Business CapabilitiesProducts not ProjectsSmart endpoints and dumb pipesDecentralized GovernanceDecentralized Data ManagementInfrastructure AutomationDesign for failureEvolutionary Design

50% not strictly software butrather operations related!

Page 14: Liferay 7 - microservices for the enterprise

Componentization via Services

Smart endpoints and dumb pipes

Decentralized Data Management

Design for failure

Let's focus on software related ones

Page 15: Liferay 7 - microservices for the enterprise

OSGi services

manifestmanifestmanifest manifest

OSGi service registry

Interface

Service 1

. . .

Service N

Page 16: Liferay 7 - microservices for the enterprise

OSGi services

manifestmanifestmanifest

OSGi service registry

REGISTER

REGISTER

USE

manifest

Interface

Service 1

. . .

Service N

Page 17: Liferay 7 - microservices for the enterprise

OSGi services

manifestmanifest

OSGi service registry

SERVLET

SERVLET

GET GET

REGISTER

REGISTER

HTTPServiceImpl

HTTPService

HTTPServiceImpl

REGISTER

Page 18: Liferay 7 - microservices for the enterprise

OSGi services

manifestmanifest

OSGi service registry

HTTPServlet

REGISTER

SERVLET

SERVLET

GET(when needed)

HTTPServiceImpl

Servlet1 (path=”/1”)

Servlet2 (path=”/2”)

REGISTER

applying White Board Pattern

Page 19: Liferay 7 - microservices for the enterprise

● Componentization via Services

manifestmanifest

OSGi service registry

HTTPServlet

REGISTER

SERVLET

SERVLET

GET(when needed)

HTTPServiceImpl

Servlet1 (path=”/1”)

Servlet2 (path=”/2”)

REGISTER

Page 20: Liferay 7 - microservices for the enterprise

Smart endpoints and dumb pipes

manifestmanifest

OSGi service registry

HTTPServlet

REGISTER

SERVLET

SERVLET

GET(when needed)

HTTPServiceImpl

Servlet1 (path=”/1”)

Servlet2 (path=”/2”)

REGISTER

no

Page 21: Liferay 7 - microservices for the enterprise

Decentralized Data Management

manifestmanifest

OSGi service registry

HTTPServlet

REGISTER

SERVLET

SERVLET

GET(when needed)

HTTPServiceImpl

Servlet1 (path=”/1”)

Servlet2 (path=”/2”)

REGISTER

Everything

Page 22: Liferay 7 - microservices for the enterprise

Design for failure

manifestmanifest

OSGi service registry

HTTPServlet

REGISTER

SERVLET

SERVLET

GET(when needed)

Servlet1 (path=”/1”)

Servlet2 (path=”/2”)

REGISTER

HTTPServiceImpl

Page 23: Liferay 7 - microservices for the enterprise

Remote services

OSGi service registry

Interface

Service 1

Service 1 (remote)

OSGi service registry

Interface

Service 1

Page 24: Liferay 7 - microservices for the enterprise

DEMO

Page 25: Liferay 7 - microservices for the enterprise

[email protected]

http://www.liferay.com/web/milen.dyankov/

@milendyankov@LiferayPL

http://www.liferay.com

@Liferay

http://www.facebook.com/Liferay