|
Ìíîãèì íàâåðíÿêà óæå èçâåñòíî, ÷òî ÿçûê Java áûë ðàçðàáîòàí ôèðìîé Sun, êàê ïëàòôîðìåííî-íåçàâèñèìûé, ïåðåíîñèìûé, îáúåêòíî-îðèåíòèðîâàííûé ÿçûê äëÿ Internet è Intranet. ß íå âèæó îñîáîãî ñìûñëà ïåðå÷èñëÿòü ïðåèìóùåñòâà ÿçûêà, åãî îòëè÷èÿ îò C++ - ýòî óæå îïèñàíî â äåñÿòêàõ êíèã è ñîòíÿõ ïóáëèêàöèé, êàê çà ðóáåæîì, òàê è â íàøåé ñòðàíå. Çäåñü ìû îñòàíîâèìñÿ íà òîì, ÷òî ïðåäñòàâëÿåò ñîáîé ïëàòôîðìà Java ñåãîäíÿ, èç êàêèõ êîìïîíåíòîâ îíà ñîñòîèò è êàêèå ñðåäñòâà, äîñòóïíû äëÿ ðàçðàáîò÷èêîâ. Òàêèì îáðàçîì, ïî çàâåðøåíèè äàííîãî öèêëà âû äîëæíû áóäåòå ïîëó÷èòü äîñòàòî÷íî ÷åòêîå ïðåäñòàâëåíèå î òîì, ÷òî ïðåäëàãàåò ôèðìà Sun, êàêèìè ñðåäñòâàìè ðàçðàáîòêè ìîæíî ïîëüçîâàòüñÿ, êàêèå ñóùåñòâóþò êîìïîíåíòû è ñðåäñòâà äëÿ èõ ñîçäàíèÿ è êàê ñ ïîìîùüþ Java ìîæíî ñîçäàâàòü êîðïîðàòèâíûå ðåøåíèÿ.
Òåõíîëîãèÿ Java
Òåõíîëîãèÿ Java îáåñïå÷èâàåò ðàçðàáîò÷èêîâ îñíîâîé äëÿ ñîçäàíèÿ ðåøåíèé, ïðè ðàçðàáîòêå êîòîðûõ íå íóæíî çàäóìûâàòüñÿ îá îïåðàöèîííîé ñèñòåìå è àïïàðàòíîé ïëàòôîðìå, íà êîòîðûõ ýòè ðåøåíèÿ áóäóò ôóíêöèîíèðîâàòü. ×àñòî èñïîëüçóåìîå âûðàæåíèå "Íàïèñàíî îäíàæäû – ðàáîòàåò âåçäå" ëó÷øèì îáðàçîì õàðàêòåðèçóåò îñíîâíîå íàçíà÷åíèå ýòîé òåõíîëîãèè. Íåçàâèñèìîñòü îò ïëàòôîðìû äîñòèãàåòñÿ çà ñ÷åò òîãî, ÷òî óíèêàëüíûå õàðàêòåðèñòèêè êàæäîé èç ïîääåðæèâàåìûõ Java 2 ïëàòôîðì, ðåàëèçîâàíû â âèäå îáîëî÷êè, íàçûâàåìîé Java Runtime Environment (JRE). Âî âðåìÿ ñîçäàíèÿ ïðèëîæåíèÿ ðàçðàáîò÷èê ïèøåò êîä íà ÿçûêå Java òàê, êàê åñëè áû â ìèðå áûëà áû âñåãî îäíà ïðîãðàììíî/àïïàðàòíàÿ ïëàòôîðìà. Êîìïèëÿòîð ÿçûêà Java ïðåîáðàçóåò êîä â ïîñëåäîâàòåëüíîñòü áàéò-êîäîâ, êîòîðàÿ áóäåò âûïîëíÿòüñÿ íà îäíîé èç ïëàòôîðì â ðàìêàõ JRE.
Java Runtime Environment ñîäåðæèò ñïåöèàëüíûå ñðåäñòâà ïðîâåðêè êîäà, îáåñïå÷èâàþùèå íàäåæíîñòü è çàùèùåííîñòü ïðîãðàìì, çàãðóç÷èê êëàññîâ, êîòîðûé äèíàìè÷åñêè çàãðóæàåò êëàññû â ïðîöåññå âûïîëíåíèÿ è âèðòóàëüíóþ ìàøèíó Java (Java VM), êîòîðàÿ âûïîëíÿåò ïîñëåäîâàòåëüíîñòü áàéò-êîäîâ, âçàèìîäåéñòâóþ ñ êîíêðåòíîé îïåðàöèîííîé ñèñòåìîé. Òàêîé ïîäõîäò îñâîáîæäàåò ðàçðàáîò÷èêà îò íåîáõîäèìîñòè îáðàùàòü âíèìàíèÿ íà ñïåöèôèêó êàêîé-òî êîíêðåòíîé îïåðàöèîííîé ñèñòåìû è ïîçâîëÿåò âíåäðÿòü Java-ïðèëîæåíèÿ íà áîëåå ÷åì îäíîé ïëàòôîðìå. Êîìïîíåíòû JavaRuntime Environment ïîêàçàíû íà ñëåäóþùåé äèàãðàììå.
Òî, ÷òî ÿçûê Java çà êîðîòêîå âðåìÿ ñòàë îäíèì èç ñàìûõ ïîïóëÿðíûõ êîììåð÷åñêèõ îáúåêòíî-îðèåíòèðîâàííûõ ÿçûêîâ ïðîãðàììèðîâàíèÿ, ïîìîãàåò ðàñïðîñòðàíåíèþ òåõíîëîãèè Java è ïîäòâåðæäàåòñÿ òåì, ÷òî â íàñòîÿùåå âðåìÿ ýòîò ÿçûê èñïîëüçóåò îêîëî 1 ìëí. ðàçðàáîò÷èêîâ (80% èç íèõ ñîçäàåò êðîññ-ïëàòôîðìåííûå ïðèëîæåíèÿ), ïðîäóêòû äëÿ Java âûïóñêàþò ñîòíè ôèðì, à ÷èñëî êîïèé JDK, çàãðóæåííûõ ñ ñàéòà ôèðìû Sun, ïðåâûñèëî 2.5 ìëí.
Ïëàòôîðìà Java 2
Ïëàòôîðìà Java 2 (Java Development Kit 1.2), îáúÿâëåííàÿ ôèðìîé Sun â äåêàáðå 1998 ãîäà, ïðåäñòàâëÿåò ñîáîé ôèçè÷åñêóþ ðåàëèçàöèþ òåõíîëîãèè Java. Ñîáñòâåííî ãîâîðÿ, îíà çàêëþ÷åíà â íåáîëüøîì ïî îáúåìó ôàéëå è ñîñòîèò èç ñëåäóþùèõ îñíîâíûõ êîìïîíåíòîâ:
Ñðåäñòâà ðàçðàáîòêè íà Java – ðåäàêòîð, êîìïèëÿòîð, îòëàä÷èê è ñðåäñòâî äëÿ äîêóìåíòàöèè Java API
Áîãàòûé íàáîð Java-áèáëèîòåê è áàçîâûõ êëàññîâ (foundation classes), êîòîðûå èñïîëüçóþòñÿ äëÿ ñîçäàíèÿ ãðàôè÷åñêèõ èíòåðôåéñîâ, äîñòóïà ê áàçàì äàííûõ, ðåàëèçàöèè ñåòåâûõ ôóíêöèé, ðàçðàáîòêè ïðèëîæåíèé, ðàáîòàþùèõ ñ íåñêîëüêèìè ÿçûêàìè è ò.ï.
Java 2 Runtime Environment – ñðåäñòâî äëÿ äèíàìè÷åñêîé çàãðóçêè Java-êëàññîâ, èõ ïðîâåðêè è âûïîëíåíèÿ Java-áàéò-êîäà.
Àðõèòåêòóðà ïëàòôîðìû Java 2 ïîêàçàíà íà ñëåäóþùåé äèàãðàììå.
Èçíà÷àëüíî, Sun âûïóñòèëà Java 2 Runtime Environment äëÿ ñëåäóþùèõ ïëàòôîðì: Solaris, Windows NT Server 4.0 è Windows 95/98.  áëèæàéøèå ìåñÿöû ïîñòàâùèêè äðóãèõ ïëàòôîðì âûïóñòÿò ñîîòâåòñòâóþùèå JRE. Òàêèì îáðàçîì, Java 2 áóäåò ðåàëèçîâàíà íà ñëåäóþùèõ ïëàòôîðìàõ:
|
AIX |
Digital UNIX |
HP-UX |
|
IRIX |
Linux |
Mac OS |
|
NetWare |
OpenServer |
OpenVMS |
|
OS/2 |
OS/390 |
RISC-OS |
|
Solaris |
Windows 95 |
Windows 98 |
|
Windows NT |
Windows NT-Alpha (DEC) |
UnixWare |
Java 2 â äåòàëÿõ
Äàâàéòå ðàññìîòðèì ñîñòàâ Java 2 áîëåå ïîäðîáíî. ß âûäåëèë òðè îñíîâíûõ êîìïîíåíòà - ñðåäñòâà ðàçðàáîòêè íà Java, íàáîð Java-áèáëèîòåê è áàçîâûõ êëàññîâ è Java 2 Runtime Environment.
Ñðåäñòâà ðàçðàáîòêè íà Java
 ñîñòàâ JDK 1.2 âõîäèò áîëüøîå ÷èñëî óòèëèò, êîòîðûå ìîæíî ïîäðàçäåëèòü íà íåñêîëüêî êàòåãîðèé:
Áàçîâûå óòèëèòû
RMI-óòèëèòû
Ñðåäñòâà äëÿ ëîêàëèçàöèè ïðèëîæåíèé
Ñðåäñòâà äëÿ çàùèòû ïðèëîæåíèé
IDL-óòèëèòû
Áàçîâûå óòèëèòû
Óòèëèòû, îòíîñÿùèåñÿ ê ýòîé êàòåãîðèè, ñëóæàò îñíîâîé Java Development Kit. Îíè èñïîëüçóþòñÿ äëÿ êîìïèëÿöèè è îòëàäêè ñîçäàâàåìûõ Java-ïðèëîæåíèé. Ê áàçîâûì óòèëèòàì îòíîñÿòñÿ:
|
javac |
Êîìïèëÿòîð ÿçûêà Java |
|
java |
Çàãðóç÷èê Java-ïðèëîæåíèé. Èñïîëüçóåòñÿ è â ñòàäèè ðàçðàáîòêè, è â ñòàäèè âíåäðåíèÿ ïðèëîæåíèé |
|
javadoc |
Ãåíåðàòîð äîêóìåíòàöèè äëÿ API |
|
appletviewer |
Óòèëèòà äëÿ çàïóñêà è îòëàäêè ïðèëîæåíèé áåç èñïîëüçîâàíèÿ web-áðàóçåðà |
|
jar |
Óòèëèòà äëÿ óïðàâëåíèÿ Java Archive (JAR)-ôàéëàìè |
|
jdb |
Îòëàä÷èê Java-ïðèëîæåíèé. |
|
javah |
Ãåíåðàòîð çàãîëîâî÷íûõ ôàéëîâ è çàãîëóøåê äëÿ ÿçûêà C |
|
javap |
Äèçàññåìáëåð Java-êëàññîâ |
|
extcheck |
Óòèëèòà äëÿ îáíàðóæåíèÿ êîíôëèêîâ ìåæäó JAR-ôàéëàìè |
RMI-óòèëèòû
Óòèëèòû, îòíîñÿùèåñÿ ê ýòîé êàòåãîðèè, èñïîëüçóþòñÿ äëÿ ñîçäàíèÿ ïðèëîæåíèé, âçàèìîäåéñòâóþùèõ ìåæäó ñîáîé ïî Internet èëè äðóãèì òèïàì ñåòåé. Ê òàêèì óòèëèòàì îòíîñÿòñÿ:
|
rmic |
Óòèëèòà äëÿ ãåíåðàöèè çàãëóøåê è ñêåëåòîâ äëÿ óäàëåííûõ îáúåêòîâ |
|
rmiregistry |
Óòèëèòà äëÿ ðåãèñòðàöèè óäàëåííûõ îáúåêòîâ |
|
rmid |
Ñðåäñòâî ñèñòåìíîé àêòèâàöèè RMI |
|
serialver |
Âîçâðàùàåò serialVersionUID.äëÿ äàííîãî êëàññà |
Ñðåäñòâà äëÿ ëîêàëèçàöèè ïðèëîæåíèé
Ê ñðåäñòâàì äëÿ ëîêàëèçàöèè ïðèëîæåíèé îòíîñèòñÿ óòèëèòà native2ascii, âûïîëíÿþùàÿ ïðåîáðàçîâàíèå òåêñòà â Unicode Latin-1.
Ñðåäñòâà äëÿ çàùèòû ïðèëîæåíèé
Óòèëèòû, îòíîñÿùèåñÿ ê ýòîé êàòåãîðèè, èñïîëüçóþòñÿ äëÿ çàäàíèÿ óðîâíåé çàùèòû è ñîçäàíèÿ ïðèëîæåíèé, êîòîðûé ðàáîòàþò íà óäàëåííûõ óçëàõ. Ê òàêèì óòèëèòàì îòíîñÿòñÿ:
|
keytool |
Ñðåäñòâî äëÿ óïðàâëåíèÿ ñåðòèôèêàòàìè |
|
jarsigner |
Óòèëèòà äëÿ ãåíåðàöèè è ïðîâåðêè öèôðîâûõ ïîäïèñåé â JAR-ôàéëàõ |
|
policytool |
Ãðàôè÷åñêîå ñðåäñòâî äëÿ óïðàâëåíèÿ ôàéëàìè äîñòóïà |
IDL-óòèëèòû
Óòèëèòû, îòíîñÿùèåñÿ ê ýòîé êàòåãîðèè, èñïîëüçóþòñÿ ïðè ñîçäàíèè ïðèëîæåíèé, èñïîëüçóþùèõ CORBA äëÿ äîñòóïà ê áàçàì äàííûõ. Ê òàêèì óòèëèòàì îòíîñÿòñÿ:
|
tnameserv |
Îáåñïå÷èâàåò äîñòóï ê ñåðâèñàì èìåí (naming service) |
|
Idltojava |
Ñîçäàåò java-ôàéëû äëÿ èíòåðôåéñîâ OMG IDL è ïîçâîëÿåò ïðèëîæåíèÿì, íàïèñàííûì íà ÿçûêå Java, èñïîëüçîâàòü ôóíêöèîíàëüíîñòü CORBA |
Íàáîð Java-áèáëèîòåê è áàçîâûõ êëàññîâ
ßäðîì Java 2 ÿâëÿåòñÿ áèáëèîòåêà êëàññîâ Java Foundation Classes (JFC) âåðñèè 1.1, ïðåäíàçíà÷åííàÿ äëÿ ñîçäàíèÿ ãðàôè÷åñêèõ èíòåðôåéñîâ Java-ïðèëîæåíèé.  åå ñîñòàâ âõîäÿò ñîáñòâåííî áèáëèîòåêà JFC âåðñèè 1.1 (êîòîðàÿ áûëà äîñòóïíà äëÿ JDK 1.1 ñ ôåâðàëÿ ïðîøëîãî ãîäà) è ñëåäóþùèå èíòåðôåéñû:
Abstract Windowing Toolkit (AWT)
Swing
Java 2D
Drag and Drop
Accessibility
Àðõèòåêòóðà Java Foundation Classes ïîêàçàíà íà ñëåäóþùåé äèàãðàììå.
Abstract Windowing Toolkit ïîçâîëÿåò ñîçäàâàòü ïðîãðàììû ñ ãðàôè÷åñêèìè èíòåðôåéñàìè, íåçàâèñÿùèìè îò êîíêðåòíîé ïëàòôîðìû. Áîëåå òîãî, ïðîãðàììíûé èíòåðôåéñ AWT íàìíîãî ïðîùå è ïîíÿòíåå ïðîãðàììíûõ èíòåðôåéñîâ Windows, Motif èëè OS/2.  JDK 1.2 áûëî äîáàâëåíî ìíîãî íîâûõ êëàññîâ è èíòåðôåéñîâ, âêëþ÷àÿ ïîääåðæêó ôóíêöèé ðèñîâàíèÿ, âûâîäà íà ïðèíòåð, îáðàáîòêè èçîáðàæåíèé è ïîääåðæêè Drag and Drop è Java 2D.
Ìíîãèå èç ýòèõ íîâûõ êîìïîíåíòîâ ìîæíî íàéòè â ãàëåðåå ïî àäðåñó: http://java.sun.com/products/jfc/swingdoc-current/comp_gal.html. Òàêæå, ìîæíî ïîñìîòðåòü ïðîãðàììó SwingSet, ÷òîáû óâèäåòü êîìïîíåíòû Swing â äåéñòâèè.
Êîìïîíåíòû Swing ÿâëÿþòñÿ 100% Java-êîìïîíåíòàìè. Ýòî îçíà÷àåò, ÷òî îíè íå çàâèñÿò îò êîíêðåòíûõ ðåàëèçàöèé èíòåðôåéñíûõ ýëåìåíòîâ íà òîé èëè èíîé ïëàòôîðìå. Ýòî òàêæå îçíà÷àåò, ÷òî ýòè êîìïîíåíòû äîñòóïíû íà âñåõ ïëàòôîðìàõ, ãäå åñòü ïîääåðæêà Java 2. Êîìïîíåíòû Swing ðåàëèçîâàíû êàê ðàñøèðåíèå AWT, íî íå èñïîëüçóþò êîìïîíåíòîâ AWT. Íà ñàìîì äåëå, ìíîãèå òðàäèöèîííûå êîìïîíåíòû AWT – êíîïêè, ñïèñêè, äèàëîãîâûå ïàíåëè, áûëè ïåðåäåëàíû â êîìïîíåíòû Swing Áëàãîäàðÿ ýòîìó, êîìïîíåíòû AWT ñòàëè áîëåå äîñòóïíûìè íà ðàçëè÷íûõ ïëàòôîðìàõ è òåïåðü ïðåäîñòàâëÿþò äîïîëíèòåëüíûå âîçìîæíîñòè, îòñóòñòâóþùèå â íåêîòîðûõ ãðàôè÷åñêèõ ñðåäàõ. Íà ñëåäóþùåé äèàãðàììå ïîêàçàíî âçàèìîäåéñòâèå Swing è AWT.
Îäíî èç íàèáîëåå èíòåðåñíûõ ñâîéñòâ áèáëèîòåêè Swing – ýòî âîçìîæíîñòü èçìåíåíèÿ âíåøíåãî âèäà êîìïîíåíòîâ è èíòåðôåéñîâ - Pluggable Look and Feel (PL&F). Àðõèòåêòóðà PL&F ïîçâîëÿåò íàñòðàèâàòü âíåøíèé âèä è ïîâåäåíèå êàê îäíîãî êîìïîíåíòà, òàê è ãðóïïû êîìïîíåíòîâ. Òàêæå â ñîñòàâ Swing âõîäèò ðÿä ïðåäîïðåäåëåííûõ íàñòðîåê - Metal L&F, Motif L&F, Windows L&F. Ñóùåñòâóþò íàñòðîéêè ïî óìîë÷àíèþ äëÿ Macintosh è äðóãèõ ïëàòôîðì.
Êàê ÿ îòìåòèë âûøå, êîìïîíåíòû Swing èãðàþò âàæíóþ ðîëü ïðè ñîçäàíèè ãðàôè÷åñêèõ èíòåðôåéñîâ ïðîãðàìì.  ñëåäóþùåé òàáëèöå ïðèâåäåíû êðàòêèå îïèñàíèÿ ýòèõ êîìïîíåíòîâ.
|
Êîìïîíåíò |
Îïèñàíèå |
|
Box |
Êîíòåéíåð îáùåãî íàçíà÷åíèÿ äëÿ îðãàíèçàöèè âëîæåííûõ êîìïîíåíòîâ èñïîëüçóÿ ìîäåëü BoxLayout. |
|
Japplet |
Ïîäêëàññ êëàññà Applet ñîäåðæàùèé JRootPane äëÿ òîãî, ÷òîáû äîáàâèòü ê ïðèëîæåíèþ ðàçëè÷íûå èíòåðôåéñíûå ýëåìåíòû òèïà ìåíþ |
|
Jbutton |
Êíîïêà, êîòîðàÿ ìîæåò ñîäåðæàòü ëèáî òåêñò, ëèáî ãðàôè÷åñêîå èçîáðàæåíèå, ëèáî è òî è äðóãîå |
|
JcheckBox |
Êíîïêà ñ íåçàâèñèìîé ôèêñàöèåé |
|
JcheckBoxMenuItem |
Êíîïêà ñ íåçàâèñèìîé ôèêñàöèåé äëÿ èñïîëüçîâàíèÿ â ìåíþ |
|
JcolorChooser |
Êîìïîíåíò äëÿ âûáîðà öâåòà â îäíîé èç öâåòîâûõ ñõåì. Èñïîëüçóåòñÿ ñîâìåñòíî ñ javax.swing.colorchooser |
|
JcomboBox |
Êîìáèíèðîâàíûé ñïèñîê – ñòðîêà ââîäà è âûïàäàþùèé ñïèñîê. Ïîëüçîâàòåëü ìîæåò ââîäèòü òåêñò èëè âûáèðàòü ýëåìåíò èç ñïèñêà. |
|
Jcomponent |
Êîðíåâîé ýëåìåíò èåðàðõèè áèáëèîòåêè êîìïîíåíòîâ Swing. Äîáàâëÿåò ñïåöèôè÷åñêèå ñâîéñòâà òèïà ïîäñêàçîê è ïîääåðæêè äâîéíîé áóôåðèçàöèè |
|
JdesktopPane |
Êîíòåéíåð äëÿ êîìïîíåíòîâ JInternalFrame èìèòèðóþùèé ðàáîòó desktop â îäíîì îêíå. Ïîääåðæèâàåò ìíîãîîêîííûé èíòåðôåéñ (MDI) |
|
Jdialog |
Êîíòåéíåð äëÿ îòîáðàæåíèÿ äèàëîãîâûõ ïàíåëåé |
|
JeditorPane |
Òåêñòîâûé ðåäàêòîð ñ áîãàòûìè âîçìîæíîñòÿèì, óïðàâëåíèå ñâîéñòâàìè êîòîðîãî âîçìîæíî ÷åðåç îáúåêò EditorKit. Ïî óìîë÷àíèþ ìîæåò îòîáðàòü è ðåäàêòèðîâàòü òåêñò â ôîðìàòå HTML è RTF |
|
JfileChooser |
Êîìïîíåíò äëÿ âûáîðà ôàéëà èëè êàòàëîãà. Ïîääåðæèâàåòñÿ ôèëüòðàöèÿ è âîçìîæíîñòü ïðåäâàðèòåëüíîãî ïðîñìîòðà ñîäåðæèìîãî ôàéëà. Èñïîëüçóåòñÿ ñîâìåñòíî ñ javax.swing.filechooser |
|
Jframe |
Êîíòåéíåð äëÿ îêîí âåðõíåãî óðîâíÿ |
|
JinternalFrame |
Êîíòåéíåð äëÿ âëîæåííûõ îêîí. Ñõîæ ñ JFrame è îòîáðàæàåò çàãîëîâîê îêíà.  òî æå âðåìÿ íå ÿâëÿåòñÿ íåçàâèñèìûì îêíîì è îòîáðàæàåòñÿ âíóòðè ðîäèòåëüñêîãî êîíòåéíåðà. ×àñòî èñïîëüçóåòñÿ âìåñòå ñ JDesktopPane. |
|
Jlabel |
Êîìïîíåíò äëÿ îòîáðàæåíèÿ òåêñòà, ãðàôè÷åñêîãî èçîáðàæåíèÿ èëè òîãî è äðóãîãî |
|
JlayeredPane |
Êîíòåéíåð, ïîçâîëÿþùèé äî÷åðíèì îáúåêòàì ïåðåêðûâàòü äðóã äðóãà. Óïðàâëÿåò ïîðÿäêîì íàëîæåíèÿ äî÷åðíèõ îáúåêòîâ äâóã íà äðóãà |
|
Jlist |
Êîìïîíåíò äëÿ îòîáðàæåíèÿ ñïèñêà ñ âîçìîæíîñòüþ âûáîðà. Ýëåìåíòàìè ñïèñêà ìîãóò áûòü ñòðîêè, ãðàôè÷åñêèå èçîáðàæåíèÿ èëè äðóãèå îáúåêòû |
|
Jmenu |
Âûïàäàþùåå ìåíþ â JMenuBar èëè ïîäìåíþ âíóòðè äðóãîãî ìåíþ |
|
JmenuBar |
Êîìïîíåíò, îòîáðàæàþùèé íàáîð âûïàäàþùèõ ìåíþ. |
|
JmenuItem |
Îäèí ýëåìåíò ìåíþ |
|
JoptionPane |
Êîìïîíåíò, èñïîëüçóþùèéñÿ äëÿ îòîáðàæåíèÿ ïðîñòûõ äèàëîãîâûõ ïàíåëåé âíóòðè êîíòåéíåðà JDialog. Çàäàåò íàáîð ñòàòè÷åñêèõ ìåòîäîâ äëÿ ñòàíäàðòíûõ äèàëîãîâûõ ïàíåëåé |
|
Jpanel |
Êîíòåéíåð äëÿ ãðóïïèðîâêè êîìïîíåíòîâ â ñîîòâåòñòâóþùåì LayoutManager. |
|
JpasswordField |
Ïîëå ââîäà äàííûõ, â êîòîðîì ââîäèìûé òåêñò íå îòîáðàæàåòñÿ |
|
JpopupMenu |
Îêíî, â êîòîðîì îòîáðàæàåòñÿ âñïëûâàþùåå ìåíþ. Èñïîëüçóåòñÿ JMenu èëè äëÿ ñîçäàíèÿ îòäåëüíûõ âñïëûâàþùèõ ìåíþ |
|
JprogressBar |
Êîìïîíåíò, êîòîðûé ïîêàçûâàåò ïðîöåññ âûïîëíåíèÿ äëèòåëüíîé îïåðàöèè |
|
JradioButton |
Êíîïêà ñ çàâèñèìîé ôèêñàöèåé |
|
JradioButtonMenuItem |
Êíîïêà ñ çàâèñèìîé ôèêñàöèåé äëÿ èñïîëüçîâàíèÿ â ìåíþ |
|
JrootPane |
Êîìïëåêñíûé êîíòåéíåð, èñïîëüçóåìûé JApplet, JDialog, JFrame è JInternalFrame. |
|
JScrollBar |
Ãîðèçîíòàëüíàÿ èëè âåðòèêàëüíàÿ ïîëîñà ïðîêðóòêè |
|
JScrollPane |
Êîíòåéíåð, ïîçâîëÿþùèé äî÷åðíèì êîìïîíåíòàì ïðîêðó÷èâàòüñÿ âåðòèêàëüíî èëè ãîðèçîíòàëüíî. Îáåñïå÷èâàåò ïîääåðæêó ôèêñèðîâàííûõ îáëàñòåé. |
|
Jseparator |
Êîìïîíåíò äëÿ îòðèñîâêè ãîðèçîíòàëüíûõ è âåðòèêàëüíûõ ðàçäåëèòåëåé. |
|
Jslider |
Êîìïîíåíò äëÿ íàãëÿäíîãî ââîäà öèôðîâûõ çíà÷åíèé |
|
JSplitPane |
Êîíòåéíåð, â êîòîðîì îòîáðàæàþòñÿ äâà äî÷åðíèõ îáúåêòà, ðàçìåð êîòîðûõ ìîæíî èçìåíÿòü |
|
JtabbedPane |
Êîíòåéíåð, ðåàëèçóþùèé ïàíåëü ñ çàêëàäêàìè |
|
Jtable |
Êîìïîíåíò äëÿ îòîáðàæåíèÿ òàáëèö ñ âîçìîæíîñòüþ ðåäàêòèðîâàíèÿ èõ ñîäåðæèìîãî. Ìîæåò îòîáðàæàòü êàê ñòðî÷íûå äàííûå, òàê è ëþáîé äðóãîé òèï äàííûõ. Îáû÷íî èñïîëüçóåòñÿ ñîâìåñòíî ñ javax.swing.table |
|
JtextArea |
Êîìïîíåíò äëÿ îòîáðàæåíèÿ è ðåäàêòèðîâàíèÿ ìíîãîñòðî÷íîãî òåêñòà. Îñíîâàí íà êîìïîíåíòå JTextComponent. |
|
JtextComponent |
Êîìïîíåíò äëÿ ðåàëèçàöèè êîìïîíåíòîâ äëÿ îòîáðàæåíèÿ è ðåäàêòèðîâàíèÿ òåêñòà. ßâëÿåòñÿ ÷àñòüþ javax.swing.text |
|
JtextField |
Êîìïîíåíò äëÿ îòîáðàæåíèÿ, ââîäà è ðåäàêòèðîâàíèÿ îäíîé ñòðîêè òåêñòà. Îñíîâàí íà êîìïîíåíòå JTextComponent. |
|
JtextPane |
Ïîäêëàññ JEditorPane äëÿ îòîáðàæåíèÿ è ðåäàêòèðîâàíèÿ îòôîðìàòèðîâàííîãî òåêñòà, êîòîðûé íå ÿâëÿåòñÿ òåêñòîì â ôîðìàòå HTML èëè RTF |
|
JtoggleButton |
Ðîäèòåëüñêèé êîìïîíåíò äëÿ JCheckBox è JRadioButton. |
|
JtoolBar |
Êîìïîíåíò äëÿ îòîáðàæåíèÿ ïàíåëè èíñòðóìåíòîâ |
|
JtoolTip |
Îêíî äëÿ îòîáðàæåíèÿ ïîäñêàçîê èëè äðóãîé ïîÿñíèòåëüíîé èíôîìàöèè |
|
Jtree |
Êîìïîíåíò äëÿ îòîáðàæåíèÿ äðåâðâèäíîé ñòðóêòóðû äàííûõ. Ïîìèìî ñòðî÷íûõ äàííûõ ìîæåò îòîáðàæàòü ëþáûå äðóãèå. Èñïîëüçóåòñÿ ñîâìåñòíî ñ javax.swing.tree |
|
Jviewport |
Êîíòåéíåð äëÿ îòîáðàæåíèÿ êàêîé-ëèþáî ÷àñòè äî÷åðíåãî îáúåêòà. Îáû÷íî èñïîëüçóåòñÿ ñîâìåñòíî ñ JScrollPane. |
|
Jwindow |
Îêíî, íî áåç çàãîëîâêà, ïîëîñ ïðîêðóòêè è äðóãèõ ýëåìåíòîâ. |
Ñ ïîìîùüþ Java 2D ìîæíî ðàçðàáàòûâàòü ãðàôè÷åñêèå ïðèëîæåíèÿ. Ýòîò ïðîãðàììíûé èíòåðôåéñ îáåñïå÷èâàåò ïîääåðæêó äâóìåðíîé ãðàôèêè, îáðàáîòêó ãðàôè÷åñêèõ èçîáðàæåíèé, ðåíäåðèíã, óïðàâëåíèå öâåòàìè è ðàáîòó ñ óñòðîéñòâàìè ïå÷àòè. Èíòåðôåéñ Java 2D ñîñòîèò èç ìîäåëè, êîòîðàÿ ïîääåðæèâàåò îòðèñîâêó ëèíèé, ãðàôè÷åñêèõ èçîáðàæåíèé, ïðåîáðàçîâàíèÿ öâåòîâ, ñîñòàâëåíèå ãðàôèêè. Ìîäåëü ÿâëÿåòñÿ àïïàðàòíî-íåçàâèñèìîé. Èíòåðôåéñ Java 2D ðåàëèçîâàí â ïàêåòàõ java.awt è java.awt.8314_.
Drag and Drop
 Java 2 ââåäåíà ïîääåðæêà îïåðàöèé Drag and Drop, ñ ïîìîùüþ êîòîðûõ ìîæíî ïåðåòàñêèâàòü ðàçëè÷íûå îáúåêòû. Èíòåðôåéñ Drag and Drop â JDK 1.2 îáåñïå÷èâàåò ïëàòôîðìåííî-íåçàâèñèìóþ ïîääåðæêó ýòèõ îïåðàöèé äëÿ Java-ïðèëîæåíèé, ïðè÷åì ìîæíî îñóùåñòâëÿòü ïåðåòàñêèâàíèå îáúåêòîâ êàê ìåæäó Java-ïðîãðàììàìèÞ òàê è ìåæäó Java-ïðîãðàììàìè è ïðîãðàììàìè, "ðîäíûìè" äëÿ êîíêðåòíîé ïëàòôîðìû. Èíòåðôåéñ Drag and Drop ðåàëèçîâàí â ïàêåòå java.awt.dnd è ïîääåðæèâàåòñÿ êëàññàìè è èíòåðôåéñàìè äðóãèõ ïàêåòîâ JFC.
Accessibility
Äëÿ ïîëüçîâàòåëåé ñ ðàçëè÷íûìè ôèçè÷åñêèìè íåäîñòàòêàìè â JDK 1.2 ââåäåí ðÿä èíòåðôåéñîâ, îáëåã÷àþùèõ ñîçäàíèå ñîòîâåòñòâóþùèõ ïðîãðàììíûõ ñðåäñòâ. Èíòåðôåéñ Accessibility â JDK 1.2 ðåàëèçîâàí â ïàêåòå java.awt.accessibility.
Àïïëåòû
Ïðè îáçîðå ïëàòôîðìû Java íåëüçÿ íå óïîìÿíóòü àïïëåòû – ìèíè-ïðèëîæåíèÿ, çàãðóæàåìûå èç ñåòè è âûïîëíÿåìûå â Web-áðàóçåðå. Òàê êàê àïëåòû çàãðóæàþòñÿ èç ñåòè, îíè îáû÷íî ñîäåðæàò "íåïðîâåðåííûé" êîä, ÷òî íàêëàäûâàåò îïðäåëåííûå òðåáîâàíèÿ ê ïðîâåðêå èõ íàäåæíîñòè. Àïïëåòû ñûãðàëè áîëüøóþ ðîëü â ïîïóëÿðèçàöèè ïëàòôîðìû Java è ïðàêòè÷åñêè íå èçìåíèëèñü ñî âðåìåí Java 1.0.  Java 2 ïîÿâèëñÿ Swing-êëàññ JApplet è íîâàÿ, áîëåå ãèáêàÿ ìîäåëü çàùèòû.
Áàçîâûé êëàññ Applet è Swing-êëàññ JApplet ÿâëÿþòñÿ GUI-êîíòåéíåðàìè, êîòîðûå ìîãóò ñîäåðæàòü äðóãèå GUI-êîìïîíåíòû è êîíòåéíåðû. Íî íå ýòè ñâîéñòâà îïðåäåëÿþò îñíîâíûå õàðàêòåðèñòèêè àïïëåòîâ. Íàèáîëåå âàæíûìè çäåñü ÿâëÿþòñÿ âîçìîæíîñòü ðàáîòû â ñåòè, äèíàìè÷åñêàÿ çàãðóçêà è âûïîëíåíèå è ðàçâèòûå ñðåäñòâà çàùèòû.
JavaBeans
Êîìïîíåíòû JavaBeans. âïåðâûå ïîÿâèëèñü â Java 1.1.  Java 2 ðåàëèçîâàíû íåêîòîðûå ðàñøèðåíèÿ êîìïîíåíòíîé ìîäåëè JavaBeans. Êîìïîíåíò JavaBeans – ýòî Java-îáúåêò, èíòåðôåéñ êîòîðîãî ïîääåðæèâàåò íåêîòîðûå ñîãëàøåíèÿ. Òàê, êîìïîíåíòàìè ìîæíî óïðàâëÿòü èç ñðåäñòâ ðàçðàáîòêè, èç ñêðèïòîâûõ ÿçûêîâ è ò.ï.  íåêîòîðûõ ñëó÷àÿõ öåëûå ïðèëîæåíèÿ ìîãóò áûòü äèíàìè÷åñêè ñîáðàíû èç ãðóïïû íåçàâèñèìûõ, íî âçàèìîäåéñòâóþùèõ äðóã ñ äðóãîì êîìïîíåíòîâ. Êîìïîíåíòû JavaBeans ÷àñòî, íî íåîáÿçàòåëüíî, ÿâëÿþòñÿ GUI-êîìïîíåíòàìè. Âñå GUI-êîìïîíåíòû ïëàòôîðìû Java ñëåäóþò ñîãëàøåíèÿì êîìïîíåíòîâ JavaBeans è ìîãóò èñïîëüçîâàòüñÿ â êîíòåêñòå JavaBeans. Òàêèìè êîìïîíåíòàìè ìîãóò áûòü è ïðîñòàÿ êíîïêà, è ñëîæíûé ïîëíîôóíêöèîíàëüíûé òåêñòîâûé ïðîöåññîð.
 Java 2 ïîÿâèëîñü ïîíÿòèå êîíòåêñòà êîìïîíåíòà, - êîíòåéíåðà, êîòîðûé ìîæåò ñîäåðæàòü â ñåáå êîìïîíåíòû è äðóãèå êîíòåéíåðû. Òàêîé êîíòåéíåð ìîæåò îáåñïå÷èâàòü íàáîð ñåðâèñîâ, íàïðèìåð, âîçìîæíîñòü ðàáîòû ñ óñòðîéñòâîì ïå÷àòè, äëÿ âñåõ âëîæåííûõ êîìïîíåíòîâ. Ôàêòè÷åñêè, êîíòåêñò êîíòåéíåðà ÿâëÿåòñÿ ðàñøèðåíèåì ìîäåëè àïïëåòîâ – â ïëàòôîðìå Java 2 ðåàëèçîâàíà ïîääåðæêà ñîçäàíèÿ îáúåêòîâ, êîòîðûå ìîãóò âûñòóïàòü è êàê êîìïîíåíòû, è êàê àïïëåòû.
Java Media Framework
Java Media Framework (JMF) – ýòî ñòàíäàðòíîå ðàñøèðåíèå ïëàòôîðìû Java 2. JMF çàäàåò áèáëèîòåêó êëàññîâ äëÿ ðàáîòû ñî çâóêîì è âèäåî.  äîïîëíåíèå ê âîçìîæíîñòÿì âîñïðîèçâåäåíèÿ àóäèîäàííûõ è îòîáðàæåíèÿ âèäåîäàííûõ, çàêîäèðîâàííûõ â ðàçëè÷íûõ ôîðìàòàõ, JMF âêëþ÷àåò ñðåäñòâà äëÿ îáðàáîòêè, êîíòðîëÿ è ñèíõðîíèçàöèè ïîòîêîâ ìóëüòèìåäèéíûõ äàííûõ. Java Media Framework ìîæåò ðàáîòàòü êàê ñ ôàéëàìè, õðàíèìûìè íà ëîêàëüíûõ äèñêàõ, òàê è óïàêîâàííûìè ïîòîêîâûìè äàííûìè, ïåðåäàâàåìûìè â ðåàëüíîì âðåìåíè ïî ñåòè.
Java Media Framework ðåàëèçîâàíî ïîëíîñòüþ íà ÿçûêå Java è ìîæåò ðàáîòàòü íà ëþáîé ïëàòôîðìå, ïîääåðæèâàþùåé ÿçûê Java.  äîïîëíåíèå ê ýòîìó, ñóùåñòâóþò ïëàòôîðìåííî-çàâèñèìûå ðàñøèðåíèÿ â êîäå äëÿ òîé èëè èíîé ïëàòôîðìû, ñ ïîìîùüþ êîòîðûõ ìîæíî ñóùåñòâåííî ïîâûñèòü ïðîèçâîäèòåëüíîñòü ñîçäàâàåìûõ ïðèëîæåíèé è îáåñïå÷èòü ïîääåðæêó ñïåöèôè÷íûõ äëÿ äàííîé ïëàòôîðìû ôîðìàòîâ äàííûõ.
 ñëåäóþùèõ âåðñèÿõ JMF áóäóò ðåàëèçîâàíû ñðåäñòâà çàïèñè ìóëüòèìåäèéíûõ äàííûõ è ïîääåðæêè êîíôåðåíöèé.
Ïîääåðæêà çâóêà
 ïåðâûõ äâóõ âåðñèÿõ Java (1.0 è 1.1) áûëè ëèøü ðóäèìåíòàðíûå ôóíêöèè äëÿ ïîääåðæêè çâóêà – ìîæíî áûëî âîñïðîèçâîäèòü òîëüêî çâóê, çàêîäèðîâàííûé â ôîðìàòå AU ôèðìû Sun. Ñîîòâåòñòâóþùèå èíòåðôåéñû áûëè äîñòóïíû òîëüêî äëÿ àïïëåòîâ. Ïëàòôîðìà Java 2 ñîäåðæèò íîâîå ÿäðî äëÿ âîñïðîèçâåäåíèÿ çâóêîâûõ ôàéëîâ â íàèáîëåå ïîïóëÿðíûõ ôîðìàòàõ, à ïðîãðàììíûå èíòåðôåéñû ìîãóò èñïîëüçîâàòüñÿ â ëþáîì Java-êîäå, íå òîëüêî â àïïëåòàõ, êàê ýòî áûëî ðàíüøå.
Äëÿ ïîääåðæêè çâóêà â ñîñòàâ Java 2 âêëþ÷åí èíòåðôåéñ Java Sound, îáåñïå÷èâàþùèé ïîëíûé êîíòðîëü íàä àóäèîäàííûìè.
Ðàçðàáîòêà êîðïîðàòèâíûõ ïðèëîæåíèé
Áîëüøèíñòâî íîâèíîê â ïëàòôîðìå Java 2 – ýòî íîâèíêè â ãðàôè÷åñêèõ èíòåðôåéñàõ è ïîääåðæêå ãðàôè÷åñêèõ ôóíêöèé. Íî íàèáîëåå âàæíûìè, ñî ñòðàòåãè÷åñêîé òî÷êè çðåíèÿ, íåñîìíåííî, ÿâëÿþòñÿ ïðîãðàììíûå èíòåðôåéñû Java Enterprise. Ýòè èíòåðôåéñû ïîçâîëÿþò èñïîëüçîâàòü Java äëÿ ñîçäàíèÿ êîðïîðàòèâíûõ ïðèëîæåíèé, êîòîðûå îáëàäàþò ñðåäñòâàìè ìàñøòàáèðîâàíèÿ, ìîãóò ðàáîòàòü â ñåòåâûõ ñðåäàõ è îáëàäàþò ïîääåðæêîé ðàáîòû ñ óæå ñóùåñòâóþùèìè ïðèëîæåíèÿìè.
Íåêîòîðûå èç ýòèõ èíòåðôåéñîâ ñóùåñòâîâàëè â Java 1.1, ÷àñòü èç íèõ ÿâëÿþòñÿ íîâûìè äëÿ Java 2. Ðÿä èíòåðôåéñîâ ÿâëÿåòñÿ áàçîâûì äëÿ ïëàòôîðìû Java 2, îñòàëüíûå – ýòî äîïîëíåíèÿ è ðàñøèðåíèÿ. Òåì íå ìåíåå èìåííî ïëàòôîðìà Java 2.ÿâëÿåòñÿ ïåðâîé, ãäå ïîëíîñòüþ ðåàëèçîâàíû èíòåðôåéñû Java Enterprise, è êîòîðàÿ ñëóæèò â êà÷åñòâå îñíîâû äëÿ ñîçäàíèÿ êîðïîðàòèâíûõ ïðèëîæåíèé.
Íèæå ìû êðàòêî ðàññìîòðèì îñíîâíûå èíòåðôåéñû Java Enterprise (áîëåå ïîäðîáíî ìû ïîãîâîðèì îá ýòèõ èíòåðôåéñàõ â îäíîé èç ñëåäóþùèõ ñòàòåé äàííîãî öèêëà). Ê íèì îòíîñÿòñÿ:
Äîñòóï ê áàçàì äàííûõ
Èíòåðôåéñ Java Database Connectivity (JDBC) ïîçâîëÿåò Java-ïðîãðàììàì ïîñûëàòü SQL-çàïðîñû è îáíîâëÿòü äàííûå íà ñåðâåðàõ áàç äàííûõ, à òàêæå îáðàáàòûâàòü ïîëó÷åííûå ñ ñåðâåðà ðåçóëüòàòû. JDBC òàêæå ïîçâîëÿåò ïîëó÷àòü ìåòàèíôîðìàöèþ î áàçå äàííûõ è åå òàáëèöàõ ñ ñåðâåðà áàç äàííûõ. Àðõèòåêòóðà JDBC îñíîâûâàåòñÿ íà êëàññå Driver, êîòîðûé "ñêðûâàåò" âñå äåòàëè îáùåíèÿ ñ êîíêðåòíûì ñåðâåðîì áàç äàííûõ. Êàæäûé êîíêðåòíûé ñåðâåð òðåáóåò íàëè÷èÿ ñîîòâåòñòâóþùåãî êëàññà Driver, ñ êîòîðûì âçàèìîäåéñòâóþò Java-ïðîãðàììû. Áîëüøèíñòâî ïðîèçâîäèòåëåé áàç äàííûõ ïîñòàâëÿþò JDBC-äðàéâåðû ñî ñâîèìè ïðîäóêòàìè. Ïîìèìî ýòîãî, ñóùåñòâóþò ñïåöèàëüíûå äðàéâåðû äëÿ âçàèìîäåéñòâèÿ ñ áàçàìè ÷åðåç ñîîòâåòñòâóþùèå ODBC-äðàéâåðû. Íà ñëåäóþùåé äèàãðàììå ïîêàçàíû äâà âîçìîæíûõ âàðèàíòà ñîçäàíèÿ JDBC-ïðèëîæåíèé - ñ èñïîëüçîâàíèåì òîëüêî JDBC-äðàéâåðîâ è ñ èñïîëüçîâàíèåì JDBC/ODBC-äðàéâåðîâ.
Èíòåðôåéñ JDBC ðåàëèçîâàí â ïàêåòå java.sql, êîòîðûé âïåðâûå ïîÿâèëñÿ â Java 1.1.  ïëàòôîðìå Java 2 ïîÿâèëñÿ ðÿä íîâûõ êëàññîâ, ðåàëèçóþùèõ äîïîëíèòåëüíóþ ôóíêöèîíàëüíîñòü. Òàêæå â Java 2 âêëþ÷åí ïàêåò javax.sql, ïîçâîëÿþùèé, íàïðèìåð, ðàññìàòðèâàòü ðåçóëüòàòû çàïðîñà ê áàçàì äàííûõ êàê JavaBeans, âûïîëíÿòü ïóëèíã ñâÿçåé ñ áàçàìè è ïîëó÷àòü èíôîðìàöèþ î ñâÿçÿõ ñ áàçàìè ÷åðåç ñåðâèñû èìåí.
Èíòåðôåéñ JDBC ÿâëÿåòñÿ ïðîñòûì è õîðîøî ïðîäóìàííûì. Ïðîãðàììèñòû, çíàêîìûå ñ SQL è îñíîâàìè ïðîãðàììíîãî âçàèìîäåéñòâèÿ ñ áàçàìè äàííûõ, ñìîãóò ëåãêî âîñïîëüçîâàòüñÿ ôóíêöèÿìè JDBC â Java-ïðîãðàììàõ.
Ïîääåðæêà ðàñïðåäåëåííûõ îáúåêòîâ
Ðàñïðåäåëåííûå îáúåêòû îáåñïå÷èâàþò ìîùíóþ ìîäåëü äëÿ ñîçäàíèÿ îáúåêòíî-îðèåíòèðîâàííûõ ñåòåâûõ ïðèëîæåíèé, èíòåðåñ ê êîòîðûì â ïîñëåäíèå ãîäû íåóêëîííî ðàñòåò.  äàííîé ìîäåëè êëèåíòñêàÿ ÷àñòü äîëæíà èìåòü âîçìîæíîñòü âûçûâàòü ìåòîäû îáúåêòîâ, ðàñïîëîæåííûõ íà óäàëåííûõ ñåðâåðàõ òàê, êàê åñëè áû ýòè îáúåêòû ðàñïîëàãàëèñü ëîêàëüíî. Äàííàÿ ìîäåëü ìîæåò áûòü ðåàëèçîâàíà íåñêîëüêèìè ñïîñîáàìè. Îäíèì èç íèõ ÿâëÿåòñÿ Java Remote Method Invocation (RMI). Ñîîòâåòñòâóþùèå ïðîãðàìíûå èíòåðôåéñû ðåàëèçîâàíû â ïàêåòå java.rmi, êîòîðûé âïåðâûå ïîÿâèëñÿ â Java 1.1 è áûë ðàñøèðåí â Java 2.
Ðàñïðåäåëåííûå îáúåêòû è CORBA
Java Remote Method Invocation – ýòî ðåøåíèå äëÿ ñîçäàíèÿ ðàñïðåäåëåííûõ ñèñòåì, êîòîðîå ðàáîòàåò äëÿ êëèåíòñêèõ è ñåðâåðíûõ ïðèëîæåíèé, íàïèñàííûõ íà ÿçûêå Java. Íî îíî íå ïîäõîäèò äëÿ ãåòåðîãåííûõ ñðåä, ãäå êëèåíòû è ñåðâåðû íàïèñàíû íà ðàçëè÷íûõ ÿçûêàõ. Äëÿ òàêèõ ñðåä â ïëàòôîðìå Java 2 ðåàëèçîâàíà ïîääåðæêà CORBA.
CORBA (Common Object Request Broker Architecture) – ýòî ñòàíäàðò, ñîçäàííûé Object Management Group (OMG). Äàííûé ñòàíäàðò ðåàëèçîâàí êàê áàçîâàÿ ñîñòàâëÿþùàÿ ïëàòôîðìû Java 2 â ïàêåòå org.omg.CORBA è äðóãèõ ïîäïàêåòàõ. Ðåàëèçàöèÿ âêëþ÷àåò Object Request Broker (ORB), êîòîðûé Java-ïðèëîæåíèÿ ìîãóò èñïîëüçîâàòü äëÿ îáùåíèÿ ñ äðóãèìè áðîêåðàìè è äðóãèìè CORBA-îáúåêòàìè.
Èíòåðôåéñû ê óäàëåííûì CORBA-îáúåêòàì ÿâëÿþòñÿ íåçàâèñèìûìè îò ÿçûêà è ïëàòôîðìû è îïèñûâàþòñÿ íà ÿçûêå îïèñàíèÿ èíòåðôåéñîâ - Interface Description Language (IDL). Â ñîñòàâ Java Development Kit âõîäèò êîìïèëÿòîð IDL, êîòîðûé ïðåîáðàçóåò èíòåðôåéñû, îïèñàííûå íà ÿçûêå Interface Description Language â ñïåöèàëüíûå Java-êëàññû, íåîáõîäèìûå äëÿ ðåàëèçàöèè IDL-èíòåðôåéñîâ íà Java èëè äëÿ ñâÿçè ñ óäàëåííûìè ðåàëèçàöèÿìè èíòåðôåéñîâ èç Java-êîäà.
Ñåðâèñû èìåí è êàòàëîãîâ
Èíòåðôåéñû Java Naming and Directory Interface (JNDI) ïðåäñòàâëÿþò ñîáîé íåçàâèñèìûå îò ïðîòîêîëîâ èíòåðôåéñû ê ñåòåâûì ñåðâèñàì èìåí è êàòàëîãîâ. Ýòè èíòåðôåéñû ðåàëèçîâàíû â ïàêåòå javax.jndi, êîòîðûé ÿâëÿåòñÿ ñòàíäàðòíûì ðàñøèðåíèåì ïëàòôîðìû Java 2.
Èíòåðôåéñû JNDI íå ÿâëÿþòñÿ ñïåöèôè÷íûìè äëÿ êàêèõ-òî ïðîòîêîëîâ ïîääåðæêè ñåðâèñîâ èìåí è êàòàëîãîâ. Âìåñòî ýòîãî îíè ïðåäñòàâëÿþò ñîáîé áàçîâûå èíòåðôåéñû, ñïîñîáíûå ðàáîòàòòü ñ ëþáûìè ñåðâåðàìè. Äëÿ ïîääåðæêè êàêîãî-òî êîíêðåòíîãî ïðîòîêîëà òðåáóåòñÿ íàëè÷èå ñïåöèàëüíîãî ïðîâàéäåðà. Äëÿ áîëüøèíñòâà ïðîâàéäåðîâ òàêèõ ñåðâèñîâ - LDAP, DNS èëè NIS ðåàëèçîâàíû ñîîòâåòñòâóþùèå ïðîãðàììíûå ñðåäñòâà.
Ýëåêòðîííàÿ ïî÷òà
Èíòåðôåéñ JavaMail ïðåäñòàâëÿåò ñîáîé íåçàâèñÿùèé îò ïðîòîêîëîâ èíòåðôåéñ ê ñåðâèñàì ýëåêòðîííîé ïî÷òû. Îí ïîääåðæèâàåò âîçìîæíîñòü îòñûëêè è ïîëó÷åíèÿ ýëåêòðîííîé ïî÷òû, à òàêæå òàêèå ôóíêöèè, êàê ïîèñê. Èíòåðôåéñ JavaMail ðåàëèçîâàí â ïàêåòå javax.mail è ïîäïàêåòàõ è ÿâëÿåòñÿ ñòàíäàðòíûì ðàñøèðåíèåì ïëàòôîðìû Java 2.
Êàê è JNDI, JavaMail íå ñâÿçàí ñ êàêèì-òî êîíêðåòíûì ïðîòîêîëîì äëÿ ïîëó÷åíèÿ è îòñûëêè ýëåêòðîííîé ïî÷òû. JavaMail – ýòî íàáîð áàçîâûõ ôóíêöèé, ñïîñîáíûõ ðàáîòàòü ñ ëþáûì ïðîòîêîëîì. Ðåàëèçàöèÿ êîíêðåòíîãî ïðîòîêîëà – SMTP, IMAP èëè POP3 – òðåáóåò íàëè÷èÿ ñîîòâåòñòâóþùåãî ïðîâàéäåðà, êîòîðûé âõîäèò â êîìïëåêò ïîñòàâêè.
Enterprise JavaBeans
Enterprise JavaBeans – ýòî ñåðâåðíûé àíàëîã JavaBeans. Enterprise JavaBeans (EJB) ïðåäñòàâëÿåò ñîáîé êîìïîíåíòíóþ ìîäåëü äëÿ ðåàëèçàöèè áèçíåñ ëîãèêè è áèçíåñ äàííûõ. Ïðîãðàììíàÿ ìîäåëü ñ "òîíêèì" êëèåíòîì ïðåäïîëàãàåò âûíîñ áèçíåñ-ëîãèêè ñ êëèåíòñêîé ÷àñòè íà ñåðâåð èëè ïðîìåæóòî÷íûé óðîâåíü (middle tier) è ïîçâîëÿåò ñîçäàâàòü áîëåå ãèáêèå êîðïîðàòèâíûå ïðèëîæåíèÿ. Íî ïðè ýòîì, ðåàëèçàöèÿ áèçíåñ ëîãèêè ñâÿçàíà ñ íåîáõîäèìîñòüþ ïîääåðæêè êîäà, êîòîðûé áû îáðàáàòûâàë òðàíçàêöèè, âçàèìîäåéñòâîâàë áû ñ ñåòüþ è îáåñïå÷èâàë áû ñðåäñòâà çàùèòû èíôîðìàöèè.
Ìîäåëü EJB îòäåëÿåò áèçíåñ-ëîãèêó îò íèçêîóðîâíåâûõ ôóíêöèé, ïîçâîëÿÿ ðàçðàáîò÷èêàì íå çàáîòèòüñÿ î òîì, êàê â òîì èëè èíîì ñëó÷àå áóäóò ðåàëèçîâàíû ñòàíäàðòíûå ôóíêöèè, íàïðèìåð, äëÿ ïåðåäà÷è äàííûõ èëè îáðàáîòêè òðàíçàêöèé.
Ïàêåòû javax.ejb è javax.ejb.deployment ÿâëÿþòñÿ ñòàíäàðòíûìè ðàñøèðåíèÿìè ïëàòôîðìû Java 2 è ñîäåðæàò êëàññû, íåîáõîäèìûå äëÿ ñîçäàíèÿ è âíåäðåíèÿ EJB. Àðõèòåêòóðà EJB òàêæå âçàèìîäåéñòâóåò ñ èíòåðôåéñàìè JNDI è äðóãèì ñòàíäàðòíûì ðàñøèðåíèåì - Java Transaction Services ( JTS).
Ñåðâëåòû
Ñåðâëåò – ýòî Java-êîä, âûïîëíÿåìûé íà ñåðâåðå, è îáåñïå÷èâàþùèé êàêèå-òî ñåðâèñû äëÿ êëèåíòà. Íàçâàíèå "ñåðâëåò" ñõîæå ñ íàçâàíèåì "àïïëåò" – ñåðâëåò ÿâëÿåòñÿ ñåðâåðíûì àïïëåòîì. Èíòåðôåéñ Java Servlet ïðåäîñòàâëÿåò áàçîâûé ìåõàíèçì äëÿ ðàñøèðåíèÿ ôóíêöèîíàëüíîñòè ëþáîãî ñåðâëåòà, èñïîëüçóþùåãî çàïðîñû è îòâåòû íà áàçå ëþáîãî ïðîòîêîëà.
 íàñòîÿùåå âðåìÿ ñåðâëåòû èñïîëüçóþòñÿ, â îñíîâíîì íà Web-ñåðâåðàõ. Òàêèì îáðàçîì ñåðâëåòû ìîæíî íàçâàòü Java-àíàëîãîì CGI-ïðîãðàìì. Ñåðâëåòû âïîëíå êîíêóðåíòíî-ñïðîñîáíû ñ òàêèìè òåõíîëîãèÿìè, êàê Active Server Pages ôèðìû Microsoft èëè Cold Fusion ôèðìû Allaire. Ïðåèìóùåñòâîì èñïîëüçîâàíèÿ ñåðâëåòîâ ÿâëÿåòñÿ òî, ÷òî îíè ÿâëÿþòñÿ íåçàâèñèìûìè îò ïëàòôîðìû è ñîõðàíÿþòñÿ â ïàìÿòè ïîñëå çàãðóçêè (â îòëè÷èå îò CGI-ïðîãðàìì). Ïîìèìî ýòîãî ñåðâëåòû èìåþò ïîëíûé äîñòóï ê ïëàòôîðìå Java è ìîãóò âûïîëíÿòü òàêèå ôóíêöèè, êàê ñâÿçü ñ áàçàìè äàííûõ.
Ñåðâëåòû ÿâëÿþòñÿ ñòàíäàðòíûì ðàñøèðåíèåì ïëàòôîðìû Java 2 è ðåàëèçîâàíû â ïàêåòàõ javax.servlet è javax.servlet.http. Ïàêåò javax.servlet çàäàåò êëàññû äëÿ îáðàáîòêè êëèåíòñêèõ çàïðîñîâ è ñåðâåðíûõ îòâåòîâ. Ïàêåò javax.servlet.http îáåñïå÷èâàåò ïîääåðæêó ïðîòîêîëà HTTP, âêëþ÷àÿ îáðàáîòêó çàïðîñîâ îò íåñêîëüêèõ êëèåíòîâ â ðàìêàõ îäíîé êëèåíòñêîé ñåññèè.
Ýòî åùå íå âñå
Êàê ìû óâèäåëè âûøå, ïëàòôîðìà Java 2 ïðåäîñòàâëÿåò â ðàñïîðÿæåíèå ðàçðàáîò÷èêîâ áîëüøîé íàáîð ðàçíîîáðàçíûõ ïðîãðàììíûõ èíòåðôåéñîâ, ñ ïîìîùüþ êîòîðûõ âîçìîæíî ðåàëèçîâàòü ïðàêòè÷åñêè ëþáûå ïðèëîæåíèÿ. Ïîìèìî ýòîãî, ôèðìà Sun ðàáîòàåò íàä ðàçëè÷íûìè ðàñøèðåíèÿìè è äîïîëíåíèÿìè ê ïëàòôîðìå Java 2, êîòîðûå ñî âðåìåíåì ìîãóò ñòàòü ñòàíäàðòíûìè ðàñøèðåíèÿìè ýòîé ïëàòôîðìû.  ñëåäóþùåé òàáëèöå ïåðå÷èñëåíû íàèáîëåå âàæíûå ðàñøèðåíèÿ, ðàáîòà íàä êîòîðûìè åùå âåäåòñÿ.
|
Èíòåðôåéñ |
Îïèñàíèå |
|
Advanced Imaging API |
Îáåñïå÷èâàåò âûñîêîïðîèçâîäèòåëüíûå ñðåäñòâà äëÿ îáðàáîòêè èçîáðàæåíèé, âêëþ÷àÿ ïîääåðæêó ðàáîòû ñ èçîáðàæåíèÿìè áîëüøîãî ðàçìåðà, ôðàãìåíòàðíî õðàíèìûìè íà äèñêàõ |
|
Java Speech |
|
|
Java Telephony |
Ïðåäñòàâëÿåò ñîáîé èíòåðôåéñ äëÿ ñîçäàíèÿ êîìïüþòåðíûõ ïðèëîæåíèé äëÿ ðàáîòû ñ òåëåôîíèåé. |
|
Project X |
Êîäîâîå íàçâàíèå ðàñøèðåíèé äëÿ ïîääåðæêè ÿçûêà XML |
|
Java Communications API |
Ïîçâîëÿåò Java-ïðèëîæåíèÿì èñïîëüçîâàòü ïîñëåäîâàòåëüíûå è ïàðàëëåëüíûå ïîðòû êîìïüþòåðà |
|
Jini |
Íàáîð ïàêåòîâ äëÿ îáåñïå÷åíèÿ ñåòåâûõ ôóíêöèé "plug-and-play" äëÿ êîìïüþòåðîâ, ïåðèôåðèéíûõ óñòðîéñòâ è ðàçëè÷íûõ ýëåêòðîííûõ ïðèñïîñîáëåíèé |
|
Java Message Service |
Ïðåäñòàâëÿåò ñîáîé èíòåðôåéñ äëÿ àñèíõðîííîãî îáìåíà ñîîáùåíèÿìè. |
|
Java Transaction Service/Java Transaction API |
Ýòè ïðîãðàììíûå èíòåðôåéñû çàäàþò ñðåäñòâà óïðàâëåíèÿ òðàíçàêöèÿìè è èõ îáðàáîòêè. Ðåàëèçóþò ñòàíäàðòû X/Open XA è OMG OTS äëÿ óïðàâëåíèÿ òðàíçàêöèÿìè |
|
Java Electronic Commerce Framework |
Ïðåäñòàâëÿåò ñîáîé íàáîð êëàññîâ äëÿ ñîçäàíèÿ ïðèëîæåíèé ýëåêòðîííîé êîììåðöèè, èñïîëüçóÿ ìåòàôîðó "áóìàæíèêà" íà êëèåíòñêîì êîìïüþòåðå |
|
Java Management API |
Çàäàåò íàáîð èíòåðôåéñîâ äëÿ öåíòðàëèçîâàííîãî óïðàâëåíèÿ äèíàìè÷åñêèìè ðàñïðåäåëåííûìè Java-ïðèëîæåíèÿìè è ñðåäàìè |
Ïðèëîæåíèå
Èíòåðôåéñû Java 2 API
|
Ïàêåò |
Îïèñàíèå |
|
java.applet |
Ñîäåðæèò êëàññû, íåîáõîäèìûå äëÿ ñîçäàíèÿ àïïëåòîâ è êëàññû, êîòîðûìè ïîëüçóþòñÿ àïïëåòû äëÿ âçàèìîäåéñòâèÿ ñ êîíòåêñòîì |
|
java.awt |
Ñîäåðæèò âñå êëàññû äëÿ ñîçäàíèÿ ïîëüçîâàòåëüñêèõ èíòåðôåéñîâ, îòðèñîâêè ãðàôèêè è èçîáðæåíèé |
|
java.awt.color |
Ñîäåðæèò êëàññû äëÿ óâåòîâûõ ñõåì |
|
java.awt. datatransfer |
Ïðåäîñòàâëÿåò èíòåðôåéñû è êëàññû äëÿ ïåðåäà÷è äàííûõ ìåæäó ïðèëîæåíèÿìè èëè âíóòðè îäíîãî ïðèëîæåíèÿ |
|
java.awt.dnd |
Îáåñïå÷èâàåò èíòåðôåéñû è êëàññû äëÿ ïîääåðæêè îïåðàöèé Drag-and-Drop |
|
java.awt.event |
Ñîäåðæèò èíòåðôåéñû è êëàññû äëÿ îáðàáîòêè ðàçëè÷íûõ ñîáûòèé, âîçíèêàþùèõ â AWT-êîìïîíåíòàõ |
|
java.awt.font |
Ñîäåðæèò êëàññû è øðèôòû äëÿ ðàáîòû ñî øðèôòàìè |
|
java.awt.geom |
Ïðåäîñòàâëÿåò êëàñû Java 2D äëÿ âûïîëíåíèÿ îïåðàöèé íàä îáúåêòàìè, ðåàëèçóþùèìè 2-ìåðíóþ ãåîìåòðèþ |
|
java.awt.im |
Ñîäåðæèò êëàññû è èíòåðôåéñû äëÿ ðåàëèçàöèè ââîäà (input method framework) |
|
java.awt.8314_ |
Ðåàëèçóåò êëàññû äëÿ ñîçäàíèÿ è ìîäèôèêàöèè ãðàôè÷åñêèõ èçîáðàæåíèé |
|
java.awt.8314_. renderable |
Ñîäåðæèò êëàññû è èíòåðôåéñû äëÿ îáðàáîòêè ãðàôè÷åñêèõ èçîáðàæåíèé |
|
java.awt.print |
Ïðåäîñòàâëÿåò êëàññû è èíòåðôåéñû äëÿ ïîääåðæêè ðàáîòû ñ ïðèíòåðîì |
|
java.beans |
Ñîäåðæèò êëàññû, îòíîñÿùèåñÿ ê ðàçðàáîòêå Java Beans |
|
java.beans. beancontext |
Ðåàëèçóåò êëàññû è èíòåðôåéñû äëÿ ðåàëèçàöèè êîíòåêñòà Java Beans |
|
java.io |
Ñîäåðæèò ñðåäñòâà äëÿ ðàáîòû ñ ââîäîì è âûâîäîì ÷åðåç ïîòîêè äàííûõ, ñåðèàëèçàöèþ è ôàéëîâóþ ñèñòåìó |
|
java.lang |
Îáåñïå÷èâàåò êëàññû, ðåàëèçóþùèå îñíîâó ÿçûêà Java |
|
java.lang.ref |
Ñîäåðæèò ññûëî÷íûå êëàññû, ïîääåðæèâàþùèå ñâÿçü ñî ñáîðùèêîì "ìóñîðà" |
|
java.lang. reflect |
Ñîäåðæèò êëàññû è èíòåðôåéñû äëÿ ïîëó÷åíèÿ èíôîðìàöèè î êëàññàõ è îáúåêòàõ |
|
java.math |
Îáåñïå÷èâàåò êëàññû äëÿ âûïîëíåíèÿ àðèôìåòè÷åñêèõ äåéñòâèé |
|
java.net |
Ñîäåðæèò êëàññû äëÿ âûïîëíåíèÿ ñåòåâûõ ôóíêöèé |
|
java.rmi |
Ïðåäñòàâëÿåò ñîáîé RMI-ìåòîäû |
|
java.rmi. activation |
Îáåñïå÷èâàåò ïîääåðæêó RMI Object Activation. |
|
java.rmi.dgc |
Ñîäåðæèò êëàññû è èíòåðôåéñû äëÿ ðàñïðåäåëåííîé ñáîðêè "ìóñîðà" íà îñíîâå RMI - Distributed Garbage-Collection (DGC). |
|
java.rmi. registry |
Ñîäåðæèò êëàññ è äâà èíòåðôåéñà äëÿ ðåãèñòðàöèè RMI |
|
java.rmi.server |
Ñîäåðæèò êëàññû è èíòåðôåéñû äëÿ ïîääåðæêè ñåðâåðíûõ RMI. |
|
java.security |
Ñîäåðæèò êëàññû è èíòåðôåéñû äëÿ çàùèòû (security framework) |
|
java.security. acl |
Ðåàëèçóåò êëàññû è èíòåðôåéñû, êîòîðûå â Java 2 ðåàëèçîâàíû â ïàêåòå java.security |
|
java.security. cert |
Îáåñïå÷èâàåò êëàññû è èíòåðôåéñû äëÿ îáðàáîòêè ñåðòèôèêàòîâ |
|
java.security. interfaces |
Ñîäåðæèò èíòåðôåéñû äëÿ ãåíåðàöèè RSA-êëþ÷åé è DSA-êëþ÷åé â ñîîòâåòñòâèè ñî ñòàíäàðòàìè |
|
java.security. spec |
Îáåñïå÷èâàåò èíòåðôåéñû äëÿ ðàçëè÷íûõ ñïåöèôèêàöèé çàùèòû |
|
java.sql |
Èíòåðôåéñ ê JDBC |
|
java.text |
Ïðåäîñòàâëÿåò êëàññû è èíòåðôåéñû äëÿ îáðàáîòêè òåêñòà, äàò, ÷èñåë è ñîîáùåíèé, íåçàâèñèìî îò ÿçûêà |
|
java.util |
Ñîäåðæèò èíòåðôåéñû äëÿ ðàáîòû ñ êîëëåêöèÿìè (collections framework), ñîáûòèéíóþ ìîäåëü, ôóíêöèè äëÿ äàòû è âðåìåíè, ôóíêöèè ëîêàëèçàöèè è ðàçëè÷íûå äîïîëíèòåëüíûå êëàññû |
|
java.util.jar |
Îáåñïå÷èâàåò êëàññû äëÿ ÷òåíèÿ è çàïèñè ôàéëîâ â ôîðìàòå JAR (Java ARchive), êîòîðûé îñíîâûâàåòñÿ íà ñòàíäàðòå ZIP ñ íåîáÿçàòåëüíûìè äîïîëíåíèÿìè |
|
java.util.zip |
Ñîäåðæèò êëàññû äëÿ ÷òåíèÿ è çàïèñè ôàéëîâ â ôîðìàòå ZIP è GZIP |
|
javax. accessibility |
Ðåàëèçóåò ôóíêöèè Accessibility |
|
javax.swing |
Ïðåäîñòàâëÿåò íàáîð ëåãêîâåñíûõ êîìïîíåíòîâ äëÿ ðåàëèçàöèè ïîëüçîâàòåëüñêèõ èíòåðôåéñîâ |
|
javax.swing. border |
Ñîäåðæèò êëàññû è èíòåðôåéñû äëÿ îòðèñîâêè ñïåöèàëüíûõ ðàìîê âîêðóã êîìïîíåíòîâ Swing. |
|
javax.swing. colorchooser |
Ñîäåðæèò êëàññû è èíòåðôåéñû, èñïîëüçóåìûå êîìïîíåíòîì JColorChooser |
|
javax.swing. event |
Èñïîëüçóåòñÿ äëÿ ïîääåðæêè ñîáûòèé â êîìïîíåíòàõ Swing |
|
javax.swing. filechooser |
Ñîäåðæèò êëàññû è èíòåðôåéñû, èñïîëüçóåìûå êîìïîíåíòîì JFileChooser |
|
javax.swing. plaf |
Ñîäåðæèò îäèí èíòåðôåéñ è íåñêîëüêî àáñòðàêòíûõ êëàññîâ, èñïîëüçóåìûõ Swing äëÿ ðåàëèçàöèè ïåðåêëþ÷àåìûõ íàñòðîåê (pluggable look-and-feel) |
|
javax.swing. plaf.basic |
Ñîäåðæèò èíòåðôåéñíûå îáúåêòû äëÿ áàçîâîé íàñòðîéêè (Basic look-and-feel) |
|
javax.swing. plaf.metal |
Ñîäåðæèò èíòåðôåéñíûå îáúåêòû äëÿ íàñòðîéêè ``metal'' |
|
javax.swing. plaf.multi |
Ïîçâîëÿåò îáúåäèíÿòü ðàçëè÷íûå èíòåðôåéñíûå íàñòðîéêè |
|
javax.swing. table |
Ñîäåðæèò êëàññû è èíòåðôåéñû, èñïîëüçóåìûå java.awt.swing.JTable |
|
javax.swing. text |
Îáåñïå÷èâàåò êëàññû è èíòåðôåéñû äëÿ ðåäàêòèðóåìûõ è íåðåäàêòèðóåìûõ òåêñòîâûõ êîìïîíåíòîâ |
|
javax.swing. text.html |
Ñîäåðæèò êëàññ HTMLEditorKit è ïîäêëàññû äëÿ ñîçäàíèÿ HTML-ðåäàêòîðîâ |
|
javax.swing.text.html.parser |
Ñîäåðæèò ïàðñåð ÿçûêà HTML |
|
javax.swing.text.rtf |
Ñîäåðæèò êëàññ RTFEditorKit äëÿ ñîçäàíèÿ RTF-ðåäàêòîðîâ |
|
javax.swing.tree |
Ñîäåðæèò êëàññû è èíòåðôåéñû äëÿ java.awt.swing.JTree |
|
javax.swing.undo |
Îáåñïå÷èâàåò ïîääåðæêó îòìåíû/ïîâòîðà îïåðàöèé â ïðèëîæåíèÿõ. |
|
org.omg.CORBA |
Ðåàëèçóåò èíòåðôåéñû OMG CORBA íà ÿçûêå Java, âêëþ÷àÿ êëàññ ORB, êîòîðûé ìîæåò èñïîëüçîâàòüñÿ êàê ïîëíîôóíêöèîíàëüíûé áðîêåð - Object Request Broker (ORB). |
|
org.omg.CORBA. DynAnyPackage |
Ïîääåðæèâàåò èñêëþ÷èòåëüíûå ñèòóàöèè, èñïîëüçóåìûå èíòåðôåéñîì DynAny (InvalidValue, Invalid, InvalidSeq, è TypeMismatch). |
|
org.omg.CORBA. ORBPackage |
Ïîääåðæèâàåò èñêëþ÷åíèå InvalidName äëÿ ìåòîäà ORB.resolve_initial_references è èñêëþ÷åíèå InconsistentTypeCode,. |
|
org.omg.CORBA. portable |
Îáåñïå÷èâàåò óðîâåíü ïåðåíîñèìîñòè – íàáîð èíòåðôåéñîâ ORB, êîòîðûå äåëàþò âîçìîæíûì âûïîëíåíèå êîäà äëÿ îäíîãî áðîêåðà ïîä óïðàâëåíèåì äðóãîãî |
|
org.omg.CORBA. TypeCodePackage |
Ïîääåðæèâàåò èñêëþ÷åíèÿ BadKind è Bounds |
|
org.omg. CosNaming |
Ðåàëèçóåò ñåðâèñû èìåí äëÿ Java IDL. |
|
org.omg.CosNamongContextPackage |
Ïîääåðæèâàåò èñêëþ÷åíèÿ äëÿ ïàêåòà org.omg.CosNaming (AlreadyBound, CannotProceed, InvalidName, NotEmpty è NotFound) è êëàññû Helper è Holder äëÿ ýòèõ èñêëþ÷åíèé |