В дополнение к другим ответам структура может (но обычно не имеет) иметь виртуальные функции, и в этом случае размер структуры также будет содержать пространство для vtbl.
Для решения для Java Американский заяц Apache может быть полезен для Вас. Из ссылки:
Американский заяц Apache является полностью соответствующей реализацией Репозитория содержания для JAVA-технологии API (JCR). Репозиторий содержания является иерархическим довольным хранилище с поддержкой структурированного и неструктурированного содержания, полнотекстового поиска, управления версиями, транзакций, наблюдения, и т.д. Типовые приложения, которые используют репозитории содержания, включают управление контентом, управление документооборотом, и записывает системы управления
Это всегда казалось мне как библиотека компонентов для создания бэкендов к CMS как системы.
Я использовал N2 для пары сайтов. Это - абсолютно открытый исходный код, и я думаю, что это могло бы соответствовать Вашим требованиям к данным. Вы в основном создаете классы C#, которые моделируют Ваши данные и затем создают Ваш собственный шаблон фронтенда для отображения данных в сайте.
На бэкэнде типы данных, которые Вы создаете, полностью доступны для редактирования через администраторскую область WYSIWYG.
Не уверенный, если это будет отвечать Вашим требованиям публикации, это основано на DB, и я не должен был пытаться обновить его через что-либо кроме администраторского интерфейса.
Вы посмотрели на Под открытым небом? Это нацелено прямо на корпоративный рынок (и это записано в Java), но это, кажется, предлагает некоторую гибкость когда дело доходит до развертывания содержания. От маркетинга копируют на веб-сайте:
Публикация веб-сайта поддерживает многоуровневые архитектуры развертывания. Содержание может быть транзакционно развернуто на статических серверах содержания или Находящихся на воздухе репозиториях во время выполнения, обеспечивающих завершенный архитектурный гибкий для Вашей веб-фермы.
Также содержание хранится в совместимом репозитории JSR-170 как тот, упомянутый jamesh выше. Это предоставило бы Вам программный доступ к содержанию в репозитории.
Fedora мог бы отвечать всем требованиям для бэкенда, но это могло бы быть слишком тяжело для Ваших потребностей. Это не имеет фронтенда, просто некоторые интерфейсы администрирования, организации с помощью него склонны интегрировать его с существующими системами или использовать сторонний фронтэнд, которого существуют некоторые или просто пишут их собственное.
Существуют whitpaper Sun Microsystems: Новый Подход к Созданию и Управлению Крупномасштабными Цифровыми архивами, которые должны помочь Вам исключить его.
Сколько сотрудников FT выделяется проекту и его текущему техническому обслуживанию?
Так в основном Вы не интерес к материалу перед хранилищем CMS, так сказать. Хорошо, шаг в заднюю комнату..., поскольку я верчу эту подвижную стену... и я покажу Вам что-то другое:
Во всей серьезности я переделал эту платформу 2 или 3 года назад. Я не могу ручаться за него, так как я никогда не заканчивал тем, что использовал его на любом проекте, но это интриговало.
PS - Это было, это обдумало radicore веб-сайт, который установил связь в моем уме, который, возможно, это - вид вещи, по крайней мере, проверить: "Компонентом представления управляет предварительно созданный набор допускающих повторное использование таблиц стилей XSL, которые генерируют весь вывод HTML".
Вы можете использовать Microsoft Office SharePoint Server 2007 (MOSS). Вы можете оптимизировать систему SharePoint для создания контента, а затем использовать объектную модель или веб-службы для извлечения контента и написания своего сайта на любом языке на любой платформе. В SharePoint есть возможности редактирования контента, списки, рабочие процессы и т. Д.
Tridion fits your description pretty closely, with the exception that you won't get their source code. If that's a deal-breaker for you, please feel free to ignore this answer. (OTOH - that would raise the question "Why is it a deal-breaker?" Presumably you don't want the source to decorate your walls with. What would you use it for?)
Tridion's content management sub-system runs on Windows Server. The content delivery sub-systems run on Java and .NET (plus plain-old-ASP if that makes a difference).
All the things you'd expect a CMS to have are there out-of-the-box, (wysiwyg editor, versioning, workflow, etc... + publishing)