Методы и средства инженерии программного обеспечения

Сервлет – это небольшая программа


Сервлет – это небольшая программа, которая выполняется на серверной стороне WEB,  расширяет функциональные возможности WEB сервера, облегчает  доступ к ресурсам и разрешает процессу читать данные из HTTP,  запрашивать  WEB–сервер и записывать данные из сервера в http, как ответ. Они выполняются в границах адресного пространства WEB–сервера. Сервлеты – альтернатива CGI (Common Gateway Interface), которые базируются на взаимодействии процесса запроса клиента с WEB–сервером. CGI программы разрабатываются на разных ЯП и являются необходимыми при  создании отдельного процесса  обработки каждого запроса клиента. Сервлеты не требуют больших ресурсов памяти и процессора, описываются на языке  JAVA независимо от платформы, размещаются в разных средах и используют библиотеку классов JAVA для  получения  параметров инициализации, активизации и регистрации событий, а также для  доступа к информации и формирования ответа клиенту.

Создание сервлетов в языке  Java осуществляется с помощью  инструментария  Servlet Development Kit (JSDK) с применением следующих шаблонов создания и интеграции:

– WebModule – элемент WEB ресурса, который может разворачиваться в прикладной программе для поддержки функционирования сервлета, использует спецификации сервлетов и серверных страниц. Может содержать в себе файлы с Java классами, которые поддерживают сервлети, beans компоненты с тем  же назначением, страницы сервера, статические HTML документы и  аплеты;

– WebModuleGroup – шаблон для создания группы взаимодействующих WebModule на WEB сервере и  поддержки создания сервлетов.

– Servlet;

– HTML File.

Методы спецификации  компонентов. Спецификация – это  описание  компонента и способа вызова  компонентов из другой среды, или из электронной библиотеки,  или репозитария. Спецификация включает интерфейс, контракт и нефункциональные свойства.

Интерфейс компонента может быть определен как спецификация точек доступа к компоненту. Клиент получает  сервис, который предоставляет компонент, через эти точки доступа.
Так как интерфейс не дает реализацию его операций, а предоставляет их описание имеется возможность  изменять реализацию без изменения интерфейса, а также добавлять  новые интерфейсы (и реализацию).

Семантика интерфейса может быть представлена с помощью  контрактов, в которых определяются глобальные ограничения, которые поддерживает компонент т.е инвариант. Контракт может определять ограничения операций, которые должны быть выполнены клиентом перед вызовом операции (пред–условия), и условия, которые предлагает  установить после завершения операции (пост–условия). Вместе пред–условия, инвариант и пост–условия составляют спецификацию поведения компонента.

Каждый интерфейс состоит из набора операций (сервисов, которые он предлагает или требует). С каждой операцией связанный набор пред–условия  и пост–условия, зависящие от состояния, которое получает компонент. Контракты и интерфейс связаны между собою, но наполняются по–разному. Интерфейс отражает функциональные свойства и состоит из  набора операций для спецификации сервисов, а контракт отражает семантику и  описание поведения компонента, зависящее от взаимодействия  с другими компонентами.

Нефункциональные свойства задают общие черты поведения компонента, которые не могут быть выражены через стандартные интерфейсы. Примерами нефункциональных свойств являются надежность, живучесть, доступность и др. Все эти свойства можно предоставлять как специальные расширения интерфейса, которые обеспечивают сервисы описания компонента, динамической конфигурации, динамического взаимодействия с другими компонентами или средой.


Содержание раздела