56
1

ARCHITECTING LARGE ENTERPRISE JAVA PROJECTS - vJUG

Embed Size (px)

Citation preview

Page 1: ARCHITECTING LARGE ENTERPRISE JAVA PROJECTS - vJUG

1

Page 2: ARCHITECTING LARGE ENTERPRISE JAVA PROJECTS - vJUG
Page 3: ARCHITECTING LARGE ENTERPRISE JAVA PROJECTS - vJUG
Page 4: ARCHITECTING LARGE ENTERPRISE JAVA PROJECTS - vJUG

Page 5: ARCHITECTING LARGE ENTERPRISE JAVA PROJECTS - vJUG

5

Page 6: ARCHITECTING LARGE ENTERPRISE JAVA PROJECTS - vJUG

6

Page 7: ARCHITECTING LARGE ENTERPRISE JAVA PROJECTS - vJUG

7

Page 8: ARCHITECTING LARGE ENTERPRISE JAVA PROJECTS - vJUG

8

Page 9: ARCHITECTING LARGE ENTERPRISE JAVA PROJECTS - vJUG

9

Page 10: ARCHITECTING LARGE ENTERPRISE JAVA PROJECTS - vJUG

10

Page 11: ARCHITECTING LARGE ENTERPRISE JAVA PROJECTS - vJUG

11

Page 12: ARCHITECTING LARGE ENTERPRISE JAVA PROJECTS - vJUG

12

Page 13: ARCHITECTING LARGE ENTERPRISE JAVA PROJECTS - vJUG

13

Page 14: ARCHITECTING LARGE ENTERPRISE JAVA PROJECTS - vJUG

14

Page 15: ARCHITECTING LARGE ENTERPRISE JAVA PROJECTS - vJUG

15

Page 16: ARCHITECTING LARGE ENTERPRISE JAVA PROJECTS - vJUG

16

Page 17: ARCHITECTING LARGE ENTERPRISE JAVA PROJECTS - vJUG

17

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

Page 18: ARCHITECTING LARGE ENTERPRISE JAVA PROJECTS - vJUG

18

Page 19: ARCHITECTING LARGE ENTERPRISE JAVA PROJECTS - vJUG

19

Page 20: ARCHITECTING LARGE ENTERPRISE JAVA PROJECTS - vJUG

20

Page 21: ARCHITECTING LARGE ENTERPRISE JAVA PROJECTS - vJUG

21

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

Page 22: ARCHITECTING LARGE ENTERPRISE JAVA PROJECTS - vJUG

22

Page 23: ARCHITECTING LARGE ENTERPRISE JAVA PROJECTS - vJUG

23

AppServiceSDApp

ServiceSD

Page 24: ARCHITECTING LARGE ENTERPRISE JAVA PROJECTS - vJUG

24

AppServiceSDApp

ServiceSD

AppServiceSD

AppServiceSD

Page 25: ARCHITECTING LARGE ENTERPRISE JAVA PROJECTS - vJUG

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 JAVA PROJECTS - vJUG

26

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

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

// …}

Page 27: ARCHITECTING LARGE ENTERPRISE JAVA PROJECTS - vJUG

27

ServiceAA

JAX-RS

EJB / CDI

JPA

JCache

Page 28: ARCHITECTING LARGE ENTERPRISE JAVA PROJECTS - vJUG

28

Page 29: ARCHITECTING LARGE ENTERPRISE JAVA PROJECTS - vJUG

29

Page 30: ARCHITECTING LARGE ENTERPRISE JAVA PROJECTS - vJUG

30

Page 31: ARCHITECTING LARGE ENTERPRISE JAVA PROJECTS - vJUG

31

Compute, Storage, Network

Host OS

Hypervisor

VM1

JVM

AppServ

serviceaa.war

Page 32: ARCHITECTING LARGE ENTERPRISE JAVA PROJECTS - vJUG

32

Page 33: ARCHITECTING LARGE ENTERPRISE JAVA PROJECTS - vJUG

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

Page 34: ARCHITECTING LARGE ENTERPRISE JAVA PROJECTS - vJUG

34

Page 35: ARCHITECTING LARGE ENTERPRISE JAVA PROJECTS - vJUG

35

Page 36: ARCHITECTING LARGE ENTERPRISE JAVA PROJECTS - vJUG

36

Page 37: ARCHITECTING LARGE ENTERPRISE JAVA PROJECTS - vJUG

37

Page 38: ARCHITECTING LARGE ENTERPRISE JAVA PROJECTS - vJUG

38

Container

ContainerContainerContainer

Page 39: ARCHITECTING LARGE ENTERPRISE JAVA PROJECTS - vJUG

39

Page 40: ARCHITECTING LARGE ENTERPRISE JAVA PROJECTS - vJUG

40

Page 41: ARCHITECTING LARGE ENTERPRISE JAVA PROJECTS - vJUG

41

Page 42: ARCHITECTING LARGE ENTERPRISE JAVA PROJECTS - vJUG

42

Page 43: ARCHITECTING LARGE ENTERPRISE JAVA PROJECTS - vJUG

43

Page 44: ARCHITECTING LARGE ENTERPRISE JAVA PROJECTS - vJUG

44

Page 45: ARCHITECTING LARGE ENTERPRISE JAVA PROJECTS - vJUG

45

Page 46: ARCHITECTING LARGE ENTERPRISE JAVA PROJECTS - vJUG

46

Page 47: ARCHITECTING LARGE ENTERPRISE JAVA PROJECTS - vJUG

47

Page 48: ARCHITECTING LARGE ENTERPRISE JAVA PROJECTS - vJUG

48

Page 49: ARCHITECTING LARGE ENTERPRISE JAVA PROJECTS - vJUG

49

Page 50: ARCHITECTING LARGE ENTERPRISE JAVA PROJECTS - vJUG

50

Page 51: ARCHITECTING LARGE ENTERPRISE JAVA PROJECTS - vJUG

51

••

Page 52: ARCHITECTING LARGE ENTERPRISE JAVA PROJECTS - vJUG

52

Page 53: ARCHITECTING LARGE ENTERPRISE JAVA PROJECTS - vJUG

53

Page 54: ARCHITECTING LARGE ENTERPRISE JAVA PROJECTS - vJUG

54

Page 55: ARCHITECTING LARGE ENTERPRISE JAVA PROJECTS - vJUG
Page 56: ARCHITECTING LARGE ENTERPRISE JAVA PROJECTS - vJUG

56

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

https://sites.google.com/a/jezhumble.net/devops-manifesto/