Architecting Large Enterprise Java Projects

Preview:

Citation preview

1

Application Server

EAR EAR EAR

WAR

JAR JAR JAR JAR

JAR JAR WAR

JAR JAR

EAM <?>

LoadBalancer

5

6

7

8

9

10

11

12

13

14

15

16

17

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

18

19

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

20

21

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

22

23

AppServiceSDApp

ServiceSD

24

AppServiceSDApp

ServiceSD

AppServiceSD

AppServiceSD

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

26

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

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

// …}

27

ServiceAA

JAX-RS

EJB / CDI

JPA

JCache

28

29

30

31

Compute, Storage, Network

Host OS

Hypervisor

VM1

JVM

AppServ

serviceaa.war

32

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/

34

35

36

37

38

Container

ContainerContainerContainer

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

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

Recommended