anonymous@RULINUX.NET~# Last login: 2024-09-29 21:41:30
Регистрация Вход Новости | Разметка | Пользователи | Галерея | Форум | Статьи | Неподтвержденное | Трекер | Правила форума | F.A.Q. | Ссылки | Поиск
[#] [Добавить метку] [Редактировать]
Скрыть

их в семером не удержать

копипаста сообщения одного программиста

Озаботился поиском подходящего инструмента - сервера приложений и фреймворка для создания интернет-приложений. Для разных задач адекватны разные инструменты, для небольшого сайта один, для полноценного интернет приложения - другой. Так что я опишу архитектуру, и буду ждать подсказки о существующих решениях, отвечающих архитектуре. Язык реализации - 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 апплеты.

Собственно существует ли сабж, и по каким ключевым словам его искать? Можно как одним куском, так и каскадом.

anonymous(*) (2010-08-16 10:45:00)

Opera/9.80 (X11; Linux i686; U; en) Presto/2.6.30 Version/10.60

[Ответить на это сообщение]
[#] [Добавить метку] [Редактировать] Ответ на: их в семером не удержать от anonymous 2010-08-16 10:45:00
avatar
Скрыть

Re: их в семером не удержать

мне кажется, или тут описано классическое клиент-серверное приложение на лиспе?:)

>Собственно существует ли сабж, и по каким ключевым словам его искать?

а хотябы в туже вику заглянуть перед постингом?

     http://ru.wikipedia.org/wiki/%D0%A1%D0%B5%D1%80%D0%B2%D0%B5%D1%80_%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D0%B9
  1.  Примеры реализации
  2.  
  3.   * Под сервером приложений в случае Java EE подразумевается комплекс программ, реализующих концепцию Java EE и позволяющих запускать в себе Java EE приложения. К классу серверов приложений относятся такие продукты как GlassFish, WebSphere, JBoss и др.
  4.   * Zope, развитый сервер web-приложений.
  5.   * Терминальные серверы, например поставляемые компанией Citrix

anonymous(*)(2010-08-16 11:32:09)

Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.9) Gecko/20100402 Linux Mint/8 (Helena) Firefox/3.5.9
Этот тред читают 1 пользователь:
Анонимных: 1
Зарегистрированных: 0




(c) 2010-2020 LOR-NG Developers Group
Powered by TimeMachine

Valid HTML 4.01 Transitional Правильный CSS!