240
!" #! $" % &’( )*("+"*,-

Complex Distributed Systems Software Architecture

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Complex Distributed Systems Software Architecture

�������������� ���������������������������������������

���������� !"���������� � �#����!��$��"� %��� ����

��������&'�(�

)*("+��"*,-

Page 2: Complex Distributed Systems Software Architecture

. /��������&'�(�0*("+��"*,

�������

� 1�������+���������������������������

� ��������� �� ������������2��%���� �,�������

� 2%�,�������3

� 2%����� ����������3

� 2%�������� �����������1����������3

� (���������� �,�������2��$3

� 2%��"���%�+�������,�������3

� 2%������ !"3

� ������ ����

� �� )����������������� � ������ �-��4�����) ����� ������ �-

� ����������1�������%���

� ��� ������

Page 3: Complex Distributed Systems Software Architecture

5 /��������&'�(�0*("+��"*,/ ��������&'�(�0*("+��"*,

�������������

� +���������������������������)+���-

� ��������"�� *����� �������

� ����������������������

� ����������� �����������

� ������������� �����

� "����� %����� �

� �� ������������� ������"����� ����

� '�������� �,��������� �� �����������

Page 4: Complex Distributed Systems Software Architecture

6 /��������&'�(�0*("+��"*,

+����������������������������

� ����������� ���� ���*������������

� +���������������������"�������������

� *��������������������� ���7"��7���

� ����������74� ����

� 8�����*�����������

� ���*������������

� 8��������������������

� �����7" �������

� ,����� ������

� !������

Page 5: Complex Distributed Systems Software Architecture

9 /��������&'�(�0*("+��"*,

+�����������������������������������&������

� ����������� ��

� ��������������������::0:::;

� 4�������������

� �������������������� ������������$�����

� �������

� ��������

� �������

� ��<����� ���

� ,��������������� ��),�� -

� +��� � ��=>��.>�����0

Page 6: Complex Distributed Systems Software Architecture

? /��������&'�(�0*("+��"*,/ ��������&'�(�0*("+��"*,

�������������

� +���������������������������)+���-

� ��������"�� *����� �������

� ����������������������

� ����������� �����������

� ������������� �����

� "����� %����� �

� �� ������������� ������"����� ����

� '�������� �,��������� �� �����������

Page 7: Complex Distributed Systems Software Architecture

@ /��������&'�(�0*("+��"*,

"��*����� �������

Page 8: Complex Distributed Systems Software Architecture

A /��������&'�(�0*("+��"*,

"��*����� ,�������������������������

� ����������������� )�������-

� 4����������������� �

� "�" )������-

� �������������) ������-

� "��&���,���������)���������-

� ���������� �����)� ������-

� �����������<� )+����-

� � �����������2��7������2��

� ����������)��������-�9>��.>>

� ���������9>��9>>

� .��6,��������"����������� ��

� =>��.>����� ���� � ��

Page 9: Complex Distributed Systems Software Architecture

: /��������&'�(�0*("+��"*,

���*�������������"*� �����"� %��� ����

Flight PlanProcessingFlight Plan

Processing

SupervisoryControlSupervisory

Control

SimulatorSimulator

RecordingReplayRecording

Replay

controllerWorkingPosition

controllerWorkingPosition

Radar DataProcessingRadar Data

Processing

Radar FrontProcessingRadar Front

Processing

Intranet

ATC Internet

controllerWorkingPosition

controllerWorkingPosition

����

��������� �� �

Page 10: Complex Distributed Systems Software Architecture

=> /��������&'�(�0*("+��"*,/ ��������&'�(�0*("+��"*,

�������������

� +���������������������������)+���-

� ��������"�� *����� �������

� ����������������������

� ����������� �����������

� ������������� �����

� "����� %����� �

� �� ������������� ������"����� ����

� '�������� �,��������� �� �����������

Page 11: Complex Distributed Systems Software Architecture

== /��������&'�(�0*("+��"*,

��������������������

Page 12: Complex Distributed Systems Software Architecture

=. /��������&'�(�0*("+��"*,

��������������������

Page 13: Complex Distributed Systems Software Architecture

=5 /��������&'�(�0*("+��"*,

��������������������7��������������

Page 14: Complex Distributed Systems Software Architecture

=6 /��������&'�(�0*("+��"*,

��������������������7��������������

Page 15: Complex Distributed Systems Software Architecture

=9 /��������&'�(�0*("+��"*,

��������������������7�� �����������

Page 16: Complex Distributed Systems Software Architecture

=? /��������&'�(�0*("+��"*,

��������������������7�� �����������

Page 17: Complex Distributed Systems Software Architecture

=@ /��������&'�(�0*("+��"*,

���������������������%�����������

Page 18: Complex Distributed Systems Software Architecture

=A /��������&'�(�0*("+��"*,

���������������������%�����������

Page 19: Complex Distributed Systems Software Architecture

=: /��������&'�(�0*("+��"*,

�������������������� �������������������

Page 20: Complex Distributed Systems Software Architecture

.> /��������&'�(�0*("+��"*,

�������������������� ��������������

Page 21: Complex Distributed Systems Software Architecture

.= /��������&'�(�0*("+��"*,

�������������������� �������������������%����������������

��������������

Page 22: Complex Distributed Systems Software Architecture

.. /��������&'�(�0*("+��"*,

�������������������� �������������������%����������������

��������������

����� ����������

Page 23: Complex Distributed Systems Software Architecture

.5 /��������&'�(�0*("+��"*,

�������������������� �������������������%����������������

��������������

����� ���������� ����� �����������

Page 24: Complex Distributed Systems Software Architecture

.6 /��������&'�(�0*("+��"*,/ ��������&'�(�0*("+��"*,

�������������

� +���������������������������)+���-

� ��������"�� *����� �������

� ����������������������

� ����������� �����������

� ������������� �����

� "����� %����� �

� �� ������������� ������"����� ����

� '�������� �,��������� �� �����������

Page 25: Complex Distributed Systems Software Architecture

.9 /��������&'�(�0*("+��"*,

��������������%�����"����� %����� �0

� ��������� ��������������� %����������� �������%������� ���������0

� �� %����������� �������%� ����<�7�%���� ��������%� ���������0

� ����������� �����%��� ������������� ��������� ���������0

� *%� ���������� ������� %���������������%���%�������%��������� %����������%������������ ����%� �� ������������������%��������

� �������������� %����� ��%���%� %��������������� ����� ��������������0

� !�������������� ���������,������������� ���%������� ���������)������� ����<���� ����-0

Page 26: Complex Distributed Systems Software Architecture

.? /��������&'�(�0*("+��"*,/ ��������&'�(�0*("+��"*,

�������������

� +���������������������������)+���-

� ��������"�� *����� �������

� ����������������������

� ����������� �����������

� ������������� �����

� "����� %����� �

� �� ������������� ������"����� ����

� '�������� �,��������� �� �����������

Page 27: Complex Distributed Systems Software Architecture

.@ /��������&'�(�0*("+��"*,

�������������1��� �,���������

Functional Changes Cost

Time

System Complexity

Functional Changes Code Size

Complexity

Functional upgrade Code Size

Functional upgrade Cost

Complexity avalanche effect

Page 28: Complex Distributed Systems Software Architecture

.A /��������&'�(�0*("+��"*,

�������������1��� �,���������

Functional Changes

Cost

System Complexity

Functional Changes Code Size

Complexity avalanche effect

Complexity

Functional upgrade Code Size

Functional upgrade Cost

Time

Page 29: Complex Distributed Systems Software Architecture

.: /��������&'�(�0*("+��"*,/ ��������&'�(�0*("+��"*,

�������������

� +���������������������������)+���-

� ��������"�� *����� �������

� ����������������������

� ����������� �����������

� ������������� �����

� "����� %����� �

� �� ������������� ������"����� ����

� '�������� �,��������� �� �����������

Page 30: Complex Distributed Systems Software Architecture

5> /��������&'�(�0*("+��"*,

,������������� ���������������

System Complexity

Complexity

Code Size

Page 31: Complex Distributed Systems Software Architecture

5= /��������&'�(�0*("+��"*,

,������������� ���������������Complexity

Code Size

Increases Abstraction Level

DecreasesComplexity

DecreasesCode Size

System Complexity

Page 32: Complex Distributed Systems Software Architecture

5. /��������&'�(�0*("+��"*,

,����������� ����������������Complexity

Code Size

DecreasesCode Size

Increases Abstraction Level

DecreasesComplexity

System Complexity

Page 33: Complex Distributed Systems Software Architecture

55 /��������&'�(�0*("+��"*,/ ��������&'�(�0*("+��"*,

�������������

� +���������������������������)+���-

� ��������"�� *����� �������

� ����������������������

� ����������� �����������

� ������������� �����

� "����� %����� �

� �� ������������� ������"����� ����

� '�������� �,��������� �� �����������

Page 34: Complex Distributed Systems Software Architecture

56 /��������&'�(�0*("+��"*,

�������������������� ���%,�������

,�������

Page 35: Complex Distributed Systems Software Architecture

59 /��������&'�(�0*("+��"*,

�������������������� ���%�����������

����������

Page 36: Complex Distributed Systems Software Architecture

5? /��������&'�(�0*("+��"*,

�������������������� ���%�����������

����������

�������������������������

�������������������������

Page 37: Complex Distributed Systems Software Architecture

5@ /��������&'�(�0*("+��"*,

�������

� 1�������+���������������������������

� ��������� �� ������������2��%���� �,�������

� 2%�,�������3

� 2%����� ����������3

� 2%�������� �����������1����������3

� (���������� �,�������2��$3

� 2%��"���%�+�������,�������3

� 2%������ !"3

� ������ ����

� �� )����������������� � ������ �-��4�����) ����� ������ �-

� ����������1�������%���

� ��� ������

Page 38: Complex Distributed Systems Software Architecture

5A /��������&'�(�0*("+��"*,/ ��������&'�(�0*("+��"*,

������"����� �������%,�������

� 2%�,�������3

� *� ����"����� ����

� *� %�� ��+�����8�������� ��

� ����������� ��8��������������

� ,��������� %��� ����

� ��������������� �����

� ���� ��������

� +����������� ����������

� ���� �&�������$

� ������1������

� ���B���������

Page 39: Complex Distributed Systems Software Architecture

5: /��������&'�(�0*("+��"*,

��� ��������� �����������

���������������������

������������������

Page 40: Complex Distributed Systems Software Architecture

6> /��������&'�(�0*("+��"*,

� �� ! ���

�����������

����� "�������#���

�"���������

����"����� ������ �� �����������

Page 41: Complex Distributed Systems Software Architecture

6= /��������&'�(�0*("+��"*,

� �� ! ���

�����������

$������%�������

� �

�"���������

����"����� ������ �� �����������

Page 42: Complex Distributed Systems Software Architecture

6. /��������&'�(�0*("+��"*,

� �� ! ���

� �&' ��()

��*������

�����������

�"���������

����"����� ������ �� �����������

Page 43: Complex Distributed Systems Software Architecture

65 /��������&'�(�0*("+��"*,

� �� ! ���

��*������

+ � ��! ���

�����������

�"���������

����"����� ������ �� �����������

Page 44: Complex Distributed Systems Software Architecture

66 /��������&'�(�0*("+��"*,

� �� ! ���

��*������

+ � ��! ���

�����������

���������

�"���������

����"����� ������ �� �����������

Page 45: Complex Distributed Systems Software Architecture

69 /��������&'�(�0*("+��"*,

� �� ! ���

��*������

+ � ��! ���

�����������

�"���������

����"����� ������ �� �����������

Page 46: Complex Distributed Systems Software Architecture

6? /��������&'�(�0*("+��"*,

� �� ! ���

��*������

+ � ��! ���

�����������

�"���������

����"����� ������ �� �����������

Page 47: Complex Distributed Systems Software Architecture

6@ /��������&'�(�0*("+��"*,/ ��������&'�(�0*("+��"*,

������"����� �������%,�������

� 2%�,�������3

� *� ����"����� ����

� *� %�� ��+�����8�������� ��

� ����������� ��8��������������

� ,��������� %��� ����

� ��������������� �����

� ���� ��������

� +����������� ����������

� ���� �&�������$

� ������1������

� ���B���������

Page 48: Complex Distributed Systems Software Architecture

6A /��������&'�(�0*("+��"*,

��� ��������� �����������

���������������������

������������������

Page 49: Complex Distributed Systems Software Architecture

6: /��������&'�(�0*("+��"*,

����"����� ������ �� �����������

� �� ! ���

�����������

�"���������

����������

Page 50: Complex Distributed Systems Software Architecture

9> /��������&'�(�0*("+��"*,

����"����� ������ �� �����������

� �� ! ���

�����������

�"���������

����������

Page 51: Complex Distributed Systems Software Architecture

9= /��������&'�(�0*("+��"*,

����"����� ������ �� �����������

� �� ! ���

� ��

�����������

�"���������

����������

Page 52: Complex Distributed Systems Software Architecture

9. /��������&'�(�0*("+��"*,

����"����� ������ �� �����������

� �� ! ���

� ��

+ � ��! ���

�����������

�"���������

����������

Page 53: Complex Distributed Systems Software Architecture

95 /��������&'�(�0*("+��"*,

����"����� ������ �� �����������

� �� ! ���

� ��

+ � ��! ���

�����������

�"���������

����������

Page 54: Complex Distributed Systems Software Architecture

96 /��������&'�(�0*("+��"*,/ ��������&'�(�0*("+��"*,

������"����� �������%,�������

� 2%�,�������3

� *� ����"����� ����

� *� %�� ��+�����8�������� ��

� ����������� ��8��������������

� ,��������� %��� ����

� ��������������� �����

� ���� ��������

� +����������� ����������

� ���� �&�������$

� ������1������

� ���B���������

Page 55: Complex Distributed Systems Software Architecture

99 /��������&'�(�0*("+��"*,

,�������

"���� �����

4�����$

(������

4�����$

(������

"���� �����

��������������� ���������������

Page 56: Complex Distributed Systems Software Architecture

9? /��������&'�(�0*("+��"*,

,�������

����������

4�����$

(������

4�����$

(������

��������������� ���������������

"���� ����� "���� �����

Page 57: Complex Distributed Systems Software Architecture

9@ /��������&'�(�0*("+��"*,

,�������

"���� �����

4�����$

(������

���������������

"���� �����

4�����$

(������

���������������

"���� �����

4�����$

(������

���������������

"���� �����

4�����$

(������

���������������

Page 58: Complex Distributed Systems Software Architecture

9A /��������&'�(�0*("+��"*,

,�������

4�����$

(������

���������������

4�����$

(������

���������������

4�����$

(������

���������������

4�����$

(������

���������������

"���� ����� "���� ����� "���� ����� "���� �����

����������

Page 59: Complex Distributed Systems Software Architecture

9: /��������&'�(�0*("+��"*,/ ��������&'�(�0*("+��"*,

������"����� �������%,�������

� 2%�,�������3

� *� ����"����� ����

� *� %�� ��+�����8�������� ��

� ����������� ��8��������������

� ,��������� %��� ����

� ��������������� �����

� ���� ��������

� +����������� ����������

� ���� �&�������$

� ������1������

� ���B���������

Page 60: Complex Distributed Systems Software Architecture

?> /��������&'�(�0*("+��"*,

����� "��

�����������

�"���������

����"����� ������ �� �����������

Page 61: Complex Distributed Systems Software Architecture

?= /��������&'�(�0*("+��"*,

����� "��

�����������

����� #���

�"���������

����"����� ������ �� �����������

Page 62: Complex Distributed Systems Software Architecture

?. /��������&'�(�0*("+��"*,

����� "��

����� #���

� ",���

�����������

�"���������

����"����� ������ �� �����������

Page 63: Complex Distributed Systems Software Architecture

?5 /��������&'�(�0*("+��"*,

����� "��

����� #���

� ",���

�������

�����������

�"���������

����"����� ������ �� �����������

Page 64: Complex Distributed Systems Software Architecture

?6 /��������&'�(�0*("+��"*,

����� "��

����� #���

� ",���

�������

�����������

�"���������

����"����� ������ �� �����������

+ � ��

Page 65: Complex Distributed Systems Software Architecture

?9 /��������&'�(�0*("+��"*,/ ��������&'�(�0*("+��"*,

������"����� �������%,�������

� 2%�,�������3

� *� ����"����� ����

� *� %�� ��+�����8�������� ��

� ����������� ��8��������������

� ,��������� %��� ����

� ��������������� �����

� ���� ��������

� +����������� ����������

� ���� �&�������$

� ������1������

� ���B���������

Page 66: Complex Distributed Systems Software Architecture

?? /��������&'�(�0*("+��"*,

����"����� ������ �� �����������

� ,������� ����"����� ���������

� C������

� +�����������

� �� �������������� ���������������

Page 67: Complex Distributed Systems Software Architecture

?@ /��������&'�(�0*("+��"*,

����"����� ������ �� �����������

� ,������� ����"����� ���������

� C������

� +�����������

� �� �������������� ���������������

� (��%+����,�������

��������������

Page 68: Complex Distributed Systems Software Architecture

?A /��������&'�(�0*("+��"*,/ ��������&'�(�0*("+��"*,

������"����� �������%,�������

� 2%�,�������3

� *� ����"����� ����

� *� %�� ��+�����8�������� ��

� ����������� ��8��������������

� ,��������� %��� ����

� ��������������� �����

� ���� ��������

� +����������� ����������

� ���� �&�������$

� ������1������

� ���B���������

Page 69: Complex Distributed Systems Software Architecture

?: /��������&'�(�0*("+��"*,

,�����������������$

� +� �������� ����%�,��������� ��������� ���������$�

� �� ! ���

��*������

+ � ��! ���

�����������

Page 70: Complex Distributed Systems Software Architecture

@> /��������&'�(�0*("+��"*,

,�����������������$

� +� �������� ����%�,��������� ��������� ���������$�

� �� ! ���

��*������

$��� �! ��*

�����������

+ � ��! ���

Page 71: Complex Distributed Systems Software Architecture

@= /��������&'�(�0*("+��"*,/ ��������&'�(�0*("+��"*,

������"����� �������%,�������

� 2%�,�������3

� *� ����"����� ����

� *� %�� ��+�����8�������� ��

� ����������� ��8��������������

� ,��������� %��� ����

� ��������������� �����

� ���� ��������

� +����������� ����������

� ���� �&�������$

� ������1������

� ���B���������

Page 72: Complex Distributed Systems Software Architecture

@. /��������&'�(�0*("+��"*,

,�����������������$�������������

� +� �������� ����%�,��������� ��������� ���������$�

� �� ! ���

��*������

$��� �! ��*

�����������

+ � ��! ���

���� �!������

Page 73: Complex Distributed Systems Software Architecture

@5 /��������&'�(�0*("+��"*,/ ��������&'�(�0*("+��"*,

������"����� �������%,�������

� 2%�,�������3

� *� ����"����� ����

� *� %�� ��+�����8�������� ��

� ����������� ��8��������������

� ,��������� %��� ����

� ��������������� �����

� ���� ��������

� +����������� ����������

� ���� �&�������$

� ������1������

� ���B���������

Page 74: Complex Distributed Systems Software Architecture

@6 /��������&'�(�0*("+��"*,

,�����������������$� ������������

� +� �������� ����%�,��������� ��������� ���������$�

� �� ! ���

��*������

$��� �! ��*

�����������

+ � ��! ���

���� �!������

"�������"���������

Page 75: Complex Distributed Systems Software Architecture

@9 /��������&'�(�0*("+��"*,

�������

� 1�������+���������������������������

� ��������� �� ������������2��%���� �,�������

� 2%�,�������3

� 2%����� ����������3

� 2%�������� �����������1����������3

� (���������� �,�������2��$3

� 2%��"���%�+�������,�������3

� 2%������ !"3

� ������ ����

� �� )����������������� � ������ �-��4�����) ����� ������ �-

� ����������1�������%���

� ��� ������

Page 76: Complex Distributed Systems Software Architecture

@? /��������&'�(�0*("+��"*,/ ��������&'�(�0*("+��"*,

���� �1����������

� ������������ ����

� ���� �1����������

� 1������������� %�����

� 1�����������������������

� 1������������������

� 1������������������� �

� +�������� �� ��������� ��

� 1�������%���������� ������

Page 77: Complex Distributed Systems Software Architecture

@@ /��������&'�(�0*("+��"*,/ ��������&'�(�0*("+��"*,

���� �1����������

� ������������ ����

� ���� �1����������

� 1������������� %�����

� 1�����������������������

� 1������������������

� 1������������������� �

� +�������� �� ��������� ��

� 1�������%���������� ������

Page 78: Complex Distributed Systems Software Architecture

@A /��������&'�(�0*("+��"*,

2%���������DD

Page 79: Complex Distributed Systems Software Architecture

@: /��������&'�(�0*("+��"*,

���������� ����������

� �� ����������

� +�������

� ������� �

����� �1������������ %��#���

Page 80: Complex Distributed Systems Software Architecture

A> /��������&'�(�0*("+��"*,

,�������

����������

4�����$

(������

4�����$

(������

��������������� ���������������

"���� ����� "���� �����#��������

Page 81: Complex Distributed Systems Software Architecture

A= /��������&'�(�0*("+��"*,

,�������

����������

4�����$

(������

4�����$

(������

��������������� ���������������

"���� ����� "���� �����

�������!# �������!#

$�������%

Page 82: Complex Distributed Systems Software Architecture

A. /��������&'�(�0*("+��"*,

,�������

� +����������������

� ,������1�����������%����������������

� 1�������������

� ���� ����������

� *���������������������

� *���������������

Page 83: Complex Distributed Systems Software Architecture

A5 /��������&'�(�0*("+��"*,/ ��������&'�(�0*("+��"*,

���� �1����������

� ������������ ����

� ���� �1����������

� 1������������� %�����

� 1�����������������������

� 1������������������

� 1������������������� �

� +�������� �� ��������� ��

� 1�������%���������� ������

Page 84: Complex Distributed Systems Software Architecture

A6 /��������&'�(�0*("+��"*,

���� ��������

� �� ����������0

� ������� ��0

� ��%������ �0

� 1�������%���0)����� ������-

� �� ������%������0

Page 85: Complex Distributed Systems Software Architecture

A9 /��������&'�(�0*("+��"*,/ ��������&'�(�0*("+��"*,

���� �1����������

� ������������ ����

� ���� �1����������

� 1������������� %�����

� 1�����������������������

� 1������������������

� 1������������������� �

� +�������� �� ��������� ��

� 1�������%���������� ������

Page 86: Complex Distributed Systems Software Architecture

A? /��������&'�(�0*("+��"*,

����������%������������0

1 Day After

1 Week After

Initial Request

$������������� ������

!�������������� ������ ���������

����������� ����

Page 87: Complex Distributed Systems Software Architecture

A@ /��������&'�(�0*("+��"*,

����������%������������0

1 Week After

Few Weeks Later

1 Day After

Initial Request Evolution Request

$������������� ������

!�������������� ������

1 Day After

Page 88: Complex Distributed Systems Software Architecture

AA /��������&'�(�0*("+��"*,

�%��������� �������������������

� �#����������

� ������������ ����2%���%�� �����2��������������%�����������������

� *� %������

� 1�������� ��"���� �������2��%*���

� �$���

� 2�+������'��������%�1��������2���� �����%� ��%������������%�E��

� 1�����

� 4���������

Page 89: Complex Distributed Systems Software Architecture

A: /��������&'�(�0*("+��"*,/ ��������&'�(�0*("+��"*,

���� �1����������

� ������������ ����

� ���� �1����������

� 1������������� %�����

� 1�����������������������

� 1������������������

� 1������������������� �

� +�������� �� ��������� ��

� 1�������%���������� ������

Page 90: Complex Distributed Systems Software Architecture

:> /��������&'�(�0*("+��"*,

1������������F�������G�����

Page 91: Complex Distributed Systems Software Architecture

:= /��������&'�(�0*("+��"*,

1������������F�������G�����

Point

+print()

# int x# int y

������!����&'

Page 92: Complex Distributed Systems Software Architecture

:. /��������&'�(�0*("+��"*,

&�����

Point

+print()

# int x# int y

������!����&'

�(

Page 93: Complex Distributed Systems Software Architecture

:5 /��������&'�(�0*("+��"*,

&�����

Point

+print()

# int x# int y

������!����&'

�(

Page 94: Complex Distributed Systems Software Architecture

:6 /��������&'�(�0*("+��"*,

1������������F&�����G�����

Point

+print()

# int x# int y

3DPoint

+ print()

# int z

������!����&'

�(

Page 95: Complex Distributed Systems Software Architecture

:9 /��������&'�(�0*("+��"*,

1������������F&�����G�����

Point

+print()

# int x# int y

3DPoint

+ print()

# int z

������!����&'

θθθθ

ρρρρ(

Page 96: Complex Distributed Systems Software Architecture

:? /��������&'�(�0*("+��"*,

1������������F&�����G�����

<<Interface>>Point

+print()

3DPoint

+ print()

������!����&'

θθθθ

ρρρρ(

Page 97: Complex Distributed Systems Software Architecture

:@ /��������&'�(�0*("+��"*,

��%������ �����������%���

Point

+print()

1DPoint

+ print()

������!����&'

Page 98: Complex Distributed Systems Software Architecture

:A /��������&'�(�0*("+��"*,

��%������ �����������%���

Point

+print()

1DPoint

+ print()

������!����&'

2DPoint

+ print()

Page 99: Complex Distributed Systems Software Architecture

:: /��������&'�(�0*("+��"*,

��%������ �����������%���

Point

+print()

1DPoint

+ print()

������!����&'

2DPoint

+ print()

3DPoint

+ print()

Page 100: Complex Distributed Systems Software Architecture

=>> /��������&'�(�0*("+��"*,

��%������ �����������%���

Point

+print()

1DPoint

+ print()

������!����&'

2DPoint

+ print()

3DPoint

+ print()

NDPoint

+ print()

�������������

Page 101: Complex Distributed Systems Software Architecture

=>= /��������&'�(�0*("+��"*,

��%������ �����������%���

<<Interface>>Point

+print()

1DPoint

+ print()

������!����&'

2DPoint

+ print()

3DPoint

+ print()

NDPoint

+ print()

�������������

Page 102: Complex Distributed Systems Software Architecture

=>. /��������&'�(�0*("+��"*,/ ��������&'�(�0*("+��"*,

���� �1����������

� ������������ ����

� ���� �1����������

� 1������������� %�����

� 1�����������������������

� 1������������������

� 1������������������� �

� +�������� �� ��������� ��

� 1�������%���������� ������

Page 103: Complex Distributed Systems Software Architecture

=>5 /��������&'�(�0*("+��"*,

�� ���� �������� �����-���

�� ��.��� ����/��������-�������/�����������! ��*���0� �������*��! �����������-���

���� ��������

Page 104: Complex Distributed Systems Software Architecture

=>6 /��������&'�(�0*("+��"*,

�� ��.��� ����/��������-�������/�����������! ��*���0� �������*��! �����������-���

���� ��������

�� ���� �������� �����-���

Page 105: Complex Distributed Systems Software Architecture

=>9 /��������&'�(�0*("+��"*,

������� �.�������1

�����"#����������

�����-��������1

�����&)����������&)����&)

22

��������� �����&)�

Page 106: Complex Distributed Systems Software Architecture

=>? /��������&'�(�0*("+��"*,

������� ������ ������������.�������1

�����"#����������

�����-��������1

�����&)����������&)����&)

22

����"���������

Page 107: Complex Distributed Systems Software Architecture

=>@ /��������&'�(�0*("+��"*,

��%������ �

Page 108: Complex Distributed Systems Software Architecture

=>A /��������&'�(�0*("+��"*,

1�������%���

����������

Page 109: Complex Distributed Systems Software Architecture

=>: /��������&'�(�0*("+��"*,

������� �8�����������������%������ �

�� ���� ��������

&"� �)

�����-���

&�����-�������)

Page 110: Complex Distributed Systems Software Architecture

==> /��������&'�(�0*("+��"*,

������� �8�����������������%������ �

����������

����������

Page 111: Complex Distributed Systems Software Architecture

=== /��������&'�(�0*("+��"*,

��%������ �����������%���

Point

+print()

1DPoint

+ print()

������!����&'

2DPoint

+ print()

3DPoint

+ print()

NDPoint

+ print()

�������������

Page 112: Complex Distributed Systems Software Architecture

==. /��������&'�(�0*("+��"*,

��%������ �����������%���

<<Interface>>Point

+print()

1DPoint

+ print()

������!����&'

2DPoint

+ print()

3DPoint

+ print()

NDPoint

+ print()

�������������

Page 113: Complex Distributed Systems Software Architecture

==5 /��������&'�(�0*("+��"*,/ ��������&'�(�0*("+��"*,

���� �1����������

� ������������ ����

� ���� �1����������

� 1������������� %�����

� 1�����������������������

� 1������������������

� 1������������������� �

� +�������� �� ��������� ��

� 1�������%���������� ������

Page 114: Complex Distributed Systems Software Architecture

==6 /��������&'�(�0*("+��"*,

�%����������������������

����������� �����������

Page 115: Complex Distributed Systems Software Architecture

==9 /��������&'�(�0*("+��"*,

�%����������������������

)������ �������

Page 116: Complex Distributed Systems Software Architecture

==? /��������&'�(�0*("+��"*,

�%����������������������

)������ �������

������� )������

Page 117: Complex Distributed Systems Software Architecture

==@ /��������&'�(�0*("+��"*,

�%���������������� ���������������

)������ �������

������� )������

�������������

Page 118: Complex Distributed Systems Software Architecture

==A /��������&'�(�0*("+��"*,

�%�����������������%�������

����������� �����������

������� )������

������������������������� �������

Page 119: Complex Distributed Systems Software Architecture

==: /��������&'�(�0*("+��"*,

�%�����������������%�������

����������� �����������

������� )������

������������������������� �������

$�������%

Page 120: Complex Distributed Systems Software Architecture

=.> /��������&'�(�0*("+��"*,

�������

� 1�������+���������������������������

� ��������� �� ������������2��%���� �,�������

� 2%�,�������3

� 2%����� ����������3

� 2%�������� �����������1����������3

� (���������� �,�������2��$3

� 2%��"���%�+�������,�������3

� 2%������ !"3

� ������ ����

� �� )����������������� � ������ �-��4�����) ����� ������ �-

� ����������1�������%���

� ��� ������

Page 121: Complex Distributed Systems Software Architecture

=.= /��������&'�(�0*("+��"*,/ ��������&'�(�0*("+��"*,

�������������� �1����������

� ���� �1����������

� '��#�����$����

� ���� �1���������������������

� ,�����%���

� ,����1�� ���

� ,����+�������

� ,����4��

� (������������(������

� *���������� ��������� ����� �����

Page 122: Complex Distributed Systems Software Architecture

=.. /��������&'�(�0*("+��"*,

���� �1����������������

A B

�����3

Stat1

State2 State4

����� ������

������������ ������

����� ������

Page 123: Complex Distributed Systems Software Architecture

=.5 /��������&'�(�0*("+��"*,/ ��������&'�(�0*("+��"*,

�������������� �1����������

� ���� �1����������

� '��#�����$����

� ���� �1���������������������

� ,�����%���

� ,����1�� ���

� ,����+�������

� ,����4��

� (������������(������

� *���������� ��������� ����� �����

Page 124: Complex Distributed Systems Software Architecture

=.6 /��������&'�(�0*("+��"*,

������ �����+��$����

Stat1

State2 State4

BA

������ �����3

���*�' ���

Page 125: Complex Distributed Systems Software Architecture

=.9 /��������&'�(�0*("+��"*,/ ��������&'�(�0*("+��"*,

�������������� �1����������

� ���� �1����������

� '��#�����$����

� ���� �1���������������������

� ,�����%���

� ,����1�� ���

� ,����+�������

� ,����4��

� (������������(������

� *���������� ��������� ����� �����

Page 126: Complex Distributed Systems Software Architecture

=.? /��������&'�(�0*("+��"*,

4���������������$�)�%����-

Stat1

State2 State4

BA

������ �����3

Task A Task B

�� ����������

Page 127: Complex Distributed Systems Software Architecture

=.@ /��������&'�(�0*("+��"*,/ ��������&'�(�0*("+��"*,

�������������� �1����������

� ���� �1����������

� '��#�����$����

� ���� �1���������������������

� ,�����%���

� ,����1�� ���

� ,����+�������

� ,����4��

� (������������(������

� *���������� ��������� ����� �����

Page 128: Complex Distributed Systems Software Architecture

=.A /��������&'�(�0*("+��"*,

4��������������� ���

Stat1

State2 State4

BA

������ �����3

��������

�������3

�� ����������

Page 129: Complex Distributed Systems Software Architecture

=.: /��������&'�(�0*("+��"*,/ ��������&'�(�0*("+��"*,

�������������� �1����������

� ���� �1����������

� '��#�����$����

� ���� �1���������������������

� ,�����%���

� ,����1�� ���

� ,����+�������

� ,����4��

� (������������(������

� *���������� ��������� ����� �����

Page 130: Complex Distributed Systems Software Architecture

=5> /��������&'�(�0*("+��"*,

4������������+��������

Stat1

State2 State4

BA

������ �����3

��������

�������3

�� ����������

44 � �

Page 131: Complex Distributed Systems Software Architecture

=5= /��������&'�(�0*("+��"*,/ ��������&'�(�0*("+��"*,

�������������� �1����������

� ���� �1����������

� '��#�����$����

� ���� �1���������������������

� ,�����%���

� ,����1�� ���

� ,����+�������

� ,����4��

� (������������(������

� *���������� ��������� ����� �����

Page 132: Complex Distributed Systems Software Architecture

=5. /��������&'�(�0*("+��"*,

4������������4��)�� ���<�����-

Stat1

State2 State4

BA

������ �����3

�� ����������

��������

�������3

Page 133: Complex Distributed Systems Software Architecture

=55 /��������&'�(�0*("+��"*,/ ��������&'�(�0*("+��"*,

�������������� �1����������

� ���� �1����������

� '��#�����$����

� ���� �1���������������������

� ,�����%���

� ,����1�� ���

� ,����+�������

� ,����4��

� (������������(������

� *���������� ��������� ����� �����

Page 134: Complex Distributed Systems Software Architecture

=56 /��������&'�(�0*("+��"*,

4������������%������

Stat1

State2 State4

BA

������ �����3

��������

�������3

�� ����������

Page 135: Complex Distributed Systems Software Architecture

=59 /��������&'�(�0*("+��"*,/ ��������&'�(�0*("+��"*,

�������������� �1����������

� ���� �1����������

� '��#�����$����

� ���� �1���������������������

� ,�����%���

� ,����1�� ���

� ,����+�������

� ,����4��

� (������������(������

� *���������� ��������� ����� �����

Page 136: Complex Distributed Systems Software Architecture

=5? /��������&'�(�0*("+��"*,

*���������� ��������� �����

A B

5 � ��� 5 � ��3

� �--������5 � ��� �--������� �� ! ���

� �--������� � �--����������#���

Page 137: Complex Distributed Systems Software Architecture

=5@ /��������&'�(�0*("+��"*,

5 � ��� 5 � ��3

*���������� ��������� �����

A B

5 � ��� 5 � ��3

Page 138: Complex Distributed Systems Software Architecture

=5A /��������&'�(�0*("+��"*,

�������

� 1�������+���������������������������

� ��������� �� ������������2��%���� �,�������

� 2%�,�������3

� 2%����� ����������3

� 2%�������� �����������1����������3

� (���������� �,�������2��$3

� 2%��"���%�+�������,�������3

� 2%������ !"3

� ������ ����

� �� )����������������� � ������ �-��4�����) ����� ������ �-

� ����������1�������%���

� ��� ������

Page 139: Complex Distributed Systems Software Architecture

=5: /��������&'�(�0*("+��"*,/ ��������&'�(�0*("+��"*,

���� �,����������$���

� 1����1������

� ����������1����1������

� ',+������

� +�����������

� ���� ��������

� 1����,�������

Page 140: Complex Distributed Systems Software Architecture

=6> /��������&'�(�0*("+��"*,

1����1������)�����%�B�&-

GoF stand for Gang of Four. It refers to the famous books of Vlisside and Co. Design Patterns: Elements of Reusable Object-Oriented Software.

Page 141: Complex Distributed Systems Software Architecture

=6= /��������&'�(�0*("+��"*,/ ��������&'�(�0*("+��"*,

���� �,����������$���

� 1����1������

� ����������1����1������

� ',+������

� +�����������

� ���� ��������

� 1����,�������

Page 142: Complex Distributed Systems Software Architecture

=6. /��������&'�(�0*("+��"*,

1����)',+-

����������� � � �� �*����&'

� ��� � � � �� �*����&'

� �� � � �*����&'

� � � ���

�����������

Page 143: Complex Distributed Systems Software Architecture

=65 /��������&'�(�0*("+��"*,

���������������)',+-

����������� � � �� �*����&'

� ��� � � � �� �*����&'

� �� � � �*����&'

� � � ���

�����������

+����#�������������

����������

����

�����#�������������

���,������

�%������

Page 144: Complex Distributed Systems Software Architecture

=66 /��������&'�(�0*("+��"*,

���������������)',+-

� � �� �� � �� ��

� � � � �

Request()

�� � � � � � � �

Request()

� �� ��

Request()

� �� � � �

�����������

���������� ���,������

� �����������!�����������

Page 145: Complex Distributed Systems Software Architecture

=69 /��������&'�(�0*("+��"*,

���������������)',+-

� � �� �� � �� ��

� � � � �

Request()

�� � � � � � � �

Request()

� �� ��

Request()

� �� � � �

�����������

���������� ���,������

5� ��35� ���

� �����������!�����������

Page 146: Complex Distributed Systems Software Architecture

=6? /��������&'�(�0*("+��"*,/ ��������&'�(�0*("+��"*,

���� �,����������$���

� 1����1������

� ����������1����1������

� ',+������

� +�����������

� ���� ��������

� 1����,�������

Page 147: Complex Distributed Systems Software Architecture

=6@ /��������&'�(�0*("+��"*,

���������������)������-

������������� ��.����������

#�������������#��������

Page 148: Complex Distributed Systems Software Architecture

=6A /��������&'�(�0*("+��"*,

���������������)������-

������������� ��.����������

#�����������������

�� �& �#'

����������� ��� � �

Page 149: Complex Distributed Systems Software Architecture

=6: /��������&'�(�0*("+��"*,

���������������)������-

��!-#!

� �

���� �%������

������!�� ���

���,��!�� ���

Page 150: Complex Distributed Systems Software Architecture

=9> /��������&'�(�0*("+��"*,

���������������)������-

��!-#!

� �

���� �%������

������!�� ���

���,��!�� ���

����������

Page 151: Complex Distributed Systems Software Architecture

=9= /��������&'�(�0*("+��"*,

���������������)������-

��!-#!

� �

���� �%������

������!�� ���

���,��!�� ���

!�

��������������

!�. �����!������������

Page 152: Complex Distributed Systems Software Architecture

=9. /��������&'�(�0*("+��"*,/ ��������&'�(�0*("+��"*,

���� �,����������$���

� 1����1������

� ����������1����1������

� ',+������

� +�����������

� ���� ��������

� 1����,�������

Page 153: Complex Distributed Systems Software Architecture

=95 /��������&'�(�0*("+��"*,

���� ��������)�����%�B�&-

Page 154: Complex Distributed Systems Software Architecture

=96 /��������&'�(�0*("+��"*,

��#��� �������

� �����������!�����������

Page 155: Complex Distributed Systems Software Architecture

=99 /��������&'�(�0*("+��"*,

��#��� �������

5� ��35� ���

� �����������!�����������

Page 156: Complex Distributed Systems Software Architecture

=9? /��������&'�(�0*("+��"*,

5� ��35� ���

��#��� �������

�%�������!����������� � ����������

������%

Page 157: Complex Distributed Systems Software Architecture

=9@ /��������&'�(�0*("+��"*,/ ��������&'�(�0*("+��"*,

���� �,����������$���

� 1����1������

� ����������1����1������

� ',+������

� +�����������

� ���� ��������

� 1����,�������

Page 158: Complex Distributed Systems Software Architecture

=9A /��������&'�(�0*("+��"*,

+��� ��8�������� �����

� 3

����� ��.��

Page 159: Complex Distributed Systems Software Architecture

=9: /��������&'�(�0*("+��"*,

*���������� ��������� �����

a b

Page 160: Complex Distributed Systems Software Architecture

=?> /��������&'�(�0*("+��"*,

*��������� ��,�������

� 3+ � ��! ���

Page 161: Complex Distributed Systems Software Architecture

=?= /��������&'�(�0*("+��"*,

,��������1����

� 3

����� ��.��

� "

Page 162: Complex Distributed Systems Software Architecture

=?. /��������&'�(�0*("+��"*,

,��������1����

� 3

����� ��.��

��.������(�

���������(�

�ServerProxy

ClientProxy "

+ � ��! ���

Page 163: Complex Distributed Systems Software Architecture

=?5 /��������&'�(�0*("+��"*,

,��������1����

� 3

����� ��.��

��.������(�

���������(�

�ServerProxy

ClientProxy "

+ � ��! ���

Page 164: Complex Distributed Systems Software Architecture

=?6 /��������&'�(�0*("+��"*,

�������

� 1�������+���������������������������

� ��������� �� ������������2��%���� �,�������

� 2%�,�������3

� 2%����� ����������3

� 2%�������� �����������1����������3

� (���������� �,�������2��$3

� 2%��"���%�+�������,�������3

� 2%������ !"3

� ������ ����

� �� )����������������� � ������ �-��4�����) ����� ������ �-

� ����������1�������%���

� ��� ������

Page 165: Complex Distributed Systems Software Architecture

=?9 /��������&'�(�0*("+��"*,/ ��������&'�(�0*("+��"*,

+��+����,�������

� ,�,�,�������������,�������

� 4���1��������� ����

� 4���1��������� ���8����

� ����%����1�����������

� 1�� �����1�� ��������

� 1�� ���������������!���

� 1�1��� ����

� 1��������$������

� ,�,�� 1������������ �,�������

Page 166: Complex Distributed Systems Software Architecture

=?? /��������&'�(�0*("+��"*,

4���1��������� ��,������1������

� ������/

#�������0�����������1��������2��������3

4

������/#�������0�����������1��������2��������3

4

������/#�������0�����������1��������2��������3

4

������/#�������0�����������1��������2��������3

4

������/#�������0�����������1��������2��������3

4

������/#�������0�����������1��������2��������3

4

Page 167: Complex Distributed Systems Software Architecture

=?@ /��������&'�(�0*("+��"*,

4���1��������� ��,������1������

� ������/

#�������0�����������1��������2��������3

4

������/#�������0�����������1��������2��������3

4

������/#�������0�����������1��������2��������3

4

������/#�������0�����������1��������2��������3

4

������/#�������0�����������1��������2��������3

4

������/#�������0�����������1��������2��������3

4

Page 168: Complex Distributed Systems Software Architecture

=?A /��������&'�(�0*("+��"*,

4���1��������� ��,������1������

������/#�������0�����������1��������2��������3

4

������/#�������0�����������1��������2��������3

4

������/#�������0�����������1��������2��������3

4

������/#�������0�����������1��������2��������3

4

������/#�������0�����������1��������2��������3

4

������/#�������0�����������1��������2��������3

4

�55 6�,�

Page 169: Complex Distributed Systems Software Architecture

=?: /��������&'�(�0*("+��"*,

4���1��������� ��,������1������

� ������/

#�������0�����������1��������2��������3

4

������/#�������0�����������1��������2��������3

4

������/#�������0�����������1��������2��������3

4

������/#�������0�����������1��������2��������3

4

������/#�������0�����������1��������2��������3

4

�55 6�,�

������/#�������0�����������1��������2��������3

4

������/#�������0�����������1��������2��������3

4

7����������� ����������

010011011011001110100101011111100111...

Page 170: Complex Distributed Systems Software Architecture

=@> /��������&'�(�0*("+��"*,/ ��������&'�(�0*("+��"*,

+��+����,�������

� ,�,�,�������������,�������

� 4���1��������� ����

� 4���1��������� ���8����

� ����%����1�����������

� 1�� �����1�� ��������

� 1�� ���������������!���

� 1�1��� ����

� 1��������$������

� ,�,�� 1������������ �,�������

Page 171: Complex Distributed Systems Software Architecture

=@= /��������&'�(�0*("+��"*,

4���1��������� ��������

Point

+print()

Page 172: Complex Distributed Systems Software Architecture

=@. /��������&'�(�0*("+��"*,

3�

,������1��������� %����<�����)�%� 1�-

A B

Send Message ( Request )

Waiting Loop

Send Message ( Reply )

�������������������� �

��������������������

Page 173: Complex Distributed Systems Software Architecture

=@5 /��������&'�(�0*("+��"*,/ ��������&'�(�0*("+��"*,

+��+����,�������

� ,�,�,�������������,�������

� 4���1��������� ����

� 4���1��������� ���8����

� ����%����1�����������

� 1�� �����1�� ��������

� 1�� ���������������!���

� 1�1��� ����

� 1��������$������

� ,�,�� 1������������ �,�������

Page 174: Complex Distributed Systems Software Architecture

=@6 /��������&'�(�0*("+��"*,

����%����1�����������

5��� ��������"��

+ #�������

Page 175: Complex Distributed Systems Software Architecture

=@9 /��������&'�(�0*("+��"*,

����%����1�����������

5��� ����

����"��+ #�������

��������������

Page 176: Complex Distributed Systems Software Architecture

=@? /��������&'�(�0*("+��"*,

����%����1�����������

5��� ����

����"��+ #�������

��������������

���������������

Page 177: Complex Distributed Systems Software Architecture

=@@ /��������&'�(�0*("+��"*,

����%����1�����������

5��� ����

����"��+ #�������

��������������

��������������� ����������������

Page 178: Complex Distributed Systems Software Architecture

=@A /��������&'�(�0*("+��"*,/ ��������&'�(�0*("+��"*,

+��+����,�������

� ,�,�,�������������,�������

� 4���1��������� ����

� 4���1��������� ���8����

� ����%����1�����������

� 1�� �����1�� ��������

� 1�� ���������������!���

� 1�1��� ����

� 1��������$������

� ,�,�� 1������������ �,�������

Page 179: Complex Distributed Systems Software Architecture

=@: /��������&'�(�0*("+��"*,

�����1�� ��������

� 3

����� ��.��

Page 180: Complex Distributed Systems Software Architecture

=A> /��������&'�(�0*("+��"*,

������H���������� ��������� �����

Client : O1 Server : 02

Request

Client request server services

��.�����������.�

! �������-��������� ��6#����������������.��&�����)�����������

��6#��� ������.��

� 3

Page 181: Complex Distributed Systems Software Architecture

=A= /��������&'�(�0*("+��"*,/ ��������&'�(�0*("+��"*,

+��+����,�������

� ,�,�,�������������,�������

� 4���1��������� ����

� 4���1��������� ���8����

� ����%����1�����������

� 1�� �����1�� ��������

� 1�� ���������������!���

� 1�1��� ����

� 1��������$������

� ,�,�� 1������������ �,�������

Page 182: Complex Distributed Systems Software Architecture

=A. /��������&'�(�0*("+��"*,

1����� ����

��

����.�

�����

+ ����������

' �������������

7 �

7 �

��.��

8

�43�8��#�&�%3)

�%3%4

+ ���

��"����

�#��

����

�#�����#���3

�#����

+ ���

��#�&(%�)��#�&(%�)

I� )�I���������� �������������-

Page 183: Complex Distributed Systems Software Architecture

=A5 /��������&'�(�0*("+��"*,

1�����������������

Operations

DATAand

Operations Implementation

Operations

DATAand

Operations Implementation

Operations

DATAand

Operations Implementation

Operations

DATAand

Operations Implementation

Operations

DATAand

Operations Implementatio

n

Operations

DATAand

Operations Implementatio

n

Operations

DATAand

Operations Implementatio

n

Operations

DATAand

Operations Implementatio

n

Operations

DATAand

Operations Implementatio

n

Operations

DATAand

Operations Implementatio

n

Operations

DATAand

Operations Implementatio

n

Operations

DATAand

Operations Implementatio

n

ServersUnix Process

+ ���+ ���

��"������"����

����� ��.���

Page 184: Complex Distributed Systems Software Architecture

=A6 /��������&'�(�0*("+��"*,/ ��������&'�(�0*("+��"*,

+��+����,�������

� ,�,�,�������������,�������

� 4���1��������� ����

� 4���1��������� ���8����

� ����%����1�����������

� 1�� �����1�� ��������

� 1�� ���������������!���

� 1�1��� ����

� 1��������$������

� ,�,�� 1������������ �,�������

Page 185: Complex Distributed Systems Software Architecture

=A9 /��������&'�(�0*("+��"*,

1�����

Operation 1

Operation 2

Operation 3

Operation 4

����� �#"

��.�� �#"

����� ��.��

��������������

Page 186: Complex Distributed Systems Software Architecture

=A? /��������&'�(�0*("+��"*,

1�������&�������$��$������

Operation 1

Operation 2

Operation 3

Operation 4

Page 187: Complex Distributed Systems Software Architecture

=A@ /��������&'�(�0*("+��"*,/ ��������&'�(�0*("+��"*,

+��+����,�������

� ,�,�,�������������,�������

� 4���1��������� ����

� 4���1��������� ���8����

� ����%����1�����������

� 1�� �����1�� ��������

� 1�� ���������������!���

� 1�1��� ����

� 1��������$������

� ,�,�� 1������������ �,�������

Page 188: Complex Distributed Systems Software Architecture

=AA /��������&'�(�0*("+��"*,

1������ $�

� 4������ ���������4�������� ���%������ �74���������%���

� 1�J������������� ����)"7!-7�����)"7!-

� �������� ������������J�KKHE"��������������

� ���LLM���)-

Page 189: Complex Distributed Systems Software Architecture

=A: /��������&'�(�0*("+��"*,

�� !"

� !����� 1�

� 1�K���� �������� �

� �� !""��� %���������������%��

� ",�)"��� %������,���������� �����-

� *������������� ��

Page 190: Complex Distributed Systems Software Architecture

=:> /��������&'�(�0*("+��"*,

�������

� 1�������+���������������������������

� ��������� �� ������������2��%���� �,�������

� 2%�,�������3

� 2%����� ����������3

� 2%�������� �����������1����������3

� (���������� �,�������2��$3

� 2%��"���%�+�������,�������3

� 2%������ !"3

� ������ ����

� �� )����������������� � ������ �-��4�����) ����� ������ �-

� ����������1�������%���

� ��� ������

Page 191: Complex Distributed Systems Software Architecture

=:= /��������&'�(�0*("+��"*,/ ��������&'�(�0*("+��"*,

�� !"����������� � �#����!��$��

� ���� �,���������B����)�,B-

� ���������� �!��

� ������� �����������+�������)��+-

� 1����1������

� ���� �������� �

� ��+4�������

� ���� � �#����!��$��)� !-"� %��� ����

� � !��+��������

� �KK�������

� �KKH�����������

Page 192: Complex Distributed Systems Software Architecture

=:. /��������&'�(�0*("+��"*,

�,B)=:A:-��� ��� �����������

� �����=�=::=

� ������� ������������������)��-

� �����.�=::6

� ��������������������� ��)����H����-

� '��=0>�=::@

� ���� ���������

� �����5�������=:::

� ����� ������������) �-

� .=N ������������������ %��� ����7���.0>

� 1��������������� �

Page 193: Complex Distributed Systems Software Architecture

=:5 /��������&'�(�0*("+��"*,/ ��������&'�(�0*("+��"*,

�� !"����������� � �#����!��$��

� ���� �,���������B����)�,B-

� ���������� �!��

� ������� �����������+�������)��+-

� 1����1������

� ���� �������� �

� ��+4�������

� ���� � �#����!��$��)� !-"� %��� ����

� � !��+��������

� �KK�������

� �KKH�����������

Page 194: Complex Distributed Systems Software Architecture

=:6 /��������&'�(�0*("+��"*,

�� � �� � �� �

���� �!��

� ",����3#�

����� � ",���

�����-���

Page 195: Complex Distributed Systems Software Architecture

=:9 /��������&'�(�0*("+��"*,/ ��������&'�(�0*("+��"*,

�� !"����������� � �#����!��$��

� ���� �,���������B����)�,B-

� ���������� �!��

� ������� �����������+�������)��+-

� 1����1������

� ���� �������� �

� ��+4�������

� ���� � �#����!��$��)� !-"� %��� ����

� � !��+��������

� �KK�������

� �KKH�����������

Page 196: Complex Distributed Systems Software Architecture

=:? /��������&'�(�0*("+��"*,

������� �����������+�������

BA

������ �����3

��������

�������3

�� �

Page 197: Complex Distributed Systems Software Architecture

=:@ /��������&'�(�0*("+��"*,/ ��������&'�(�0*("+��"*,

�� !"����������� � �#����!��$��

� ���� �,���������B����)�,B-

� ���������� �!��

� ������� �����������+�������)��+-

� 1����1������

� ���� �������� �

� ��+4�������

� ���� � �#����!��$��)� !-"� %��� ����

� � !��+��������

� �KK�������

� �KKH�����������

Page 198: Complex Distributed Systems Software Architecture

=:A /��������&'�(�0*("+��"*,

1����)',+-

����������� � � �� �*����&'

� ��� � � � �� �*����&'

� �� � � �*����&'

� � � ���

�����������

Page 199: Complex Distributed Systems Software Architecture

=:: /��������&'�(�0*("+��"*,

�� �

���������������)',+-

����������� � �� � � � �*����&'

� � �� � � � �*����&'

� � �� � � � �*����&'

� � � ���� �

�*����&'

��������������

���,�������%������

Page 200: Complex Distributed Systems Software Architecture

.>> /��������&'�(�0*("+��"*,/ ��������&'�(�0*("+��"*,

�� !"����������� � �#����!��$��

� ���� �,���������B����)�,B-

� ���������� �!��

� ������� �����������+�������)��+-

� 1����1������

� ���� �������� �

� ��+4�������

� ���� � �#����!��$��)� !-"� %��� ����

� � !��+��������

� �KK�������

� �KKH�����������

Page 201: Complex Distributed Systems Software Architecture

.>= /��������&'�(�0*("+��"*,

�� !"���� �������� �

����� � ",���

�����-���

InterfaceName

Operation 1()Operation 2()Operation 3()

Attribut 1Attribut 2

Page 202: Complex Distributed Systems Software Architecture

.>. /��������&'�(�0*("+��"*,

',+�������������� �

� ,����������',+���� !"�

� ,�"�,���������"� %��� ����

� ',+1��������� !"

InterfaceName

Operation 1()Operation 2()Operation 3()

Attribut 1Attribut 2

������ ����7�+���� �.���.��������,��������������

Page 203: Complex Distributed Systems Software Architecture

.>5 /��������&'�(�0*("+��"*,

�� ������������+������� �

.�������1

�����"#����������

�����-��������1

�����&�����%%%)����&�����%%%)

22

��������� �����&)�

Page 204: Complex Distributed Systems Software Architecture

.>6 /��������&'�(�0*("+��"*,/ ��������&'�(�0*("+��"*,

�� !"����������� � �#����!��$��

� ���� �,���������B����)�,B-

� ���������� �!��

� ������� �����������+�������)��+-

� 1����1������

� ���� �������� �

� ��+4�������

� ���� � �#����!��$��)� !-"� %��� ����

� � !��+��������

� �KK�������

� �KKH�����������

Page 205: Complex Distributed Systems Software Architecture

.>9 /��������&'�(�0*("+��"*,

�,BL��+�� ��9��#��

� �������: ���

: ���� � ���

3�����: ����

�����(�: ����

;�#� ��#�� ' ���� ����� �6#����

ShortUShort

LongUlong

Long LongUlong Long

FloatDoubleLongDouble

CharWchar

StringWString

BooleanOctet

� ",����: ����

3�����: ����

CharWchar String

WString

3�����: ����

CharWchar String

WString

3�����: ����

CharWchar String

WString

BooleanOctet

Page 206: Complex Distributed Systems Software Architecture

.>? /��������&'�(�0*("+��"*,

'���L������������������

����������������������������� ���������������������������� ������������ ���������������������������� ������������ ���������������������������� ������������ ���������������������������� ���

����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

��������

���������������������������������������������������������������������������� ������������� ������������� ������������� ��������!�������!�������!�������!����� ���!����� ���!����� ���!����� ���!���������!���������!���������!���������!

���� ������� ����� ������� ����� ������� ����� ������� � ���"��"��������"��"��������"��"��������"��"���������������!����������!����������!����������!

�������������������� �������������������������������������������!�������!�������!�������!

���� ���� ���� ���� ���"������������"������������"������������"���������

��#�������#�������#�������#�����������������������������$��������$��������$��������$����%&'(�%&'(�%&'(�%&'(���#�������#�������#�������#��������� ����� ����� ����� �)������)������)������)������%&'(%*'(�%&'(%*'(�%&'(%*'(�%&'(%*'(�

��#�������#�������#�������#�������+�����,����-���+�����,����-���+�����,����-���+�����,����-� ��������������������������#������#������#������#���� ��+�����,��� ��&''-���+�����,��� ��&''-���+�����,��� ��&''-���+�����,��� ��&''-� .������.������.������.������

Page 207: Complex Distributed Systems Software Architecture

.>@ /��������&'�(�0*("+��"*,

��+�������������/����������#���

�0��#�������.��1����

���������$���������

������������!�$�����������������

���������.��1��� ���������#� �

��

���������2�#�����!�$����������������"���� ����������� �

��

���������3�� �������#������$�������� ����������"��������$������ �

��

Page 208: Complex Distributed Systems Software Architecture

.>A /��������&'�(�0*("+��"*,/ ��������&'�(�0*("+��"*,

�� !"����������� � �#����!��$��

� ���� �,���������B����)�,B-

� ���������� �!��

� ������� �����������+�������)��+-

� 1����1������

� ���� �������� �

� ��+4�������

� ���� � �#����!��$��)� !-"� %��� ����

� � !��+��������

� �KK�������

� �KKH�����������

Page 209: Complex Distributed Systems Software Architecture

.>: /��������&'�(�0*("+��"*,

� !�� %��� ����

�3�����-���

��.����3����

�",���� �����

*������

��.�������������

�3�����-���

�������3����

�#"

����������������

� < ���=����

�� �� ���� ��� �� ��-�������������������

Page 210: Complex Distributed Systems Software Architecture

.=> /��������&'�(�0*("+��"*,/ ��������&'�(�0*("+��"*,

�� !"����������� � �#����!��$��

� ���� �,���������B����)�,B-

� ���������� �!��

� ������� �����������+�������)��+-

� 1����1������

� ���� �������� �

� ��+4�������

� ���� � �#����!��$��)� !-"� %��� ����

� � !��+��������

� �KK�������

� �KKH�����������

Page 211: Complex Distributed Systems Software Architecture

.== /��������&'�(�0*("+��"*,

���� ���

���� ���� �

����� �!�

�" ���" �� � �����#��� �

" �#�$������ ��%" �#�$������

�,B���� � �#����!��$��"� %��� ����

����" ����#

�� ������-���

�!� ������� �&#��#��#���' � ()�� (����� �

�!� *��#� ����#���

����� ��.��

Page 212: Complex Distributed Systems Software Architecture

.=. /��������&'�(�0*("+��"*,

�� �#+������� #�

�" ���" �� � ������� #�

���� ���

���� ���� �

����� �!�

�" ���" �� � �����#��� �

" �#�$������ ��%" �#�$������

�,B���� � �#����!��$��"� %��� ����

����" ����#

�� ������-���

�!� ������� �&#��#��#���' � ()�� (����� �

�!� *��#� ����#���

����� ��.��

Page 213: Complex Distributed Systems Software Architecture

.=5 /��������&'�(�0*("+��"*,/ ��������&'�(�0*("+��"*,

�� !"����������� � �#����!��$��

� ���� �,���������B����)�,B-

� ���������� �!��

� ������� �����������+�������)��+-

� 1����1������

� ���� �������� �

� ��+4�������

� ���� � �#����!��$��)� !-"� %��� ����

� � !��+��������

� �KK�������

� �KKH�����������

Page 214: Complex Distributed Systems Software Architecture

.=6 /��������&'�(�0*("+��"*,

�KK

��#"�0�������0��

���0��

���.��0�� �*���0�� �� ��0��

�� � �#���

�� ��� �����

�� �� �.������

��.��� �.������

������ �.������

�����;(��#��"��

��.��;(��#��"��

44��3#�>: �� ���"����

Page 215: Complex Distributed Systems Software Architecture

.=9 /��������&'�(�0*("+��"*,/ ��������&'�(�0*("+��"*,

�� !"����������� � �#����!��$��

� ���� �,���������B����)�,B-

� ���������� �!��

� ������� �����������+�������)��+-

� 1����1������

� ���� �������� �

� ��+4�������

� ���� � �#����!��$��)� !-"� %��� ����

� � !��+��������

� �KK�������

� �KKH�����������

Page 216: Complex Distributed Systems Software Architecture

.=? /��������&'�(�0*("+��"*,

E����KK

��#"�0�������0�� ���.��0�� �*���0�� �� ��0��

�� � �#���

�� �>��>44�� �����

�� �� �.������

��.��� �.������

������ �.������

��.��;(��#��"��

�����;(��#��"��

44��3#�>: �� ���"����

��#"�0,�.����0,�.�

�� �>��>? �.��� �����

? �.���3#�>: �� ���"����

�3�� �3 3

Page 217: Complex Distributed Systems Software Architecture

.=@ /��������&'�(�0*("+��"*,

�������

� 1�������+���������������������������

� ��������� �� ������������2��%���� �,�������

� 2%�,�������3

� 2%����� ����������3

� 2%�������� �����������1����������3

� (���������� �,�������2��$3

� 2%��"���%�+�������,�������3

� 2%������ !"3

� ������ ����

� �� )����������������� � ������ �-��4�����) ����� ������ �-

� ����������1�������%���

� ��� ������

Page 218: Complex Distributed Systems Software Architecture

.=A /��������&'�(�0*("+��"*,/ ��������&'�(�0*("+��"*,

�� ������������������ � ������ �

� ���� �������� �

� �� !"4���������� �

Page 219: Complex Distributed Systems Software Architecture

.=: /��������&'�(�0*("+��"*,

�� !"���� � ������ �

Client : O1 Server : 02

Object Request (IOR)

� 3

���@�����������"����",�����-������

Page 220: Complex Distributed Systems Software Architecture

..> /��������&'�(�0*("+��"*,/ ��������&'�(�0*("+��"*,

�� ������������������ � ������ �

� ���� �������� �

� �� !"4���������� �

Page 221: Complex Distributed Systems Software Architecture

..= /��������&'�(�0*("+��"*,

$��

5 �� ��� ��.���

�� !"4�����

����� ��.��

�6#����&A �� �)

�#"������&A �� �)

#"����"���&A �� �)

������� ����

-�� 3��

A �� �

6##(

��� � B

$��

Page 222: Complex Distributed Systems Software Architecture

... /��������&'�(�0*("+��"*,

����� ������ ���4�����Client Naming

ServiceServer

Server exportIOR

Client lookup for Interface IOR

Client submit request to server

Page 223: Complex Distributed Systems Software Architecture

..5 /��������&'�(�0*("+��"*,

�������

� 1�������+���������������������������

� ��������� �� ������������2��%���� �,�������

� 2%�,�������3

� 2%����� ����������3

� 2%�������� �����������1����������3

� (���������� �,�������2��$3

� 2%��"���%�+�������,�������3

� 2%������ !"3

� ������ ����

� �� )����������������� � ������ �-��4�����) ����� ������ �-

� ����������1�������%���

� ��� ������

Page 224: Complex Distributed Systems Software Architecture

..6 /��������&'�(�0*("+��"*,/ ��������&'�(�0*("+��"*,

�� !"1�������%���

� 1������'������

� ',+�������

� 1�������!�� $"�2%���1������

� &������������1������

� 4���������� �

� 1�������!�� $"�2%���1������

� &������������1������

� �� ��������������

Page 225: Complex Distributed Systems Software Architecture

..9 /��������&'�(�0*("+��"*,

',+������������

Strip

Strip : stringPrint()Strip : stringPrint()

Printer

Print()Print()

Print

1

ColorPrinter

Setcolor()Setcolor()

From Advanced CORBA Programming with C++

Michi Henning

Steve Vinoski

Page 226: Complex Distributed Systems Software Architecture

..? /��������&'�(�0*("+��"*,/ ��������&'�(�0*("+��"*,

�� !"1�������%���

� 1������'������

� ',+�������

� 1�������!�� $"�2%���1������

� &������������1������

� 4���������� �

� 1�������!�� $"�2%���1������

� &������������1������

� �� ��������������

Page 227: Complex Distributed Systems Software Architecture

..@ /��������&'�(�0*("+��"*,

������� ���%������ �

Printer

���������4���� $��� #���� ���

Page 228: Complex Distributed Systems Software Architecture

..A /��������&'�(�0*("+��"*,/ ��������&'�(�0*("+��"*,

�� !"1�������%���

� 1������'������

� ',+�������

� 1�������!�� $"�2%���1������

� &������������1������

� 4���������� �

� 1�������!�� $"�2%���1������

� &������������1������

� �� ��������������

Page 229: Complex Distributed Systems Software Architecture

..: /��������&'�(�0*("+��"*,

������� ���%������ �

�������������4���� !�4����

���������/��� �5����2��6������7���������

$��� ���"���� ��������/��� ���� �

��

Printer

ColorPrinter

���������4���� $��� #���� ���

Page 230: Complex Distributed Systems Software Architecture

.5> /��������&'�(�0*("+��"*,/ ��������&'�(�0*("+��"*,

�� !"1�������%���

� 1������'������

� ',+�������

� 1�������!�� $"�2%���1������

� &������������1������

� 4���������� �

� 1�������!�� $"�2%���1������

� &������������1������

� �� ��������������

Page 231: Complex Distributed Systems Software Architecture

.5= /��������&'�(�0*("+��"*,

������� ��

1�������%���

����� ��������������0�����

����������

-�� 3�����

A �� � $�� ���

6##(

5 �� ��� ��.���

PrinterClient

Page 232: Complex Distributed Systems Software Architecture

.5. /��������&'�(�0*("+��"*,/ ��������&'�(�0*("+��"*,

�� !"1�������%���

� 1������'������

� ',+�������

� 1�������!�� $"�2%���1������

� &������������1������

� 4���������� �

� 1�������!�� $"�2%���1������

� &������������1������

� �� ��������������

Page 233: Complex Distributed Systems Software Architecture

.55 /��������&'�(�0*("+��"*,

������� �������

1�������%���

����� �������

����������

-�� 3�����

A �� � $�� ���

6##(

5 �� ��� ��.���

�������0�����

ColorPrinter

PrinterClient

Page 234: Complex Distributed Systems Software Architecture

.56 /��������&'�(�0*("+��"*,/ ��������&'�(�0*("+��"*,

�� !"1�������%���

� 1������'������

� ',+�������

� 1�������!�� $"�2%���1������

� &������������1������

� 4���������� �

� 1�������!�� $"�2%���1������

� &������������1������

� �� ��������������

Page 235: Complex Distributed Systems Software Architecture

.59 /��������&'�(�0*("+��"*,

������� �������

1�������%���

����� �������

����������

-�� 3�����

A �� � $�� ���

6##(

5 �� ��� ��.���

�������0�����

��#���� �! ���������

ColorPrinter

PrinterClient

Page 236: Complex Distributed Systems Software Architecture

.5? /��������&'�(�0*("+��"*,

�������

� 1�������+���������������������������

� ��������� �� ������������2��%���� �,�������

� 2%�,�������3

� 2%����� ����������3

� 2%�������� �����������1����������3

� (���������� �,�������2��$3

� 2%��"���%�+�������,�������3

� 2%������ !"3

� ������ ����

� �� )����������������� � ������ �-��4�����) ����� ������ �-

� ����������1�������%���

� ��� ������

Page 237: Complex Distributed Systems Software Architecture

.5@ /��������&'�(�0*("+��"*,

��� ������

� ��%������ �,��������

� ,��E"8"

� ��,H���,�,� ������

� ��"1���������)��������-

� �������� ������

� ������������������������ ����������0

� ���������� ����������������������

� ��,��� !"

� �E!�E���

� ��,H���,

Page 238: Complex Distributed Systems Software Architecture

.5A /��������&'�(�0*("+��"*,

��� ������

&������,���������"� %��� ����

� ���� �71������7,���

� 1��������������� �

� ,���*�������������

� 1����������������,���)1�,-

� 1���������� ��� ,���)1�,-

� 4��� ������� �

Page 239: Complex Distributed Systems Software Architecture

.5: /��������&'�(�0*("+��"*,

�������

� 1�������+���������������������������

� ��������� �� ������������2��%���� �,�������

� 2%�,�������3

� 2%����� ����������3

� 2%�������� �����������1����������3

� (���������� �,�������2��$3

� 2%��"���%�+�������,�������3

� 2%������ !"3

� ������ ����

� �� )����������������� � ������ �-��4�����) ����� ������ �-

� ����������1�������%���

� ��� ������

Page 240: Complex Distributed Systems Software Architecture

.6> /��������&'�(�0*("+��"*,

*%��$C��&��C���"��������

��������������� ���

����� ���

��������0�� %�O�%�������0 ��

���C�����%�4����������� �