Что такое хорошо документированная, стабильная, безопасная и масштабируемая платформа веб-приложений? - PullRequest
6 голосов
/ 21 мая 2009

Мы создаем RESTful API для нашей компании, который будет предоставлять XML, JSON и, возможно, другие типы контента.

Моя команда ищет систему, которая (в порядке приоритета):

  1. Хорошо документировано
    • В идеале с хорошими учебными пособиями, процветающим сообществом и базой знаний
  2. Следует рациональным шаблонам проектирования
    • В основном мы хотим последовательности в рамках. Соглашения об именах, которые не меняются в зависимости от вызова метода, который вы вызываете.
  3. Secure
    • Сосредоточена на , заставляя разработчика выполнить некоторую форму проверки переменных GET, POST, PUT и DELETE
  4. Стабильный
    • Частично это зрелость, в том смысле, что структура не меняется слишком часто
    • Другая часть - это хорошо документированный список ошибок, который не очень велик
  5. Масштабируемый / Ориентированный на производительность
    • У нас более 50 000 пользователей, которым требуется значительная высокая доступность по всему миру. Если наше приложение не работает, люди не имеют интернет в своем доме. Так что это очень критическая среда.
    • В идеале мы могли бы запустить одну и ту же кодовую базу на 10 серверах и просто продолжать добавлять балансировщики нагрузки. Мы не хотим определять, какой сервер и на каких методах ....
  6. Хорошо интегрируется с Linux / MySQL.
    • У нас нет ни одного MS-сервера. Мы не меняем это. Извините фанаты .Net: -D

Я понимаю, что это туманная цель. Не будет какой-либо одной структуры, которая отвечала бы всем этим потребностям, на самом деле, вероятно, будет много таких, которые по-разному отвечают им по-разному.

Это не зависит от языка. У нас уже есть опыт работы с PHP, но у нас также есть разработчики, которые никогда не писали веб-приложения в своей жизни, поэтому изучение Python, Ruby или Java приемлемо.

Ответы [ 14 ]

0 голосов
/ 21 мая 2009

Если вы рассматриваете Java, я бы порекомендовал Джерси , он прекрасно работает, и я думаю, что он достигнет всех 5 целей ...

0 голосов
/ 21 мая 2009

Ruby on Rails широко документирован с множеством плагинов и уже проверен на масштабируемость (см. BaseCamp и другие решения, сделанные в рельсах)

0 голосов
/ 21 мая 2009

Для PHP мне понравился фреймворк Zend (хотя для меня это не совсем фреймворк). Одна из его лучших особенностей заключается в том, что каждый компонент независим от других ... Так что если есть какая-то его часть, которая вам не нравится, просто не используйте ее. Кроме того, вы упоминаете JSON ... Zend полностью поддерживает JSON в обоих направлениях ....

0 голосов
/ 21 мая 2009

Полагаю, если бы была такая структура, она была бы единственной.

...