Òåìà: C++ Builder è ñîâðåìåííûå
èíôîðìàöèîííûå òåõíîëîãèè.
1.Îáúåêòíî-îðèåíòèðîâàííîå
ïðîãðàììèðîâàíèå BC++ Builder
2. Îñíîâû âèçóàëüíîãî
ïðîãðàììèðîâàíèÿ èíòåðôåéñà
3.Ìåñòî C++Builder 6 â ñåìåéñòâå ïðîãðàììíûõ ïðîäóêòîâ Borland
4.Âçàèìîäåéñòâèå
ïðèëîæåíèé â èíôîðìàöèîííûõ ñèñòåìàõ
5.Ðàñïðåäåëåííûå
ìíîãîçâåííûå ïðèëîæåíèÿ
6.Ïåðåíîñèìîñòü
äàííûõ è ïðîãðàìì
1.Îáúåêòíî-îðèåíòèðîâàííîå
ïðîãðàììèðîâàíèå BC++
Builder
ÎÎÏ - ýòî ñîâåðøåííî åñòåñòâåííûé ïîäõîä ê
ïîñòðîåíèþ ñëîæíûõ ïðèëîæåíèé è ñèñòåì.
Ëþáîå ïðèëîæåíèå Windows - ýòî îêíî ñ ìíîæåñòâîì êíîïîê, ðàçäåëîâ ìåíþ, îêîí
ðåäàêòèðîâàíèÿ, ñïèñêîâ è ò.ï.Âñå ýòî îáúåêòû. Ïðè÷åì
ñàìè ïî ñåáå îíè íè÷åãî íå äåëàþò. Îíè æäóò êàêèõ-òî ñîáûòèé - íàæàòèÿ
ïîëüçîâàòåëåì êëàâèø èëè êíîïîê ìûøè, ïåðåìåùåíèÿ êóðñîðà è ò.ä. ×òî òàêîå ÎÎÏ?Êîãäà ïðîèñõîäèò ïîäîáíîå
ñîáûòèå, îáúåêò ïîëó÷àåò ñîîáùåíèå îá ýòîì è íà íåãî ðåàãèðóåò: âûïîëíÿåò
íåêîòîðûå âû÷èñëåíèÿ, ðàçâîðà÷èâàåò ñïèñîê, çàíîñèò ñèìâîë â îêíî
ðåäàêòèðîâàíèÿ. Âîò òàêîå ïðèëîæåíèå Windows è åñòü
îáúåêòíî-îðèåíòèðîâàííîå ïðèëîæåíèå.
Ïðèëîæåíèå, ïîñòðîåííîå ïî ïðèíöèïàì îáúåêòíîé îðèåíòàöèè - ýòî íå
ïîñëåäîâàòåëüíîñòü êàêèõ-òî îïåðàòîðîâ, íå íåêèé æåñòêèé àëãîðèòì, à ýòî
ñîâîêóïíîñòü îáúåêòîâ è ñïîñîáîâ èõ âçàèìîäåéñòâèÿ. Îòäåëüíûé (è ãëàâíûé)
îáúåêò ïðè òàêîì ïîäõîäå - ýòî ïîëüçîâàòåëü ïðèëîæåíèÿ. Îí ñëóæèò îñíîâíûì
èñòî÷íèêîì ñîáûòèé, óïðàâëÿþùèõ ïðèëîæåíèåì.
Îáúåêò ýòî êàê íåêàÿ
ñîâîêóïíîñòü äàííûõ è ñïîñîáîâ ðàáîòû ñ íèìè. Äàííûå ìîæíî ðàññìàòðèâàòü êàê
ïîëÿ çàïèñè. Ýòî õàðàêòåðèñòèêè îáúåêòà. Âàæíåéøåå çíà÷åíèå èìåþò ïðèíöèïû
èíêàïñóëÿöèè è ñêðûòèÿ äàííûõ.
Ïðèíöèï ñêðûòèÿ äàííûõ
çàêëþ÷àåòñÿ â òîì, ÷òî âíåøíèì îáúåêòàì è ïîëüçîâàòåëþ ïðÿìîé äîñòóï ê äàííûì,
êàê ïðàâèëî, çàïðåùåí.
Äåëàåòñÿ ýòî èç
äâóõ ñîîáðàæåíèé.
Âî-ïåðâûõ, äëÿ íàäåæíîãî
ôóíêöèîíèðîâàíèÿ îáúåêòà íàäî ïîääåðæèâàòü öåëîñòíîñòü è íåïðîòèâîðå÷èâîñòü åãî
äàííûõ. Åñëè íå ïîçàáîòèòüñÿ îá ýòîì, òî âíåøíèé îáúåêò èëè ïîëüçîâàòåëü ìîãóò
çàíåñòè â îáúåêò òàêèå íåâåðíûå äàííûå, ÷òî îí íà÷íåò ôóíêöèîíèðîâàòü ñ
îøèáêàìè.
Âî-âòîðûõ, íåîáõîäèìî
èçîëèðîâàòü âíåøíèå îáúåêòû îò îñîáåííîñòåé âíóòðåííåé ðåàëèçàöèè äàííûõ.
Äëÿ ïîëüçîâàòåëåé äîëæåí áûòü äîñòóïåí òîëüêî ïîëüçîâàòåëüñêèé èíòåðôåéñ. Âî
âíåøíåé ïðîãðàììå è â ïîâåäåíèè ïîëüçîâàòåëÿ íè÷åãî íå ïðèäåòñÿ ìåíÿòü. ×òîáû
âûäåðæàòü ïðèíöèï ñêðûòèÿ äàííûõ, â îáúåêòå îïðåäåëÿþòñÿ ôóíêöèè,
îáåñïå÷èâàþùèå âñå íåîáõîäèìûå îïåðàöèè ñ äàííûìè: èõ ÷òåíèå, ïðåîáðàçîâàíèå,
çàïèñü. Ýòè ôóíêöèè íàçûâàþòñÿ ìåòîäàìè è ÷åðåç íèõ
ïðîèñõîäèò îáùåíèå ñ äàííûìè îáúåêòà.
Ñîâîêóïíîñòü äàííûõ è ìåòîäîâ èõ
÷òåíèÿ è çàïèñè íàçûâàåòñÿ ñâîéñòâîì.
Ñâîéñòâà ìîæíî óñòàíàâëèâàòü â
ïðîöåññå ïðîåêòèðîâàíèÿ, èõ ìîæíî èçìåíÿòü ïðîãðàììíî âî âðåìÿ âûïîëíåíèÿ
ïðèëîæåíèÿ.
Ïðè÷åì âíåøíå ýòî âñå âûãëÿäèò òàê,
êàê áóäòî îáúåêò èìååò êàêèå-òî äàííûå, êîòîðûå ìîæíî ïðî÷èòàòü, èñïîëüçîâàòü â
êàêèõ-òî âû÷èñëåíèÿõ, çàëîæèòü â îáúåêò íîâûå çíà÷åíèÿ äàííûõ.
 ïðîöåññå ïðîåêòèðîâàíèÿ
ïðèëîæåíèÿ ñ ïîìîùüþ C++Builder çíà÷åíèÿ íåêîòîðûõ èç
ýòèõ äàííûõ ìîæíî èçìåíÿòü â îêíå Èíñïåêòîðà Îáúåêòîâ.
 äåéñòâèòåëüíîñòè âñå îáñòîèò
èíà÷å.
Âñå îáùåíèå ñ äàííûìè ïðîèñõîäèò ÷åðåç
ìåòîäû èõ ÷òåíèÿ è çàïèñè.
Ïðîèñõîäèò êàê â ïðîöåññå
ïðîåêòèðîâàíèÿ, òàê è â ïðîöåññå âûïîëíåíèÿ ïðèëîæåíèÿ.
Ïîìèìî ìåòîäîâ, ðàáîòàþùèõ ñ
îòäåëüíûìè äàííûìè, â îáúåêòå èìåþòñÿ ìåòîäû, ðàáîòàþùèå ñî âñåé èõ
ñîâîêóïíîñòüþ, ìåíÿþùèå èõ ñòðóêòóðó.
Òàêèì îáðàçîì, îáúåêò ÿâëÿåòñÿ
ñîâîêóïíîñòüþ ñâîéñòâ è ìåòîäîâ.
Íî ýòî ïîêà íå çàêîí÷åííîå
îïðåäåëåíèå îáúåêòà, ïîñêîëüêó íàäî åùå ðàññìîòðåòü âçàèìîäåéñòâèå îáúåêòîâ
äðóã ñ äðóãîì.
Ñðåäîé âçàèìîäåéñòâèÿ ÿâëÿþòñÿ
ñîîáùåíèÿ, ãåíåðèðóåìûå â ðåçóëüòàòå ðàçëè÷íûõ ñîáûòèé.
Ñîáûòèÿ íàñòóïàþò
âñëåäñòâèå äåéñòâèé ïîëüçîâàòåëÿ, â ðåçóëüòàòå ðàáîòû ñàìèõ îáúåêòîâ.
 îáúåêòå îïðåäåëåíî ìíîæåñòâî
ñîáûòèé, íà êîòîðûå îí ìîæåò ðåàãèðîâàòü.
 êîíêðåòíûõ ýêçåìïëÿðàõ îáúåêòà
ìîãóò áûòü îïðåäåëåíû îáðàáîò÷èêè êàêèõ-òî èç ýòèõ ñîáûòèé, êîòîðûå è
îïðåäåëÿþò ðåàêöèþ äàííîãî ýêçåìïëÿðà îáúåêòà.
Ê íàïèñàíèþ ýòèõ îáðàáîò÷èêîâ è
ñâîäèòñÿ îñíîâíîå ïðîãðàììèðîâàíèå ïðè ðàçðàáîòêå ãðàôè÷åñêîãî èíòåðôåéñà
ïîëüçîâàòåëÿ ñ ïîìîùüþ C++Builder.
Îáúåêò - ýòî ñîâîêóïíîñòü ñâîéñòâ è
ìåòîäîâ, à òàêæå ñîáûòèé, íà êîòîðûå îí ìîæåò ðåàãèðîâàòü.
Âíåøíåå óïðàâëåíèå îáúåêòîì îñóùåñòâëÿåòñÿ ÷åðåç
îáðàáîò÷èêè ñîáûòèé.
Îáðàáîò÷èêè îáðàùàþòñÿ ê ìåòîäàì è
ñâîéñòâàì îáúåêòà.
Íà÷àëüíûå çíà÷åíèÿ äàííûõ
îáúåêòà ìîãóò çàäàâàòüñÿ òàêæå â ïðîöåññå ïðîåêòèðîâàíèÿ óñòàíîâêîé ðàçëè÷íûõ
ñâîéñòâ.
 ðåçóëüòàòå âûïîëíåíèÿ ìåòîäîâ
îáúåêòà ìîãóò ãåíåðèðîâàòüñÿ íîâûå ñîáûòèÿ, âîñïðèíèìàåìûå äðóãèìè
îáúåêòàìè ïðîãðàììû èëè ïîëüçîâàòåëåì.
Ïðåäñòàâëåíèå î ïðîãðàììå êàê î
íåêîòîðîé ôèêñèðîâàííîé ñîâîêóïíîñòè îáúåêòîâ íå ÿâëÿåòñÿ ïîëíûì. Ñëîæíàÿ
ïðîãðàììà - ýòî íå ïðîñòî êàêàÿ-òî ïðåäîïðåäåëåííàÿ ñîâîêóïíîñòü îáúåêòîâ.
 ïðîöåññå ðàáîòû îáúåêòû ìîãóò ñîçäàâàòüñÿ
è óíè÷òîæàòüñÿ.
Òàêèì îáðàçîì, ñòðóêòóðà ïðîãðàììû
ÿâëÿåòñÿ äèíàìè÷åñêèì îáðàçîâàíèåì, ìåíÿþùèìñÿ â ïðîöåññå âûïîëíåíèÿ.
Îñíîâíàÿ öåëü ñîçäàíèÿ è
óíè÷òîæåíèÿ îáúåêòîâ - ýêîíîìèÿ ðåñóðñîâ êîìïüþòåðà è, ïðåæäå âñåãî, ïàìÿòè.
Îò îáúåêòîâ, êîòîðûå íå íóæíû íà
äàííîé ñòàäèè âûïîëíåíèÿ ïðîãðàììû, íóæíî îñâîáîæäàòüñÿ.
Îñâîáîæäàþòñÿ è âûäåëåííûå èì
îáëàñòè ïàìÿòè, êîòîðûå ìîãóò èñïîëüçîâàòüñÿ âíîâü ñîçäàâàåìûìè îáúåêòàìè.
Âî âñå îáúåêòû çàëîæåíû ìåòîäû èõ
ñîçäàíèÿ - êîíñòðóêòîðû è óíè÷òîæåíèÿ - äåñòðóêòîðû.
Êîíñòðóêòîðû
îáúåêòîâ ñðàáàòûâàþò ïðè çàïóñêå ïðîãðàììû.
Äåñòðóêòîðû
âñåõ îáúåêòîâ, èìåþùèõñÿ â äàííûé ìîìåíò â ïðèëîæåíèè, ñðàáàòûâàþò ïðè
çàâåðøåíèè åãî ðàáîòû.
 ïðîöåññå âûïîëíåíèÿ ðàçëè÷íûå
íîâûå îáúåêòû äèíàìè÷åñêè ñîçäàþòñÿ è óíè÷òîæàþòñÿ ñ ïîìîùüþ èõ êîíñòðóêòîðîâ
è äåñòðóêòîðîâ.
Âêëþ÷àòü îáúåêòû â ñâîþ ïðîãðàììó
ìîæíî äâóìÿ ñïîñîáàìè: âðó÷íóþ âêëþ÷àòü â íåå ñîîòâåòñòâóþùèå îïåðàòîðû
èëè ïóòåì âèçóàëüíîãî ïðîãðàììèðîâàíèÿ, èñïîëüçóÿ çàãîòîâêè -
êîìïîíåíòû.
2. Îñíîâû âèçóàëüíîãî
ïðîãðàììèðîâàíèÿ èíòåðôåéñà
Òóïèêè, â êîòîðûå ïîñòîÿííî ïîïàäàþò
ðàçðàáîò÷èêè ÏÎ è èç êîòîðûõ,
â êîíöå êîíöîâ, íàõîäÿò âûõîä.
Îäèí èç òàêèõ òóïèêîâ èëè
êðèçèñîâ - ðàçðàáîòêà ãðàôè÷åñêîãî
èíòåðôåéñà ïîëüçîâàòåëÿ.
Ïðîãðàììèðîâàíèå âðó÷íóþ îêîí,
êíîïîê, ìåíþ, îáðàáîòêà ñîáûòèé ìûøè è êëàâèàòóðû, âêëþ÷åíèå â ïðîãðàììû
èçîáðàæåíèé è çâóêà òðåáîâàëî âñå áîëüøå âðåìåíè ïðîãðàììèñòà.
 ðÿäå ñëó÷àåâ çàíèìàë äî 80-90%
îáúåìà ïðîãðàììíûõ êîäîâ.
âåñü ýòîò òðóä íåðåäêî ïðîïàäàë
ïî÷òè âïóñòóþ, ïîñêîëüêó ÷åðåç îïðåäåëåííîå âðåìÿ ìåíÿëñÿ
îáùåïðèíÿòûé ñòèëü ãðàôè÷åñêîãî èíòåðôåéñà è âñå ïðèõîäèëîñü íà÷èíàòü
çàíîâî.
Ïåðâûé - ñòàíäàðòèçàöèÿ
ñèñòåìíûõ ôóíêöèé è ïîÿâëåíèå ïîëüçîâàòåëüñêèõ - èíòåðôåéñîâ API.
 íèõ îïèñàíû ôóíêöèè, ïåðåìåííûå,
êîíñòàíòû, ê êîòîðûì - ðàçðàáîò÷èê ìîæåò îáðàùàòüñÿ èç ñâîåãî ïðèëîæåíèÿ.
Áëàãîäàðÿ ïðèíöèïó ñêðûòèÿ
äàííûõ, ïîëüçîâàòåëüñêîå ïðèëîæåíèå ïåðåñòàëî çàâèñåòü îò ðåàëèçàöèè òåõ
èëè èíûõ ôóíêöèé.
 èòîãå ïðè ñìåíå ñòèëÿ
ãðàôè÷åñêîãî èíòåðôåéñà ïðèëîæåíèÿ àâòîìàòè÷åñêè ïðèñïîñàáëèâàëèñü ê íîâîé
ñèñòåìå áåç ïåðåïðîãðàììèðîâàíèÿ.
Ñîçäàëèñü ïðåêðàñíûå óñëîâèÿ äëÿ
ðåøåíèÿ îäíîé èç âàæíåéøèõ çàäà÷ ñîâåðøåíñòâîâàíèÿ òåõíèêè ïðîãðàììèðîâàíèÿ - ïîâòîðíîãî
èñïîëüçîâàíèÿ êîäîâ.
Îäíàæäû ðàçðàáîòàííûå ôîðìû,
êîìïîíåíòû, ôóíêöèè ìîãëè áûòü âïîñëåäñòâèè íåîäíîêðàòíî èñïîëüçîâàíû äëÿ
ðåøåíèÿ äðóãèõ çàäà÷.
Ïðîãðàììèñò ïîëó÷àë äîñòóï ê
ðàçðàáîòêàì äðóãèõ ïðîãðàììèñòîâ è ê îãðîìíûì áèáëèîòåêàì, ñîçäàííûì
ðàçëè÷íûìè ôèðìàìè.
Îáåñïå÷åíà ñîâìåñòèìîñòü ÏÎ,
ðàçðàáîòàííîãî íà ðàçíûõ àëãîðèòìè÷åñêèõ ÿçûêàõ.
Âòîðîé ïîäõîä - ïîÿâëåíèå âèçóàëüíîãî
ïðîãðàììèðîâàíèÿ, íàøåäøåãî áëåñòÿùåå âîïëîùåíèå â ñèñòåìàõ C++Builder è Delphi ôèðìû Borland.
Ðåøàþùèé øàã â ðàçâèòèè CASE-òåõíîëîãèè
(Computer Aided Software Engineering -
àâòîìàòèçèðîâàííîå ïðîåêòèðîâàíèå ïðîãðàììíîãî îáåñïå÷åíèÿ).
Âèçóàëüíîå ïðîãðàììèðîâàíèå
ïîçâîëèëî ñâåñòè ïðîåêòèðîâàíèå ïîëüçîâàòåëüñêîãî èíòåðôåéñà ê ïðîñòûì è
íàãëÿäíûì ïðîöåäóðàì, êîòîðûå äàþò âîçìîæíîñòü çà êîðîòêîå âðåìÿ ñäåëàòü
òî, íà ÷òî ðàíåå óõîäèëè ìåñÿöû ðàáîòû.
Ñðåäà IDE C++Builder ïðåäîñòàâëÿåò ôîðìû (â
ïðèëîæåíèè èõ ìîæåò áûòü íåñêîëüêî), íà êîòîðûõ ðàçìåùàþòñÿ êîìïîíåíòû.
Íà ôîðìó ñ ïîìîùüþ ìûøè ðàçìåùàþòñÿ
ïèêòîãðàììû êîìïîíåíòîâ, ñî ñòðàíèö Ïàëèòðû Êîìïîíåíòîâ C++Builder.
Ñ ïîìîùüþ ïðîñòûõ ìàíèïóëÿöèé ìîæíî
èçìåíÿòü ðàçìåðû è ðàñïîëîæåíèå êîìïîíåíòîâ.
Ïðè ýòîì â ïðîöåññå ïðîåêòèðîâàíèÿ
âèäåí ðåçóëüòàò - èçîáðàæåíèå ôîðìû è ðàñïîëîæåííûõ íà íåé êîìïîíåíòîâ.
Íå íàäî ìó÷èòüñÿ, ìíîãîêðàòíî
çàïóñêàÿ ïðèëîæåíèå è âûáèðàÿ íàèáîëåå óäà÷íûå ðàçìåðû
Ñàìîå ãëàâíîå - âî âðåìÿ ïðîåêòèðîâàíèÿ ôîðìû è ðàçìåùåíèÿ
íà íåé êîìïîíåíòîâ C++Builder àâòîìàòè÷åñêè
ôîðìèðóåò êîäû ïðîãðàììû, âêëþ÷àÿ â íåå ñîîòâåòñòâóþùèå ôðàãìåíòû, îïèñûâàþùèå
äàííûé êîìïîíåíò.
Çàòåì â îêíå Èíñïåêòîðà Îáúåêòîâ
ïîëüçîâàòåëü ìîæåò èçìåíèòü çàäàííûå ïî óìîë÷àíèþ çíà÷åíèÿ êàêèõ-òî ñâîéñòâ
ýòèõ êîìïîíåíòîâ è, ïðè íåîáõîäèìîñòè, íàïèñàòü îáðàáîò÷èêè êàêèõ-òî ñîáûòèé.
Òî åñòü ïðîåêòèðîâàíèå ñâîäèòñÿ, ôàêòè÷åñêè, ê ðàçìåùåíèþ êîìïîíåíòîâ íà ôîðìå,
çàäàíèþ íåêîòîðûõ èõ ñâîéñòâ è íàïèñàíèþ, ïðè íåîáõîäèìîñòè, îáðàáîò÷èêîâ
ñîáûòèé.
Êîìïîíåíòû ìîãóò áûòü âèçóàëüíûå,
âèäèìûå ïðè ðàáîòå ïðèëîæåíèÿ, è íåâèçóàëüíûå,
âûïîëíÿþùèå òå èëè èíûå ñëóæåáíûå ôóíêöèè.
Âèçóàëüíûå êîìïîíåíòû ñðàçó
âèäíû íà ýêðàíå â ïðîöåññå ïðîåêòèðîâàíèÿ â òàêîì æå âèäå, â êàêîì èõ óâèäèò
ïîëüçîâàòåëü âî âðåìÿ âûïîëíåíèÿ ïðèëîæåíèÿ.
Ýòî ïîçâîëÿåò î÷åíü ëåãêî âûáðàòü
ìåñòî èõ ðàñïîëîæåíèÿ è èõ äèçàéí - ôîðìó, ðàçìåð, îôîðìëåíèå, òåêñò, öâåò è
ò.ä.
Íåâèçóàëüíûå
êîìïîíåíòû âèäíû íà ôîðìå â ïðîöåññå ïðîåêòèðîâàíèÿ
â âèäå ïèêòîãðàìì, íî ïîëüçîâàòåëþ âî âðåìÿ âûïîëíåíèÿ îíè íå âèäíû, õîòÿ è
âûïîëíÿþò âåñüìà ïîëåçíóþ ðàáîòó
Òèïû îáúåêòîâ è, â ÷àñòíîñòè,
êîìïîíåíòîâ áèáëèîòåê C++Builder îôîðìëÿþòñÿ â âèäå
êëàññîâ.
Êëàññû - ýòî
òèïû, îïðåäåëÿåìûå ïîëüçîâàòåëåì.
 êëàññàõ îïèñûâàþòñÿ
ñâîéñòâà îáúåêòà, åãî ìåòîäû è ñîáûòèÿ, íà êîòîðûå îí ìîæåò ðåàãèðîâàòü.
C++ ïðåäóñìàòðèâàåò òîëüêî
èíñòðóìåíòàðèé ñîçäàíèÿ êëàññîâ.
Càìè
êëàññû ñîçäàþòñÿ ðàçðàáîò÷èêàìè ÏÎ.
 C++Builder
ðàçðàáîòàíî ìíîæåñòâî êëàññîâ è âêëþ÷åíî â áèáëèîòåêè ñèñòåìû.
Ýòèìè êëàññàìè ïîëüçóþòñÿ ïðè
ðàáîòå â IDE.
Áëàãîäàðÿ íàñëåäîâàíèþ íîâûé
êëàññ ìîæåò íàñëåäîâàòü ñâîéñòâà, ìåòîäû, ñîáûòèÿ ñâîåãî ðîäèòåëüñêîãî êëàññà.
Íàïðèìåð, ïðè ñîçäàíèè íîâîé êíîïêè ìîæíî âçÿòü çà îñíîâó îäèí èç óæå
ðàçðàáîòàííûõ êëàññîâ êíîïîê è òîëüêî äîáàâèòü ê íåìó êàêèå-òî íîâûå ñâîéñòâà
èëè îòìåíèòü êàêèå-òî ñâîéñòâà è ìåòîäû ðîäèòåëüñêîãî êëàññà.
Áëàãîäàðÿ âèçóàëüíîìó
ÎÎÏ ñîçäàíà òåõíîëîãèÿ, ïîëó÷èâøàÿ íàçâàíèå áûñòðàÿ ðàçðàáîòêà ïðèëîæåíèé -
RAD - Rapid Application
Development.
Ýòà òåõíîëîãèÿ õàðàêòåðíà äëÿ
íîâîãî ïîêîëåíèÿ ñèñòåì ïðîãðàììèðîâàíèÿ, ê êîòîðîìó îòíîñèòñÿ è C++Builder.
C++Builder
ïîçâîëÿåò î÷åíü áûñòðî ðàçðàáàòûâàòü ïðèëîæåíèÿ ñàìîãî ðàçíîãî íàçíà÷åíèÿ,
ïðåæäå âñåãî - ïðèëîæåíèÿ äëÿ ðàáîòû ñ áàçàìè äàííûõ.
3.Ìåñòî C++Builder 6 â ñåìåéñòâå ïðîãðàììíûõ ïðîäóêòîâ Borland
C++Builder
- ýòî ìîùíàÿ ñèñòåìà âèçóàëüíîãî îáúåêòíî-îðèåíòèðîâàííîãî ïðîãðàììèðîâàíèÿ,
ïîçâîëÿþùàÿ ðåøàòü ìíîæåñòâî çàäà÷, â ÷àñòíîñòè: Ñîçäàâàòü
çàêîí÷åííûå ïðèëîæåíèÿ äëÿ Windows ñàìîé ðàçëè÷íîé
íàïðàâëåííîñòè, îò ÷èñòî âû÷èñëèòåëüíûõ è ëîãè÷åñêèõ, äî ãðàôè÷åñêèõ è
ìóëüòèìåäèà.
Áûñòðî ñîçäàâàòü ïðîôåññèîíàëüíî
âûãëÿäÿùèé îêîííûé èíòåðôåéñ äëÿ ëþáûõ ïðèëîæåíèé, íàïèñàííûõ íà ëþáîì ÿçûêå.
Ñ ïîìîùüþ C++Builder
ìîæíî:
- Îáúåäèíèòü â åäèíóþ ñèñòåìó ñ
óäîáíûì ñîâðåìåííûì èíòåðôåéñîì èìåþùèåñÿ íà ïðåäïðèÿòèè ïðèêëàäíûå ïðîãðàììû
DOS, Windows è äð. Èíòåðôåéñ óäîâëåòâîðÿåò âñåì
òðåáîâàíèÿì Windows è àâòîìàòè÷åñêè íàñòðàèâàåòñÿ íà
òó ñèñòåìó, êîòîðàÿ óñòàíîâëåíà íà êîìïüþòåðå ïîëüçîâàòåëÿ, ïîñêîëüêó
èñïîëüçóåò ìíîãèå ôóíêöèè, ïðîöåäóðû, áèáëèîòåêè Windows.
-Ñîçäàâàòü ìîùíûå ñèñòåìû ðàáîòû ñ
ëîêàëüíûìè è óäàëåííûìè áàçàìè äàííûõ ëþáûõ òèïîâ.
-Ñîçäàâàòü ìíîãîçâåííûå
ðàñïðåäåëåííûå ïðèëîæåíèÿ, îñíîâàííûå íà ðàçëè÷íûõ òåõíîëîãèÿõ.
- Ñîçäàâàòü ïðèëîæåíèÿ, êîòîðûå
óïðàâëÿþò äðóãèìè ïðèëîæåíèÿìè, â ÷àñòíîñòè, òàêèìè ïðîãðàììàìè Microsoft Office, êàê Word, Excel è äð.
-Ñîçäàâàòü êðîññ-ïëàòôîðìåííûå ïðèëîæåíèÿ, êîòîðûå ìîæíî
êîìïèëèðîâàòü è ýêñïëóàòèðîâàòü êàê â Windows, òàê è
â ñèñòåìå Linux.
-Ñîçäàâàòü ïðèëîæåíèÿ ðàçëè÷íûõ
êëàññîâ äëÿ ðàáîòû â Èíòåðíåò.
-Ñîçäàâàòü ïðîôåññèîíàëüíûå
ïðîãðàììû óñòàíîâêè äëÿ ïðèëîæåíèé Windows,
ó÷èòûâàþùèå âñþ ñïåöèôèêó è âñå òðåáîâàíèÿ Windows.
4 Âçàèìîäåéñòâèå ïðèëîæåíèé â èíôîðìàöèîííûõ
ñèñòåìàõ
ÎÎÏ è âèçóàëüíîå ïðîåêòèðîâàíèå ïîçâîëÿþò
ñîçäàâàòü õîðîøèå ïðèëîæåíèÿ.
 íàñòîÿùåå âðåìÿ ïðèëîæåíèÿ,
ðàçðàáàòûâàåìûå äëÿ ðàçëè÷íûõ ïðåäïðèÿòèé è èõ ïîäðàçäåëåíèé, êàê ïðàâèëî,
äîëæíû ÿâëÿòüñÿ ÷àñòüþ íåêîòîðîé èíôîðìàöèîííîé ñèñòåìû.
 ýòîì ñëó÷àå îäèí èç îñíîâíûõ
âîïðîñîâ - îðãàíèçàöèÿ âçàèìíîãî îáùåíèÿ ïðèëîæåíèé äðóã ñ äðóãîì è ñ
õðàíèëèùàìè èíôîðìàöèè - áàçàìè äàííûõ (ÁÄ).
Êàê ïðàâèëî, ïðèëîæåíèÿ, ðàáîòàþùèå
â ñîñòàâå èíôîðìàöèîííîé ñèñòåìû, ÷åðïàþò èíôîðìàöèþ èç áàç
äàííûõ, ê êîòîðûì èìåþò äîñòóï è äðóãèå ïðèëîæåíèÿ.
Ïðè ýòîì åñòåñòâåííûì îáðàçîì
ñîçäàåòñÿ âîçìîæíîñòü îáùåíèÿ ïðèëîæåíèé ÷åðåç äàííûå.
Íàïðèìåð, îäíî ïðèëîæåíèå ìîæåò çàïèñàòü
ðåçóëüòàòû ñâîåé ðàáîòû â ÁÄ, à äðóãîå - ïðî÷èòàòü ýòè äàííûå è èñïîëüçîâàòü èõ
â ñâîåé ðàáîòå.
Òàêîå ïðîñòåéøåå îáùåíèå òðåáóåò
óíèôèêàöèè äàííûõ, ôîðìàòîâ èõ õðàíåíèÿ è ÿçûêà çàïðîñîâ ê ÁÄ. Ïîñëåäíåå
ðåøàåòñÿ ñ ïîìîùüþ ÿçûêà SQL.
Âî ìíîãèõ ñëó÷àÿõ ïîäîáíîãî îáùåíèÿ
÷åðåç äàííûå íåäîñòàòî÷íî äëÿ ýôôåêòèâíîé ðàáîòû ñèñòåìû.
Ïðèëîæåíèå-ïîòðåáèòåëü äàííûõ íå ìîæåò æäàòü, ïîêà êòî-òî çàïóñòèò ïðèëîæåíèå,
ïîñòàâëÿþùåå ýòè äàííûå. Çíà÷èò, íóæíà âîçìîæíîñòü çàïóñêàòü èç îäíîãî
ïðèëîæåíèÿ äðóãèå, ïåðåäàâàÿ â íèõ êàêóþ-òî èíôîðìàöèþ. Çàïóñê âíåøíåãî
ïðèëîæåíèÿ íàçûâàåòñÿ ïîðîæäåíèåì ïðîöåññà. Äî÷åðíèé ïðîöåññ ìîæåò âûïîëíÿòüñÿ
â àäðåñíîì ïðîñòðàíñòâå ðîäèòåëüñêîãî ïðîöåññà, à ìîæåò âûïîëíÿòüñÿ â
ñîáñòâåííîì àäðåñíîì ïðîñòðàíñòâå è â äðóãîì ïàðàëëåëüíîì ïîòîêå.
Çàïóñê èç îäíîãî ïðèëîæåíèÿ äðóãèõ
ïðèëîæåíèé ïîçâîëÿåò èñïîëüçîâàòü ðåçóëüòàò ðàáîòû äî÷åðíåãî ïðîöåññà.
Òðåáóåòñÿ îáìåí èíôîðìàöèåé ìåæäó ïðèëîæåíèÿìè, âûïîëíÿþùèìèñÿ
ïàðàëëåëüíî. Íàäî, ÷òîáû ýòîò îáìåí íå
çàâèñåë îò òîãî, íà êàêîì ÿçûêå íàïèñàíî òî èëè èíîå ïðèëîæåíèå. Ïðè ðàáîòå â
ñåòè êîìïüþòåðîâ, èñïîëüçóþùèõ ðàçíûå ïëàòôîðìû (Windows,
Unix, Solaria è äð.),
æåëàòåëüíî îáåñïå÷èòü è íåçàâèñèìîñòü îáùåíèÿ îò ïëàòôîðìû.
Ïðîñòåéøèå ñðåäñòâà îáùåíèÿ
ÿâëÿþòñÿ ðàçäåëÿåìûå ôàéëû, áóôåð îáìåíà Clipboard,
äîñòóïíûé ïðàêòè÷åñêè âñåì ïðèëîæåíèÿì Windows, è
òåõíîëîãèÿ DDE - äèíàìè÷åñêîãî îáìåíà äàííûìè. Ïîçäíåå ïîÿâèëàñü òåõíîëîãèÿ
ñâÿçûâàíèÿ è âíåäðåíèÿ îáúåêòîâ (Object Linking and Embedding)
-OLE, ïîçâîëÿâøàÿ ðàçíûì ïðîãðàììàì ïðåäîñòàâëÿòü äðóã äðóãó ñâîè ôóíêöèè.
Ïîëüçóÿñü ýòîé òåõíîëîãèåé, îäíî ïðèëîæåíèå ìîæåò íå ïðîñòî âûçâàòü äðóãîå, íî
è îáðàòèòüñÿ ê îòäåëüíûì åãî ôóíêöèÿì, ò.å. óïðàâëÿòü èì. Ñëåäóþùèé øàã íà ïóòè
ñîâåðøåíñòâîâàíèÿ ñïîñîáîâ âçàèìîäåéñòâèÿ - ýòî ðàçðàáîòêà COM (Component Object Model) - êîìïîíåíòíîé ìîäåëè îáúåêòîâ. Ñòàíäàðòèçîâàííîå
îïèñàíèå ôóíêöèé ïðîãðàììû, ê êîòîðûì îíà äàåò äîñòóï äðóãèì ïðîãðàììàì.
Íåâàæíî, íà êàêèõ ÿçûêàõ íàïèñàíû ïðîãðàììû è ãäå îíè âûïîëíÿþòñÿ: â îäíîì
ïîòîêå, â ðàçíûõ ïîòîêàõ, íà ðàçíûõ êîìïüþòåðàõ. Ðàñøèðÿåò ýòè âîçìîæíîñòè
ðàñïðåäåëåííàÿ ìîäèôèêàöèÿ ÑÎÌ - DCOM.
Îñíîâà òåõíîëîãèè ÑÎÌ - ïîíÿòèå èíòåðôåéñà. Êàæäûé îáúåêò ÑÎÌ èìååò
íåñêîëüêî èíòåðôåéñîâ, äàþùèõ äîñòóï ê åãî ôóíêöèÿì. Êëèåíòó ïåðåäàåòñÿ
óêàçàòåëü íà òðåáóåìûé åìó èíòåðôåéñ, ïîñëå ÷åãî êëèåíòñêîå ïðèëîæåíèå ìîæåò
âûçûâàòü îïèñàííûå â èíòåðôåéñå ôóíêöèè.
Íà îñíîâå ñïåöèôèêàöèé ÑÎÌ è DCOM
ðàçðàáîòàí ðÿä ñîâðåìåííûõ òåõíîëîãèé, ê êîòîðûì èìåþò äîñòóï ïðèëîæåíèÿ C++Builder. Åùå îäíî áóðíî ðàçâèâàþùèéñÿ ñïîñîá îáùåíèÿ
ïðèëîæåíèé - èñïîëüçîâàíèè Èíòåðíåò. Â Èíòåðíåò ìîãóò
ðàçìåùàòüñÿ è áàçû äàííûõ, è ñåðâåðû, ñ êîòîðûìè îáùàåòñÿ ïðèëîæåíèå
ïîëüçîâàòåëÿ.
5. Ðàñïðåäåëåííûå
ìíîãîçâåííûå ïðèëîæåíèÿ
Ñïåöèôèêàöèÿ DCOM è ñîçäàííûå íà åå
îñíîâå òåõíîëîãèè ïîçâîëèëè ïåðåéòè ê íîâîìó ýòàïó ïîñòðîåíèÿ ñèñòåì -
ðàñïðåäåëåííûì ìíîãîçâåííûì ïðèëîæåíèÿì. Ïðåäøåñòâåííèêîì èõ ÿâèëàñü ïëàòôîðìà
êëèåíò/ñåðâåð: íà âåðõíåì óðîâíå - óäàëåííûé ñåðâåð áàçû äàííûõ è îñóùåñòâëÿåò
óïðàâëåíèå åþ; íà íèæíåì óðîâíå - êëèåíòñêèå ïðèëîæåíèÿ, ðàáîòàþùèå ñ ýòèìè
äàííûìè, êëèåíòû, êîòîðûå ðåàëèçóþò áèçíåñ-ëîãèêó - ïðàâèëà ìàíèïóëèðîâàíèÿ ñ
äàííûìè, ïðîâåðêè èõ íåïðîòèâîðå÷èâîñòè è äîñòîâåðíîñòè. Âïðî÷åì, â ñèñòåìàõ
êëèåíò/ñåðâåð èìååòñÿ âîçìîæíîñòü ÷àñòè÷íî ïåðåíåñòè áèçíåñ-ëîãèêó íà ñåðâåð ñ
ïîìîùüþ õðàíèìûõ íà ñåðâåðå ïðîöåäóð. Êëèåíòû ìîãóò âûçûâàòü ýòè ïðîöåäóðû ñî
ñâîèõ êîìïüþòåðîâ è ïðîñìàòðèâàòü ïîëó÷åííûå îòâåòû. Òåõíîëîãèÿ êëèåíò/ñåðâåð
óäîâëåòâîðèòåëüíî îáñëóæèâàåò ñèñòåìû óðîâíÿ îòäåëüíûõ ïîäðàçäåëåíèé íåêîòîðîãî
ïðåäïðèÿòèÿ. Äëÿ êðóïíûõ ñèñòåì óðîâíÿ ïðåäïðèÿòèÿ îðãàíèçàöèÿ êëèåíò/ñåðâåð
ñòàëêèâàåòñÿ ñ ðÿäîì ñëîæíîñòåé. Ðàçìåùåíèå áèçíåñ-ëîãèêè â îñíîâíîì íà êîìïüþòåðàõ êëèåíòîâ
ìåøàåò ñîçäàíèþ åäèíîé ñèñòåìû ñ åäèíûìè ïðàâèëàìè îáðàáîòêè è ïðåäñòàâëåíèÿ
äàííûõ. Ìíîãî ñèë óõîäèò íà ñîãëàñîâàíèå ðàáîòû ðàçëè÷íûõ êëèåíòñêèõ
ïðèëîæåíèé, íà ïîñòðîåíèå ìîñòîâ ìåæäó íèìè, íà óñòðàíåíèå äóáëèðîâàíèÿ îäíèõ è
òåõ æå ôóíêöèé ðàçëè÷íûìè ïðèëîæåíèÿìè.
Âûõîä ïîëîæåíèÿ - êîíöåïöèÿ
ìíîãîçâåííûõ ðàñïðåäåëåííûõ ïðèëîæåíèé.
×àùå âñåãî èñïîëüçóåòñÿ òðåõçâåííàÿ
àðõèòåêòóðà.Íà âåðõíåì
óðîâíå ðàñïîëîæåí óäàëåííûé ñåðâåð áàç äàííûõ. Îáåñïå÷èâàåò õðàíåíèå è
óïðàâëåíèå äàííûìè. Íà ñðåäíåì óðîâíå ðàñïîëàãàåòñÿ ñåðâåð ïðèëîæåíèè.
Îáåñïå÷èâàåò ñîåäèíåíèå êëèåíòîâ ñ ñåðâåðîì ÁÄ è ðåàëèçóåò áèçíåñ-ëîãèêó. Íà
íèæíåì óðîâíå íàõîäÿòñÿ êëèåíòñêèå ïðèëîæåíèÿ.  ðÿäå ñëó÷àåâ ýòî ìîãóò áûòü
êëèåíòû, îáåñïå÷èâàþùèå òîëüêî ïîëüçîâàòåëüñêèé èíòåðôåéñ, ïîñêîëüêó âñÿ
áèçíåñ-ëîãèêà ìîæåò ðàñïîëàãàòüñÿ íà ñåðâåðå ïðèëîæåíèé.
Ïîëüçîâàòåëü çàïóñêàåò êëèåíòñêîå ïðèëîæåíèå. Îíî ñîåäèíÿåòñÿ ñ
äîñòóïíûì åìó ñåðâåðîì ïðèëîæåíèé. Çàòåì êëèåíò çàïðàøèâàåò
êàêèå-òî äàííûå. Ýòîò çàïðîñ óïàêîâûâàåòñÿ â ïàêåò óñòàíîâëåííîãî
ôîðìàòà è ïåðåäàåòñÿ ñåðâåðó ïðèëîæåíèé. Ñåðâåð ïðèëîæåíèé ðàñøèôðîâûâàåò
ïàêåò è ïåðåäàåò ñåðâåðó ÁÄ, êîòîðûé âîçâðàùàåò çàòðåáîâàííûå äàííûå.Ñåðâåð ïðèëîæåíèé îáðàáàòûâàåò ýòè äàííûå
ñîãëàñíî çàëîæåííîé â íåãî áèçíåñ-ëîãèêå, óïàêîâûâàåò
è ïåðåäàåò ýòîò ïàêåò êëèåíòó. Êëèåíò ðàñïàêîâûâàåò äàííûå è ïîêàçûâàåò
èõ ïîëüçîâàòåëþ. Åñëè ïîëüçîâàòåëü èçìåíèë äàííûå, òî öåïî÷êà èõ
ïåðåäà÷è íà ñåðâåð ÁÄ âûãëÿäèò ñëåäóþùèì îáðàçîì. Êëèåíò óïàêîâûâàåò
èçìåíåííûå äàííûå è îòïðàâëÿåò ïàêåò íà ñåðâåð ïðèëîæåíèé. Ñåðâåð ïðèëîæåíèé
ðàñïàêîâûâàåò èõ è îòïðàâëÿåò íà ñåðâåð ÁÄ. Åñëè âñå èñïðàâëåíèÿ
ìîãóò áûòü áåç îñëîæíåíèé çàíåñåíû â ÁÄ, òî íà ýòîì âñå çàâåðøàåòñÿ. Íî ìîãóò
âîçíèêíóòü îñëîæíåíèÿ: ñäåëàííûå èçìåíåíèÿ ìîãóò ïðîòèâîðå÷èòü
áèçíåñ-ïðàâèëàì èëè èçìåíåíèÿ îäíèõ è òåõ æå äàííûõ
ðàçíûìè ïîëüçîâàòåëÿìè ìîãóò ïðîòèâîðå÷èòü äðóã äðóãó. Òîãäà òå çàïèñè, êîòîðûå
íå ìîãóò áûòü çàíåñåíû â ÁÄ, âîçâðàùàþòñÿ êëèåíòó. Ïîëüçîâàòåëü
ìîæåò èñïðàâèòü èõ èëè îòêàçàòüñÿ îò ñäåëàííûõ èçìåíåíèé.
Äëÿ îáìåíà èíôîðìàöèåé ñåðâåðà
ïðèëîæåíèé ñ êëèåíòàìè è ñåðâåðàìè ÁÄ ðàçðàáîòàíû ðàçëè÷íûå ïðîòîêîëû è
ñðåäñòâà: DCOM, CORBA, MIDAS, MTS, OLEnterprise,
J2EE, TCP/IP, HTTP, XML. Ýòè òåõíîëîãèè ìîãóò èñïîëüçîâàòüñÿ â ðàçëè÷íûõ
âèäàõ ðàñïðåäåëåííûõ ïðèëîæåíèé, ðàáîòàþùèõ ñ áàçàìè äàííûõ.
 íàñòîÿùèé ìîìåíò îñíîâíîé óïîð
ïðè ðàçðàáîòêå ðàñïðåäåëåííûõ ïðèëîæåíèé äåëàåòñÿ íà èñïîëüçîâàíèå
Èíòåðíåò, êîðïîðàòèâíûõ ñåòåé, îñíîâàííûõ íà òåõ æå ïðîòîêîëàõ, ÷òî è
Èíòåðíåò, à òàêæå òåõíîëîãèè Web. Ãëîáàëüíîñòü
Èíòåðíåò äåëàåò ýòó ñåòü íåçàìåíèìîé ïðè ñîçäàíèè ìíîãîïîëüçîâàòåëüñêèõ
ðàñïðåäåëåííûõ ïðèëîæåíèé.
6.Ïåðåíîñèìîñòü äàííûõ
è ïðîãðàìì
Îäíà èç âàæíåéøèõ ïðîáëåì, ðåøàåìûõ
â íàñòîÿùåå âðåìÿ, - ïåðåíîñèìîñòü ïðîãðàìì è äàííûõ ìåæäó ïëàòôîðìàìè. Ïåðåíîñèìîñòü
ïðèëîæåíèé ìåæäó ðàçíûìè àïïàðàòíûìè ïëàòôîðìàìè íà óðîâíå èñõîäíûõ
êîäîâ äàâíî ðåøåíà âî ìíîãèõ ÿçûêàõ ïðîãðàììèðîâàíèÿ. Òðåáóåòñÿ áîëüøåå - ïåðåíîñèìîñòü
íà óðîâíå èñïîëíÿåìûõ êîäîâ, ò.å. íàäî, ÷òîáû îäíà è òà æå ïðîãðàììà áåç
äîïîëíèòåëüíîé ïåðåêîìïèëÿöèè ìîãëà âûïîëíÿòüñÿ ïîä óïðàâëåíèåì Windows, Sun Solaris,
IBM AIX è ò.ï. Ýòà çàäà÷à ðåøàåòñÿ ñðåäñòâàìè Java
- ÿçûêà ïðîãðàììèðîâàíèÿ. Ðåàëèçàöèÿ áàéò-êîäà è âèðòóàëüíûõ ìàøèí äëÿ
åãî âûïîëíåíèÿ íà ñîâðåìåííûõ àïïàðàòíûõ ïëàòôîðìàõ îáåñïå÷èâàåò äëÿ ìíîãèõ
ïðèëîæåíèé äîñòàòî÷íóþ ýôôåêòèâíîñòü âûïîëíåíèÿ.
Íàðÿäó ñ ïîòðåáíîñòÿìè
ïåðåíîñèìîñòè ïðîãðàìì èìååòñÿ áîëåå íàñóùíàÿ ïîòðåáíîñòü ïåðåíîñèìîñòè
äàííûõ. Ðåøàþùèì øàãîì íà ïóòè ðåøåíèÿ ýòîé ïðîáëåìû ñòàë HTML -
îñíîâà ïîñòðîåíèÿ äîêóìåíòîâ Web. Ñî âðåìåíåì
â íåãî âíîñèëîñü ìíîæåñòâî äîïîëíåíèé, è â èòîãå îí ïîòåðÿë ñâîþ ñòðîéíîñòü,
öåëîñòíîñòü è ãëàâíîå - ïåðåíîñèìîñòü. Äàëüíåéøåå ðàçâèòèå – ñîçäàíèå XML (Extensible Markup Language) - ðàñøèðÿåìîãî ÿçûêà ðàçìåòêè ãèïåðòåêñòîâ. Ýòî ñðåäñòâî
ðàçðàáîòêè ïîëüçîâàòåëåì ñâîèõ ñîáñòâåííûõ ÿçûêîâ îïèñàíèÿ ãèïåðòåêñòîâûõ
äîêóìåíòîâ. Ñîçäàííûé ñ ïîìîùüþ XML ÿçûê ðàçìåòêè ìîæåò îòðàæàòü ñïåöèôè÷åñêèå
ïîòðåáíîñòè êîíêðåòíîé ôèðìû èëè ïîëüçîâàòåëÿ. Ïîñëå ñâîåãî îïèñàíèÿ, òàêîé
ñïåöèàëèçèðîâàííûé ÿçûê ìîæåò èñïîëüçîâàòüñÿ, íàðÿäó ñ HTML, äëÿ îïèñàíèÿ ñàìûõ
ðàçëè÷íûõ äîêóìåíòîâ. XML îáåñïå÷èâàåò íå òîëüêî âîçìîæíîñòè ñîçäàíèÿ
ïåðåíîñèìûõ äîêóìåíòîâ, íî è óíèâåðñàëüíûé ñïîñîá îáìåíà ñîîáùåíèÿìè ìåæäó
ïðèëîæåíèÿìè.Íà
îñíîâå XML ðàçðàáîòàíû òàêèå øèðîêî èñïîëüçóåìûå ïðîòîêîëû, êàê
SOAP, UDDI, WSDL, ebXML è ðÿä äðóãèõ. ßçûê Java îêàçàëñÿ ïðåêðàñíûì ñðåäñòâîì ðàáîòû ñ äîêóìåíòàìè
XML. Ñî÷åòàíèå Java è XML ÿâëÿåòñÿ
îñíîâîé ñîçäàíèÿ ïåðåíîñèìûõ ïðèëîæåíèé è äàííûõ.
Íîâîå íàïðàâëåíèå - Web Services -
ñåòåâûå ñëóæáû.
Web
Services - ýòî íîâûé êîìïëåêñíûé ïîäõîä ê
âçàèìîäåéñòâèþ ïðèëîæåíèé. Îñíîâàí íà
ïðîòîêîëàõ, ñòàíäàðòàõ è ÿçûêàõ, ðàçðàáîòàííûõ íà îñíîâå XML. Âåðõíèé
óðîâåíü îáñëóæèâàåòñÿ ÿçûêîì WSFL - Web Services Flow Language.
Íà ýòîì ÿçûêå ñîñòàâëÿåòñÿ îïèñàíèå êàæäîé íîâîé ñëóæáû Web. Ñîçäàííàÿ ñëóæáà ôèêñèðóåòñÿ â íåêîåì ðååñòðå,
ïîñòðîåííîì ïî ïðîòîêîëó UDDI - Universal Description, Discovery & Integration. Ýòîò ïðîòîêîë ïîçâîëÿåò àâòîðàì
ïóáëèêîâàòü è ðåäàêòèðîâàòü ñâîè ñëóæáû. Ñëåäóþùèé óðîâåíü - WSDL (Web Services Description Language). Íà ýòîì ÿçûêå
ðàçðàáîò÷èê íîâîé ñëóæáû îïèñûâàåò ïîñûëàåìûå è ïîëó÷àåìûå ñîîáùåíèÿ.Ýòè îïèñàíèÿ ñîäåðæàò ñïåöèôèêàöèè íàáîðà
îïåðàöèé, íåîáõîäèìûõ äëÿ âûçîâà ñëóæáû, è ïåðåäàâàåìûõ ïàðàìåòðîâ.
Ïîëüçîâàòåëü, â ñîîòâåòñòâèè ñ îïèñàíèåì äàííîé ñëóæáû íà WSDL, ìîæåò ñîçäàâàòü
àäðåñîâàííûå ñëóæáå ñîîáùåíèÿ, ïîñòðîåííûå íà îñíîâå ñòàíäàðòà SOAP -Simple Object Access
Protocol.Ïîëó÷èâ ñîîáùåíèå íà SOAP, ñëóæáà ðàñøèôðîâûâàåò
åãî, âûïîëíÿåò è ïîñûëàåò ïîëüçîâàòåëþ ðåçóëüòàòû â òîì æå ñòàíäàðòå SOAP.
Ðàñïðåäåëåííûå ïðèëîæåíèÿ,
ïîñòðîåííûå ñ èñïîëüçîâàíèåì ñîâðåìåííûõ òåõíîëîãèé Web
Services, îáåñïå÷èâàþò èíòåãðàöèþ ïðèëîæåíèé
ðàçëè÷íûõ ó÷àñòíèêîâ åäèíîãî áèçíåñ-ïðîöåññà.
Ïîäîáíàÿ èíòåãðàöèÿ íàçûâàåòñÿ
ïðèëîæåíèÿìè business-to-business èëè Â2Â.
Íàïðèìåð, èìååòñÿ êîìïàíèÿ, ïðîèçâîäÿùàÿ íåêîòîðûé ïðîäóêò, êîìïàíèè,
ÿâëÿþùèåñÿ åå ïîñòàâùèêàìè è êîìïàíèè-êëèåíòû. Âñå ýòè êîìïàíèè èìåþò ñâîè
èíôîðìàöèîííûå ñèñòåìû, ñâîè áàçû äàííûõ, ñâîè áèçíåñ-ïðàâèëà. Äëÿ îðãàíèçàöèè
ýôôåêòèâíîé ñîâìåñòíîé ðàáîòû íåîáõîäèìî èíòåãðèðîâàòü ïðèëîæåíèÿ
ðàçëè÷íûõ êîìïàíèé â åäèíóþ ñèñòåìó. Èìåííî òàêóþ èíòåãðàöèþ ïðèçâàíû
îñóùåñòâëÿòü ñåòåâûå ñëóæáû Web Services. Îäíà èç ðåàëèçàöèé ñåòåâûõ ñëóæá -
ïëàòôîðìà .NET ôèðìû Microsoft. Ðåàëèçóåòñÿ
.NET íà íîâîì ÿçûêå Ñ#, ïîõîæ íà Java,
íî ñîäåðæèò ìåõàíèçìû, ñïåöèôè÷åñêèå äëÿ ñèñòåì ÎÎÏ, òàêèõ, êàê Delphi, C++Builder è ò.ï. Âåðøèíà
ïëàòôîðìû .NET - ýòî ñëóæáû Web, ïîïîëíÿåìûé íàáîð ñëóæá, ïðåäíàçíà÷åííûõ äëÿ
ýëåêòðîííîé êîììåðöèè è äëÿ ïðèëîæåíèé êëàññà B2B. Íèæå ðàñïîëîæåí
óðîâåíü îáîëî÷åê è áèáëèîòåê, íàèáîëåå èíòåðåñíûé äëÿ ïîëüçîâàòåëåé.  íåãî
âõîäÿò ASP.NET - àêòèâíûå ñåðâåðíûå ñòðàíèöû, ADO.NET -ìîäèôèêàöèÿ òåõíîëîãèè
ADO äëÿ áàç äàííûõ, Windows Forms
äëÿ ðàáîòû ñ ãðàôèêîé.  êà÷åñòâå ñòàíäàðòîâ îáìåíà èñïîëüçóþòñÿ SOAP è WSDL. Visual Studio.Net - ñðåäà ðàçðàáîòêè,
ïîçâîëÿþùàÿ ñîçäàâàòü è îòëàæèâàòü ïðîãðàììû. Ïîääåðæèâàåò ÿçûêè Visual C++, Visual Basic, C# è ïîçâîëÿåò ñòîðîííèì ôèðìàì ïîäêëþ÷àòü ñâîè
èíñòðóìåíòàëüíûå ñðåäñòâà è êîìïèëÿòîðû ðàçëè÷íûõ ÿçûêîâ. Ïëàòôîðìà .NET èñïîëüçóåò
íîâóþ êîìïîíåíòíóþ ìîäåëü - ñîáñòâåííûå ðàçðàáîòêè COM, CORBA -
ðàçðàáîòêè Object Management
Group è J2EE - ðàçðàáîòêè Sun.
Ñ ïîìîùüþ .NET ñîçäàåòñÿ ñáîðî÷íûé ìîäóëü, ñîäåðæàùèé êëàññû è
îïèñàíèå èíòåðôåéñà.  ýòîì îäíî èç ñóùåñòâåííûõ îòëè÷èé îò
ìîäåëåé ÑÎÌ è CORBA. Ñáîðî÷íûé ìîäóëü .NET ñîäåðæèò â ñåáå âñþ
íåîáõîäèìóþ èíôîðìàöèþ è íå òðåáóåò äîïîëíèòåëüíûõ îïèñàíèé. Îñíîâíûì äîñòîèíñòâîì
íîâîé ìîäåëè - åå ïðîñòîòà. Ðàçâèòèå ñëóæá Web
ïîçâîëèò ëèêâèäèðîâàòü ðàçðûâ, ñóùåñòâóþùèé â íàñòîÿùåå âðåìÿ ìåæäó ðàçðàáîòêîé
ïðîãðàìì äëÿ Windows è ñîçäàíèåì ñàéòîâ Web. Ñòðàíèöû Web ñòàíóò
ïðîãðàììàìè, è â òî æå âðåìÿ ïðîãðàììà äëÿ Windows ëåãêî
ñìîæåò ñòàòü ñòðàíèöåé Web. Ñóùåñòâåííî è òî, ÷òî
ñòðàíèöû Web ñòàíîâÿòñÿ íå ïðîñòî èíòåðôåéñîì ìåæäó
ïðîãðàììîé è ïîëüçîâàòåëåì, íî è èíòåðôåéñîì API, ò.å. èíòåðôåéñîì ìåæäó
ïðîãðàììíûìè ìîäóëÿìè.