Аплети и сървлети
Аплети и сървлети
Аплетите са Java програми, които обикновено са проектирани да се зареждат през браузър и след това да се изпълняват в прозорец на браузъра. Те могат да се използват за създаване на графично богати и интерактивни потребителски интерфейси, които конвенционалният HTML език за маркиране не може да изрази. Сървлетите са Java програми, които работят на Java уеб сървъри или сървъри на Java приложения. Подобно на CGI програмите, сървлетите могат да доставят уеб услуги директно на браузъра или да действат като междинен софтуер, който свързва браузъра с back-end услуги.
Когато Java се появи, аплетите бяха истинските звезди на шоуто. Още тогава беше ясно, че HTML браузърът е отлична платформа за приложения с общо предназначение, макар и не богата на възможности за изразяване. Аплетите обещаваха да бъдат почти идеално решение от всяка гледна точка: те не изискваха разходи за инсталиране, отговаряха на чистия HTML лозунг („написано веднъж, работи навсякъде“) и включваха богат „роден“ графичен потребителски интерфейс.
Но засега тези надежди не се оправдават. Скорошно проучване относно използването на Java аплети установи, че по-малко от 2% от 500-те най-добри уеб сайта ги използват. Защо? Някои разработчици са разбрали погрешно разходите за интерпретиране на байт код във виртуалната машина на Java. Други се оплакват много от защитата на пясъчника, която не позволява на Java да се възползва напълно от локалните и отдалечените услуги. Трети отбелязват разликите между основните виртуални машини на браузъра на пазара. По някакъв начин след пет години аплетите не оправдаха очакванията иБазираните на HTML уеб приложения не са изместени от уеб приложения с еднакво ниво на преносимост и преносимост, а функционално по-мощен графичен потребителски интерфейс.
Въпреки това, докато аплетите не заслужават рекламата, която генерираха, те вършат много добра работа. Ето някои забележителни примери.
- AnywareOffice от VistaSource (www.anywareoffice.com). VistaSource използва Java аплет, за да внедри Applixware, своя популярен офис пакет, в базирани на Java браузъри. Когато доставчик на услуги за приложения използва AnywareOffice, приложенията (като текстообработваща програма) се изпълняват на сървъра, но се показват в аплета.
- QuestAgent от JObjects (www.jobjects.com). Този аплет е междуплатформена търсачка, която често се включва в компактдиска с HTML публикации. Браузърът може да показва съдържанието на такива публикации, но не може да търси в неговия индекс. QuestAgent предлага мобилно търсене и премахва необходимостта от създаване и показване на оригиналната търсачка.
- MindTerm от Mindbright Technologies (www.mindbright.com). Да предположим, че потребителят е извън офиса и няма мобилен компютър със себе си, но трябва да прехвърли файл на домашен сървър. MindTerm е защитена Java-базирана реализация на командния интерпретатор Secure Shell (SSH), който преобразува всеки базиран на Java браузър в SSH клиент, който може да се използва за криптиране на сесии за прехвърляне на файлове.
Сервлетите са изгряваща звезда
Въпреки че Java от страната на клиента не оправда очакванията, Java на сървъра изглежда има добри перспективи.Сървърите на Java приложения сега предлагат огромен и нарастващ брой уеб услуги. И техният lingua franca е API на сървлет, който определя как Java сървлет взаимодейства с Java-базиран хост. Това е много често срещано решение и докато Enterprise JavaBeans бавно се превръща в стандарт, много по-простият API на сървлета осигурява обща рамка за взаимодействие на Java beans от страна на сървъра.
Тъй като сървлетите са написани на Java, те предлагат отлична платформа за мрежови услуги. Java програмистите не управляват директно паметта, така че сървлетите не генерират грешки при препълване на буфера, които водят до пропуски в сигурността на софтуер, написан на C или C++. Простите механизми на Java за обработка на изключения и многонишковите програми допринасят за развитието на надеждни и бързи мрежови услуги.
Сървлетите имат и архитектурни предимства, които им позволяват да се възползват напълно от присъщите силни страни на Java. Ако аплет, изпратен по мрежата, се окаже в несъвместима виртуална машина на Java, той най-вероятно няма да работи правилно. Сървлетът се внедрява в по-управляема среда. Тъй като опциите на JVM са известни, няма проблеми със съвместимостта. Освен това средата, която заобикаля тази виртуална машина, може да увеличи производителността на сървлета. Някои сървъри на Java приложения могат да компилират сървлети в собствения си код и по този начин значително да увеличат скоростта на изпълнение. Други сървъри изпълняват множество JVM паралелно, понякога в различни процеси на хост OS. Тези стратегии увеличават мащабируемостта и устойчивостта на грешки на услугата.
Java аплетите все още могат да оправдаят очакванията. Търсене на графичен потребител с повече функцииУеб интерфейсът се разраства и нито една технология все още не е готова да предложи възможности за различни платформи, сравними с тези на Java. В същото време обаче сървлетите на Java със сигурност напредват.