Веб-архитектура моей компании по существу получила дополнительный уровень из-за требований безопасности клиента, что немного усложняет процесс разработки приложений.Я хотел бы получить некоторую информацию и предложения о наилучшем способе сделать это.
Сначала обзор:
- уровень представления - это в основном PHP, с некоторыми приложениями flexтакже.Возможно, мы скоро добавим к этому HTML5 / Javascript (jQuery).Этот уровень не может видеть наш слой базы данных и является единственным слоем, который виден внешнему миру.
- уровень приложения - в настоящее время это в основном PHP.У него есть доступ к базе данных
- db layer - это доступно только с не-DMZ хостов.
Прямо сейчас, приложения Flex и JavaScript на стороне клиента, которым нужно делать вызовы куровень приложения, а их довольно много, проходит через прокси-сервер PHP, работающий на уровне представления, который передает запрос на уровень приложения.Обычно это запросы на обслуживание AMF, но мы могли бы также передавать запросы RESTful с минимальными усилиями.
У меня есть возможность заменить большую часть этого стека прямо сейчас, при условии, что я смогу сохранить основные характеристики безопасности.Я хочу, чтобы у меня была возможность писать приложения JavaScript или Flex, которые делают вызовы RESTful для служб видимыми на уровне представления, который будет прозрачно (или достаточно прозрачно!) Использовать прокси на уровне приложений, где фактически выполняется работа.
Дело в том, что каждый учебник, который я вижу (например) по Django или другим питонским веб-/ REST-фреймворкам, похоже, предполагает, что сервисы, предоставляемые здесь моими уровнями представления и приложений, предоставляются только одним уровнем.Мне нужен совет о том, как писать, по существу, веб-сервисы с использованием Python.Уровень приложения должен аутентифицировать клиента и поддерживать сеансы клиента.Прокси-сервер веб-уровня этого не делает, поскольку не имеет доступа к базе данных.Такого рода вещи указывают мне на Django, с его кешированным отслеживанием сеансов, например.Но, честно говоря, я открыт для всего, что отвлекает меня от написания PHP4 для этого.