105
A BC DEF D BF CBE DF DFEBFBD FBFE BC DF C EB !" #F$EFB% EC &F ’ " A BCDE EE ( ) #& %EFDB F C BC EEFEBB EE B #* +F$EFD +B F CC ,-B D % ./+0 ( )#F$ D +B F CD D EE ( )#F$EFB% D 1F 2 341 5FB F CC EE ( )#& FB F A!!C *6FB

A framework for the design and execution of heterogeneous distributed applications

Embed Size (px)

Citation preview

Page 1: A framework for the design and execution of heterogeneous distributed applications

���������A����BC��D�EF�����D������BF����C�B�������E�D����F��DFEB�F��B�D�����F��BF�E

���BC������DF��C��������E����B���� !" �

#�F$��EFB%��E��C�&��F���'�������"

���������A��BCD�E ����EE����(��)�#�& ��%EFD��B�

�F����C��B����C� �EEFEB��B�����EE���B�#*�+F$��EFD�� +����B���

�F���C�C��������� ,�-B���D�����%������./�+0�(��)#�F$��D������ +����B���

�F�����C�D���D ����EE����(��)#�F$��EFB%�D��1���F���2�34�1 5���F��B���

�F���C�C���������� ����EE����(��)#�&� �F���B���

�F�������� �A�!!C�� �����'��� *6�F���B���

Page 2: A framework for the design and execution of heterogeneous distributed applications

��B�F��

*�B��B�7�*C�������E

8B�B����BC����B

+8��

*����BF����D�3�������B�BF���$��$F��

9��FD�BF��7�5$����BF�

*����EF�

Page 3: A framework for the design and execution of heterogeneous distributed applications

:

��B�F��

*�B��B�7�*C�������E

8B�B����BC����B

+8��

*����BF����D�3�������B�BF���$��$F��

9��FD�BF��7�5$����BF�

*����EF�

Page 4: A framework for the design and execution of heterogeneous distributed applications

;

B��"��#���$���CA��C��

Page 5: A framework for the design and execution of heterogeneous distributed applications

<

��B���E����CF��E

4�B��A���E�D

/�B�������E�E�EB��E

B��"��#���$���CA��C��B�"���E�

Page 6: A framework for the design and execution of heterogeneous distributed applications

=

%F&�'C��C��������������"����"C��

Page 7: A framework for the design and execution of heterogeneous distributed applications

>

����������A

�BC��A

DEF�����C�����C����������F

Page 8: A framework for the design and execution of heterogeneous distributed applications

?

������D��

Page 9: A framework for the design and execution of heterogeneous distributed applications

@

*C�������E

8�����F�FB�

�FEB�F��BF�

�����FE�

/�B������FB�+��F��F�FB�

#E��F�FB�

Page 10: A framework for the design and execution of heterogeneous distributed applications

"!

��EF�����D������BF���

C�B�������E�D����F��DFEB�F��B�D�����F��BF�E�A�

Page 11: A framework for the design and execution of heterogeneous distributed applications

""

8�B��������CFB��B���

�����F��E�EB��E

Page 12: A framework for the design and execution of heterogeneous distributed applications

"

��B�F��

*�B��B�7�*C�������E

8B�B����BC����B

+8��

*����BF����D�3�������B�BF���$��$F��

9��FD�BF��7�5$����BF�

*����EF�

Page 13: A framework for the design and execution of heterogeneous distributed applications

":

��!�"������A�C��A����

Page 14: A framework for the design and execution of heterogeneous distributed applications

";

“Abstractly, software architecture

involves the description of elements

from which systems are built,

interactions among those elements,

patterns that guide their composition,

and constraints on these patterns.”�

,��8C�����D����'�����."@@=0

Page 15: A framework for the design and execution of heterogeneous distributed applications

"<

���CFB��B������E��F�BF��1�������E

���CFB��B�����8B���E

��EF�����BB���E

Page 16: A framework for the design and execution of heterogeneous distributed applications

"=

(C���C'�������!�"������A�C��A����

B"

���"

B

���

B:

���:

B;

���;

B" B B:

8C���D������

1E���������D CF�CB��������D�.���������E�EB��E0

(F�����D

Page 17: A framework for the design and execution of heterogeneous distributed applications

">

����������A����������

�������BF��A�C�� ���' ���' ���)��

����

*�F��B����CF��.������0

8��$������CF��.������0

Page 18: A framework for the design and execution of heterogeneous distributed applications

"?

�������BF��A�C�� ���' ���' ���)��

����

*�F��B����CF��.������0

8��$������CF��.������0

����������A����������

Page 19: A framework for the design and execution of heterogeneous distributed applications

"@

�������BF��A�C�� ���' ���' ���)��

����

*�F��B����CF��.������0

8��$������CF��.������0

E��D�������AB

��FB

����������A����������

Page 20: A framework for the design and execution of heterogeneous distributed applications

!

�������BF��A�C�� ���' ���' ���)��

����

*�F��B����CF��.������0

8��$������CF��.������0

E��D�������AB

��FB

3�$A�����

����������A����������

Page 21: A framework for the design and execution of heterogeneous distributed applications

"

�������BF��A�C�� ���' ���' ���)��

����

*�F��B����CF��.������0

8��$������CF��.������0

E��D�������AB

��FB

3�$A�����

D�����

��B���

����������A����������

Page 22: A framework for the design and execution of heterogeneous distributed applications

�������BF��A�C�� ���' ���' ���)��

����

*�F��B����CF��.������0

8��$������CF��.������0

E��D�������AB

��FB

3�$A�����

D�����

��B���

E��D��E��B

��B���

����������A����������

Page 23: A framework for the design and execution of heterogeneous distributed applications

:

3�B�������D�E��F�BF�

��FE�$����A

C���E�������

����������A����������

Page 24: A framework for the design and execution of heterogeneous distributed applications

;

��D���&84&8

4F��6'4�B8�$�

D,16+�*�8�46+�*

��D�FD�3�*

����������A����������

Page 25: A framework for the design and execution of heterogeneous distributed applications

<

�����������

Page 26: A framework for the design and execution of heterogeneous distributed applications

=

�*�+$

��F��B

3�1�EB��

��F��B����CF��

��E��EB

�F��B

3�1�EA���B�

E��$������CF��

��F��B�+�E��EB���A��.�+�0

Page 27: A framework for the design and execution of heterogeneous distributed applications

>

����!�A��(�!CC�C����D��D�

1 module HelloWorldIDL

2 {

3 interface HelloWorld

4 {

5 string sayHello();

6 };

7 };

*GG��$��.@?0

����F��

Page 28: A framework for the design and execution of heterogeneous distributed applications

?

�*�+$

3�1

��+��G�C�+��

3�������B�BF��D����D��B

Page 29: A framework for the design and execution of heterogeneous distributed applications

@

�*�+$

H5��DF$�������

*���������CFB��B���

9��EF�F��

8����FB�

Page 30: A framework for the design and execution of heterogeneous distributed applications

:!

� �,

/CC�

+�E����E����B�F�

+�E�����FE�F�����BF�

"���E�����I�"�������3�

Page 31: A framework for the design and execution of heterogeneous distributed applications

:"

� �,�������C��

*�F��B68��$��

8B�B���EE

*��C�����

1�����D�E�EB��

*D����D����D

#�F����F�B������

Page 32: A framework for the design and execution of heterogeneous distributed applications

:

� �,�$���CA��C�

Page 33: A framework for the design and execution of heterogeneous distributed applications

::

� �,

��B����E�D

�48��/�C/5�8

4�B���E�������

Page 34: A framework for the design and execution of heterogeneous distributed applications

:;

���)CA��*�C�����$�A�C��A����

“Services are self-describing,

platform-agnostic computational

elements that support rapid, low-cost

composition of distributed

application.”�

,������J���

Page 35: A framework for the design and execution of heterogeneous distributed applications

:<

�*$������A�C�

���FEB��

E��$F��D�E��F�BF�

��F��B E��$���F�DF��

DFE�$��� ����F��BF�

Page 36: A framework for the design and execution of heterogeneous distributed applications

:=

�*$���CAC�����

1E���������D

1���FJ�BF��B���E��������

Page 37: A framework for the design and execution of heterogeneous distributed applications

:>

�*$

3�B������E�.D,1����$����0

3�������B�BF��D����D��B����FEB�F�E�.#��3���8'F���0

4�B���E�������

Page 38: A framework for the design and execution of heterogeneous distributed applications

:?

/��B�D�����FBC�D����FE�AA

Page 39: A framework for the design and execution of heterogeneous distributed applications

:@

$������C��C���!�"���

�5$��BF�

���E��F�

*C�����F��BC����$F�����B

Page 40: A framework for the design and execution of heterogeneous distributed applications

;!

�����F���D��B�BF�

Page 41: A framework for the design and execution of heterogeneous distributed applications

;"

��������CD��E�����

/B�E�B�����F�EB����BF����D���D�B�

8BF�����E�F��E�E������BE

Page 42: A framework for the design and execution of heterogeneous distributed applications

;

�����D���CD���D��D��

�����F���F�AF��

3�DF���BF�� �D������FBF���

Page 43: A framework for the design and execution of heterogeneous distributed applications

;:

(E��CA�����CD�C��

1 void *handle;

2 int *iptr, (*fptr)(int);

3

4 handle = dlopen(“ /usr/home/me/my_lib.so”, ...);

5

6 *(void **)(&fptr) = dlsym(handle, “ my_function”);

7 iptr = (int *)dlsym(handle, “ my_data”);

8

9 *(*fptr)(*iptr);

10

11 dlclose(handle);

Page 44: A framework for the design and execution of heterogeneous distributed applications

;;

(E��CA�����CD�C��

4�$��F�F��BF�

4�E���

�����F����F�B��E

Page 45: A framework for the design and execution of heterogeneous distributed applications

;<

(E��CA�����CD�C�-$.$

1 ClassLoader loader;

2 [..]

3 Class klass = loader.loadClass(name);

4 Object obj = type.newInstance();

Page 46: A framework for the design and execution of heterogeneous distributed applications

;=

(E��CA�����CD�C�-$.$

#���DF��

9��EF�F��

*��EE��BC�C���

Page 47: A framework for the design and execution of heterogeneous distributed applications

;>

���CFB��B������D��B�BF�

Page 48: A framework for the design and execution of heterogeneous distributed applications

;?

“A software component is a unit of

composition with contractually

specified interfaces and explicit

context dependencies only. A software

component can be deployed

independently and is subject to

composition by third parties.”�

*��8J����EAF

Page 49: A framework for the design and execution of heterogeneous distributed applications

;@

$�A�C��A��������A�!CD����C�

*�����B

�F�DF��

*

*

�����F����BF�

Page 50: A framework for the design and execution of heterogeneous distributed applications

<!

,F�F���������B���D�E��$F��

Page 51: A framework for the design and execution of heterogeneous distributed applications

<"

��E��$F���FE���$FD�D�����BF���FB�

���)CA��*�C������������

��E��$F���FE��C����B��FJ�D��������B���B

*�����BE�F�������B�����B���B

Page 52: A framework for the design and execution of heterogeneous distributed applications

<

���)CA��*�C������������

CC��E��$F��6�F��B�D�F�B����BF����BB����FE��E�D�B���E�$�D�D����D����

*��EFBF�E�����D�E��F��D�F��B���E�����B���BE

*�B���BE�����BC����EFE����E��EBFB�B��F�FB�

Page 53: A framework for the design and execution of heterogeneous distributed applications

<:

*�/C

���D����E�EB���7�D����F��E��$F������B���������$��

,D���

�8

�9,

1F���*����

8��$F�����D��E

Page 54: A framework for the design and execution of heterogeneous distributed applications

<;

C�*-*

����

C��D���

C��D���

C��D���

��B�F��� ��E�F��D�E��$F���C��D���

���� ����

C��D���

C��D���

����

C��D���

��$FD�D�E��$F���C��D���

Page 55: A framework for the design and execution of heterogeneous distributed applications

<<

B���C�)���+�����

8�$���������BE�

4�DFE�$�������BF$��DFE�$������D���EEF$��DFE�$���

�F������B���$��E���B���E�������

Page 56: A framework for the design and execution of heterogeneous distributed applications

<=

���D���C�

Page 57: A framework for the design and execution of heterogeneous distributed applications

<>

��B�F��

*�B��B�7�*C�������E

8B�B����BC����B

+8��

*����BF����D�3�������B�BF���$��$F��

9��FD�BF��7�5$����BF�

*����EF�

Page 58: A framework for the design and execution of heterogeneous distributed applications

<?

/��B���E��BC��D�EF�����D������BF����

C�B�������E�D����F��DFEB�F��B�D�����F��BF�E�A�

Page 59: A framework for the design and execution of heterogeneous distributed applications

<@

���!�"����!����"��#�

Page 60: A framework for the design and execution of heterogeneous distributed applications

=!

“A framework is a reusable design of

an application or subsystem

represented as a set of abstract

classes and the way their instances

collaborate. [… ]”�

�E��C�H��KD��

Page 61: A framework for the design and execution of heterogeneous distributed applications

="

CC��+8��&������A

Page 62: A framework for the design and execution of heterogeneous distributed applications

=

&���CAC����

8�����BF����������E

&���F�F�FB�

8F���F�FB�

�F$��EFB�

C���E�����B�DFEB�F��BF�

��B��BF�

�����CF��E�����F�FB�

Page 63: A framework for the design and execution of heterogeneous distributed applications

=:

����F��BF�E�������E�D���E��$F����F��B�D�������B��D��E

��A����

�����F��F���B���D�����B���E��$F��E�����DF���B���E���F�F��BF�

5��C����B��E��$F���C�E����F���B�����D�E��F�BF�

Page 64: A framework for the design and execution of heterogeneous distributed applications

=;

������

0����

+8��������A

����F��BF�

Page 65: A framework for the design and execution of heterogeneous distributed applications

=<

������

DFE�$���

D����F�����������BF�

�F�DF��

D����D��������

Page 66: A framework for the design and execution of heterogeneous distributed applications

==

0����

D����F����D�F�B�����BF�

���EFBF�

���D�F�B

Page 67: A framework for the design and execution of heterogeneous distributed applications

=>

,����������C���C'��C�

��D�F�B

����

*�F��B 8��$��

Page 68: A framework for the design and execution of heterogeneous distributed applications

=?

�������D��D�

Page 69: A framework for the design and execution of heterogeneous distributed applications

=@

������

Page 70: A framework for the design and execution of heterogeneous distributed applications

>!

0����

Page 71: A framework for the design and execution of heterogeneous distributed applications

>"

0�����

1 {

2 machine : {

3 id : “server1”,

4 host : “localhost”,

5 connections : [

6 { out : {

7 service_filter : “(objectClass=toto.contract.HelloWorld)”,

8 properties : { “tag” : [ “example”, “helloworld”] }

9 }

10 }]

11 }

Page 72: A framework for the design and execution of heterogeneous distributed applications

>

��B�F��

*�B��B�7�*C�������E

8B�B����BC����B

+8��

*����BF����D�3�������B�BF���$��$F��

9��FD�BF��7�5$����BF�

*����EF�

Page 73: A framework for the design and execution of heterogeneous distributed applications

>:

����������C�

�8'F

F����

+8�

Page 74: A framework for the design and execution of heterogeneous distributed applications

>;

����� ������

+8�,��CF��

3���B��8��$F�� 5���B��8��$F��

���� 5�D�F�B

���������)CA�

D�E��F�BF�

�E�

��B���B

����B�E

*�/C���)CA�

D�����B�EF�������BE

Page 75: A framework for the design and execution of heterogeneous distributed applications

><

������A�C�

CC����DF�B����B�����BC���������A�������BE�

*�B�F�E�BC��D�E��F�BF�������C�F���B�D���D�����B�D�E��$F��E�

+��F�E���BC���8'F�E��$F������FEB��

Page 76: A framework for the design and execution of heterogeneous distributed applications

>=

���������1� 0������

CC�����B�F�E�BC�B�����B�E����F�E���D���D�F�BE

�������B������������F��BF����B��

,�����������F�����

Page 77: A framework for the design and execution of heterogeneous distributed applications

>>

(��A�C��C�

+����E��BE������B��E��$F��

3���B�����D�B��BC�B�E��$�E��E�BC����EFE����DFE�$���

��E�B��������BF�E

Page 78: A framework for the design and execution of heterogeneous distributed applications

>?

(��A�C��C�

�����B� ��E��F�BF� ��BF���

����C�FC� CC��5�D�F�B�FD

��A�C�FC� CC��,��CF���3D

���)CA�FA����A� *�B���B�����

���)CA�FA����A�F)���C� *�B���B�$��EF� �

���)CA�FC� 3D���BC���EE�F�B�D�E��$F�� �

����C�F��� CC�����B��E��$F�����D�F�B��DD��EE �

����C�FA�!CD ��B�������

Page 79: A framework for the design and execution of heterogeneous distributed applications

>@

(C�A�)��E

�FE�$���D���D�����FEC�D���E��F�BF�

��BF���

����������B�����DFE�$������B��

Page 80: A framework for the design and execution of heterogeneous distributed applications

?!

���A�C��

+8�,��CF��

(��A�C��C�

3�*����BF� ��B*����BF�3���B��8��$F�� 5���B��8��$F��

���)CA�

B���A B���A

�E�

�BF��

Page 81: A framework for the design and execution of heterogeneous distributed applications

?"

���A�C��

DDL��E��F�BF��FE�$���� ��L+E�,��CF�� F�L3�*����BF� FEL3���B��8��$F�� ��L����

��B+��B���E��F�BF�.D�E�0

��D�F�B�DD�D.D�E�0

F���B8��$F��.D�E�����0

MM����B�NN

Page 82: A framework for the design and execution of heterogeneous distributed applications

?

0�����

1 {

2 machine : {

3 id : “id”,

4 host : “localhost”,

5 connections : [

6 { in : {

7 endpoint_filter : “(endpoint.config=ws)”,

8 importer_filter : “(instance.name=RoSe_importer.cxf)”,

9 protocols : [ “ws” ] }

10 }]

11 }

Page 83: A framework for the design and execution of heterogeneous distributed applications

?:

�'������(��

1 Machine machine = machine(context, “id”).host(“localhost”).create();

2 machine.start();

3

4 machine.in(“(endpoint.config=ws)”)

5 .withImporter(“(instance.name=RoSe_importer.cxf)”)

6 .protocols([“ws”])

7 .add();

Page 84: A framework for the design and execution of heterogeneous distributed applications

?;

���������������A���

��B�� 8B��� 1F����� 3���B 5���B

-�*B���� +�* F��E����� � �

2������ +�* ����C��D,16+�* � �

-$2��� +58C ����������E�� �

-$2�3� H8 ����C��*D& � �

Page 85: A framework for the design and execution of heterogeneous distributed applications

?<

���������������A���

��B�� ���F� ���� �FE��

4�� ���$�EF$� .�0 �

(�3� ���$�EF$� � �

(���� ���$�EF$� � �

���'�� ���$�EF$���F�D�EB�F�� �

������� BC� � �

5��#����� BC���F�������������� � �

��'��'��''�' BC������� � �

Page 86: A framework for the design and execution of heterogeneous distributed applications

?=

��B�F��

*�B��B�7�*C�������E

8B�B����BC����B

+8��

*����BF����D�3�������B�BF���$��$F��

9��FD�BF��7�5$����BF�

*����EF�

Page 87: A framework for the design and execution of heterogeneous distributed applications

?>

$��C����������C��

Page 88: A framework for the design and execution of heterogeneous distributed applications

??

�����6

Page 89: A framework for the design and execution of heterogeneous distributed applications

?@

�C���!�����������!CD����C�

&������A 1�* 1�*��F��

-�)� !

-�)� ! "

���� ! "<

Page 90: A framework for the design and execution of heterogeneous distributed applications

@!

�����%

Page 91: A framework for the design and execution of heterogeneous distributed applications

@"

�C���!�����������!CD����C�

&������A 1�* 1�*��F��

-�)� <= !

-�)� "> ;:

���� ! :;

Page 92: A framework for the design and execution of heterogeneous distributed applications

@

���!����A�

Page 93: A framework for the design and execution of heterogeneous distributed applications

@:

���!����A�

Page 94: A framework for the design and execution of heterogeneous distributed applications

@;

���!����A�

&������A ,��������.��0 *�#��$��.O0 *�#������.O0

-�)� 78F69 <;�<: @@

-�)� <?�<> 9%F:6 @@

���� :>� ; <=�<> @@

&������A �$��BF���.E0 ,�DF���BF���.E0

-�)� ;F66< !�=<<

-�)� "!� "@ !�="=

���� "!�>;@ 8F=&&

Page 95: A framework for the design and execution of heterogeneous distributed applications

@<

>��0C'C�C�E�������C��

"��1�8��$F�����D�B�

�����6+8�����B�����D�B�

:���DD�����B������BF��B�����B�BC��CD1FEB������E������6E��$F���

;��*C��������F����BF���F���

Page 96: A framework for the design and execution of heterogeneous distributed applications

@=

>��0C'C�C�E�������C��

Page 97: A framework for the design and execution of heterogeneous distributed applications

@>

>��0C'C�C�E�������C��

&������A �$��BF���.E0 ,�DF���BF���.E0

�����?6@ 68F&=: 8F=&&

�����?%@ = !�<;

Page 98: A framework for the design and execution of heterogeneous distributed applications

@?

4����!�����

Page 99: A framework for the design and execution of heterogeneous distributed applications

@@

Page 100: A framework for the design and execution of heterogeneous distributed applications

"!!

$������CA��C������!���

Page 101: A framework for the design and execution of heterogeneous distributed applications

"!"

��B�F��

*�B��B�7�*C�������E

8B�B����BC����B

+8��

*����BF����D�3�������B�BF���$��$F��

9��FD�BF��7�5$����BF�

*����EF�

Page 102: A framework for the design and execution of heterogeneous distributed applications

"!

��A���C�

8�����BF����������E

&���F�F�FB�

8F���F�FB�

�F$��EFB�

C���E�����B�DFEB�F��BF�

��B��BF�

�����CF��E�����F�FB�

Page 103: A framework for the design and execution of heterogeneous distributed applications

"!:

������A�C)��

C���DE������B��F��DFEB�F��BF�����������B

������+8���������A����BC�����

C���DE�����DFE�$������B��E

Page 104: A framework for the design and execution of heterogeneous distributed applications

"!;

CC��AEP

Page 105: A framework for the design and execution of heterogeneous distributed applications

"!<

������

3A��� �4���

/�C�

��!��A�C)��*�+�

���)��C)���C����"���

�E�C� !!@

"@@>

!!

-CC

*�/C !!!

���

��'C/� !!>

C�*-*