architecting large enterprise projects @devconf.cz

62
1

Upload: markus-eisele

Post on 17-Jul-2015

619 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: Architecting Large Enterprise Projects @DevConf.CZ

1

Page 2: Architecting Large Enterprise Projects @DevConf.CZ
Page 3: Architecting Large Enterprise Projects @DevConf.CZ

Application Server

EAR EAR EAR

WAR

JAR JAR JAR JAR

JAR JAR WAR

JAR JAR

EAM <?>

LoadBalancer

Page 4: Architecting Large Enterprise Projects @DevConf.CZ

Page 5: Architecting Large Enterprise Projects @DevConf.CZ

5

Page 6: Architecting Large Enterprise Projects @DevConf.CZ

6

Page 7: Architecting Large Enterprise Projects @DevConf.CZ

7

Page 8: Architecting Large Enterprise Projects @DevConf.CZ

8

Page 9: Architecting Large Enterprise Projects @DevConf.CZ

9

Page 10: Architecting Large Enterprise Projects @DevConf.CZ

10

Page 11: Architecting Large Enterprise Projects @DevConf.CZ

11

Page 12: Architecting Large Enterprise Projects @DevConf.CZ

12

Page 13: Architecting Large Enterprise Projects @DevConf.CZ

13

Page 14: Architecting Large Enterprise Projects @DevConf.CZ

14

Page 15: Architecting Large Enterprise Projects @DevConf.CZ

15

Page 16: Architecting Large Enterprise Projects @DevConf.CZ

16

Page 17: Architecting Large Enterprise Projects @DevConf.CZ

17

http://martinfowler.com/articles/microservices.html

Page 18: Architecting Large Enterprise Projects @DevConf.CZ

18

Page 19: Architecting Large Enterprise Projects @DevConf.CZ

19

http://martinfowler.com/articles/microservices.html

Page 20: Architecting Large Enterprise Projects @DevConf.CZ

20

Page 21: Architecting Large Enterprise Projects @DevConf.CZ

21

http://akfpartners.com/techblog/2008/05/08/splitting-applications-or-services-for-scale/

Page 22: Architecting Large Enterprise Projects @DevConf.CZ

22

Page 23: Architecting Large Enterprise Projects @DevConf.CZ

23

AppServiceSDApp

ServiceSD

Page 24: Architecting Large Enterprise Projects @DevConf.CZ

24

AppServiceSDApp

ServiceSD

AppServiceSD

AppServiceSD

Page 25: Architecting Large Enterprise Projects @DevConf.CZ

25

JAX-RS

JSON-PWeb SocketServlet

JSFELJSP JSTL

Bean V

alid

ation

Inte

rcepto

rs

CD

I

Concurr

ency

JPA

JTA EJB JMS

Batch

JCA

Java EE

JavaMail

Page 26: Architecting Large Enterprise Projects @DevConf.CZ

26

@Stateless@Path("/")public class CustomerOrderHistory{

@GET@Path(“order")@Produces("text/plain")String getOrderHistory();

// …}

Page 27: Architecting Large Enterprise Projects @DevConf.CZ

27

ServiceAA

JAX-RS

EJB / CDI

JPA

JCache

Page 28: Architecting Large Enterprise Projects @DevConf.CZ

28

Page 29: Architecting Large Enterprise Projects @DevConf.CZ

29

Page 30: Architecting Large Enterprise Projects @DevConf.CZ

30

Page 31: Architecting Large Enterprise Projects @DevConf.CZ

31

Compute, Storage, Network

Host OS

Hypervisor

VM1

JVM

AppServ

serviceaa.war

Page 32: Architecting Large Enterprise Projects @DevConf.CZ

32

Page 33: Architecting Large Enterprise Projects @DevConf.CZ

33

Docker

Conta

iner 1

Conta

iner 2

Conta

iner 4

Conta

iner 3

Se

rvic

eA

A

Se

rvic

eB

A

Se

rvic

eC

T

Se

rvic

eX

Z

Compute, Storage, Network

Host OS

http://www.jboss.org/docker/

Page 34: Architecting Large Enterprise Projects @DevConf.CZ

34

Page 35: Architecting Large Enterprise Projects @DevConf.CZ

35

Page 36: Architecting Large Enterprise Projects @DevConf.CZ

36

Page 37: Architecting Large Enterprise Projects @DevConf.CZ

37

Page 38: Architecting Large Enterprise Projects @DevConf.CZ

38

Container

ContainerContainerContainer

Page 39: Architecting Large Enterprise Projects @DevConf.CZ

39

Page 40: Architecting Large Enterprise Projects @DevConf.CZ

40

Page 41: Architecting Large Enterprise Projects @DevConf.CZ

41

Page 42: Architecting Large Enterprise Projects @DevConf.CZ

42

Page 43: Architecting Large Enterprise Projects @DevConf.CZ

43

Page 44: Architecting Large Enterprise Projects @DevConf.CZ

44

Page 45: Architecting Large Enterprise Projects @DevConf.CZ

45

Page 46: Architecting Large Enterprise Projects @DevConf.CZ

46

Page 47: Architecting Large Enterprise Projects @DevConf.CZ

47

Page 48: Architecting Large Enterprise Projects @DevConf.CZ

48

Page 49: Architecting Large Enterprise Projects @DevConf.CZ

49

Page 50: Architecting Large Enterprise Projects @DevConf.CZ

50

Page 51: Architecting Large Enterprise Projects @DevConf.CZ

51

Page 52: Architecting Large Enterprise Projects @DevConf.CZ

52

Page 53: Architecting Large Enterprise Projects @DevConf.CZ

53

Page 54: Architecting Large Enterprise Projects @DevConf.CZ

54

Page 55: Architecting Large Enterprise Projects @DevConf.CZ

55

Page 56: Architecting Large Enterprise Projects @DevConf.CZ

56

Page 57: Architecting Large Enterprise Projects @DevConf.CZ

57

Page 58: Architecting Large Enterprise Projects @DevConf.CZ

58

Page 59: Architecting Large Enterprise Projects @DevConf.CZ

59

Page 60: Architecting Large Enterprise Projects @DevConf.CZ

60

Page 61: Architecting Large Enterprise Projects @DevConf.CZ
Page 62: Architecting Large Enterprise Projects @DevConf.CZ

62

http://www.lordofthejars.com/2014/07/rxjava-java8-java-ee-7-arquillian-bliss.html

http://www.lordofthejars.com/2014/09/defend-your-application-with-hystrix.html

http://techblog.netflix.com/2012/02/fault-tolerance-in-high-volume.html

http://martinfowler.com/articles/microservices.html

http://microservices.io/patterns/microservices.html

http://techblog.netflix.com/2013/01/optimizing-netflix-api.html

http://www.infoq.com/articles/microservices-intro