на чём делать интернет-приложение
p.s. я все понимаю, ты из лучших побужденией, но мну пришел в тихий ужас по прочтении
p.s.s. знаю одну CMS XWare писало её полрамблера, продают они её за 50 килобаксов
p.s. я все понимаю, ты из лучших побужденией, но мну пришел в тихий ужас по прочтенииа что не так? знаешь правило
Любая достаточно сложная программа на C или Фортране содержит заново написанную, неспецифицированную, глючную и медленную реализацию половины языка Common Lispтут тоже самое. Если система сама не может предоставить абстракции контроллеров и сигналов-слотов, то программисты сами будут вынуждены написать нечто подобное.
на что только не пойдут люди, чтобы написать hello worldчисто hello world пишется легко:
module Main where
import Happstack.Server (nullConf, simpleHTTP, toResponse, ok)
main :: IO
main = simpleHTTP nullConf $ ok "Hello, World!"
оч интересно что это такое , а ппознаний в данной области мало
флокал, например
он же на готовом движке
от этого он перестает быть интернет-приложением? или перестает использовать инструменты, которые хочет использовать ?
в общем да, понавороченне что нибудь. какое нибудь интернет-приложение на Java с кучей технологий?
из ориентированных на публику (а не на внутреннее использование): интернет-банки, крупные интернет-магазины.
то что хочет айвенго это похоже на монструозные фреймворки от оракла (привет алепар! сапа, лотуса ...
там будет как раз так - вот этот документ отображать вот сюда, а изменения - вот туда
Оставить комментарий
yroslavasako
Озаботился поиском подходящего инструмента - сервера приложений и фреймворка для создания интернет-приложений.Для разных задач адекватны разные инструменты, для небольшого сайта один, для полноценного интернет приложения - другой. Так что я опишу архитектуру, и буду ждать подсказки о существующих решениях, отвечающих архитектуре. Язык реализации - java или stackless python (либо stackless pypy, поскольку у обычного питона туго с параллельностью). Лицензия - как минимум бесплатная для некоммерческого использования, как максимум - тру опенсорс (бсд). Интерес - познавательный, хочется узнать существует ли сабж, и накатать на нём условный хелло ворлд (условный потому что для тестинга фич потребуется нечто изощрённее)
0. backend - открытая БД, мускуль или постгресс
+ persistence API, позволяющий по выбору либо автоматически мапить классы в БД, либо кастомно вытаскивать данные в конструкторе/деструкторе с помощью определённой для этих целей вспомогательной удобной либы. Просто SQL запросы - нехорошо, я рассчитываю, что сабж будет предоставлять какие-то неймспейсы или другие тулзы, позволяющие не думать о взаимном расположении данных в таблицах, коллизиях и прочих проблем ручной аллокации таблиц.
1. server-side
классы с логикой, обработкой данных, общением с таблицей (посредством persistence API и не только). Может работать в statefull либо stateless режиме (в последнем случае - через персистенс в бэкенд БД). Плюс механизм публикации объектов, чтобы клиенты могли затребовать себе соединение с одним из них.
2. client-side
классы для представления контроллера на стороне клиента. Получают/передают события от клиента к серверу. Смысл фреймворка в том, чтобы это происходило прозрачно, неотличимо в сетевом случае от локального. Клиент/сервер обмениваются сообщениями, которые тригаются в асинхронном цикле обработки, наподобие того как это сделано для сигнал/слотов QT. Вместе с сигналами можно послать контент - в виде plain data, причём можно выбирать как синхронный вариант, так и асинхронный. Можно посылать "мгновенные" короткие сообщения, можно открывать канал передачи данных пайпом, который автоматически уходит в отдельный тред (например массивные картинки аплодить отдельным тредом от треда управления)
точно также как и server side можно заставить переключиться на stateless мод через персистенс апи.
3. Далее к контроллеру можно напрямую привязать UI, например JavaFX, а можно заюзать один из нескольких вариантов создания веб-морды
1. Отдельный веб-фрейморк
2. Темплатирование - один или несколько вариантов
3. Генератор веб-страничек, вроде Java Server Faces.
Общая концепция: есть один или несколько серверов БД, между которыми распределяется нагрузка (можно вручную). Один или несколько серверов приложений, на которых распределена нагрузка server-side и client-side, можно один сервер растянуть на несколько машин, а можно наоборот на одну машину запихать все сервера и клиенты, прописав им распределение поглощаемых ресурсов. Соответственно необходима панель управления. Другой вариант использования заключается в том, что мы не генерим веб-морду, а раздаём сразу клиенты на удалённые машины, те же самые Java апплеты.
Собственно существует ли сабж, и по каким ключевым словам его искать? Можно как одним куском, так и каскадом.