microservices – integration der benutzeroberfläche...1 orientation in objects gmbh weinheimer...

36
1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim www.oio.de [email protected] Version: Microservices – Integration der Benutzeroberfläche OOP München 31.01.2017 17.1 Microservices – Integration der Benutzeroberfläche © Orientation in Objects GmbH Ihr Sprecher 2 Thorsten Maier Trainer, Berater, Entwickler Sollen wir Microservices machen? Kunde

Upload: others

Post on 23-Sep-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Microservices – Integration der Benutzeroberfläche...1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: info@oio.de Microservices – Integration der Benutzeroberfläche

1

Orientation in Objects GmbH

Weinheimer Str. 6868309 Mannheim

[email protected]:

Microservices –Integration der

BenutzeroberflächeOOP München

31.01.2017

17.1

Microservices – Integration der Benutzeroberfläche© Orientation in Objects GmbH

Ihr Sprecher

2

Thorsten Maier

Trainer, Berater, Entwickler

Sollen wir

Microservices

machen?

Kunde

Page 2: Microservices – Integration der Benutzeroberfläche...1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: info@oio.de Microservices – Integration der Benutzeroberfläche

2

Microservices – Integration der Benutzeroberfläche© Orientation in Objects GmbH 3

Wer hat bereits eine

Anwendung mit Microservices

implementiert?

Microservices – Integration der Benutzeroberfläche© Orientation in Objects GmbH 4

Warum?

Page 3: Microservices – Integration der Benutzeroberfläche...1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: info@oio.de Microservices – Integration der Benutzeroberfläche

3

Microservices – Integration der Benutzeroberfläche© Orientation in Objects GmbH 5

„Das macht man heute so!“

Microservices – Integration der Benutzeroberfläche© Orientation in Objects GmbH 6

„Java Magazin

Driven Architecture“

Page 4: Microservices – Integration der Benutzeroberfläche...1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: info@oio.de Microservices – Integration der Benutzeroberfläche

4

Microservices – Integration der Benutzeroberfläche© Orientation in Objects GmbH 7

Hype oder ist das Tal

der Tränen schon

durchschritten?

2005 2016?

Microservices – Integration der Benutzeroberfläche© Orientation in Objects GmbH 8

Was sind

Microservices?

Page 5: Microservices – Integration der Benutzeroberfläche...1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: info@oio.de Microservices – Integration der Benutzeroberfläche

5

Microservices – Integration der Benutzeroberfläche© Orientation in Objects GmbH 9

„Microservices sind ein Architekturmuster der

Informationstechnik, bei dem komplexe Anwendungssoftware aus

kleinen, unabhängigen Prozessen komponiert wird, die untereinander

mit sprachunabhängigen Programmierschnittstellen kommunizieren.“

https://de.wikipedia.org/wiki/Microservices

Microservices – Integration der Benutzeroberfläche© Orientation in Objects GmbH 10

Jedes Architekturmuster

hat Vorteile

aber auch Nachteile

Page 6: Microservices – Integration der Benutzeroberfläche...1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: info@oio.de Microservices – Integration der Benutzeroberfläche

6

Microservices – Integration der Benutzeroberfläche© Orientation in Objects GmbH 11

Wie kommt man zum richtigen Muster?

Nicht-funktionale Anforderungen!

Microservices – Integration der Benutzeroberfläche© Orientation in Objects GmbH 12

https://circleci.com/blog/its-the-future/

I’m just building a

simple web app […] -

a normal CRUD app

using Rails, going to

deploy to Heroku.

Is that still the

way to go?

Page 7: Microservices – Integration der Benutzeroberfläche...1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: info@oio.de Microservices – Integration der Benutzeroberfläche

7

Microservices – Integration der Benutzeroberfläche© Orientation in Objects GmbH 13

https://circleci.com/blog/its-the-future/

I’m just building a simple

web app […] -

a normal CRUD app using

Rails, going to

deploy to Heroku.

Is that still the

way to go?

Oh no.

That’s old school.

Heroku is dead -

no-one uses it

anymore. You

need to use

Docker now.

It’s the future.

Microservices – Integration der Benutzeroberfläche© Orientation in Objects GmbH 14

So I just need to split my simple CRUD app into

12 microservices,

each with their own APIs

which handle failure resiliently,

put them into Docker containers,

launch a fleet of 8 machines

which are Docker hosts running CoreOS,

“orchestrate” them using a small Kubernetes cluster running etcd,

figure out the “open questions” of networking and storage, and

then I continuously deliver

multiple redundant copies of each microservice to my fleet.

Is that it?

https://circleci.com/blog/its-the-future/

Page 8: Microservices – Integration der Benutzeroberfläche...1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: info@oio.de Microservices – Integration der Benutzeroberfläche

8

Microservices – Integration der Benutzeroberfläche© Orientation in Objects GmbH 15

Anforderungen, die auf Microservices zeigen

Microservices – Integration der Benutzeroberfläche© Orientation in Objects GmbH 16

1) Elastische Lastanforderungen

Last

Zeit

Page 9: Microservices – Integration der Benutzeroberfläche...1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: info@oio.de Microservices – Integration der Benutzeroberfläche

9

Microservices – Integration der Benutzeroberfläche© Orientation in Objects GmbH 17

3 Monats-

Releases

Continuous

Delivery

2) Schnelle Anpassungen im laufenden Betrieb

Microservices – Integration der Benutzeroberfläche© Orientation in Objects GmbH 18

Was ist mit Modularisierung?

Ja, aber…!

Page 10: Microservices – Integration der Benutzeroberfläche...1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: info@oio.de Microservices – Integration der Benutzeroberfläche

10

Microservices – Integration der Benutzeroberfläche© Orientation in Objects GmbH 19

Doch eine kleine Definition

Microservices – Integration der Benutzeroberfläche© Orientation in Objects GmbH

„Microservices“ nach Martin Fowler

Componentization via Services

Organized around Business Capabilities

Products not Projects

Decentralized Data Management

Infrastructure Automation

20

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

Page 11: Microservices – Integration der Benutzeroberfläche...1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: info@oio.de Microservices – Integration der Benutzeroberfläche

11

Microservices – Integration der Benutzeroberfläche© Orientation in Objects GmbH 21

Mircoservice reines Backend-Thema?

Spring Boot

DropWizard

Wildfly Swarm

Microservices – Integration der Benutzeroberfläche© Orientation in Objects GmbH 22

@SpringBootApplication

@RestController

public class Microservice {

public static void main(String[] args) {

SpringApplication.run(Microservice.class, args);

}

@RequestMapping("/helloWorld")

public String sayHello() {

return "Hello World";

}

}

Page 12: Microservices – Integration der Benutzeroberfläche...1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: info@oio.de Microservices – Integration der Benutzeroberfläche

12

Microservices – Integration der Benutzeroberfläche© Orientation in Objects GmbH 23

@SpringBootApplication

@RestController

public class Microservice {

public static void main(String[] args) {

SpringApplication.run(Microservice.class, args);

}

@RequestMapping("/helloWorld")

public String sayHello() {

return "Hello World";

}

}

Was ist mit

der UI?

Microservices – Integration der Benutzeroberfläche© Orientation in Objects GmbH 24

Zunächst der Teil für die

PowerPoint Architekten

Page 13: Microservices – Integration der Benutzeroberfläche...1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: info@oio.de Microservices – Integration der Benutzeroberfläche

13

Microservices – Integration der Benutzeroberfläche© Orientation in Objects GmbH 25

Microservice UI

HTML JSON

Gemeinsame

UI

Getrennte

UI

Gemeinsame

UI

Getrennte

UI

Server

Integration

Browser

Integration

Vollständige

UI

Composite

UI

Browser

Integration

Backend

Service Calls

AJAX

HTML

Serverseitiges

Templating

AJAX

JSON

Clientseitiges

Templating

Vollständige

UI

Composite

UI

Microservices – Integration der Benutzeroberfläche© Orientation in Objects GmbH 26

Microservice UI

HTML JSON

Page 14: Microservices – Integration der Benutzeroberfläche...1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: info@oio.de Microservices – Integration der Benutzeroberfläche

14

Microservices – Integration der Benutzeroberfläche© Orientation in Objects GmbH

Java-Server generiert HTML

27

1. GET .html

HTML

Browser

HTTP Server

Java Servlet

HTML

Microservices – Integration der Benutzeroberfläche© Orientation in Objects GmbH

HTTP ServerBrowser

Java-Server als Datenschleuder

28

1. GET .html

2. GET .js

3. GET .json

HTML

JavaScriptHTML

JavaScript

Java ServletJSON

Page 15: Microservices – Integration der Benutzeroberfläche...1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: info@oio.de Microservices – Integration der Benutzeroberfläche

15

Microservices – Integration der Benutzeroberfläche© Orientation in Objects GmbH 29

Microservice UI

HTML JSON

Gemeinsame

UI

Getrennte

UI

Gemeinsame

UI

Getrennte

UI

Microservices – Integration der Benutzeroberfläche© Orientation in Objects GmbH

Gemeinsame UI

30

UI

Backend

Microservice 3

Backend

Microservice 2

Backend

Microservice 1

Page 16: Microservices – Integration der Benutzeroberfläche...1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: info@oio.de Microservices – Integration der Benutzeroberfläche

16

Microservices – Integration der Benutzeroberfläche© Orientation in Objects GmbH 31

Getrenntes Team für die UI

Saubere Schnittstellen

Vorteile einer gemeinsamen UI

Microservices – Integration der Benutzeroberfläche© Orientation in Objects GmbH 32

Teams müssen synchronisiert werden

Frontend-Team als Flaschenhals

Nachteile einer gemeinsamen UI

Page 17: Microservices – Integration der Benutzeroberfläche...1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: info@oio.de Microservices – Integration der Benutzeroberfläche

17

Microservices – Integration der Benutzeroberfläche© Orientation in Objects GmbH 33

Frontend-Team braucht Wissen über alle Services

"UI Monolit"

Nachteile einer gemeinsamen UI

Microservices – Integration der Benutzeroberfläche© Orientation in Objects GmbH 34

Verhältnis von Backend zu UI?

50:50?

Dann machen Sie auch nur 50% Microservices!

Nachteile einer gemeinsamen UI

Page 18: Microservices – Integration der Benutzeroberfläche...1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: info@oio.de Microservices – Integration der Benutzeroberfläche

18

Microservices – Integration der Benutzeroberfläche© Orientation in Objects GmbH

Getrennte UI

35

UI 3

Backend 3

UI 2

Backend 2

UI 1

Backend 1

Microservices – Integration der Benutzeroberfläche© Orientation in Objects GmbH

Getrennte UI

36

Herausforderungen:

Konsistentes Aussehen?!

Integration in eine UI?!

UI 3

Backend 3

UI 2

Backend 2

UI 1

Backend 1

Page 19: Microservices – Integration der Benutzeroberfläche...1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: info@oio.de Microservices – Integration der Benutzeroberfläche

19

Microservices – Integration der Benutzeroberfläche© Orientation in Objects GmbH 37

UI 3

Backend 3

UI 2

Backend 2

UI 1

Backend 1

Shared

UI Code

Microservices – Integration der Benutzeroberfläche© Orientation in Objects GmbH 38

Microservice UI

HTML JSON

Gemeinsame

UI

Getrennte

UI

Gemeinsame

UI

Getrennte

UI

Vollständige

UI

Composite

UI

Vollständige

UI

Composite

UI

Page 20: Microservices – Integration der Benutzeroberfläche...1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: info@oio.de Microservices – Integration der Benutzeroberfläche

20

Microservices – Integration der Benutzeroberfläche© Orientation in Objects GmbH 39

Composite UI

Microservices – Integration der Benutzeroberfläche© Orientation in Objects GmbH 40

Microservice UI

HTML JSON

Gemeinsame

UI

Getrennte

UI

Gemeinsame

UI

Getrennte

UI

Server

Integration

Browser

Integration

Browser

Integration

Vollständige

UI

Composite

UI

Vollständige

UI

Composite

UI

Page 21: Microservices – Integration der Benutzeroberfläche...1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: info@oio.de Microservices – Integration der Benutzeroberfläche

21

Microservices – Integration der Benutzeroberfläche© Orientation in Objects GmbH

Server Integration

41

Serverside

UI

Backend

Microservice 3

Backend

Microservice 2

Backend

Microservice 1

Browser

Microservices – Integration der Benutzeroberfläche© Orientation in Objects GmbH

Browser Integration

42

Browser

Backend

Microservice 3

Backend

Microservice 2

Backend

Microservice 1

Page 22: Microservices – Integration der Benutzeroberfläche...1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: info@oio.de Microservices – Integration der Benutzeroberfläche

22

Microservices – Integration der Benutzeroberfläche© Orientation in Objects GmbH 43

Und nun der Teil für die

Keller-Programmierer

Microservices – Integration der Benutzeroberfläche© Orientation in Objects GmbH 44

Microservice UI

HTML JSON

Gemeinsame

UI

Getrennte

UI

Gemeinsame

UI

Getrennte

UI

Server

Integration

Browser

Integration

Browser

Integration

AJAX

HTML

Vollständige

UI

Composite

UI

Vollständige

UI

Composite

UI

Page 23: Microservices – Integration der Benutzeroberfläche...1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: info@oio.de Microservices – Integration der Benutzeroberfläche

23

Microservices – Integration der Benutzeroberfläche© Orientation in Objects GmbH

AJAX

45

<html>

<head>

<title>UI Integration - AJAX</title>

</head>

<body>

<div id="content1">-</div>

<div id="content2">-</div>

<div id="content3">-</div>

</body>

</html>

Microservices – Integration der Benutzeroberfläche© Orientation in Objects GmbH

AJAX HTML

46

<html>

<head>

<title>UI Integration - AJAX</title>

<script type="text/javascript" src="jquery.js"></script>

<script type="text/javascript">

$(function() {

$("#content1").load("http://localhost:8081/");

$("#content2").load("http://localhost:8082/");

$("#content3").load("http://localhost:8083/");

});

</script>

</head>

<body>

<div id="content1">-</div>

<div id="content2">-</div>

<div id="content3">-</div>

</body>

</html>

Page 24: Microservices – Integration der Benutzeroberfläche...1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: info@oio.de Microservices – Integration der Benutzeroberfläche

24

Microservices – Integration der Benutzeroberfläche© Orientation in Objects GmbH

AJAX

47

Microservices – Integration der Benutzeroberfläche© Orientation in Objects GmbH

AJAX Nachteil

48

Page 25: Microservices – Integration der Benutzeroberfläche...1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: info@oio.de Microservices – Integration der Benutzeroberfläche

25

Microservices – Integration der Benutzeroberfläche© Orientation in Objects GmbH

AJAX Nachteil 2

49

SEOSuchmaschinenoptimierung

Microservices – Integration der Benutzeroberfläche© Orientation in Objects GmbH 50

Microservice UI

HTML JSON

Gemeinsame

UI

Getrennte

UI

Gemeinsame

UI

Getrennte

UI

Server

Integration

Browser

Integration

Browser

Integration

AJAX

HTML

AJAX

JSON

Vollständige

UI

Composite

UI

Vollständige

UI

Composite

UI

Page 26: Microservices – Integration der Benutzeroberfläche...1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: info@oio.de Microservices – Integration der Benutzeroberfläche

26

Microservices – Integration der Benutzeroberfläche© Orientation in Objects GmbH

AJAX JSON

51

<html>

<head>

<title>UI Integration - AJAX</title>

<script type="text/javascript" src="jquery.js"></script>

<script type="text/javascript">

$(function() {

loadJSONData("http://localhost:8081/json", "#content1");

loadJSONData("http://localhost:8082/json", "#content2");

loadJSONData("http://localhost:8083/json", "#content3");

function loadJSONData(url, domId) {

$.get(url, function(data) {

$(domId).html(data.text).css("color", "#0f0");

});

}

});

</script>

</head>

<body>

<div id="content1">-</div>

<div id="content2">-</div>

<div id="content3">-</div>

</body>

</html>

Microservices – Integration der Benutzeroberfläche© Orientation in Objects GmbH 52

Microservice UI

HTML JSON

Gemeinsame

UI

Getrennte

UI

Gemeinsame

UI

Getrennte

UI

Server

Integration

Browser

Integration

Browser

Integration

AJAX

HTML

AJAX

JSON

Backend

Service Calls

Vollständige

UI

Composite

UI

Vollständige

UI

Composite

UI

Page 27: Microservices – Integration der Benutzeroberfläche...1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: info@oio.de Microservices – Integration der Benutzeroberfläche

27

Microservices – Integration der Benutzeroberfläche© Orientation in Objects GmbH

Server Integration

53

Serverside

UI

Backend

Microservice 3

Backend

Microservice 2

Backend

Microservice 1

Browser

Microservices – Integration der Benutzeroberfläche© Orientation in Objects GmbH

Backend Service Calls

54

return Stream.of(url1, url2 , url3)

.parallel()

.map(url -> restTemplate.getForObject(url, String.class))

.collect(Collectors.joining(""));

Page 28: Microservices – Integration der Benutzeroberfläche...1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: info@oio.de Microservices – Integration der Benutzeroberfläche

28

Microservices – Integration der Benutzeroberfläche© Orientation in Objects GmbH

Nachteil Backend Service Calls

55

Microservices – Integration der Benutzeroberfläche© Orientation in Objects GmbH 56

Client ServiceCircuit

Breaker

Timeout

Timeout

Circuit Breakerverhindert, dass nicht erreichbare Dienste

immer wieder angefragt werden.

Page 29: Microservices – Integration der Benutzeroberfläche...1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: info@oio.de Microservices – Integration der Benutzeroberfläche

29

Microservices – Integration der Benutzeroberfläche© Orientation in Objects GmbH 57

Hystrix Dashboard

Microservices – Integration der Benutzeroberfläche© Orientation in Objects GmbH

Nachteil Backend Integration

58

Page 30: Microservices – Integration der Benutzeroberfläche...1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: info@oio.de Microservices – Integration der Benutzeroberfläche

30

Microservices – Integration der Benutzeroberfläche© Orientation in Objects GmbH

BigPipe Facebook

59

https://www.facebook.com/notes/facebook-engineering/bigpipe-pipelining-web-pages-for-high-performance/389414033919/

Microservices – Integration der Benutzeroberfläche© Orientation in Objects GmbH

BigPipe I

<html>

<head>

</head>

<body>

<div id="content1">-</div>

<div id="content2">-</div>

<div id="content3">-</div>

</body>

</html>

60

Page 31: Microservices – Integration der Benutzeroberfläche...1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: info@oio.de Microservices – Integration der Benutzeroberfläche

31

Microservices – Integration der Benutzeroberfläche© Orientation in Objects GmbH

BigPipe II

<html>

<head>

<script type="text/javascript">

function arrived(id, text) {

document.getElementById(id).innerHTML = text;

}

</script>

</head>

<body>

<div id="content1">-</div>

<div id="content2">-</div>

<div id="content3">-</div>

</body>

</html>

61

Microservices – Integration der Benutzeroberfläche© Orientation in Objects GmbH

BigPipe III

<html>

<head>

<script type="text/javascript">

function arrived(id, text) {

document.getElementById(id).innerHTML = text;

}

</script>

</head>

<body>

<div id="content1">-</div>

<div id="content2">-</div>

<div id="content3">-</div>

<script>arrived("content3", "Wohooo 3");</script>

<script>arrived("content1", "Wohooo 1");</script>

<script>arrived("content2", "Wohooo 2");</script>

</body>

</html>

62

Page 32: Microservices – Integration der Benutzeroberfläche...1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: info@oio.de Microservices – Integration der Benutzeroberfläche

32

Microservices – Integration der Benutzeroberfläche© Orientation in Objects GmbH

BigPipe Server

private Callable<Boolean> createCallable(final PrintWriter writer, int id) {

return () -> {

try {

pagelet(writer, "content1",

new RestTemplate().getForObject("http://localhost:8081", String.class));

} catch (InterruptedException e) {

return false;

}

return true;

};

}

private void pagelet(PrintWriter writer, String id, String content) {

writer.write("<script>" + "arrived(\"" + id + "\", '" + content + "');" + "</script>\n");

writer.flush();

}

63

Microservices – Integration der Benutzeroberfläche© Orientation in Objects GmbH 64

Microservice UI

HTML JSON

Gemeinsame

UI

Getrennte

UI

Gemeinsame

UI

Getrennte

UI

Server

Integration

Browser

Integration

Browser

Integration

AJAX

HTML

AJAX

JSON

Backend

Service Calls

Serverseitiges

Templating

Vollständige

UI

Composite

UI

Vollständige

UI

Composite

UI

Page 33: Microservices – Integration der Benutzeroberfläche...1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: info@oio.de Microservices – Integration der Benutzeroberfläche

33

Microservices – Integration der Benutzeroberfläche© Orientation in Objects GmbH

Server Integration

65

Serverside

UI

Backend

Microservice 3

Backend

Microservice 2

Backend

Microservice 1

Browser

Microservices – Integration der Benutzeroberfläche© Orientation in Objects GmbH

Compoxure Composition Middlewarehttps://github.com/tes/compoxure

66

<div cx-url='{{server:local}}/application/widget/{{cookie:userId}}'

cx-cache-ttl='10s' cx-cache-key='widget:user:{{cookie:userId}}'

cx-timeout='1s' cx-statsd-key="widget_user">

This content will be replaced on the way through

</div>

Page 34: Microservices – Integration der Benutzeroberfläche...1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: info@oio.de Microservices – Integration der Benutzeroberfläche

34

Microservices – Integration der Benutzeroberfläche© Orientation in Objects GmbH 67

Microservice UI

HTML JSON

Gemeinsame

UI

Getrennte

UI

Gemeinsame

UI

Getrennte

UI

Server

Integration

Browser

Integration

Browser

Integration

AJAX

HTML

AJAX

JSON

Backend

Service Calls

Serverseitiges

Templating

Clientseitiges

Templating

Vollständige

UI

Composite

UI

Vollständige

UI

Composite

UI

Microservices – Integration der Benutzeroberfläche© Orientation in Objects GmbH

Angular 2 – ng-include

68

<!DOCTYPE html>

<html>

<script src="angular.min.js"></script>

<body ng-app="myApp">

<div ng-include="'http://localhost:8081/'"></div>

<div ng-include="'http://localhost:8082/'"></div>

<div ng-include="'http://localhost:8083/'"></div>

<script>

angular.module('myApp', []).config(

function($sceDelegateProvider) {

$sceDelegateProvider.resourceUrlWhitelist([

'http://localhost:8081/**',

'http://localhost:8082/**',

'http://localhost:8083/**' ]);

}

);

</script>

</body>

</html>

Page 35: Microservices – Integration der Benutzeroberfläche...1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: info@oio.de Microservices – Integration der Benutzeroberfläche

35

Microservices – Integration der Benutzeroberfläche© Orientation in Objects GmbH 69

Microservice UI

HTML JSON

Gemeinsame

UI

Getrennte

UI

Gemeinsame

UI

Getrennte

UI

Server

Integration

Browser

Integration

Browser

Integration

Backend

Service Calls

AJAX

HTML

Serverseitiges

Templating

AJAX

JSON

Clientseitiges

Templating

Vollständige

UI

Composite

UI

Vollständige

UI

Composite

UI

Orientation in Objects GmbH

Weinheimer Str. 6868309 Mannheim

[email protected]

??

? ?

????

Fragen ?

Page 36: Microservices – Integration der Benutzeroberfläche...1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: info@oio.de Microservices – Integration der Benutzeroberfläche

36

Orientation in Objects GmbH

Weinheimer Str. 6868309 Mannheim

[email protected]

Vielen Dank für Ihre Aufmerksamkeit!