Документ взят из кэша поисковой машины. Адрес оригинального документа : http://www.fds-net.ru/showflat.php?Number=9667339&src=arc&showlite=
Дата изменения: Unknown
Дата индексирования: Tue Apr 12 20:04:42 2016
Кодировка: Windows-1251
на чем делать интернет-приложение - Public forum of MSU united student networks
Root | Google | Yandex | Mail.ru | Kommersant | Afisha | LAN Support
  
Technical >> Development (Archive)

Страницы: 1
ayvango
ушастый

Рег.: 10.01.2006
Сообщений: 27732
Из: Воронеж
Рейтинг: 11833
  на чем делать интернет-приложение
      16.08.2010 10:23
1

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

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



Сеть темна и полна ужасов
Vilfred_Sagen
спать хочу

Рег.: 29.10.2004
Сообщений: 22313
Из: moscow
Рейтинг: 7125
  Re: на чем делать интернет-приложение [re: ayvango]
      16.08.2010 10:42
3

на что только не пойдут люди, чтобы написать hello world

p.s. я все понимаю, ты из лучших побужденией, но мну пришел в тихий ужас по прочтении
p.s.s. знаю одну CMS XWare писало ее полрамблера, продают они ее за 50 килобаксов

ayvango
ушастый

Рег.: 10.01.2006
Сообщений: 27732
Из: Воронеж
Рейтинг: 11833
  Re: на чем делать интернет-приложение [re: Vilfred_Sagen]
      16.08.2010 11:04
3

Quote:


p.s. я все понимаю, ты из лучших побужденией, но мну пришел в тихий ужас по прочтении



а что не так? знаешь правило
Quote:

Любая достаточно сложная программа на C или Фортране содержит заново написанную, неспецифицированную, глючную и медленную реализацию половины языка Common Lisp



тут тоже самое. Если система сама не может предоставить абстракции контроллеров и сигналов-слотов, то программисты сами будут вынуждены написать нечто подобное.



Сеть темна и полна ужасов
ayvango
ушастый

Рег.: 10.01.2006
Сообщений: 27732
Из: Воронеж
Рейтинг: 11833
  Re: на чем делать интернет-приложение [re: Vilfred_Sagen]
      16.08.2010 11:06
-1

Quote:

на что только не пойдут люди, чтобы написать hello world



чисто hello world пишется легко:
code:
module Main where import Happstack.Server (nullConf, simpleHTTP, toResponse, ok) main :: IO () main = simpleHTTP nullConf $ ok "Hello, World!"




Сеть темна и полна ужасов
Antoir
newbie

Рег.: 07.06.2010
Сообщений: 43
Рейтинг: 80
  Re: на чем делать интернет-приложение [re: ayvango]
      17.08.2010 19:49
 

Приведи пример какого-нибудь распространенного интернет-приложения
оч интересно что это такое , а ппознаний в данной области мало

DarkGrayМодератор
Carpal Tunnel

Рег.: 30.09.2002
Сообщений: 31411
Рейтинг: 8953
  - [re: Antoir]
      17.08.2010 20:18
 

флокал, например

Lexus_
---

Рег.: 27.11.2005
Сообщений: 2743
Рейтинг: 1209
  Re: - [re: DarkGray]
      17.08.2010 20:36
 

он же на готовом движке :confused:

DarkGrayМодератор
Carpal Tunnel

Рег.: 30.09.2002
Сообщений: 31411
Рейтинг: 8953
  - [re: Lexus_]
      17.08.2010 20:57
 

от этого он перестает быть интернет-приложением? или перестает использовать инструменты, которые хочет использовать ayvango?

Lexus_
---

Рег.: 27.11.2005
Сообщений: 2743
Рейтинг: 1209
  Re: - [re: DarkGray]
      18.08.2010 10:20
 

в общем да, понавороченне что нибудь. какое нибудь интернет-приложение на Java с кучей технологий?

DarkGrayМодератор
Carpal Tunnel

Рег.: 30.09.2002
Сообщений: 31411
Рейтинг: 8953
  - [re: Lexus_]
      18.08.2010 13:08
 

из навороченных будет SAP какой-нибудь, и другие крупные ERP-пакеты.

из ориентированных на публику (а не на внутреннее использование): интернет-банки, крупные интернет-магазины.

Sardaukar
работничег

Рег.: 13.07.2004
Сообщений: 759
Из: кроме мск, Владимирская обл, г. Радужный
Рейтинг: 268
  Re: - [re: DarkGray]
      18.08.2010 14:27
 

во-во-во
то что хочет айвенго это похоже на монструозные фреймворки от оракла (привет алепар!), сапа, лотуса ...
там будет как раз так - вот этот документ отображать вот сюда, а изменения - вот туда



aka Rumata @ dedicated-server.ru (former madeagle.ru), counter-strike.ru, rsdn.ru, wec.ru
vade retro
Страницы: 1

Technical >> Development (Archive)

Дополнительная информация
2 зарегистрированных и 0 анонимных пользователей просматривают этот форум.

Модераторы:  DarkGray 

Печать темы

Права
      Вы можете создавать новые темы
      Вы можете отвечать на сообщения
      HTML отключен
      UBBCode включен

Рейтинг:
Просмотров темы:

Переход в