si.deis.unical.itsi.deis.unical.it/~talia/aa0607/dis/es6-2p.pdf · 23 2 b ˘ 4&5 ˜ ˘ . 2 ˘ 4&5...

30
1 2 !

Transcript of si.deis.unical.itsi.deis.unical.it/~talia/aa0607/dis/es6-2p.pdf · 23 2 b ˘ 4&5 ˜ ˘ . 2 ˘ 4&5...

Page 1: si.deis.unical.itsi.deis.unical.it/~talia/aa0607/dis/es6-2p.pdf · 23 2 b ˘ 4&5 ˜ ˘ . 2 ˘ 4&5 ˛ ˆ 3

1

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

2

�����������

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

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

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

Page 2: si.deis.unical.itsi.deis.unical.it/~talia/aa0607/dis/es6-2p.pdf · 23 2 b ˘ 4&5 ˜ ˘ . 2 ˘ 4&5 ˛ ˆ 3

3

"�#$�%�#&�%��'()%����

� "�#$�%���������������*�������� ������������������� �������%�����������+ ������������,�#$������� �����

� -"�&%����& ��� ���%�����������+ ��.���#��������������"��� ��#�"

� �'()�#�������%�������������������'() ���& ��� ���%���/�������������� �����������%������ ������� �� �

� 0��%�������0���#������& ���������������#&� �������������0���#������& ��������������������� �0#&�

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

4

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

� ����� ���������������������������� ������������ �� �����������������#�"2�� (�����+� ����������������������������������

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

� ����%����� ���� �� ���������������������������� ����������������3 �������������������

Page 3: si.deis.unical.itsi.deis.unical.it/~talia/aa0607/dis/es6-2p.pdf · 23 2 b ˘ 4&5 ˜ ˘ . 2 ˘ 4&5 ˛ ˆ 3

5

"����� +3 ����

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

�� �������2� �����3 �� ���� ��4&5� ������� �� ��������������� ��������� ������� �� ���������������������� ��������������� ���������� ������������

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

6

�����3 �� ���� ��4&5

� )������������������������������������� ���������%������������3 �� ���� ��4&5%�1�������� �����

� �������������3 ������������ ����������������64&5�3 �������������������� ��������

� ������� ������������7 ������,������82��������������/����������������������� �������������)���+����������3 �������� �������� ���9))��������� ����

� ������������� ����������������3 �� ���������������������������� �����%��������������������������������� � ����������� ���������������������"�#$�����'() #�������������������

Page 4: si.deis.unical.itsi.deis.unical.it/~talia/aa0607/dis/es6-2p.pdf · 23 2 b ˘ 4&5 ˜ ˘ . 2 ˘ 4&5 ˛ ˆ 3

7

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

� :���� �����������3 ����� �����2

� :����������������%��������%��������������������� ���� ��������������������������+ ����������1�� �����������

� :��������������� �������������� ��� �����3 1����������� ����������������������������������������� �����%��� ������������;�����<%����3 ����������������������� ����������� �= ����������� ����� ����������������

� :��������������8���������������� �������������������������� ����������������

8

����2� ������������� �����

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

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

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

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

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

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

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

������

����

������

�� ���

�������

��� ����

�������

����

������

�� ��

�������

���� �������

Page 5: si.deis.unical.itsi.deis.unical.it/~talia/aa0607/dis/es6-2p.pdf · 23 2 b ˘ 4&5 ˜ ˘ . 2 ˘ 4&5 ˛ ˆ 3

9

"������������������ :�����������������������������2

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

������%������ �����#� ��� �

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

� )��������� ���������� ������������������4&5

Vendor A Vendor B

Clientapplication Component

XML/HTTP

Soaplistener

Soapproxy

10

9����

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

�����

����

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

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

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

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

������

Page 6: si.deis.unical.itsi.deis.unical.it/~talia/aa0607/dis/es6-2p.pdf · 23 2 b ˘ 4&5 ˜ ˘ . 2 ˘ 4&5 ˛ ˆ 3

11

����

�������

�����

���

�������

�������

�������

��������

�������

�����

���

�������

�������

��������

�������

�����

���

�������

�������

�������

12

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

� �������������������������������������������������������������������������$��82������� �������������������������� ����������4&5��

� 5�� ����������������� ��������������������=%���� ����� ������>� ������>������������������%������������%������� ��������������� �����������������7 �������%�����������������������������

� 5>������������������� �������� ��������������������� ��������4&5������� %�������� �����������������������������������������������������������%�����������������������������7 ����� �������������������������������������������������������������������� ��

Page 7: si.deis.unical.itsi.deis.unical.it/~talia/aa0607/dis/es6-2p.pdf · 23 2 b ˘ 4&5 ˜ ˘ . 2 ˘ 4&5 ˛ ˆ 3

13

�����(�������2������ �������

���� �����%�3 �� ������������������������������� ��4&5� �������������������3 �������� �������������������� �����%������������4&52

<X1>12</X1>

��������?@���������� ����������%���������������������������������������� ������������������������"����A ������������������2

<X1 xsd:type="String">12</X1>

14

�������������2����������� ��

� ����������82��������������������� �����������������8%�������/�� ���� ������� ��������������������������5��� �������������������������������8�������������������������������������8)8�� ���� ������������������������������������+ ��8����������������3��������������������� ������

� 5���������2����� ��������������������3�����������������������������������������������������������������������������������3 ������������������������

Page 8: si.deis.unical.itsi.deis.unical.it/~talia/aa0607/dis/es6-2p.pdf · 23 2 b ˘ 4&5 ˜ ˘ . 2 ˘ 4&5 ˛ ˆ 3

15

����� ��9))�

� �����3 ������ ���������������� �������� ���9))�����������������;����� ����<��)������%� ���� ���������������������������������� ������ �������������������������������������������%����� �������+ �&)��

� ��������*���������������������������������4�� ��������1�� �������������� �������1�� ������������

16

����� ��9))�

� ���9))��� � ����������������������������������������������� ��������� ��2� ���)%��������� ����������������� � ������� ��%�

�����������������������������;��8����< � B()%��������� ����������������� � ������� ������

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

GET /index.html?campo=valore HTTP/1.0

� ������� ���������� ��� ������������= ���)��-��������������������%����3 �����8����3 �� ������������� ���������������������

Page 9: si.deis.unical.itsi.deis.unical.it/~talia/aa0607/dis/es6-2p.pdf · 23 2 b ˘ 4&5 ˜ ˘ . 2 ˘ 4&5 ˛ ˆ 3

17

���������

18

��������� 2�����������

� :�����������������������������+���� ����3 1������������������������������������������ �������������������������������2

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

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

� 5+�������������������������/�� ������ ������������ ��������2

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

� )������������+�������

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

Page 10: si.deis.unical.itsi.deis.unical.it/~talia/aa0607/dis/es6-2p.pdf · 23 2 b ˘ 4&5 ˜ ˘ . 2 ˘ 4&5 ˛ ˆ 3

19

��������� 2������������

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

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

� !����������������������������������"��� ���

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

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

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

�������

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

20

��������� 2��������������=

� 5�� ������������������ ����������3 �������������� ���������� ����������� ��������������������������������� ������������ ���������

� 5�����������3 �+ �������������=2

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

� '��� ����������������������������� ������D����������������

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

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

Page 11: si.deis.unical.itsi.deis.unical.it/~talia/aa0607/dis/es6-2p.pdf · 23 2 b ˘ 4&5 ˜ ˘ . 2 ˘ 4&5 ˛ ˆ 3

21

��������� 2�������� ������ :�� ���� ����� 3 ��+������������� �� �� �� �� �� �������

����������� � ��� ���� ��������� ��� ���� ������ ����� ������������ ������� �����������������������EF�������������������

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

G �������������=2���������/�� �������������������������������� �%������������������������������������������� ��������� ������3 � ������

G ����� ��������2�������������������������� ���������������������������+���������������

G ���� ������=2���������/�� ���� ������������������ �������������+��������

22

��������� ��4&5

� �� ��������� ������ ���� ��4&52� ������������������3 �������������������������

4&5

� ����������������� ������������ ������ ������ ���������4&5����-5

� 5�� ������������� ������������������������������� ������:--� � ����������������4&5

Page 12: si.deis.unical.itsi.deis.unical.it/~talia/aa0607/dis/es6-2p.pdf · 23 2 b ˘ 4&5 ˜ ˘ . 2 ˘ 4&5 ˛ ˆ 3

23

��������� 2� �����������������

B��� �������������������������� ����������������������4&5

� ���� ����������.�������� �������� 2��� ������������������� ���� ��4&5����������� ������������ �����������������3 �������������������������+������������+������

� ��-5 �����������-����������5������� 2��� �����+������������ ���������������������6 ���� ������������ ����������������������������������

� :--��:��� ���-� ���8%�-� ���������������������� 2��� ������� �������������������������������� ����������+���� �������

24

Internet

GET/POST Request

HTML Response

Server (s)

Internet

SOAP Request

SOAP Response

Server (s)Client

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

�����

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

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

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

Page 13: si.deis.unical.itsi.deis.unical.it/~talia/aa0607/dis/es6-2p.pdf · 23 2 b ˘ 4&5 ˜ ˘ . 2 ˘ 4&5 ˛ ˆ 3

25

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

26

"�������������������������� � ������������� ��������������������-5 ����������� ���:--�2� ����������������������������� ��� ������������ ��� ����������������������H8� ������������������� ����������������� �� ��� 5�������������������������������������:--�� ��������+� ��

��������� I

Appl. Client

UDDI Registry

Service Consumer Service Provider

Service Registry

SOAP (HTTP + XML)

Scopre WSDL Registra WSDL

Proxy

Service Contract

Appl. Server

Page 14: si.deis.unical.itsi.deis.unical.it/~talia/aa0607/dis/es6-2p.pdf · 23 2 b ˘ 4&5 ˜ ˘ . 2 ˘ 4&5 ˛ ˆ 3

27

��������� -���������5�������

� ���������J"��������� �����������4&5

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

G "������������������������������� �����

� :���������-5�3 � ���������������������� ���3 ������������������������������������� �����

28

��-52� ��������������������

� -� ���2

� "� ����������/����

� -���� ����

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

� -�����������-5��� ����� ���� ���� ��������� ����� ���:--�

WSDL1.1 DocumentStructure

�� !

������

�"�����

#$��� %��&

#����"����&

#������%�&

#��������&

Page 15: si.deis.unical.itsi.deis.unical.it/~talia/aa0607/dis/es6-2p.pdf · 23 2 b ˘ 4&5 ˜ ˘ . 2 ˘ 4&5 ˛ ˆ 3

29

"����������������������������-5

:��������������-5�3 �� ��������� ���������������K����������4&52

� )8�� 2����������������� ������������ ����

� &� ��� 2�������������������� ���������������������������������������� ��5��������������� ����������������� �����

� ���)8��2��������������������������������� ���������������������������3 �����������+����������

� $������ 2����� ��������������������������������������������% ��������������� ������ ���%�����% ���%��� �%����

� ����� 2������������� ������ �������������������������8�� ��"�������������������������������������

30

��������� 2�������������

� ( � �������� ����������������� ��� ����������������� %����1�� ��� ���� ����������������)����������������4��

� )�����3 ������������������7 ���� ���������������������������������������

� ��������4���� L �������������������� ��������������� ��������������������� � M��� ������� ��������������� ��������������������

� ����2DD.�*�������������

Page 16: si.deis.unical.itsi.deis.unical.it/~talia/aa0607/dis/es6-2p.pdf · 23 2 b ˘ 4&5 ˜ ˘ . 2 ˘ 4&5 ˛ ˆ 3

31

)�����2��� �������������������8-�����+�� �������������� �������������������8����)��������������� �������������

32

��������������-�����8

� ���2�������������� ���������+�������+�� ������)������ ������2������� ������������������ ��� ����,������8� ������ ���������

�����)�����������������������,��������������� ��������� �����)������ ����2�������������������������������������������)����������������,

������������ ��� 2������������������������������������������� ��2������� ������������������ ��� ����,������8� ������ ��������� ����

��)������ ����2������� ������������������ ��� ����,������8� ���������� �����

������������,������������������ ������ ������������)������ ������ 2�3 �������������������������)��������������������� �����

������������,��������������������/������������������1���3���������������������8��

� ��*2�������������������������� ���������������������������������������������0��

Page 17: si.deis.unical.itsi.deis.unical.it/~talia/aa0607/dis/es6-2p.pdf · 23 2 b ˘ 4&5 ˜ ˘ . 2 ˘ 4&5 ˛ ˆ 3

33

)�����2���������+�� �����������3 ���������������������������������)�����3 ����������%���������������������� ��������������� ��������� � ���� ����������������������� ���������������2DD������� �2EFEF�������= ��� ���������������

34

������������������������������� :������������������3 ������������������� � ��������������0��%�9)&5%�

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

�����������������������������������������������2�MyWebApplication/

WEB-INFclasseslib

� �������������������������� ������������������������������� ��������� ���� � ���MyWebApplication

� 5��� � ������������ ���������������������������������������WEB-INF%����+�������������1����� ������������������������ � �������2�������� ����������������������+����������

� 5����������WEB-INF ���������������������web.xml%����� �������+���������������� ����+������������%�������������classes%����������= �������.class ����+������������%�����+�����������������lib%����������= �������������������� ���������� �������.jar

� 5+���������/��������� �������������������������������+����������������%�������������%���/�� ��� �������������������� �����������%����� ��������������images ������������������������������

� �������������������MyWebApplication ��/�� ����� ������������+���������������������webapps ���)�����%������������������������8����������

Page 18: si.deis.unical.itsi.deis.unical.it/~talia/aa0607/dis/es6-2p.pdf · 23 2 b ˘ 4&5 ˜ ˘ . 2 ˘ 4&5 ˛ ˆ 3

35

�H� 2��� ����������C������������������������������������H� ������������� ���:#5��5+���������������= � ����������3 ��� �������

36

C����������C���������������������������������������������������������������� ������*C����������� �������������������������H� ��C�= �� ���������������� ������ �� 1������ �������%� ������ 1����� ���� ������� � ������ �����������������������

Page 19: si.deis.unical.itsi.deis.unical.it/~talia/aa0607/dis/es6-2p.pdf · 23 2 b ˘ 4&5 ˜ ˘ . 2 ˘ 4&5 ˛ ˆ 3

37

C���������-5"������ ������� �����������-5%���������������������H� %���������������������������������������������������-5����������3 ��� �����������3������������� ��������= � � �����

38

5� ������� ����������������������� ������ ���������������������������� ���� �������������������� ������*�5� �����+��������������H�

Page 20: si.deis.unical.itsi.deis.unical.it/~talia/aa0607/dis/es6-2p.pdf · 23 2 b ˘ 4&5 ˜ ˘ . 2 ˘ 4&5 ˛ ˆ 3

39

:�������� �����

//File Esempio1.java

/* Classe che implementa il servizio. */public class Esempio1{

/* Metodo che implementa il servizio.* Questo servizio restituisce una stringa di saluto.**/public String saluto(){ return "Ciao Mondo"; }

}

(������������ ��������� ��������� �������������������������� ��.������������������� ����������������������3 ��/����� ���� ���������� ��� �����%������������� ��3 ������������������ �����

40

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

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

� ���������������������������������������classes

� ������������������)!**������������+����

������

� �������������������AdminClient

Page 21: si.deis.unical.itsi.deis.unical.it/~talia/aa0607/dis/es6-2p.pdf · 23 2 b ˘ 4&5 ˜ ˘ . 2 ˘ 4&5 ˛ ˆ 3

41

����������--'��� ����� ��--� ����� �� ����� ��� �������� ��� ��� �������������� ���� ������� ����� ��� ������ �� ����� ����� ��� ��� N ����O ��� ����� ������ ���� �� ����� ���������%� ���� �� ����� ���������2� ����� ���� �����%������������ ��� �� �� ��������� ��������������������� �� ����� ���� ����������������--�3 ��� �������

<deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">

<service name="Esempio1" provider="java:RPC"><parameter name="className" value="Esempio1"/><parameter name="allowedMethods" value="saluto"/><parameter name="scope" value="Request"/>

</service></deployment>

42

�����"�����-�� �������3 �� ����� ��� ���� ������ ���������������� ��� ��������� ������� ���������-�������� ���� �� 3 � ����� ���� ��� ����������� � ����%���)9���"5�����)9%� ����� �������������������

Page 22: si.deis.unical.itsi.deis.unical.it/~talia/aa0607/dis/es6-2p.pdf · 23 2 b ˘ 4&5 ˜ ˘ . 2 ˘ 4&5 ˛ ˆ 3

43

'������ �����������������-5������� ���� �����

44

������������������ �����2��������@�� �����0��

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

� ������������������������������������� ��� �����;�.��< ���������������� ��� �����;�.� <

� ������������%��� P ��������%����������������������������8�����H�

� ��� ������ �= ���������� ������������� �� �������������������������� ���:#5%����� �����2�����2DD������� �2EFEFD�H� D( �����K�.�

� ����������-5���������� ���� �= �������� ���������������������;!� ��< ��� �����������:#5������������ ���+���� �������*������������������������ ����

Page 23: si.deis.unical.itsi.deis.unical.it/~talia/aa0607/dis/es6-2p.pdf · 23 2 b ˘ 4&5 ˜ ˘ . 2 ˘ 4&5 ˛ ˆ 3

45

������0��

� "���� ��3 ���������������/����� ��������3 ��� ����������� ������

� 5�� ������������������������������������1��������� ����������������������������������������� ������������������������������������������ ������������.� "�� �

� ��������������� ���������������������������������--%������ �����0�������� � �������H� ������*������ ����� ��������������������� ��������� ������+� � �����

46

������0��

(�������� ��������= � ��%���������������� ������������8���

Page 24: si.deis.unical.itsi.deis.unical.it/~talia/aa0607/dis/es6-2p.pdf · 23 2 b ˘ 4&5 ˜ ˘ . 2 ˘ 4&5 ˛ ˆ 3

47

5����������2����������������

import java.net.*;import java.rmi.*;import javax.xml.namespace.*;import javax.xml.rpc.*;

import org.apache.axis.client.Call;import org.apache.axis.client.Service;

public class ClientEsempio1{...

��� ������� �� �������� ������������� �������� � �� ����+����������� "��� ����������� �������%��������� �����+� ���������"������������3 ���� �������� ���%������������������������-5%��+:#5����� �����%���� �������%�������������������� ����� �����

48

5����������2���������������

public static void main(String[] args){String messaggio = "";try{

Call call = (Call)new Service().createCall();call.setTargetEndpointAddress(

new URL("http://localhost:8080/axis/services/"));

call.setOperationName(new QName("Esempio1", "saluto"));Object rispostaWS = call.invoke(new Object[]{});messaggio = "il Web service ha risposto:" + (String)rispostaWS;

}catch(MalformedURLException ex){messaggio = "errore: l'url non èesatta";}catch(ServiceException ex){messaggio = "errore: la creazione della chiamata è fallita";}catch(RemoteException ex){messaggio = "errore: l'invocazione del WS èfallita";}finally{

System.out.println(messaggio);}}

}

Page 25: si.deis.unical.itsi.deis.unical.it/~talia/aa0607/dis/es6-2p.pdf · 23 2 b ˘ 4&5 ˜ ˘ . 2 ˘ 4&5 ˛ ˆ 3

49

-8����� ���������

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

� 5����� ��"��� ������������������������������ �����������������������

<?xml version="1.0" encoding="UTF-8"?><SOAP-ENV:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema"xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><SOAP-ENV:Body><ns1:Echo2 xmlns:ns1="http://localhost:8080/axis/Echo.jws"><arg0 xsi:type="xsd:string">Hello!</arg0></ns1:echoService></SOAP-ENV:Body></SOAP-ENV:Envelope>

50

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

Page 26: si.deis.unical.itsi.deis.unical.it/~talia/aa0607/dis/es6-2p.pdf · 23 2 b ˘ 4&5 ˜ ˘ . 2 ˘ 4&5 ˛ ˆ 3

51

5����������2�B��������������-5@0��

� )��� .���������� ���������������������������� ������ ������������������������������

� '���3 ��7 ���� �����������������������������������-5� ������� ������������������������������� �����������

� 5+�������������%������������%���� �� ����������� �����������

� 5���������������;������< ���� ����������������������������������������� ��;Q�����5�����<

� ������� ������������ ���+:#5������������-5������� ������� �����

52

5����������2�B��������������-5@0��

Page 27: si.deis.unical.itsi.deis.unical.it/~talia/aa0607/dis/es6-2p.pdf · 23 2 b ˘ 4&5 ˜ ˘ . 2 ˘ 4&5 ˛ ˆ 3

53

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

54

B����� ��C�������������� ������������ ������������������������ ����������������� �������������� �����������-5������� ��������� �����

Page 28: si.deis.unical.itsi.deis.unical.it/~talia/aa0607/dis/es6-2p.pdf · 23 2 b ˘ 4&5 ˜ ˘ . 2 ˘ 4&5 ˛ ˆ 3

55

B����� ��

� :#5�������-52http://api.google.com/GoogleSearch.wsdl

� "������2java org.apache.axis.wsdl.WSDL2Java

http://api.google.com/GoogleSearch.wsdl� #� ������2

� -�����8"�����8�.��� B����������$�����������.��� B��������������.��� B����������#� ����.��� B����������������.��� B���������������5������.��� #� ���(�������.��

56

B�������������/*** GoogleSearchPort.java** This file was auto-generated from WSDL* by the Apache Axis 1.2.1 Jun 14, 2005 (09:15:57 EDT) WSDL2Java emitter.*/

package GoogleSearch;

public interface GoogleSearchPort extends java.rmi.Remote {

public byte[] doGetCachedPage(java.lang.String key,java.lang.String url) throws java.rmi.RemoteException;

public java.lang.String doSpellingSuggestion(java.lang.String key, java.lang.String phrase) throws java.rmi.RemoteException;

public GoogleSearch.GoogleSearchResult doGoogleSearch(java.lang.Stringkey, java.lang.String q, int start, int maxResults, boolean filter, java.lang.String restrict, boolean safeSearch, java.lang.String lr, java.lang.String ie, java.lang.String oe) throws

java.rmi.RemoteException;}

Page 29: si.deis.unical.itsi.deis.unical.it/~talia/aa0607/dis/es6-2p.pdf · 23 2 b ˘ 4&5 ˜ ˘ . 2 ˘ 4&5 ˛ ˆ 3

57

B����� ��-��������������� ����������������� �� ���%��� ������� ���������� ��������������������������� ������� ��������+� �������������������������������������������� �������5+� �����1�� ��� �����%������1�������� ����������������-5�� ������%��������� ��� ��� �������� ��� ���� B����� �� ���� ���� ��� ���� ������ ��� �� ��������� ����� �������� ��� ����� ������ �������%� ������%� ��� ����� ��������+������������� ��������?FFF���������������

58

:�������� �����2����)� ����

� :#5����������� ��� ����2DD��� ���� ��� ��������D(��������� �� �H!� ��

� M��� ������ ������������ ������,����

Page 30: si.deis.unical.itsi.deis.unical.it/~talia/aa0607/dis/es6-2p.pdf · 23 2 b ˘ 4&5 ˜ ˘ . 2 ˘ 4&5 ˛ ˆ 3

59

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