При рассмотрении платформ для создания приложений серверной стороны необходимо выделить два основных существующих подхода:
- 1. Непосредственная обработка запросов и формирование ответов.
- 2. Встраивание программного кода в шаблоны HTML страниц.
Первый подход предоставляет наибольшие возможности по управлению обработкой и повышению производительности. Он предусматривает передачу всех данных о запросе непосредственно исполняемому коду, который может как сформировать ответ со страницей для пользователя, так и открыть на передачу поток двоичных данных, например для передачи изображения. Однако при таком подходе все данные для передачи формируются программным путем, что замедляет разработку простых страниц и усложняет взаимодействие между верстальщиком и программистом. Примерами этого подхода служат технологии CGI, Java Servlets.
Второй подход использует шаблоны страниц пользователя, оформленные особым образом, что позволяет вставлять в них участки программного кода. Этот подход особенно эффективен при создании простых приложений, основная информация в которых статична, а динамическая информация может быть сгенерирована простыми программными конструкциями. При разработке сложных программных систем этот вариант усложняет взаимодействие между компонентами и затрудняет реализацию сложной архитектуры. Также он менее эффективен по производительности и ограничивает возможности по реализации сложных страниц. Примерами этого подхода служат очень популярные на данный момент технологии PHP, ASP, JSP.
Помимо различного подхода к генерации страниц платформы разработки в разной степени удовлетворяют современным требованиям, выдвигаемым при создании сложных Web систем. Наиболее важные из этих требований, наличие которых делает систему привлекательной для использования, приведены ниже:
- § Платформная независимость.
- § Язык реализации.
- § Производительность, масштабируемость.
- § Возможности расширения и интеграции.
- § Простота использования, наличие средств разработки.
- § Наличие необходимых программных библиотек.
Итак, мы определили ряд требований, необходимых для современной платформы разработки. Ниже рассматриваются наиболее популярные на данный момент платформы, их особенности, а также оценка с точки зрения приведенных критериев.