Аплети и сервлети

Определение

Аплетите са Java програми, които обикновено са проектирани да се зареждат през браузър и след това да се изпълняват в прозорец на браузъра. Те могат да се използват за създаване на графично богати и интерактивни потребителски интерфейси, които не могат да бъдат изразени в конвенционален HTML. Сервлетите са Java програми, които се изпълняват на Java Web сървъри или Java сървъри за приложения. Подобно на програмите CGI, сървлетите могат да доставят уеб услуги директно в браузъра или да действат като междинен софтуер, който свързва браузъра с фонови услуги.

Когато се появи езикът Java, аплетите бяха истинските звезди на това шоу. Още тогава беше ясно, че HTML браузърът е отлична универсална платформа за приложения, макар и не богата на изразителност. Аплетите обещаха да бъдат почти перфектно решение от всички гледни точки: те не изискват инсталационни разходи, отговарят на лозунга на поддръжниците на чист HTML () и имат богат графичен потребителски интерфейс.

Но засега тези надежди не са се сбъднали. Неотдавнашно проучване на използването на аплети за Java установи, че по-малко от 2% от първите 500 уебсайта ги използват. Защо? Някои разработчици погрешно са преценили режийните разходи за интерпретиране на байт кода във виртуалната машина Java. Други имат много оплаквания относно защитата на пясъчника, която пречи на Java да се възползва напълно от местните и отдалечени услуги. Трети посочват разликите между виртуалните машини на основните браузъри на пазара. След пет години обаче аплетите не отговарят на очакванията и базираните на HTML уеб приложения не са заменени от уеб приложения с еднакво ниво на преносимост и преносимост, а функционално по-мощен графичен потребителски интерфейс.

Въпреки това, макар аплетите да не заслужават шума, който беше повдигнат при първото им появяване, те правят много полезни неща. Ето няколко главни примера.

  • AnywareOffice от VistaSource (www.anywareoffice.com). VistaSource използва аплета Java, за да внедри Applixware, своя популярен офис пакет, в браузъри, базирани на Java. Когато доставчикът на услуги за приложения използва AnywareOffice, приложения (като текстов процесор) се изпълняват на сървъра, но се показват в аплета.
  • QuestAgent от JObjects (www.jobjects.com). Този аплет е търсачка за различни платформи, често включена в CD-ROM HTML-базирани публикации. Браузърът може да показва съдържанието на такива публикации, но не може да търси в неговия индекс. QuestAgent предлага мобилно търсене и премахва необходимостта от създаване и показване на оригиналната търсачка.
  • MindTerm от Mindbright Technologies (www.mindbright.com). Да предположим, че потребителят е извън офиса и няма мобилен компютър и трябва да прехвърли файл на домашния си сървър. MindTerm е Java-базирана реализация на защитена версия на командния интерпретатор Secure Shell (SSH), която преобразува всеки Java-ориентиран браузър в SSH клиент, който може да се използва за шифроване на сесии за прехвърляне на файлове.

Сервлетите са изгряваща звезда

Докато Java от страна на клиента не оправда очакванията, използването на Java на сървъра изглежда има доста добро бъдеще. Java сървърите за приложения сега предлагат огромен и нарастващ брой уеб услуги. И техният lingua franca е Servlet API, който дефинира как Java servlet комуникира с Java базиран хост. Това е много широко разпространено решение и докато Enterprise JavaBeans постепенно се превръща в стандарт, много по-простият API на Servlet предоставя обща рамка за взаимодействие на Java сървърните компоненти.

Тъй като сървлетите са написани на Java, те предлагат отлична платформа за мрежови услуги. Програмистите на Java не управляват директно паметта, така че сървлетите не генерират грешки при препълване на буфера, които водят до недостатъци в сигурността в софтуера C или C ++. Простите Java механизми за обработка на изключения и многопоточни програми улесняват развитието на надеждни и отзивчиви мрежови услуги.

графичен потребителски

Сервлетите също имат архитектурни предимства, които им позволяват да се възползват напълно от присъщите силни страни на Java. Ако аплет, изпратен по мрежата, попадне в несъвместима Java виртуална машина, най-вероятно няма да работи правилно. Сервлетът е разположен в по-управляема среда. Тъй като параметрите на JVM са известни, няма проблеми със съвместимостта. Освен това, средата, която обгражда дадена виртуална машина, може да увеличи производителността на сървлета. Някои сървъри за приложения на Java могат да компилират сървлети в код за себе си и по този начин значително да увеличат скоростта на изпълнение. Други сървъри изпълняват паралелно множество JVM, понякога в различни процеси на хост ОС. Тези стратегии увеличават мащабируемостта и устойчивостта на услугата.

аплети

Java аплетите все още могат да оправдаят очакванията. Търсенето на по-богат на функции графичен потребителски интерфейс в мрежата нараства и все още никоя технология не е готова да предложи междуплатформени възможности, сравними с Java. Междувременно обаче Java Servlets със сигурност имат успех.

Оригинал от WebClub. Декември 2000. Джон Удел.