UML & ArchiMate - Enterprise and Solution architecture...

15
Avancier Training at http://avancier.website UML & ArchiMate (a comparison) After Gerben Wierda’s paper http://eapj.org/on-slippery-ice-20150201 (The link will break if the EAP journal move the paper.)

Transcript of UML & ArchiMate - Enterprise and Solution architecture...

Page 1: UML & ArchiMate - Enterprise and Solution architecture ...grahamberrisford.com/00EAframeworks/05ArchiMate/UML... · Avancier Training at UML & ArchiMate (a comparison) After Gerben

Avancier

Training at http://avancier.website

UML & ArchiMate (a comparison)

After Gerben Wierda’s paper

http://eapj.org/on-slippery-ice-20150201

(The link will break if the EAP journal move the paper.)

Page 2: UML & ArchiMate - Enterprise and Solution architecture ...grahamberrisford.com/00EAframeworks/05ArchiMate/UML... · Avancier Training at UML & ArchiMate (a comparison) After Gerben

Avancier Flexibility v performance trade off

► “Alas, such models are no silver bullets.

► Projects get into serious trouble because of them.

► Three main reasons:

■ brittleness of loosely-coupled spaghetti

■ maintainability

■ performance.”

Gerben Wierda

Training at http://avancier.website

The company’s enterprise architecture principles

1. presentation layer is separated from application layer

2. data is owned by one business function and served to others

3. data is mastered in one application (single source of truth)

4. systems are connected via an ESB for loose-coupling

5. rules are applied by business rule engines so systems can be adapted to

different policy types and different clients.

Designed for On-line transaction use cases Flexibility w many customer

and/or product variations

Page 3: UML & ArchiMate - Enterprise and Solution architecture ...grahamberrisford.com/00EAframeworks/05ArchiMate/UML... · Avancier Training at UML & ArchiMate (a comparison) After Gerben

Avancier

ESB

ESB

ESB

ETL

*[for 1,000 employers]

*[for > 1,000 employees]

Inefficient solution design to company principles

Training at http://avancier.website

Check Premium

Total receivable

Get Policy Data

Premiums file

Premium errors file

Big performance problem handling millions of

premiums after month end

Slow DB access

Employer

Receive

Insurance

Premiums

Insurance

Member

Policy

Accounting

Business

Rules

Engine Policies Rules Acc’ts

Message queue

Page 4: UML & ArchiMate - Enterprise and Solution architecture ...grahamberrisford.com/00EAframeworks/05ArchiMate/UML... · Avancier Training at UML & ArchiMate (a comparison) After Gerben

Avancier Classic client-maintained cache (drawn to match ArchiMate diagram)

1. Browser looks

first in cache

2. Page retrieved

3. Page cached

Training at http://avancier.website

Browser

Remote

HTTP

Server Cache

Get

page

If the page is in the cache and not stale

Else

2 Deliver web page Deliver

page

2 Refreshed or initial page

Page 5: UML & ArchiMate - Enterprise and Solution architecture ...grahamberrisford.com/00EAframeworks/05ArchiMate/UML... · Avancier Training at UML & ArchiMate (a comparison) After Gerben

Avancier Original design (no cache) (drawn to match ArchiMate diagram)

Training at http://avancier.website

*[for > 1,000 employees]

RIP IMP

Policies

Use

IMP data

Answer request for data Distribute

update

IMP Update

Receive-Insurance-Premium system (RIP)

requests Policy data from Insurance-

Member-Policy system (IMP)

Page 6: UML & ArchiMate - Enterprise and Solution architecture ...grahamberrisford.com/00EAframeworks/05ArchiMate/UML... · Avancier Training at UML & ArchiMate (a comparison) After Gerben

Avancier Classic client-maintained cache (drawn to match ArchiMate diagram)

Training at http://avancier.website

RIP first looks in the cache for data that is not marked out-of-date. If the data needs to be refreshed, RIP uses the service from IMP and receives the data The problem is that we might be using data that is out of date.

*[for > 1,000 employees]

RIP IMP

IMP Data

Cache

Policies

Use

IMP data

If the policy data is in the cache and not stale

Else

Answer request for data Distribute

update

IMP Update

Page 7: UML & ArchiMate - Enterprise and Solution architecture ...grahamberrisford.com/00EAframeworks/05ArchiMate/UML... · Avancier Training at UML & ArchiMate (a comparison) After Gerben

Avancier

*[for each update]

Server-updated cache (drawn to match ArchiMate diagram)

Training at http://avancier.website

RIP uses only the

local cache which is

kept up to date by

IMP.

Every time IMP

updates data, it uses

a service from RIP

and sends it the

updated data. RIP

immediately stores it

in the cache.

*[for > 1,000 employees]

RIP IMP

IMP Data

Cache

Policies

Use

IMP data

IMP Update

Receive IMP Data Update Keep

RIP cache

up to date

Distribute

update

Page 8: UML & ArchiMate - Enterprise and Solution architecture ...grahamberrisford.com/00EAframeworks/05ArchiMate/UML... · Avancier Training at UML & ArchiMate (a comparison) After Gerben

Avancier

*[for > 1,000 employees]

Server-owned cache (drawn to match ArchiMate diagram)

3rd app manages the

cache made available

to RIP via API

It runs on the

environment where

the cache must be

maintained

Training at http://avancier.website

*[for each update]

RIP IMP

Policies

Distribute

update

IMP

Cache

Agent

Receive IMP Data Upd.

Use

IMP data

IMP Update

Serve IMP data

IMP Data

Cache

Manage

IMP data

Manage

IMP data

How does the cache solve the

problem?

Page 9: UML & ArchiMate - Enterprise and Solution architecture ...grahamberrisford.com/00EAframeworks/05ArchiMate/UML... · Avancier Training at UML & ArchiMate (a comparison) After Gerben

Avancier How does the cache solve the problem?

► The diagram doesn’t say, and if you’re not sure where the

bottleneck is, you might not solve the problem

► Problem: ESB

■ Move cache closer to point of use, bypass the ESB

► Problem: Network hops

■ Move cache closer to point of use, cut out slow network hops

► Problem: IMP data structure not designed for fast access

■ Optimise the data structure for client access

■ Stored cache using a technology that is faster than discs.

Training at http://avancier.website

Page 10: UML & ArchiMate - Enterprise and Solution architecture ...grahamberrisford.com/00EAframeworks/05ArchiMate/UML... · Avancier Training at UML & ArchiMate (a comparison) After Gerben

Avancier

Training at http://avancier.website

APPENDIX: Gerben’s ArchiMate diagrams of the same options

► The content of the earlier UML-style sequence diagrams is

copied from the ArchiMate diagrams on the following slides

► (Bar one service name refinement)

Classic client-maintained cache

Server-updated cache

Server-owned cache

Page 11: UML & ArchiMate - Enterprise and Solution architecture ...grahamberrisford.com/00EAframeworks/05ArchiMate/UML... · Avancier Training at UML & ArchiMate (a comparison) After Gerben

Avancier Classic client-maintained cache

1) Browser looks first in cache

2) Page retrieved

3) Page cached

Training at http://avancier.website

Page 12: UML & ArchiMate - Enterprise and Solution architecture ...grahamberrisford.com/00EAframeworks/05ArchiMate/UML... · Avancier Training at UML & ArchiMate (a comparison) After Gerben

Avancier Original design (no cache)

► Receive-Insurance-Premium system (RIP) requests Policy data from

► Insurance-Member-Policy system (IMP)

Training at http://avancier.website

Page 13: UML & ArchiMate - Enterprise and Solution architecture ...grahamberrisford.com/00EAframeworks/05ArchiMate/UML... · Avancier Training at UML & ArchiMate (a comparison) After Gerben

Avancier Classic client-maintained cache

► RIP first looks in the cache for data that is not marked out-of-date.

► If data needs to be refreshed, RIP uses the service from IMP and receives the data

► The problem is that we might be using data that is out of date.

Training at http://avancier.website

Page 14: UML & ArchiMate - Enterprise and Solution architecture ...grahamberrisford.com/00EAframeworks/05ArchiMate/UML... · Avancier Training at UML & ArchiMate (a comparison) After Gerben

Avancier Server-updated cache

Training at http://avancier.website

RIP uses only the local cache which is kept up to date by IMP

Every time IMP updates data, it uses a service from RIP and sends it the updated data.

RIP immediately stores it in the cache.

Page 15: UML & ArchiMate - Enterprise and Solution architecture ...grahamberrisford.com/00EAframeworks/05ArchiMate/UML... · Avancier Training at UML & ArchiMate (a comparison) After Gerben

Avancier Server-owned cache

► 3rd application manages the cache made available to RIP via API

► It runs on the environment where the cache must be maintained

Training at http://avancier.website