Òåìà: C++ Builder è ñîâðåìåííûå èíôîðìàöèîííûå òåõíîëîãèè.

1.Îáúåêòíî-îðèåíòèðîâàííîå ïðîãðàììèðîâàíèå BC++ Builder

2. Îñíîâû âèçóàëüíîãî ïðîãðàììèðîâàíèÿ èíòåðôåéñà

3.Ìåñòî C++Builder 6 â ñåìåéñòâå ïðîãðàììíûõ ïðîäóêòîâ Borland

4.Âçàèìîäåéñòâèå ïðèëîæåíèé â èíôîðìàöèîííûõ ñèñòåìàõ

5.Ðàñïðåäåëåííûå ìíîãîçâåííûå ïðèëîæåíèÿ

6.Ïåðåíîñèìîñòü äàííûõ è ïðîãðàìì

7.Ñåòåâûå ñëóæáû

 

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 ÿâëÿåòñÿ îñíîâîé ñîçäàíèÿ ïåðåíîñèìûõ ïðèëîæåíèé è äàííûõ.

 

7.Ñåòåâûå ñëóæáû

Íîâîå íàïðàâëåíèå - 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, ò.å. èíòåðôåéñîì ìåæäó ïðîãðàììíûìè ìîäóëÿìè.