stify"> · Десятки спеціалізованих додатків від сторонніх розробників, включаючи засоби адміністрування, реплікації, і так далі.
· Безпечний запис даних (careful write) - швидке відновлення після збоїв, відсутність необхідності в журналированием транзакцій!
· Велика кількість засобів доступу до бази даних: native / API, драйвери dbExpress, ODBC, OLEDB,. Net provider, JDBC-драйвер, модулі для Python, PHP, Perl, і так далі. p>
· Підтримка більшості поширених операційних систем, включаючи Windows, Linux, Solaris, MacOS.
· Інкрементні бекапи
· Білди для 32 - і 64-розрядних ОС
· Повна реалізація курсорів в PSQL
· Таблиці моніторингу
· Тригери на коннект і транзакції
· Тимчасові таблиці [9]
В якості web-сервера буде використовуватися Zope 2, це об'єктно-орієнтована платформа, сервер додатків, написаний на мові python, призначений для створення динамічних web-додатків і інтерактивних сайтів.
Він був обраний мною в якості web-сервера так як протоколи WWW (HTTP, CGI і т.д.) часто неадекватні завданням і можуть робити публікацію динамічних даних невиправдано складною. Їх низький рівень недостатній для безпосереднього створення багатьох класів web-додатків на їх основі. Zope створює об'єктно-орієнтовану оболонку навколо цих низькорівневих засобів. З його допомогою рішення задачі відбувається звичайним шляхом - програміст пише набір ієрархій класів, що є абстракцією предметної області, а Zope бере на себе працю з надання доступу до екземплярів цих класів. [5] надає програмістам і адміністраторам прості, і в той же час потужні й гнучкі механізми управління безпекою. Безпека в Zope стоїть на трьох китах, трьох базових поняттях - користувач, роль, і вид доступу, що задовольняє останньому пункту вимог.
Вид, або тип доступу визначає програміст при створенні компонента. Кожному класу в компоненті визначається повноваження «Add» («Додати екземпляр класу в дерево об'єктів»), кожному методу класу можна визначити свої власні повноваження, які визначать, кому і який вид доступу надано до цього методу класу. Наприклад, методом index_html (який викликається при зверненні до об'єкта, а не до конкретного методу) зазвичай дається вид доступу View. Але це справа програміста, як назвати свої повноваження, і які методи якими повноваженнями захистити. Зазвичай методи об'єкта об'єднуються в групи, що надають один сервіс. Наприклад, клас Новинна Стрічка може мати сервіси (групи методів) «показ новин», «додавання новин», «редагування новин», «видалення новин», «додавання / редагування / знищення рубрик». І кожен з сервісів можна захистити (давши йому окремий вид доступу) - з точністю до одного методу. Для більш тонкого управління, вже всередині методу, програміст може запросити Security Manager - «чи має поточний користувач права на створення DTML Методів в Папці Razdel?»
Ролі створює адміністратор сайту через менеджерський web-інтерфейс Zope. Поняття ролі поширюється не на весь сайт, не так на ZODB, а на частину дерева. Адміністратор створює роль в якійсь папці, і далі завдяки механізму acquisition ця роль поширюється вниз по Піддерево., Поставлена ??з дистрибутива, має 3 ролі, певні в корені ZODB - Anonymous, Owner і Manager....