Требования к информационной и программной совместимости - Электронная школа

Разрабатываемая система рассчитана на функционирование на центральном сервере под управлением ОС Ubuntu 12.04 LTS. LTS релиз системы характеризуется крайне высокой стабильностью и долгим временем поддержки от разработчиков. Кроме того, версия 12.04 является одной из наиболее последних, что гарантирует большую безопастность. Таким образом, именно это издание хорошо подходит в качестве системы для сервера.

База данных системы будет обслуживаться СУБД PostgreSQL 9. Она доступна под Ubuntu. "Ее сильными сторонами являются:

    - Поддержка БД практически неограниченного размера - Мощные и надежные механизмы транзакций и репликации - Легкая расширяемость - Расширяемая система встроенных языков программирования: в стандартной поставке поддерживаются PL/pgSQL, PL/Perl, PL/Python и PL/Tcl; дополнительно можно использовать PL/Java, PL/PHP, PL/Py, PL/R, PL/Ruby, PL/Scheme и PL/sh, а также имеется поддержка загрузки C-совместимых модулей." PostgreSQL. [Электронный документ]. - (http://ru. wikipedia. org/wiki/PostgreSQL). Проверено 05.03.2013 - Поддержка множества платформ, таких как: Unix, Mac OS, Windows. - Поддержка наследования. - Поддержка юникода. - Соблюдение принципов ACID (Atomicity, Consistency, Isolation, Durability - Атомарность, Согласованность, Изолированность, Надежность). - Поддержка полнотекстового поиска. - Контроль целостности. - Соответствует стандартам ANSI SQL-92 и ANSI SQL-99.

Все это (а также наличие у автора опыта работы с этой БД) делает PostgreSQL отличным решением в качестве базы данных для разрабатываемой системы.

Базовым фреймворком для реализации системы должен быть Ruby on Rails 3 (далее - RoR). Преимущества в его использовании заключаются в следующем:

    - Качественная архитектура для разрабатываемых приложений, построенная по принципу MVC - Model, View and Controller (Модель, Представление и контроллер). Это позволяет граммотно писать приложение и дает хорошие возможности для расширения в будущем. - Открытость и расширяемость. Исходный код фреймворка доступен любому человеку. Это позволяет поправить сам движок при возникновении каких-либо серьезных проблем. Таким образом, можно наложить быстрый патч, исправляющий уязвимость еще до официального исправления. - Большой набор сторонних библиотек. Это позволяет быстро реализовывать функциаонал, такой как авторизация пользователей на сервере. - Assets pipeline. Начиная с версии 3.1, RoR включает в себя технологию под названием assets pipeline, которая сжимает в 2 отдельных файла все css и javascript приложения. Это позволяет экономить трафик пользователей и ускорить загрузку приложения. - Безопасность. Rails 3 спроектирован так, что изначально предоставляет хорошую защиту для веб-приложений. Среди них: защита от xss (путем генерации уникального токена для каждого пользователя), фильтрация отображаемой информации на странице по-умолчанию. Использование REST также позволяет создать защиту от CSRF (подделка межсайтовых запросов). - Интеграция с базой данных. Rails использует ORM (Object-relational mapping, Объектно-реляционное отображение) для взаимодействия с базой данных. Это позволяет писать гораздо меньше кода для выполнения рутинных операций. При всем при этом сохраняется возможность писать прямые SQL-запросы для реализации нетривиальных выборок.

Базовым языком программирования для реализации системы должен быть Ruby 1.9. Его преимущества заключаются в следующем:

    - Объектно-ориентирован. Ruby является полностью объектно-ориентированным, в нем все данные являются объектами. - Мультипарадигменность. Ruby поддерживает различные стили, такие как: процедурное программирование, объектно-ориентированное программирование и функциональное программирование (за счет замыканий, анонимных функций и обязательным возвратом любой функции значения). - Содержит сборщик мусора, который работает и для сторонних библиотек автоматически. - Имеет мощный механизм вызова и обработки исключений. - Перенесен на множество платформ. Работает на таких системах как Linux, Mac OS, Windows. - Имеет мощный набор методов из коробки, в том числе для работы с текстом.

Похожие статьи




Требования к информационной и программной совместимости - Электронная школа

Предыдущая | Следующая