Ñåðèÿ «Ïðî ÏÊ» Ð. Ð. Ìóõàìåäçÿíîâ JAVA ÑÅÐÂÅÐÍÛÅ ÏÐÈËÎÆÅÍÈß Ìîñêâà ÑÎËÎÍ-Ð 2007 Ìóõàìåäçÿíîâ Ð. Ð. Ì92 JAVA. Ñåðâåðíûå ïðèëîæåíèÿ / Ðàâèëü Ìóõàìåäçÿíîâ. — Ì.: ÑÎËÎÍ-Ð, 2007. 336 ñ. (Ñåðèÿ «Ïðî ÏÊ») ISBN 5-93455-134-5  êíèãå îïèñàíû ïðàêòè÷åñêèå âîïðîñû, ïîñâÿùåííûå ðàáîòå ñ Java-ñåðâåðíû- ìèïðèëîæåíèÿìè,îòíîñÿùèìèñÿêàêêòåõíîëîãèÿìýëåêòðîííîéêîììåðöèè,òàêè ê Web-ïðèëîæåíèÿì. Îïèñàíû ðàáîòà ñ ñåðâëåòàìè, ðàñïðåäåëåííûå êîìïîíåòû EJB.ÓäåëåíîâíèìàíèåïðèåìàìðàáîòûñáàçàìèäàííûõïðèïîìîùèJava. Ïðåäíàçíà÷åíàäëÿñèñòåìíûõàðõèòåêòîðîâ,áèçíåñ-àíàëèòèêîâ,ïðîãðàììèñòîâ èñòóäåíòîâ,èçó÷àþùèõïðîãðàììèðîâàíèå. Êíèãè èçäàòåëüñòâà «ÑÎËÎÍ-Ïðåññ» ìîæíî çàêàçàòü íàëîæåííûì ïëà- òåæîì ïî ôèêñèðîâàííîé öåíå. Îôîðìèòü çàêàç ìîæíî îäíèì èç äâóõ ñïî- ñîáîâ: 1. ïîñëàòü îòêðûòêó èëè ïèñüìî ïî àäðåñó: 123001, Ìîñêâà, à/ÿ 82; 2. ïåðåäàòü çàêàç ïî ýëåêòðîííîé ïî÷òå íà àäðåñ: [email protected]. Ïðè îôîðìëåíèè çàêàçà ñëåäóåò ïðàâèëüíî è ïîëíîñòüþ óêàçàòü àäðåñ, ïî êîòîðîìó äîëæíû áûòü âûñëàíû êíèãè, à òàêæå ôàìèëèþ, èìÿ è îò÷åñò- âî ïîëó÷àòåëÿ. Æåëàòåëüíî óêàçàòü äîïîëíèòåëüíî ñâîé òåëåôîí è àäðåñ ýëåêòðîííîé ïî÷òû. ×åðåç Èíòåðíåò Âû ìîæåòå â ëþáîå âðåìÿ ïîëó÷èòü ñâåæèé êàòàëîã èç- äàòåëüñòâà «ÑÎËÎÍ-Ïðåññ». Äëÿ ýòîãî íàäî ïîñëàòü ïóñòîå ïèñüìî íà ðî- áîò-àâòîîòâåò÷èê ïî àäðåñó: [email protected]. Ïîëó÷àòü èíôîðìàöèþ î íîâûõ êíèãàõ íàøåãî èçäàòåëüñòâà Âû ñìîæå- òå, ïîäïèñàâøèñü íà ðàññûëêó íîâîñòåé ïî ýëåêòðîííîé ïî÷òå. Äëÿ ýòîãî ïîøëèòå ïèñüìî ïî àäðåñó: [email protected].  òåëå ïèñüìà äîëæíî áûòü íàïèñàíî ñëîâî SUBSCRIBE. ISBN 5-93455-134-5 © Ìàêåò è îáëîæêà ÑÎËÎÍ-Ð, 2007 © Ð. Ð. Ìóõàìåäçÿíîâ Ïîñâÿùàåòñÿ Ïàâëîâîé Ìàðèíå Âèêòîðîâíå — êðàñèâîé æåíùèíå è ìóäðîìó ÷åëîâåêó ÂÂÅÄÅÍÈÅ Êîíåö XX âåêà ìîæíî â ïîëíîé ìåðå íàçâàòü íà÷àëîì âåêà èíôîðìà- òèçàöèè. Áóðíîå ðàçâèòèå ñîâðåìåííûõ èíôîðìàöèîííûõ òåõíîëîãèé ïðèâåëî ê çíà÷èòåëüíîìó ðîñòó ðîëè èíôîðìàöèîííûõ ñèñòåì êàê â äåëîâîé ïðàêòèêå, òàê è â ïóáëè÷íîé æèçíè ÷åëîâåêà. Îäíèì èç ýòàïîâ íîâîé ýïîõè ìîæíî íàçâàòü Java-«ïåðèîä»: — âðåìÿ ðàçâèòèÿ ÿçûêà ïðîãðàììèðîâàíèÿ Java, ðàçðàáîòàííîãî êîìïàíèåé SUN.  äàííûé ìîìåíò Java ïåðåæèâàåò ñâîé ðàñöâåò íå ñòîëüêî êàê ÿçûê ïðîãðàììèðîâàíèÿ, ñêîëüêî êàê ïîëíîñòüþ ñôîðìèðîâàâøàÿñÿ òåõíîëîãèÿ ïðîèçâîäñòâà äîáðîêà÷åñòâåííîãî ïðîãðàììíîãî ïðîäóêòà. Øèðîêîå ðàñïðîñòðàíåíèå ó ïðîãðàììèñòîâ òàêèõ ÿçûêîâ, êàê Ñ, à â áîëüøåé ñòåïåíè C++, ïðèâåëà Java ê âåðøèíàì ïîïóëÿðíîñòè èñïîëü- çîâàíèÿ â ðàçëè÷íûõ ïðèëîæåíèÿõ. Èìåÿ îáúåêòíî-îðèåíòèðîâàííóþ àðõèòåêòóðó è C++ ïîäîáíûé ñèíòàêñèñ, ïðîãðàììèñò, çíàþùèé Ñ++, ìîæåò ëåãêî ïåðåéòè íà èñïîëüçîâàíèå ÿçûêà Java. Ðàçâèòèå Èíòåðíå- òà äàëî Java ñ åå ïðåêðàñíûìè ñåòåâûìè âîçìîæíîñòÿìè åùå îäèí ïëþñ ïåðåä èñïîëüçîâàíèåì êëàññè÷åñêèõ ÿçûêîâ ïðîãðàììèðîâàíèÿ. Áåç ïðåóâåëè÷åíèÿ ìîæíî ñêàçàòü: ÷òî íà íàñòîÿùèé ìîìåíò ÿçûê Java — ëèäåð â îáëàñòè ñîçäàíèÿ ðàñïðåäåëåííûõ ïðèëîæåíèé, ò.å. èñ- ïîëüçóåìûõ â ñåòåâûõ ñòðóêòóðàõ, òàêèõ êàê Èíòåðíåò. Äëÿ êîãî ïðåäíàçíà÷åíà ýòà êíèãà Îñíîâíûìè ÷èòàòåëÿìè äàííîé êíèãè ÿâëÿþòñÿ ñèñòåìíûå àðõèòåê- òîðû, ïðîãðàììèñòû è áèçíåñ-àíàëèòèêè, ò.å. ëþäè, èìåþùèå íåïîñðåä- ñòâåííîå îòíîøåíèå ê ñîçäàíèþ ïðîãðàììíûõ ïðîäóêòîâ äëÿ âíåøíèõ ïîëüçîâàòåëåé. Ãëàâíàÿ çàäà÷à êíèãè — ïîêàçàòü âñåì çàèíòåðåñîâàííûì ñòîðîíàì âîçìîæíîñòè èñïîëüçîâàíèÿ ÿçûêà ïðîãðàììèðîâàíèÿ Java ïðè ñîçäà- íèè Web-ïðèëîæåíèé. Âñå ýòî ãîâîðèò î òîì, ÷òî ÷èòàòåëü ïî êðàéíåé ìåðå, äîëæåí áûòü çíàêîì íå òîëüêî ñî ñòðóêòóðîé Web-ïðèëîæåíèé è èõ ðîëüþ â èíôîð- ìàöèîííûõ ñèñòåìàõ, íî è æåëàòåëüíî ñ òàêèìè ïîíÿòèÿìè, êàê ñåðâåð ïðèëîæåíèé, ñåðâåð áàçû äàííûõ, HTTP-ñåðâåð, HTML-ñòðàíèöà. Êî- íå÷íî æå âàæíî òàêæå çíàíèå ñèíòàêñèñà ñàìîãî ÿçûêà Java, ïîñêîëüêó äàííàÿ êíèãà íå ÿâëÿåòñÿ ó÷åáíûì ïîñîáèåì ïî ïðîãðàììèðîâàíèþ íà äàííîì ÿçûêå, à â áîëüøåé ñòåïåíè ÿâëÿåòñÿ ñïðàâî÷íûì ðóêîâîäñòâîì ïî èñïîëüçîâàíèþ ðàçëè÷íûõ àñïåêòîâ Java-ïðîãðàììèðîâàíèÿ. 4 Ââåäåíèå Îñíîâíàÿ ÷àñòü êíèãè ïîñâÿùåíà îïèñàíèþ API, ðàñïðîñòðàíÿåìîìó ôèðìîé SUN Microsystem êàê äîïîëíåíèÿ ê îñíîâíîìó Java API, èçâå- ñòíîìó êàê J2EE (Java 2 Enterprise Edition). Ïðîãðàììèñòàì äàííàÿ êíèãà áóäåò ïîëåçíà â áîëüøåé ñòåïåíè êàê ñïðàâî÷íèê ïî ðàçëè÷íûì ñïîñîáàì èñïîëüçîâàíèÿ Java â ïîâñåäíåâíîé äåÿòåëüíîñòè. Ñèñòåìíûå àðõèòåêòîðû áëàãîäàðÿ äàííîé êíèãå ñìîãóò íàéòè áîëåå âûãîäíîå ðå- øåíèå èñïîëüçîâàíèÿ ÿçûêà Java. Äëÿ áèçíåñ-àíàëèòèêîâ äàííàÿ êíèãà èíòåðåñíà êàê îäíî èç ïðåäïîëàãàåìûõ ðåøåíèé ïåðåíîñà áèçíåñ-ïðî- öåññîâ â ýëåêòðîííóþ ñôåðó ñ ïîìîùüþ ðàçëè÷íûõ Java-òåõíîëîãèé. Ñîäåðæàíèå êíèãè Ñîäåðæàíèå êíèãè îñíîâûâàåòñÿ íà ñâîáîäíî ðàñïðîñòðàíÿåìûõ ñïå- öèôèêàöèÿõ êîìïàíèè SUN, ïîñòàâëÿåìûõ êàê íàáîð API äëÿ ñîçäàíèÿ ïðèëîæåíèé óðîâíÿ ïðåäïðèÿòèÿ — J2EE. Êíèãà íå ÿâëÿåòñÿ ñïðàâî÷íèêîì, à òàêæå íå ïðåòåíäóåò íà ðîëü ó÷åáíèêà ïî ñîçäàíèþ e-commerñe ïðèëîæåíèè.  êíèãå ïðåäñòàâëåíî êðàòêîå îïèñàíèå îñíîâíûõ ñïîñîáîâ ñîçäàíèÿ Web-ïðîãðàìì, íå òîëüêî e-commerñe, ñ èñïîëüçîâàíèåì íîâåéøèõ ñðåäñòâ, îñíîâàííûõ íà Java. Êíèãà òàêæå íå ÿâëÿåòñÿ ïîëíûì îïèñàíèåì âñåõ âîçìîæíûõ ñðåäñòâ ñîçäàíèÿ Web-ïðèëîæåíèé. Íåêîòîðûå øèðîêî ðåêëàìèðóåìûå òåõíî- ëîãèè, èñïîëüçóåìûå â J2EE, òàêèå, êàê Java Message Service (JMS) è Java Transaction Service (JTS) è ïðî÷èå, íå áóäóò ðàññìàòðèâàòüñÿ â äàííîì îáçîðå. Íî îñîáîå âíèìàíèå áóäåò óäåëåíî ÷àñòî èñïîëüçóåìûì ñðåäñòâàì JSP, E3D è servlet, â ðîññèéñêîé ãëóáèíêå. Êðîìå òîãî, áóäóò ðàññìîòðåíû íå âñå Java-êîìïîíåíòû, èñïîëüçóåìûå â Web, à òîëüêî ñåðâåðíûå ðåøåíèÿ. Êñîæàëåíèþ,äàííàÿêíèãàíåÿâëÿåòñÿâäîñòàòî÷íîéìåðåïîëíîéïî âñåì òåõíîëîãèÿì Java. Òîëüêî ïîëíûé íàáîð API J2EE êîìïàíèè SUN ñîäåðæèò îêîëî 7 ìåãàáàéòîâ èíôîðìàöèè. ×òî òîãäà ãîâîðèòü î äðóãèõ íàáîðàõ è èíñòðóìåíòàõ? Òàêæå çäåñü íå áóäóò ðàññìàòðèâàòüñÿ ïàðàë- ëåëüíûå òåõíîëîãèè ñîçäàíèÿ Internet — Intranet-ïðîãðàìì, ðàñïðî- ñòðàíÿåìûõ äðóãèìè ïðîèçâîäèòåëÿìè ïðîãðàììíîãî îáåñïå÷åíèÿ. Âûáîð ïàë íà íàèáîëåå ÷àñòî èñïîëüçóåìûå â ïîâñåäíåâíîé ïðàêòèêå ñîçäàíèÿ ñåðâåðíûõ ïðèëîæåíèé Java-òåõíîëîãèè. ×àñòü èç íèõ ïîñòàâëÿ- åòñÿ â íàáîðå API J2EE, äðóãèå ðàñïðîñòðàíÿþòñÿ ïî ñîáñòâåííûì êàíà- ëàì JSP, E3D, servlet. Êíèãà ñîñòîèò èç øåñòè ÷àñòåé, îäíà èç êîòîðûõ ïîñâÿùåíà îáùèì êîíöåïöèÿì e-commerñe, îñòàëüíûå îïèñûâàþò ïðèìåíåíèå ÿçûêà ïðî- ãðàììèðîâàíèÿ Java ïðè ñîçäàíèè ñåðâåðíûõ êîìïîíåíòîâ. ×åòûðå ïðèëîæåíèÿ ñîäåðæàò îïèñàíèå ñîçäàíèÿ Java-ñåðâåðíûõ êîìïîíåíòîâ ïðè ïîìîùè ñðåäñòâ êîìïàíèè IBM. ×àñòü 1. Web-ïðèëîæåíèÿ è e-commerñe ïðèëîæåíèÿ Ïåðâàÿ ÷àñòü ïîñâÿùåíà íåïîñðåäñòâåííî ñîâðåìåííûì òåíäåíöèÿì ðàçâèòèÿ âçàèìîäåéñòâèÿ ìåæäó ðàçëè÷íûìè ó÷àñòíèêàìè áèçíåñ-ïðî- öåññà â ýëåêòðîííîì ìèðå. Îïèñàíû êîìïîíåíòû Web-ïðèëîæåíèé è Ââåäåíèå 5 ðàçëè÷íûå àñïåêòû, èñïîëüçóåìûå â Web-ïðîãðàììèðîâàíèè.  ÷àñòè e-commerñe îïèñàíû îñíîâíûå ïðèíöèïû ñîçäàíèÿ e-ïðèëîæåíèé, áåç íåïîñðåäñòâåííîé ïðèâÿçêè ê ÿçûêó Java.  íåé ðàññìîòðåíû ðàçëè÷- íûå ðåøåíèÿ äëÿ îñíîâíûõ áèçíåñ-ñöåíàðèåâ ýëåêòðîííîé êîììåðöèè. Ðàññìîòðåíû àðõèòåêòóðà ìíîãîóðîâíåâûõ ïðèëîæåíèé è ìåòîäû ïðî- åêòèðîâàíèÿ è ñîçäàíèÿ e-commerñe ïðèëîæåíèÿ äëÿ ðàçëè÷íûõ ïëàò- ôîðì ðàçëè÷íûìè ñðåäñòâàìè.  ïåðâîé ÷àñòè òàêæå îïèñûâàþòñÿ îñíîâíûå òåðìèíû ïî ñîçäàíèþ ïðîãðàììíûõ Web-ïðèëîæåíèé è íàáîð ïðîãðàììíûõ ñðåäñòâ ïî ñîçäàíèþ e-commerñe ïðèëîæåíèé. Ãëàâà 1. Îñíîâíûå êîìïîíåíòû Web-ïðèëîæåíèé. ×èòàòåëü çíàêî- ìèòñÿ ñ òàêèìè ïîíÿòèÿìè, êàê ñåðâåð, êëèåíò, ïðîòîêîëû ïåðåäà÷è è èñòî÷íèêè äàííûõ. Êðàòêîå îïèñàíèå êëþ÷åâûõ ýëåìåíòîâ Web-òåõíî- ëîãèè, ñîäåðæàùååñÿ â äàííîé ãëàâå, ââîäèò ÷èòàòåëÿ â åäèíóþ ñôåðó òåðìèíîëîãèè, ïðèìåíÿåìîé â êíèãå. Ãëàâà 2. Îñíîâíàÿ àðõèòåêòóðà Web-ïðèëîæåíèé. Îïèñûâàåò óðîâ- íåâûå òèïû àðõèòåêòóð Web-ïðèëîæåíèé. Web-àðõèòåêòóðà äëÿ å-com- merñe ïðèëîæåíèé. Êîíñòðóèðîâàíèå ðàçëè÷íûõ òîïîëîãèé ñ ïîìîùüþ êëþ÷åâûõ ýëåìåíòîâ, îïèñàííûõ â ïåðâîé ãëàâå. Îñîáîå âíèìàíèå óäå- ëÿåòñÿ ìíîãîçâåííîé àðõèòåêòóðå. Ââîäÿòñÿ òàêèå ïîíÿòèÿ, êàê e-com- merñe è êëþ÷åâûå ýëåìåíòû, èñïîëüçóåìûå â ïðèëîæåíèÿõ e-commerñe. Ãëàâà 3. Èñïîëüçîâàíèå ÿçûêà ïðîãðàììèðîâàíèÿ Java ïðè ñîçäàíèè e-commerñe ïðèëîæåíèé, îñíîâàííûõ íà Web. Îïèñûâàþòñÿ âñå äîñòóï- íûå íà íàñòîÿùèé ìîìåíò ñïîñîáû ñîçäàíèÿ ñåðâåðíûõ ïðèëîæåíèé íà áàçå ñîâðåìåííîé ïëàòôîðìû êîìïàíèè SUN, J2EE. ×èòàòåëü çíàêîìèò- ñÿ ñ ñåðâåðíûìè êîìïîíåíòàìè, ðåàëèçîâàííûìè íà ÿçûêå Java, òàêèìè, êàê JSP, servlet, EJB, à òàêæå ñ îñíîâíûìè ñïîñîáàìè âçàèìîäåéñòâèÿ áàçàìè äàííûõ JDBC è SQLJ.  äàííîé ãëàâå îïèñûâàþòñÿ îñíîâíûå òè- ïû áèçíåñ-ñöåíàðèåâ B2C, B2B, B2E, íàèáîëåå ÷àñòî èñïîëüçóåìûå â e- commerñe ïðèëîæåíèÿõ è èõ ðåàëèçàöèÿ ñ ïîìîùüþ Java-êîìïîíåíòîâ. Ãëàâà 4. Ðåøåíèÿ ôèðìû IBM äëÿ ñîçäàíèÿ e-commerce ïðèëîæå- íèé. Ðàññìàòðèâàþòñÿ ïðîãðàììíûå ñðåäñòâà ôèðìû IBM, ïðåäíàçíà- ÷åííûå äëÿ ñîçäàíèÿ, ðàçìåùåíèÿ, óïðàâëåíèÿ e-commerñe ïðèëîæå- íèÿìè. HTTP server, WEBSphere Application Server, WEBSphere Studio, VisualAge, DB2, Net.Data. Ðàññìàòðèâàþòñÿ ïðîãðàììíûå ïàêåòû ëè- äåðà â îáëàñòè íå òîëüêî ôèíàíñîâûõ ïðèëîæåíèé, íî è êîíå÷íî æå e-commerñe ïðèëîæåíèé. Êðàòêîå îïèñàíèå ÿâëÿåòñÿ ââåäåíèåì â âîç- ìîæíûå ñïîñîáû ñîçäàíèÿ e-commerñe ïðèëîæåíèé è ðîëü ïðîãðàì- ìíûõ ïðîäóêòîâ êîìïàíèè IBM â ñôåðå ïðîåêòèðîâàíèÿ, ñîçäàíèÿ è îá- ñëóæèâàíèÿ e-commerñe ïðèëîæåíèé. Ãëàâà 5. Ñîçäàíèå e-commerñe ïðèëîæåíèÿ. Îïèñûâàþòñÿ îñíîâíûå áèçíåñ-ñöåíàðèè è îñíîâíûå ýòàïû ïðîåêòèðîâàíèÿ e-commerñe ïðèëî- æåíèÿ. Äàííàÿ ãëàâà ñîäåðæèò îïèñàíèå âñåõ ýòàïîâ ñîçäàíèÿ e-com- merñe ïðèëîæåíèÿ. Ãëàâà 6. Ïðèìåð ñîçäàíèÿ e-commerñe ïðèëîæåíèÿ ïî íàèáîëåå ðàñïðîñòðàíåííîìó ñöåíàðèþ Â2Ñ.  äîñòàòî÷íî îáùèõ ÷åðòàõ îïèñû- âàåòñÿ ñîçäàíèå êîíêðåòíîãî e-commerñe ïðèëîæåíèÿ ïî áèçíåñ-ñöåíà- ðèþ, îïèñûâàþùåìó âçàèìîäåéñòâèå ìåæäó ïîêóïàòåëåì è êîìïàíèåé- ïðîäàâöîì. Îïèñûâàåòñÿ áåçúÿçûêîâîé ïðèìåð ñîçäàíèÿ e-commerñe ïðèëîæåíèÿ. 6 Ââåäåíèå ×àñòü 2. Java Server Page Âòîðàÿ ÷àñòü ïîñâÿùåíà ñîâìåñòíîìó èñïîëüçîâàíèþ ÿçûêà Java è HTML äëÿ ñîçäàíèÿ äèíàìè÷åñêèõ ñòðàíèö â åäèíîì ïðèëîæåíèè. Íî- âàÿ ðîëü ÿçûêà Java êàê ñêðèïòîâîãî ðàñøèðåíèÿ HTML è ðîæäåíèå JSP. Èñïîëüçîâàíèå è ñîçäàíèå Java Server Page (JSP) îïèñàíî âî âòî- ðîé ÷àñòè êíèãè. Îñíîâíûå îáúåêòû JSP è ìåòîäû ðàáîòû ñ íèìè. Îïè- ñûâàþòñÿ ñïîñîáû ñîâìåñòíîãî èñïîëüçîâàíèÿ Java è XML, à òàêæå îá- ðàáîòêà HTML-ôîðì. Îïèñàíî èñïîëüçîâàíèå îñíîâíûõ êîìïîíåíòîâ, ïðèìåíÿåìûõ â Java Server Page, òàêèõ, êàê JSP-òåãè, ñêðèïòîâûå âñòàâêè êîäà, JavaBean. Ðàññìàòðèâàåòñÿ ñîçäàíèå ïîëüçîâàòåëüñêèõ òåãîâ, ïðåäíàçíà÷åííûõ äëÿ ðåøåíèÿ íåñòàíäàðòíûõ çàäà÷. Ãëàâà 7. Îñíîâíûå êëàññû SUN ïî ñîçäàíèþ JSP. Ãëàâà ñîäåðæèò îïèñàíèå îñíîâíûõ êëàññîâ ïî ñîçäàíèþ JSP ñðåäñòâàìè ÿçûêà Java. Ãëàâà 8. Êàê ðàáîòàåò JSP. Ãëàâà ñîäåðæèò èñ÷åðïûâàþùóþ èíôîð- ìàöèþ î ðàáîòå JSP. Ãëàâà 9. Âûçîâ JSP. Îïèñûâàþòñÿ ñïîñîáû äîñòóïà ê JSP. Ãëàâà 10. JSP-êîíñòðóêöèè: ñêðèïëåòû è ñïåöèàëüíûå òåãè. Ïîñëå çíàêîìñòâà ñ JSP è òåì, êàê ðàáîòàþò JSP â Web-ïðèëîæåíèÿõ, äàííàÿ ãëàâà çíàêîìèò ÷èòàòåëÿ ñ îñíîâíûìè ýëåìåíòàìè, èñïîëüçóåìûìè â JSP. Çäåñü îïèñûâàþòñÿ äèðåêòèâû äëÿ JSP êîìïèëÿòîðà è âûðàæåíèÿ, èñïîëüçóåìûå â JSP-ñòðàíèöàõ. Ãëàâà 11. JSP-òåãè. Îñíîâíûå òåãè, èñïîëüçóåìûå â JSP ïðåäíàçíà÷å- íû äëÿ ðàáîòû ñ JavaBean, óñòàíîâêè è ïîëó÷åíèÿ ñâîéñòâ JavaBean-òåã ïåðåíàïðàâëåíèÿ çàïðîñà <jsp:forward> è <jsp:include> è òåã íàäñòðîåê. Ãëàâà12.ÊîììåíòàðèèâJSP.Êàêèçà÷åìèñïîëüçîâàòüêîììåíòàðèè â JSP. Îïèñàíû ðàçëè÷íûå ñïîñîáû èñïîëüçîâàíèÿ êîììåíòàðèåâ â JSP. Ãëàâà 13. Îáðàáîòêà èñêëþ÷èòåëüíûõ ñèòóàöèé. Êàê è âî âñÿêîì ïðèëîæåíèè, â ìîìåíò èñïîëíåíèÿ JSP ìîãóò âîçíèêíóòü íåïðåäâèäåí- íûå ðàçëè÷íûå ñèòóàöèè. Îïèñàíû âîçìîæíûå èñêëþ÷èòåëüíûå ñèòóà- öèè ïðè ñîçäàíèè JSP. Çäåñü òàêæå îïèñàíû ñïîñîáû îáðàáîòêè èñêëþ- ÷èòåëüíûõ ñèòóàöèé ïðè ïîìîùè ñðåäñòâ, ïðåäëàãàåìûõ JSP. Ãëàâà 14. Îáðàáîòêà HTML-ôîðì. Îïèñûâàåòñÿ, êàê JSP îáðàáàòû- âàåò HTML-ôîðìû. Ïîñêîëüêó JSP ÿâëÿåòñÿ íîñèòåëåì HTML-ýëåìåí- òîâ, â äàííîé ãëàâå ñîäåðæèòñÿ îïèñàíèå ðàáîòû JSP ñ HTML-ôîðìàìè. Ãëàâà 15. Ìèãðàöèÿ ñ ðàííåé âåðñèè 0.91 ê 1.0. Îïèñûâàþòñÿ ðàçëè- ÷èÿ ìåæäó âåðñèÿìè API. Êîëè÷åñòâî âåðñèé íà íàñòîÿùèé ìîìåíò îáÿ- çûâàåò îïèñûâàòü ðàçíèöó ìåæäó ðàçëè÷íûìè âåðñèÿìè. Ãëàâà 16. Ñîçäàíèå ïîëüçîâàòåëüñêèõ òåãîâ. Ãëàâà ïîñâÿùåíà òåãàì, ñîçäàííûì ïîëüçîâàòåëÿìè. Ïðè íåõâàòêå âîçìîæíîñòåé, ïðåäñòàâëÿå- ìûõ ñòàíäàðòíûìè òåãàìè è èñïîëüçîâàíèåì JavaBean, ïðîãðàììèñòó äàåòñÿ âîçìîæíîñòü ñîçäàâàòü ñîáñòâåííûå òåãè. Ãëàâà 17. Ñîâìåñòíîå èñïîëüçîâàíèå XML è JSP. Îïèñûâàåòñÿ èñïî- ëüçîâàíèå JSP-êîíñòðóêöèé â XML-äîêóìåíòàõ. ×àñòü 3. Servlet Òðåòüÿ ÷àñòü ñîäåðæèò îïèñàíèå ñåðâåðíûõ êîìïîíåíòîâ servlet, ðåà- ëèçîâàííûõ íà ÿçûêå Java. Îïèñàíû ðàáîòû ñ ñåññèåé, âçàèìîäåéñòâèÿ ñ áàçàìè äàííûõ, óïðàâëåíèå ñåðâåðîì, servlet ïðîòîêîëîíåçàâèñèìûå ñåðâåðíûå ïðîãðàììíûå êîìïîíåíòû. Âûïîëíÿÿñü íà ñåðâåðå ïðèëîæå- Ââåäåíèå 7 íèé èëè Java-ñåðâåðå, servlet âûïîëíÿþò ðîëü ñòàíäàðòíûõ ñåðâåðíûõ ñêðèïòîâ. Êàê è âñå Java-ïðèëîæåíèÿ, servlet âûïîëíÿþòñÿ íà JVM Web-ñåðâåðà èëè ñåðâåðà ïðèëîæåíèé. Íî â îòëè÷èå îò ñòàíäàðòíûõ Ja- va-ïðèëîæåíèé è JavaBean, servlet äîñòàòî÷íî ðåäêî èñïîëüçóþò ýëå- ìåíòû ãðàôè÷åñêîãî ïîëüçîâàòåëüñêîãî èíòåðôåéñà. Êàê è îáû÷íûå Common Gateway Interface (CGI), ñêðèïòû, servlet ìîãóò ôîðìèðîâàòü îòâåòäëÿêëèåíòà,èñïîëüçóÿñîáûòèÿ,ïîñòóïèâøèåèçHTML-ñòðàíèöû. Ãëàâà 18. Îñíîâíûå ïàêåòû è êëàññû ôèðìû SUN. Ñîäåðæèò îïèñà- íèå îñíîâíûõ ïàêåòîâ è êëàññîâ, èñïîëüçóåìûõ äëÿ ñîçäàíèÿ servlet. Ãëàâà 19. Êàê ðàáîòàåò servlet. Äëÿ ÷åãî íåîáõîäèìî èñïîëüçîâàòü servlet â Web-ïðèëîæåíèÿõ. Ãëàâà 20. Äîñòóï ê servlet. Ïðåæäå ÷åì ñîçäàâàòü servlet, îïèñûâà- þòñÿ ñïîñîáû äîñòóïà ê íåìó. Çíàíèå ñïîñîáîâ äîñòóïà ïîçâîëèò ñîêðà- òèòü âðåìÿ ðàçðàáîòêè è òåñòèðîâàíèÿ ñåðâåðíîãî êîìïîíåíòà. Ãëàâà 21. Ñîçäàíèå servlet. Ïîñëå çíàêîìñòâà ïðèøëî âðåìÿ äåéñò- âèÿ.  äàííîé ãëàâå îïèñûâàåòñÿ ñîçäàíèå servlet. Ãëàâà 22. Æèçíåííûé öèêë servlet. Æèçíü servlet è ìåòîäû æèçíåí- íîãî öèêëà — êðàñíàÿ ëèíèÿ äàííîé ãëàâû. Ãëàâà 23. Èñïîëüçîâàíèå êëàññà ServletContext äëÿ ïîëó÷åíèÿ áîëåå îáøèðíîé èíôîðìàöèè îá èñïîëíÿåìîì îêðóæåíèè servlet. Êàê ïîçíà- êîìèòüñÿ ñ îêðóæåíèåì îáúåêòà è èñïîëüçîâàòü äàííûå çíàêîìñòâà â ñâîèõ öåëÿõ. Ãëàâà 24. Ïåðåàäðåñàöèÿ èç servlet. Ìåòîäû ïåðåàäðåñàöèè êëèåíò- ñêîãî çàïðîñà èç servlet. Îñíîâíîé çàäà÷åé âñÿêîãî Web-ïðèëîæåíèÿ ÿâëÿåòñÿ ïðàâèëüíàÿ îáðàáîòêà êëèåíòñêîãî çàïðîñà.  äàííîé ãëàâå îïèñûâàþòñÿ ìåòîäû ïåðåíàïðàâëåíèÿ çàïðîñà â äðóãîé îáúåêò, ñïîñîá- íûé îáðàáîòàòü ïîñòóïèâøèé çàïðîñ. Ãëàâà 25. Îñíîâíàÿ ñòðóêòóðà servlet. Ñîäåðæèò îïèñàíèå îñíîâíûõ îáúåêòîâ è ìåòîäîâ servlet. Äåòàëüíàÿ èíôîðìàöèÿ îá îáúåêòå âíèìà- íèÿ, åãî ìåòîäû è âñòðîåííûå îáúåêòû. Êîå-÷òî îá îáëàñòè âèäèìîñòè âíóòðåííèõ ñâîéñòâ servlet. Ãëàâà 26. Ðàáîòà servlet ñ HTTP-ïðîòîêîëîì ïåðåäà÷è äàííûõ. Îïè- ñûâàþòñÿ îñíîâíûå ñïîñîáû ðàáîòû ñ cookies-, heders-, cgi-ïåðåìåííû- ìè è êëèåíòñêîé ñåññèåé. Òàê êàê îñíîâíûì ïðîòîêîëîì ïåðåäà÷è äàí- íûõ â Èíòåðíåòå ÿâëÿåòñÿ http-ïðîòîêîë, òî â äàííîé ãëàâå îïèñûâàþò- ñÿ ñïîñîáû ðàáîòû ñ ñèñòåìíûìè äàííûìè http-ïðîòîêîëà. Ãëàâà 27. Ìèãðàöèÿ âåðñèè 2.1 ê âåðñèè 2.2. Ðàçëè÷íûå Web-ñåðâåðû ïîääåðæèâàþò ðàáîòó ñ ðàçëè÷íûìè âåðñèÿìè servlet, à ñ ïîÿâëåíèåì íîâûõ ñïåöèôèêàöèé ïðîÿâëÿåòñÿ ïðîáëåìà íåñîîòâåòñòâèÿ èñïîëüçóå- ìûõ ìåòîäîâ. Èìåííî ðàçëè÷èÿ â íàèáîëåå óïîòðåáëÿåìûõ âåðñèÿõ îïè- ñûâàþòñÿ â äàííîé ãëàâå. Ãëàâà 28. Ñðàâíåíèå ìåæäó JSP è servlet. JSP è servlet âûïîëíÿþò îäíó è òó æå ðàáîòó ïðè èñïîëüçîâàíèè http-ïðîòîêîëà. ×òî è êîãäà èñ- ïîëüçîâàòü, â êàêèõ ñëó÷àÿõ JSP íàãëÿäíåå, à servlet áûñòðåå — îïèñà- íî â äàííîé ãëàâå. ×àñòü 4. Ðàñïðåäåëåííûå êîìïîíåíòû Enterprise Java Bean ×åòâåðòàÿ ÷àñòü îïèñûâàåò òðàíçàêöèîííûå ðåøåíèÿ êîìïàíèè SUN, Enterprise Java Bean.  ÷åòâåðòîé ÷àñòè ÷èòàòåëü çíàêîìèòñÿ ñ 8 Ââåäåíèå îñíîâíûìè ïîíÿòèÿìè EJB. Ðàññìàòðèâàþòñÿ êëþ÷åâûå ìîìåíòû ñîçäà- íèÿ EJB è èõ ðîëü â Web-ïðèëîæåíèÿõ. Èñïîëüçîâàíèå òðàíçàêöèè â Web-ïðèëîæåíèÿõ îïèñûâàåòñÿ â íà÷àëå ÷åòâåðòîé ÷àñòè. Ãëàâà 29. Îñíîâíîé ïàêåò êîìïàíèè SUN äëÿ ðàáîòû ñ EJB.  äàí- íîé ãëàâå îïèñûâàåòñÿ âåñü îñíîâíîé ïàêåò, ñîäåðæàùèé êëàññû è èí- òåðôåéñû ïî ñîçäàíèþ EJB. Ãëàâà 30. Àðõèòåêòóðà. EJB ïðåäñòàâëÿþò èç ñåáÿ îòäåëüíûå êîìïî- íåíòû â îòäåëüíîì êîíòåêñòå âûïîëíåíèÿ. Çíàêîìñòâî ñ EJB íà÷èíàåòñÿ ñ îñíîâíûõ ýëåìåíòîâ, èñïîëüçóåìûõ â EJB-òåõíîëîãèè. EJB-ñåðâåð, EJB-êîíòåéíåð è äðóãèå êëþ÷åâûå ýëåìåíòû, èõ ðîëü â EJB-òåõíîëîãèè. Ãëàâà 31. Îñíîâíûå EJB. Ïîñëå çíàêîìñòâà ñ àðõèòåêòóðîé ïðèâîäèò- ñÿ îïèñàíèÿ îñíîâíûõ ýëåìåíòîâ, ñîçäàâàåìûõ ïðîãðàììèñòîì ñàìèõ en- terprise bean. Äâà îñíîâíûõ EJB, Entity è session bean, ìåòîäû æèçíåí- íîãî öèêëà è ìåòîäû óïðàâëåíèÿ äàííûìè îïèñûâàþòñÿ â ýòîé ãëàâå. Ãëàâà 32. Ïîñëåäíèå øòðèõè. Ïîñëåäíèì øàãîì ïðè ñîçäàíèè EJB ÿâëÿåòñÿ íàïèñàíèå îïèñàòåëÿ (deployment descriptor) è ïîìåùåíèå åãî â jar-àðõèâ ñîçäàííûõ êëàññîâ. È óæå ïîñëå ñîçäàíèÿ jar-àðõèâà, EJB ìîæíî ïîìåùàòü â êîíòåéíåð ëþáîãî EJB-ñåðâåðà, ïðè ýòîì îáÿçàòåëü- íî íàäî ó÷èòûâàòü ñïåöèôèêó êàæäîãî EJB-ñåðâåðà. Ãëàâà 33. Ñîçäàíèå EJB-ïðèëîæåíèÿ. Ðàçðàáîòêà enterprise bean âêëþ÷àåò ðÿä òðåáîâàíèé, íåîáõîäèìûõ äëÿ ñîçäàíèÿ êîìïîíåíòîâ. ×àñòü 5. Ðàáîòà ñ áàçàìè äàííûõ, ïðîãðàììèðîâàíèÿ Java Ðàáîòå ñ áàçàìè äàííûõ ïîñâÿùåíà ïÿòàÿ ÷àñòü êíèãè, â êîòîðîé îïèñûâàþòñÿ ïðèëîæåíèÿ ñî âñòðîåííûìè â Java-ïðîãðàììó SQL-îïå- ðàòîðàìè. SQLJ ïðåäñòàâëÿåò íîâûé ñïîñîá âçàèìîäåéñòâèÿ ñ ðàçëè÷- íûìè áàçàìè äàííûõ.  îòëè÷èå îò îñíîâíîãî ñòàíäàðòà JDBC äëÿ ðàáî- òû ñ áàçàìè äàííûõ, îïèñàíèå êîòîðîãî îïóùåíî, SQLJ çàðåêîìåíäîâàë ñåáÿ êàê áûñòðûé è íàäåæíûé ñïîñîá ñîçäàíèÿ ïðîãðàìì äëÿ ðàáîòû ñ ÑÓÁÄ. Êàê è â ïðåäûäóùèõ ÷àñòÿõ, îïèñûâàþòñÿ îñíîâíûå ìåòîäû è êëàññû SQLJ-ïðèëîæåíèÿ, ñïîñîáû ñîçäàíèÿ è îáðàáîòêè îøèáîê SQLJ- ïðèëîæåíèé. Ïÿòàÿ ÷àñòü ñîäåðæèò êðàòêîå îïèñàíèå ñòàíäàðòíîãî SQL è òåðìèíû, íàèáîëåå ÷àñòî èñïîëüçóåìûå ïðè ðàáîòå ñ ÑÓÁÄ. Ãëàâà 34. Îñíîâíûå çàäà÷è SQLJ. Âñòðîåííûé SQL, çàäà÷è è öåëè. Ñîçäàíèå SQLJ-ïðèëîæåíèé. Ãëàâà 35. Èíñòàëëÿöèÿ è èìïîðòèðîâàíèå ïàêåòîâ äëÿ ðàçðàáîòêè SQLJ-ïðèëîæåíèé. Ñòàíäàðòíûå ïàêåòû êëàññîâ, íåîáõîäèìûå äëÿ ðàçðàáîòêè Java-ïðèëîæåíèé, ñîäåðæàùèõ âñòðîåííûå SQL-îïåðàòîðû. Ãëàâà36.Îñíîâíûåêîìïîíåíòûèñõåìàðàáîòûòðàíñëÿòîðà.Êàêðà- áîòàåò âñòðîåííûé SQL â Java-ïðèëîæåíèè, ïðåèñïîëíÿåìàÿ ïîäãîòîâêà SQLJ-ïðèëîæåíèÿ.ÑèñòåìàâûïîëíåíèÿSQLJ-ïðèëîæåíèé,òðàíñëÿòîð. Ãëàâà 37. Âñòðîåííûå îáúåêòû. Îïðåäåëåíèå âñòðîåííûõ îáúåêòîâ. Îáúåêò îïðåäåëåíèÿ ñîåäèíåíèÿ ñ áàçîé äàííûõ — Context. Ìíîæåñò- âåííîå âûïîëíåíèå SQL-çàïðîñîâ ïîñðåäñòâîì ìåòîäîâ îáúåêòà Iterator. Ãëàâà 38. Îáðàáîòêà SQL-îøèáîê è ñîîáùåíèé. Ðàáîòà íàä îøèáêà- ìè. Îøèáêè òðàíñëÿòîðà è îøèáêè èñïîëíåíèÿ. Êàêîå ïðèëîæåíèå ðà- áîòàåò áåç îøèáîê. Ðàáîòà ñ îøèáêàìè. Ãëàâà 39. Ðàáîòà ñ áàçîé äàííûõ. Ðàáîòà ñ áîëüøèìè îáúåêòàìè â áà- çå äàííûõ. Ñîçäàíèå ïîëüçîâàòåëüñêèõ ôóíêöèé è ïîëüçîâàòåëüñêèõ Ââåäåíèå 9 òèïîâ. Êàê ðàáîòàåò Java-ïðèëîæåíèå, èñïîëüçóþùåå áîëüøèå îáúåêòû LOB, è êàê èñïîëüçîâàòü ïîëüçîâàòåëüñêèå ôóíêöèè ïî óïðàâëåíèþ äàííûìè, õðàíÿùèìèñÿ â áàçå. Ãëàâà 40. Ñðàâíåíèå SQLJ è JDBC. Îïèñûâàåòñÿ ðàçíèöà â èñïîëü- çîâàíèè SQLJ è JDBC ïðè ñîçäàíèè ïðèëîæåíèé, ðàáîòàþùèõ ñ áàçàìè äàííûõ. Âîïðîñ, ÷òî ëó÷øå, à ÷òî áûñòðåå, íå ïðàçäíûé äëÿ Web-ïðè- ëîæåíèé, íî äëÿ êàæäîãî êîíêðåòíîãî ñëó÷àÿ ïðèìåíåíèå îäíîé, ïðåíå- áðåæåíèå äðóãîé òåõíîëîãèåé ìîãóò âûçâàòü ðàçëè÷íûå òîëêîâàíèÿ. Ïîýòîìó ãîâîðèòü î äîñòîèíñòâàõ, à òàêæå î íåäîñòàòêàõ íåïðàâîìåðíî.  äàííîé ãëàâå èäåò îïèñàíèå îäíîé òåõíîëîãèè îòíîñèòåëüíî äðóãîé áåç âûñòàâëåíèÿ ïðèîðèòåòîâ. Ñòðóêòóðà êíèæíûõ ÷àñòåé Äëÿ áîëüøåé íàãëÿäíîñòè âñå ÷àñòè êíèãè, çà èñêëþ÷åíèåì ïåðâîé, ïîäîáíû ìåæäó ñîáîé.  ïåðâûõ ãëàâàõ ðàññêàçûâàåòñÿ î ñàìîì Java- êîìïîíåíòå èëè òåõíîëîãèè. Äàëåå óêàçûâàþòñÿ ïàêåòû è êëàññû, íåîá- õîäèìûå äëÿ ñîçäàíèÿ Java-êîìïîíåíòà.  êàæäîé ÷àñòè èñïîëüçóþòñÿ îñíîâíûå ýëåìåíòû îïèñàíèÿ îïðåäåëåííîé Java-òåõíîëîãèè, íà÷èíàÿ îò îñíîâíûõ ïàêåòîâ è êëàññîâ äëÿ äàííîé òåõíîëîãèè è çàêàí÷èâàÿ îá- ðàáîòêîé îøèáîê; êàê ñàìîãî ñîçäàíèÿ Java-êîìïîíåíòà, òàê è îøèáîê èñïîëíåíèÿ ïðîãðàììíîãî ìîäóëÿ äàííîãî êîìïîíåíòà. Èñïîëüçóåìûå ÷àñòè êîäà íå ÿâëÿþòñÿ ïîëíîñòüþ ãîòîâûìè ïðèëîæåíèÿìè, à ïîêàçû- âàþò ïðèìåð èñïîëüçîâàíèÿ ñèíòàêñèñà, èñïîëüçóåìîãî â ðàçëè÷íûõ êîìïîíåíòàõ.  ñëåäóþùèõ ãëàâàõ îïèñûâàþòñÿ îñíîâíûå ðîëè ñîçäàâà- åìûõ ïðîãðàìì è îñíîâíûå îáúåêòû, èñïîëüçóåìûå ïðè ïîñòðîåíèè ìî- äóëåé. È íàêîíåö, íåêîòîðûé ïðèìåð, ñîäåðæàùèé îïèñàííîå. Êàæäûé ïðèìåð èìååò ïîñòðî÷íûé êîììåíòàðèé è îöèôðîâàííûå ñòðîêè. Äëÿ óäîáñòâà ÷èòàòåëÿ îïèñàíèå ïðèìåðîâ ïîìåùåíî ïîñëå ñàìîãî ïðèìåðà. Êàæäàÿ ÷àñòü ÿâëÿåòñÿ ïîëíîñòüþ íåçàâèñèìîé îò äðóãèõ, ïîýòîìó ïðîãðàììèñò ìîæåò áåçáîëåçíåííî ïåðåõîäèòü íåïîñðåäñòâåííî ê òîé òåìå, êîòîðàÿ åãî áîëüøå èíòåðåñóåò â äàííûé ìîìåíò. Ïðèëîæåíèÿ Ïðèëîæåíèÿ îïèñûâàþò ñîçäàíèå âñåõ êîìïîíåíòîâ ïðè ïîìîùè ïðîãðàììíûõ ïðîäóêòîâ ôèðìû IBM. Ïðèëîæåíèå A îïèñûâàåò ñîçäàíèå JSP ïðè ïîìîùè WEBSphere Studio è VisualAge. Ïðèëîæåíèå  îïèñûâàåò ñîçäàíèå servlet ïðè ïîìîùè WEBSphere Studio è VisualAge. Ïðèëîæåíèå Ñ îïèñûâàåò ñîçäàíèå SQLJ ïðè ïîìîùè VisualAge è Stored Procedure Builder. Ãëîññàðèé. Ñîäåðæèò øèðîêî èñïîëüçóåìûå â êíèãå àááðåâèàòóðû è ñëîâîñî÷å- òàíèÿ. —Çà÷åì íà÷èíàòü òî, ÷òî íå ñìîæåøü çàêîí÷èòü?! —Äëÿ óñïåøíîãî çàâåðøåíèÿ íóæíû òðè âåùè: óïîðñòâî, ïîñëåäîâàòåëüíîñòü è ãðîìàäíûå àìáèöèè. —Ó ìåíÿ âñå ýòî åñòü. Àâòîð. «Íåîïóáëèêîâàííîå» ×ÀÑÒÜ 1. ÝËÅÊÒÐÎÍÍÀß ÊÎÌÌÅÐÖÈß Ðàçâèòèå ýëåêòðîííîé èíôðàñòðóêòóðû è ïîïûòêà èçáåæàòü íåíóæ- íûõ èçäåðæåê ïðèâåëè ìóäðûõ áèçíåñìåíîâ ê ñîçäàíèþ òàê íàçûâàå- ìîé ýëåêòðîííîé êîììåðöèè.  îòëè÷èå îò îáû÷íîé êîììåðöèè, â áîëüøèíñòâå ñëó÷àåâ îñíîâàííîé íà áóìàæíîì äîêóìåíòîîáîðîòå, ýëåêòðîííàÿ êîììåðöèÿ ðàáîòàåò ñ íî- âûì âèäîì ïðåäñòàâëåíèÿ äîêóìåíòà. Òåïåðü ÷àñòü èíôîðìàöèè, íàâåð- íîå, äàæå áóëüøàÿ, äîñòóïíà äëÿ êëèåíòà áåç îáðàùåíèÿ ê ïðåäñòàâè- òåëþ êîìïàíèè èëè ðåêëàìíîìó ìàòåðèàëó, êàê ê ïå÷àòíîìó òàê è ê ïðåäñòàâëåííîìó â äðóãîì âèäå. Ïðåäïîñûëêîé ïåðåíîñà ÷àñòè äîêó- ìåíòîîáîðîòà ñ áóìàæíûõ íîñèòåëåé íà ýëåêòðîííûå ñòàëî áóðíîå ðàç- âèòèå èíôîðìàöèîííûõ òåõíîëîãèé. Èìåííî ñîêðàùåíèå ðàñõîäîâ íà ðåêëàìó â ïå÷àòíûõ èçäàíèÿõ ïîäîãðåëî èíòåðåñ ìíîãèõ êîìïàíèé ê íîâåéøèì ðàçðàáîòêàì â îáëàñòè êîìïüþòåðíîé èíäóñòðèè. Ïåðâûì øàãîì âíåäðåíèÿ èíôîðìàöèîííûõ òåõíîëîãèé â áîëüøîé áèçíåñ ñòàëî ðàçìåùåíèå êîðïîðàòèâíîé èíôîðìàöèè â áîëüøèõ ýëåêòðîííûõ õðà- íèëèùàõ äàííûõ. Äàííûå õðàíèëèùà, ïðåäñòàâëÿëè èç ñåáÿ íåêîòîðûé äîâîëüíî-òàêè îäíîòèïíûé íàáîð èíôîðìàöèè, ñîáðàííîé âîåäèíî, îá- ðàáàòûâàòü êîòîðóþ è äîëæíû áûëè ïåðâûå ÝÂÌ. Ñëåäóþùèì øàãîì ñòàëî ïîÿâëåíèå ñåòåâûõ òåõíîëîãèé, îáåñïå÷èâàþùèõ ñâÿçü íå òîëüêî ýëåêòðîííûõ õðàíèëèù ìåæäó ñîáîé, íî è ìåæäó äðóãèìè çâåíüÿìè èí- ôîðìàöèîííîé ñòðóêòóðû ïðåäïðèÿòèÿ. Èìåííî íà äàííîì ýòàïå â èí- ôîðìàöèîííûõ òåõíîëîãèÿõ ñôîðìèðîâàëèñü ïîíÿòèÿ êëèåíòà è ñåðâå- ðà. Ýòè äâà ïîíÿòèÿ ñòàëf îñíîâîïîëàãàþùèìè â ñîâðåìåííîì ýëåêòðîí- íîì ìèðå. Âîçìîæíîñòü ïðåäîñòàâëÿòü ïîëüçîâàòåëþ íåîáõîäèìóþ èíôîðìà- öèþ ñíà÷àëà â âèäå öèôð íà ýêðàíå, à âïîñëåäñòâèè è â ãðàôè÷åñêîì âèäå óñêîðèëà ïåðåõîä îò áóìàæíûõ íîñèòåëåé ê ýëåêòðîííûì. Äîïîë- íèòåëüíûì ïëþñîì èñïîëüçîâàíèÿ ÝÂÌ êàê ñðåäñòâà îáðàáîòêè äàííûõ ñòàëà ñêîðîñòü. Ñêîðîñòü âû÷èñëåíèé áîëüøèõ îáúåìîâ äàííûõ è ïåðå- äà÷à ïîëó÷åííûõ ðåçóëüòàòîâ öåëåâûì ïîëüçîâàòåëÿì ñòàëî îòïðàâíîé òî÷êîé èíòåãðàöèè èíôîðìàöèîííûõ òåõíîëîãèé è îáû÷íîãî áèçíåñà. Èìåííî ñîêðàùåíèå ïðåäñòàâèòåëüñêèõ ðàñõîäîâ ñòàëî ïðåäïîñûë- êîé ïåðåíîñà èíôîðìàöèè èç ìèðà áóìàæíîãî â ìèð ýëåêòðîííûé — âñïîìíèòå ñàéòû è ïî÷òîâóþ ðàññûëêó, ïîÿâèâøèåñÿ íà ðàññâåòå Èí- òåðíåòà. Ïîñëå ýòîãî Èíòåðíåò ïðåâðàòèëñÿ èç çàêðûòîé ñåòè äëÿ âîåí- íûõ è ó÷åíûõ â îáùåäîñòóïíóþ ñðåäó îáùåíèÿ. Ïîñëå ñòîëü óñïåøíîãî íà÷àëà äåëîâûå ëþäè ðåøèëè ñîêðàòèòü ðàñ- õîäû è â äðóãèõ îáëàñòÿõ ñâîåé äåÿòåëüíîñòè: íàáîð ïåðñîíàëà äëÿ