������������ ������ SOM. ����� 1 (original) (raw)
� ��������-��������� ������ SOM, �� ������� �������� �������� OS/2
����� 1, ����� 2, ����� 3
(�) �� ����� 5/96
PC Magazine, October 10, 1995, p. 513
�������� ������ - �������� � ������� �������������� ���������� (�. ������)
�������� Workplace Shell OS/2 ������������ �� ������ ��������-��������� ������.
���������� ��������-���������������� ���������������� ����� ����� ����������� �� ������ �������������, �� � �������� �������������. � ������ �� ��������� �� ��� - ����������� ��������� ���������� ��������� �� ������� �������. ���� ��� �� ��� ��� �� ���������� ������������ � OS/2, �� ������ �� �����, ��� Workplace Shell (�������� �������� �����) ������������ ����� ��������-��������������� �������� � ��� ��� �� ������� - �����, ��������, ��������, ������� � �.�. - ���� ������� ����������, ������� �� ������ ����������� � ������������� � ���� ���������� ���������.
�������� Workplace Shell (WPS) �������� �� ��������-��������� ������ (System Object Model - SOM) IBM - ����������, ���������� ������������� ��� ������ ����� �������, ��� ������� �������� �������� � �� �������� � ������������� ������������� ������ � ���� �� ����� ����������������. ������� Workplace Shell �������� � ����� SOM, ������ � ������� ����� ����������� ����� �� ���� ������ ����������������, ��� ������������� ������� ���������, � ��� ����� � �� REXX. ���� � ������� REXX ���������� ������� ����� WPS ��� ������� ��� �� ��������� - ��� ����� ��� ���������� ��������� ���������� SOM,- �� ��� �� ����� ������ ��������� � ���������� ������� WPS � ��������� ����������� ��� ��������� �������� � ����. ����� ����������� ���������� ����� ������, ���� �� ��������� �������������, �������� ����� �������������� ��������� ������� �������.
��� ����� SOM?
SOM - �� ��������� �� � ����� ���������� ������ ��������-��������������� ���������� ��� ��������, �������� � ������������� �������� ���������� �������. �������� ����� ����� "��������" � "�� ��������� �� � ����� ���������� ������". ���� ������ ������� OS/2 ����������� ��������, ������ SOM �� ����� ���� ������������ ����� ���� �� �������� ���������� ����� ���������� � ������� ������������ ��������� �� ����������� ����. ��������-��������������� ���������������� (���) ��������� �������������� ��������� � �������� �������� ���������, ������ ��� ���������� � ������������ ����������� ����������� ������������ ���������� � ������ ��� ������� �� ��������� � ����������� �������, �������������� �� ������ ������, � ������������� ���������� � ������������ ������� �������� ������. (������ ����������� ������������� ��������� ������� ��������� ��������� ���������� �������� ������, ��������� ������ ����������� ��-������� ���������� �������.)
��� �� ������ � ����������, SOM ������� � ��� �����������, � ��, ��� ���������� ������� ��������� ������� � ��� �������� �� ������ �������� �����, ������� ��������� ������� ��� ������ ������ ��� - ����� ��� C++, - ��� ��������� � ������ ���������� ���������� �� ����� ����������, � �� �� ���� ����������. ����� ���� SOM ������������ ������� �� ������ ��� ������������� OS/2. � ��������� ����� ����� ���������� SOM ������������ � ��������� OS/2, � ������� AIX ���������� IBM, ����� ��������� ������ ��� Windows. ����������� ��������� ���������� OpenDoc, ����������� Apple, ����� �������� �� SOM. ��������� ��������� SOM ����������� � �� ������������� ����������� � ����� ���������� � ����� ������ ����������������. SOM ������������� ������������ COBRA (Common Object Request Broker Architecture - ����������� ���������� ������������ ���������� �������), ������� ���������� �������� ������� �������������� ����� ����������� ����������� � ������������ ����.
������������ COBRA ���� ����������� ������������ Object Management Group (������ ���������� ���������), ������������ ����� 300 �������� - ����������� ������������ ����������� � ������������ � ������������ �� ���������. � ���������� ������ ��� �������� ������������ �����, ��� ���������� �� ������������ �������. ���� ���������� Microsoft - ���� �����������, ���� �� ������� ��������� ��� ��������, ��� ��� ��� ���������� ����������� ������ ������������ ��������� - ������ ��������� �������� (Component Object Model - COM), - ������� �� ���� ��������� �� �������� �������� ����������� COBRA.
������������ COBRA �������� ������ ����� �������� ��������� ��� �������������� ���������, ����������� ������������ ���������� ��������� (Object Management Architecture - OMA). COBRA ���������� ����������� ���������� ���������� ������� (Object Request Broker - ORB), ������� ��������� ��������������� ����� ��������� � ����������� �����������. ����� ORB ����� �������� ������� ����� ����������, ����������� �� ����� ������, ��� ����� �������� � ����. DSOM (Distributed SOM) - ��������� �������������� �������� SOM, �������� � ����� SOMObjects Developer Toolkit, ������������ IBM, - ������������ ����� ���������� COBRA ORB.
��� ������������� ��������, ��� SOM, ��� ������ DSOM, - ���������� ������������� ���������� ��� ������ � ��������������� ��������� � ���������� ����� ��������� � ������������ ��������� � ����� ������� ��������������. ������ ������� ������������ COBRA ������������ ������������� ��������������� ����������, ����������� ��������� ��������� � ������������ �������. � SOM - ��������� ���������� ����� ���������, ������� �� ������ ������������ ��� �������.
��� �������� SOM?
SOM - ��� ��������� ������, ������� ����� ��������� ������� � ������������� �������� ��� ����������� ���������� ��������� ������� �� ������ ������ ���������������� � ��� ��������� ���������� ������ �� ���������� ��������, ������������ ��� ����������. SOM �� �������� ��������-��������������� ������ � ������ ����, �� ������������� ����� ��������� ��������-���������������� ����������������, ��� ������������ (������� �������� ���������� �������), ������������ � �����������.
� ������ SOM ������ ������������ ������� �� ��������, ������������ �� ��������� �������� � ���������. ������� - ������ ���������� �������. ������, � ������� �� ������� � C++, ������ SOM ���� �������� ���������, � � ���� ������ ��� ������ �� ������ � "�������" ��������-��������������� ������ - ����� ��� Smalltalk. � �� ����� ��� ������ C++ - ��������� ����� ����������, ������� �������� �� ���� ����������, ������ SOM ���������� � �������� �������-�������� �� ����� ����������. ��������� ��� ������� SOM ������ ���� ������������ ������� SOM, ���������� ����� ���������, ������������ ������� ����� ���� ������. ��� ����� SOM ���������� "����������". (���������� ������ ��������� ��� ������� ����� ��� ��, ��� ������ ������ ��������� ��� ��������.) ���� �� ����������� ������������� ������� SOM � �������� �������-�������� ����������� � ���, ��� ����� �������� � ��������� ���������� � ������� �����������, �� ���� ����������.
������ SOM ���������� ����� ������������� ���� ����� ��������� � �� ���������, ��� ����� ���������� ��������� ������ � ����������� �������. ������ SOM, ��� ������, ���������� � ����, ��������� � �������������� ����������� �� ������������ COBRA ����� ���������� ����������� (Interface Definition Language - IDL). IDL - ��� ������� � C�, ������������� ���������� �� ����������� ����������� �������, ����������� �� ������. ���������� IDL ��������� �������� ��������� ������� �� ��� ����������. ��� ����� ����������� ������������ ������ � ����������� ��� ���������� ����� �� ������� ������������ ���� � ��� �� ����. ����� ���� ��� ����� SOM ���������, ���������� ��������� IDL-����� � ���������� ��������������� �������� ��� ������ ���������� � ��������� ��� ������ �������. (��� ���������� ����������� DirectToSOM, ������� ������ ���� �������� � ���������� IDL-������, �� �������� ��������� �������� ��� ��.) � ��������� ������ ���������� IBM ���������� �������� ��� �������, ������������� �� C � C++, � �� �������� ��������� ��������� �� �� Smalltalk, OORexx � COBOL. ����������� ����� ����� ����� �������� ����������. ��� ���, ��� ����� ������� ���� ����������� ��������, IBM ���������� �������� Emitter, �������� � ����� SOMObjects Developer Toolkit.
����� ����� ��������, ��� ��� ������������� SOM, ������� � �� ������� ������������� �� ���� � �����, � � ����������. ��� ��������, ��� ���� ��������� � �������� �������� ����������, ���������� ��� ����� ����������, �� ���������� ��� ���� �������� �������. ����� �������� ������������ �����������, �������� ������ �� ����������� ���������, ����� ��� C++ ��� Object Pascal. � C++ ������ � �� ������� ������ �������� (�. �. ���������������� ��� ������� �������� ���������, �������� ������� ������� �� ����, ��� ������������ ������������ ��� ������). � ���������� �� �� ������ �������� ������ ��� ���������� �������������� ��� ���� ���� �� ��������. ��� ������ � ������������ ����������� - ����� ��� Smalltalk ��� Objective C - ��� �� ������������ ��������, ������ ��� C�++ ����� ���������� ������ ��������. ������ �������� ��������, ���, ���� �� �������� ���� �� ������� �������, �������, � �������, ����������� �������, ��� ������� ����������������� �� ������ �������� ���� ������, ������� �� ��������, �� � �������� ���� �������, ����������� ������ (�� � ���� �� ������� ������� ����, ��� C++ �� ��� ��� �� �������� ���� ���.) ��������� ������ SOM �������� ����� �� ��� ��������, ��� ��������� ����������� �� C++ ������������ ����� � ���������, ��� ��� ������ Smalltalk.
��� ���� �������������� �������� SOM ������� � ���, ��� ��� ��������������� ������������ �����������: ��������� SOM ��������� ��� ������, ������������ � ����������� �� ������������ �������, ���� ���� ����������� ��� �� ������ ������.
������ SOM ����� ������������ ������������� ������������ (����������� ����������� �������� �� ���������� ������������ �������). ���� �� ����������� ��� ���� ������� � ���, ��� ��� ��� ����� ������� ����� ������������ �������� ������ � ���� �� ������, �, ��������� �������� ����� ������������ ���� ����� ������ �� ������ ��������, ���������� ������ ������ ��������� ���������. �� ��������� SOM ���������� ������������� ���������, ������������� � ���, ��� ��������, ����������� � �������� �����, ����������� "�������". �� ���� ��� ������ ������������ ������ ������� ���������� �������� ��������, �� ������ ������� ����� ��������� � �������� �������� ������������, ������������� SOM. �������, ����� ����� �� ������ �������� �������� �������� � ������ ����������, ������ ������� �����, ��� � ����� ������������ ���� ������ ������ ��������.
�� ��������, ��������������� SOM, ���������� ���-��� ��������������. �������������� ���� ��������� ������ ���� ������������� ����������� �������� ��������� �������� ������������������ - � ��������� ���������� ���������� �� 20%, - ��� ��� ����� �������� ��� SOM � ��� �������, ����� �� ����� ������������� �� ����� ��� ����� �� ����� ����������� � �������� �������. ������ Workplace Shell ������ ���������� � ������� �������, ��� �� �������� � ������������ ������� � ������������������.
�������� �������� SOM
��� ����, ����� �������� � SOM ����������, ��� ����� ������������� � ��������� ������� SOM � � ���, ����� ����� � ��� �������� WPS. ��� ����������� �������� ����.
�� ������� �������� �������� SOM ��������� SOMObject - ������ ���� ������� SOM. ��� ������, � ��� ����� � � ������ WPS, ������ ��� ��������� ������� ��������� ���� �������� � ��������� �� SOMObject.
SOMObject
|_____________________________________
| | |
SOMClass SOMClassMgr WPObject
-------- ----------- --------
__________________________________|______
| | |
_ WPAbstract _ WPFileSystem _ WPTransient | ---------- | ------------ | ----------- |- WPClock |- WPFolder |- WPJob |- WPCountry | WPDesktop |- WPPort |- WPDisk | WPDrives |- WPMinWindow |- WPKeyboard | WPStartUp |- WPQueueDriver |- WPMouse | WPTemplates |- WPCnpView |- WPPalette | WPMinWinViewer |- WPDiskCV | WPColorPalette | WPFindFolder |- WPFolderCV | WPFontPalette | WPNetGroup |- WPFilter | WPSchemePalette | WPNetwork |- WPFinder |- WPProgram | WPServer |- WPShadow | WPShareDir | WPNetLink |- WPDataFile |- WPShredder WPBitmap |- WPSound WPIcon |- WPSpecialNeeds WPPointer |- WPSpooler WPProgramFile |- WPSystem WPCommandFile |- WPPrinter WPMet |- WPPower WPPif |- WPTouch WPPrinterDriver |- WPFntpnl |- WPWinConfig
������ ���� ������� SOM - SOMObject. ��� ������ ������ ��� ��������� ������� ��������� ���� �������� � ��������� �� SOMObject. ��������� ������ ����� ����������� �������-��������, � ������ �����-������ � ���� ������� ������ ���� ����������� ���������� (���������, ��� ���������� �������� ��������� �� �������, � ������ - ��������� ��� ��������), �� � ����� SOMObject - ��������� ���������� SOMClass.
��� �� ��� ��������, � ���� ���������� ����������� ����� �������, ������� ������ ��������� ������: ������������ ���� �������� ����������? ���� ������ ��������� ������, ������� ������ ���� ����-���������, � ��� ����� ���������� �� �������������. ������ ���������� �� � ����-�� ������. � ������ SOM ����������, ��� ����������� ���� ����������� ����� SOMClass (����� �������, SOMClass �������� � �������� ���������, ������� ����������� ������ ����). SOMClass ����� �������� ������������ ������� ��� ���� �����������. ��� ���������� ����������� �� SOMClass. �������������, ���� �� ������ ����� � �����. �������, ��� ����� �������, - ��� ��, ��� ������, ���������� �� �������, ������� � SOMClass, � ������, ���������� �� ��������, - � SOMObject.
������ ������ �������� SOMObject - SOMClassMgr. ���� ����� ����� ���� ���� ������� SOM, ������������ � ����� ���������� SOM, � �������� ��������� � ��������� ���������� �������. (���������� ������� SOM � ��� ���� �������� � ���� DLL.)
SOMObject, SOMClass � SOMClassMgr, ������ � ��������� ������������� � ��������� ����� ��������� SOM �������� � SOM.DLL, ������� OS/2 ��������� ��� ����� �������������. ����� ����������� ����� ���������� SOM, ��������� ��������� ������ SOMClassMgr, ������� ���������� ������������ �� ���� ���������� ������ OS/2. ��� ������ ������ �� �����-���� ����� ������ SOMClassMgr ��������� ��������������� DLL � ������� ��������� ����� ������.
��������� ���������� �� �������� �������� SOM, �� ������ � ������� Workplace Shell, � ��� ������ ���� �� �������� WP, ��������� ���� ������� WPS. �� ������� ������ WPS ��������� ������ ���� �������� WPS - WPSObject. ��������, �������� ���� �������� WPS, ����� ��� �������� ��� �����������, ����������� �� WPSObject. �� ��������� ��� �������� ������ - WPFileSystem, WPAbstract � WPTransient - � ������� ������� WPS ������������ �� ���� ������������ ��� ������. ��� ������� WPS �������� � ���� �� ���� ���� �������.
���������� ������:
������������ � ��������: 0 | �������� �����������
��������: ������� ���
����������: ������� �������