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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Есть ли альтернатива .NET под Windows? 
:(
    Опции темы
Zloxa
Дата 23.3.2013, 02:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


Профиль
Группа: Завсегдатай
Сообщений: 3473
Регистрация: 12.9.2008

Репутация: 4
Всего: 161



Цитата(Zloxa @  23.3.2013,  02:50 Найти цитируемый пост)
Длинную транзакцию там реализовать можно?

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


--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
Freyzer
Дата 23.3.2013, 09:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


обаятельный нахал
**


Профиль
Группа: Участник
Сообщений: 277
Регистрация: 12.12.2009
Где: на Марсе

Репутация: нет
Всего: 1



ZZZkoderZZZ вот тебе альтернатива http://Windows API


--------------------
Advocatus Dei smile. Advocatus Diaboli smileAjo!   
PM MAIL   Вверх
diadiavova
Дата 23.3.2013, 10:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

Репутация: 4
Всего: 142



Цитата(Zloxa @  23.3.2013,  02:50 Найти цитируемый пост)
На датабазу выносить не кошер же....

Это еще почему? smile 
Цитата(Zloxa @  23.3.2013,  02:50 Найти цитируемый пост)
Да и ТSQL - не не не

Transact-SQL не подходит для транзакций? smile 
Цитата(Zloxa @  23.3.2013,  02:50 Найти цитируемый пост)
Длинную транзакцию там реализовать можно?

Т.е. пользователь захватывает объект, и пока он не закроет вкладку барузера/не нажмет педать "отпустить", ни одна падла более не сможет его захватить?

Ну теоретически можно, а почему нет? Примерно это может выглядеть так: 

Создаешь объект, который будет контролировать транзакцию. Этот объект содержит: идентификатор пользвателя, идентификатор блокируемого ресурса, время начала операции, максимальную ее продолжительность, время последнего подтверждения продолжения операции и максимальный период с момента последнего подтверждения. Дальше забиваешь объект в кеш сервера, и всякий раз, когда запрашивается ресурс проверяешь, есть ли там такой объект и актуален ли он. На стороне клиента нужно поставить таймер, который с определенным интервалом будет отправлять на сервер аякс-запрос, подтверждающий операцию (в случае закрытия страницы запросы отправляться перестанут и объект можно будет удалить). Дальше, если есть другой запрос, проверяешь в кеше наличие данных о проводимой операции и их актуальности, если данные есть - возвращешь сообщение об отказе в доступе.

Не знаю, будет ли это работать именно в том виде, в котором описано(мое знакомство с вебом не такое близкое как хотелось бы), но приблизительно механизм может быть таким. То есть установить постоянное соединение с сервером не получится, но отправлять периодически сообщения можно. Вон посмотри как вконтактик работает: если собеседник оставил сообщение, то у тебя оно появляется практически сразу, а реализовано так же, то есеть постоянно отправляются запросы на обновление и все.
Цитата(Zloxa @  23.3.2013,  03:05 Найти цитируемый пост)
но, полагаю, если и можно, то это мало отличается от реализации логики на клиенте. Т.е. когда презентационный слой, реализует функционал бизнесс-логики.

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

Добавлено через 10 минут и 23 секунды
Хотя, вот как мне кажется, в вебе делать такое - не комильфо. Один юзер что-то захватывает, другие ждут и т.д. Это хорошо работать не может.


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
k0rvin
Дата 23.3.2013, 11:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 442
Регистрация: 24.1.2010

Репутация: 1
Всего: 5



Цитата(diadiavova @  23.3.2013,  10:14 Найти цитируемый пост)
Хотя, вот как мне кажется, в вебе делать такое - не комильфо. Один юзер что-то захватывает, другие ждут и т.д. Это хорошо работать не может. 


Согласен, монопольный доступ не нужен.


--------------------
“Object-oriented design is the roman numerals of computing.” — Rob Pike
All software sucks
PM MAIL   Вверх
Zloxa
Дата 23.3.2013, 12:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


Профиль
Группа: Завсегдатай
Сообщений: 3473
Регистрация: 12.9.2008

Репутация: 4
Всего: 161



Цитата(diadiavova @  23.3.2013,  11:14 Найти цитируемый пост)
Цитата(Zloxa @  23.3.2013,  02:50 )
На датабазу выносить не кошер же....

Это еще почему?  

Примерно потому же, почему .NET лучше Delphi. Об этом много говорят, но никто не может сказать четко и внятно. 

Основные аргументы, я так понимаю - 
1) абстрагирование от плафтормы БД.
2) возможность организовать распределенное хранение данных
3) возможность использовать гетерогенную систему хранения

И ведь действительно, персистить многие объекты бизнесс-локики в РСУБД не рационально. Иные можно заперсистить и в банальном XMLчике

Цитата(diadiavova @  23.3.2013,  11:14 Найти цитируемый пост)
Transact-SQL не подходит для транзакций?

На TSQL реализовывать бизнесс логику- мазохизм.

Цитата(diadiavova @  23.3.2013,  11:14 Найти цитируемый пост)
Хотя, вот как мне кажется, в вебе делать такое - не комильфо. Один юзер что-то захватывает, другие ждут и т.д. Это хорошо работать не может. 

Это отлично работает на файлсервере. Что хорошего в том, чтобы дать возможность двум пользователям править одновременно один эксельчик, вордик лежащий на общем ресурсе?
Это отлично работает на клиент-сервере. Что хорошего в том, чтобы позволять двум разным бизнесс-пользователям одновременно править одну накладную?
Почему это плохо для веба?

Цитата(diadiavova @  23.3.2013,  11:14 Найти цитируемый пост)
Примерно это может выглядеть так: 

Воспроизведение механизма поддержания сессии. Закат солнца вручную. 

Это сообщение отредактировал(а) Zloxa - 23.3.2013, 12:05


--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
k0rvin
Дата 23.3.2013, 12:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 442
Регистрация: 24.1.2010

Репутация: 1
Всего: 5



Цитата(Zloxa @  23.3.2013,  12:00 Найти цитируемый пост)
Это отлично работает на клиент-сервере. Что хорошего в том, чтобы позволять двум разным бизнесс-пользователям править одну накладную?
Почему это плохо для веба?


Не понятно, почему вообще к накладной имеет доступ не ответственный за нее пользователь? Опять же доступ может регулироваться сервером приложений, при чем тут клиент?

Это сообщение отредактировал(а) k0rvin - 23.3.2013, 12:12


--------------------
“Object-oriented design is the roman numerals of computing.” — Rob Pike
All software sucks
PM MAIL   Вверх
Zloxa
Дата 23.3.2013, 12:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


Профиль
Группа: Завсегдатай
Сообщений: 3473
Регистрация: 12.9.2008

Репутация: 4
Всего: 161



Цитата(k0rvin @  23.3.2013,  12:05 Найти цитируемый пост)
монопольный доступ не нужен. 

Монопольный доступ нужен.
Здесь речь не о монопольном доступе а о реализации пессимистической стратегии блокирования ресурсов.

Цитата(diadiavova @  23.3.2013,  11:14 Найти цитируемый пост)
Не очень себе предствляю, как такую логику можно реализовать на стороне клиента. Вряд ли мой браузер может запретить что-то твоему браузеру, то есть реализация тут может идти только через сервер.

Я имел не то, что у тебя браузер что то там блокирует. Я имел в виду, что у тебя логика представления данных неотделимо связана с логикой обработки данынх. Я предполагаю что вебформы пошли по тому же пути, что и Oracle Forms, просто на другом технологическом базисе.

Добавлено @ 12:18
Цитата(k0rvin @  23.3.2013,  13:11 Найти цитируемый пост)
Не понятно, почему вообще к накладной имеет доступ не ответственный за нее пользователь? 

Пусть будет один пользователь, но из разных окон. Что это меняет? Зачем ему давать возможность править одну накладную в двух окнах?
Пусть второй будет не пользователь, а какойнить серверный процесс.

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

Это сообщение отредактировал(а) Zloxa - 23.3.2013, 12:27


--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
SKrivosein
Дата 23.3.2013, 12:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Идущий в даль
**


Профиль
Группа: Участник
Сообщений: 271
Регистрация: 9.6.2007
Где: Praha - Прага

Репутация: нет
Всего: 8



Zloxa я так понимаю что на на вебормах пользователь получит данные, работает с ними, а потом их посылает на сервер. Там ресурс может быть замкнут, обработан как один процесс и освобожден.
А не так что пользователь зделает запрос на данные, замкнёт их и... незакрывая броузер пойдет пить чай, водку и вернётся завтра. А сервер должен сам решить за какое время он сбросит замок. smile 


--------------------
Оптимист - это плохо информированный человек.
user posted image

PM MAIL   Вверх
k0rvin
Дата 23.3.2013, 13:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 442
Регистрация: 24.1.2010

Репутация: 1
Всего: 5



Цитата(Zloxa @ 23.3.2013,  12:13)
Ну и ты действительно прав, в условиях правильной постановки бизнесс процесса, ситуации, когда "Один юзер что-то захватывает, другие ждут и т.д." не будет возникать. Здесь вопрос скорее в том, теряем ли мы результат работы пользователя-отступника потому что сам дурак, или же просто не позволяем ему делать дурачью работу.

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

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

Добавлено через 1 минуту и 41 секунду
В любом случае это забота сервера, а не клиента.


--------------------
“Object-oriented design is the roman numerals of computing.” — Rob Pike
All software sucks
PM MAIL   Вверх
SKrivosein
Дата 23.3.2013, 13:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Идущий в даль
**


Профиль
Группа: Участник
Сообщений: 271
Регистрация: 9.6.2007
Где: Praha - Прага

Репутация: нет
Всего: 8



Цитата

Воспроизведение механизма поддержания сессии. Закат солнца вручную. 

Zloxa это ты о чём, обьясни, я непонимаю.


--------------------
Оптимист - это плохо информированный человек.
user posted image

PM MAIL   Вверх
diadiavova
Дата 23.3.2013, 13:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

Репутация: 4
Всего: 142



Цитата(Zloxa @  23.3.2013,  13:00 Найти цитируемый пост)
Примерно потому же, почему .NET лучше Delphi. 

Аааааа, ну тогда правда наверно smile
Цитата(Zloxa @  23.3.2013,  13:00 Найти цитируемый пост)
И ведь действительно, персистить многие объекты бизнесс-локики в РСУБД не рационально. Иные можно заперсистить и в банальном XMLчике

Мне такой подход, особенно на сервере, не нравится. Документ надо парсить каждый раз и загружать в память полностью и это при каждом запросе, а их может быть довольно много и это может сильно загрузить память сервера. Даже если документы небольшие, еще не факт, что они не вырастут. А база - все-таки содержит бинарные данные и там все как раз-таки оптимизировано для хранения и доступа к данным. Если хмл отправляется юзверю в неизменном виде и обрабатывается на стороне клиента, то да, а так... smile 
Абстрагироваться от платформы видимо хорошо, только вот тебе самому часто со своей оры слезать приходится? Мне кажется, востребованность этой возможности несколько преувеличена. Да и реализацию логики можно возложить не на субд, а на тот же репозиторий данных, уж если такой подход все-таки используется. Ну, а вообще, если не привязываться к конкретной платформе, то просто лишишься тех преимуществ, которые она дает, а придется пользоваться только наиболее общими приемами и соответственно много ненужного перекочует в код программы.
Цитата(Zloxa @  23.3.2013,  13:00 Найти цитируемый пост)
На TSQL реализовывать бизнесс логику- мазохизм.

http://technet.microsoft.com/ru-ru/library/ms131102.aspx
 smile 
Цитата(Zloxa @  23.3.2013,  13:00 Найти цитируемый пост)
Что хорошего в том, чтобы дать возможность двум пользователям править одновременно один эксельчик, вордик лежащий на общем ресурсе?

Ну вот допустим я загрузил документ для редактирования, пока редактировал, хитрый Злоха взял да и отредактировал раньше. Мне приходит сообщение, что документ изменен и прежде чем продолжать редактировать мне будет предложено ознакомиться с новой версией. Можно даже прислать ее сразу же, все с помощью того же аякса реализуется или в крайнем случае приходит сообщение при попытке отправить свою версию. А если доступ блокируется, то как быть с остальными пользователями, которые тоже хотят редактировать? smile Они должны ждать? Очередь формировать или там кто быстрее успеет?
Цитата(Zloxa @  23.3.2013,  13:00 Найти цитируемый пост)
Воспроизведение механизма поддержания сессии. Закат солнца вручную. 

Ну здесь же нужно, чтобы другие пользователи знали, что документ редактируется, соответственно все в общий котел валится smile 
Цитата(Zloxa @  23.3.2013,  13:13 Найти цитируемый пост)
Я имел в виду, что у тебя логика представления данных неотделимо связана с логикой обработки данынх.

Ну уж как задача поставлена, так она и решена. Я тебе волшебник что ли? smile 
Цитата(Zloxa @  23.3.2013,  13:13 Найти цитируемый пост)
 Я предполагаю что вебформы пошли по тому же пути, что и Oracle Forms, просто на другом технологическом базисе.

На самом деле это игрушка. Если на вебформах лепить что-то небольшое и побыстрому, то это самое оно, а так... Здесь просто попытались реализовать такой же подход, как и в винформах. А для чего-то серьезного лучше ASP.Net MVC ессно. Но если говорить о поставленной задаче и ее решении, то тут я отвечал не опираясь на конкретную технологию, просто хттп длительных соединений не поддерживает и для таких задач нужен костыль.
Цитата(Zloxa @  23.3.2013,  13:13 Найти цитируемый пост)
Здесь вопрос скорее в том, теряем ли мы результат работы пользователя-отступника потому что сам дурак, или же просто не позволяем ему делать дурачью работу

Ну так всегда можно сообщить ему, что документ редактируется.
Цитата(SKrivosein @  23.3.2013,  13:43 Найти цитируемый пост)
Zloxa я так понимаю что на на вебормах пользователь получит данные, работает с ними, а потом их посылает на сервер. Там ресурс может быть замкнут, обработан как один процесс и освобожден.

Та это веб в принципе так работает, а не только формы.
Цитата(SKrivosein @  23.3.2013,  13:43 Найти цитируемый пост)
А не так что пользователь зделает запрос на данные, замкнёт их и... незакрывая броузер пойдет пить чай, водку и вернётся завтра. А сервер должен сам решить за какое время он сбросит замок. 

 smile

Добавлено через 2 минуты и 12 секунд
Цитата(k0rvin @  23.3.2013,  14:03 Найти цитируемый пост)
Звучит сложновато

А тут простых решений быть и не может.


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
SKrivosein
Дата 23.3.2013, 14:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Идущий в даль
**


Профиль
Группа: Участник
Сообщений: 271
Регистрация: 9.6.2007
Где: Praha - Прага

Репутация: нет
Всего: 8



Я или чего то непонимаю, или всё это легко решается в ASP.NET с помощью сесионстат и апликайшенстат и их событий. Там ктому же есть тьма настроек, включая такую вещь как компресия сохраняемых данных.
Но возможно я непонимаю Злоху... и выдумываю здесь smile 

Это сообщение отредактировал(а) SKrivosein - 23.3.2013, 16:26


--------------------
Оптимист - это плохо информированный человек.
user posted image

PM MAIL   Вверх
Zloxa
Дата 23.3.2013, 17:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


Профиль
Группа: Завсегдатай
Сообщений: 3473
Регистрация: 12.9.2008

Репутация: 4
Всего: 161



Цитата(k0rvin @  23.3.2013,  14:03 Найти цитируемый пост)
Ну есть же версионирование, при сохранении пользователем-отступником, проверяем номер версии документа, если он отличается от той

Это называется оптимистическая стратегия блокирования

Цитата(k0rvin @  23.3.2013,  14:03 Найти цитируемый пост)
то отказываем ему в сохранении и показываем, что были сохранены другие изменения

Это называется потеря работы, произведенной пользователем в течении половины рабочего дня

Цитата(k0rvin @  23.3.2013,  14:03 Найти цитируемый пост)
Далее пользователь может смержить эти изменения со своей редакцией (вручную или автоматически, по его выбору), тем самым обновив у себя номер последней версии, 

Это еще пол рабочего дня работы

Цитата(k0rvin @  23.3.2013,  14:03 Найти цитируемый пост)
и попытаться сохранить снова.

И опять обломаться, потому что кто-то успел изменить документ раньше

Цитата(diadiavova @  23.3.2013,  14:45 Найти цитируемый пост)
Цитата(Zloxa @  23.3.2013,  13:00 )
Что хорошего в том, чтобы дать возможность двум пользователям править одновременно один эксельчик, вордик лежащий на общем ресурсе?

Ну вот допустим я загрузил документ для редактирования, пока редактировал, хитрый Злоха взял да и отредактировал раньше.

Я отстал от времени, или же второй эксельчик позволит открыть себя второй раз лишь только для чтения, не дав хитрому Злохе сохранить документ, пока его редактирует дядявова?

Цитата(diadiavova @  23.3.2013,  14:45 Найти цитируемый пост)
А тут простых решений быть и не может. 

Пессимистическая стратегия блокирования и есть - простое решение. Куда проще не допускать неоднозначности, чем городить огород в попытке сводить не сводимое.


--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
diadiavova
Дата 23.3.2013, 19:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

Репутация: 4
Всего: 142



Цитата(Zloxa @  23.3.2013,  18:20 Найти цитируемый пост)
Я отстал от времени, или же второй эксельчик позволит открыть себя второй раз лишь только для чтения, не дав хитрому Злохе сохранить документ, пока его редактирует дядявова?

Я как раз говорил о том, что происходит без блокирования. Но ввобще мы о разных вещах говорим. Ты говоришь о корпоративной сети и серьёзной работе с документами и тут мне вообще непонятно, для чего тут использовать веб и браузер, оно и так понятно, что лучше работать с продвинутым клиентским приложением, да и в сети предприятия можно использовать и другие протоколы, да и в общем-то поверх хттп можно сделать как надо с клиентским софтом. Я же говорил о веб сервере с публичным доступом. А ты собственно утверждаешь, что веб недоразвит из-за того, что на нём не слишком красиво реализуются вещи, для которых он не предназначен. Причём даже для них костыль соорудить можно, ну вот всё равно тебе не ндраиццо. 


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
Zloxa
Дата 23.3.2013, 21:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


Профиль
Группа: Завсегдатай
Сообщений: 3473
Регистрация: 12.9.2008

Репутация: 4
Всего: 161



Цитата(diadiavova @  23.3.2013,  20:31 Найти цитируемый пост)
 А ты собственно утверждаешь, что веб недоразвит из-за того, что на нём не слишком красиво реализуются вещи, для которых он не предназначен.

Пока не предназначен.
Спрос в корпоративном секторе на решения на этой платформе уже давно сформирован.
Удовлетворить же его пока только через зад удается.


--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила ведения Религиозных войн
Smartov
1. Уважайте собеседника
2. Собеседник != враг
3. Старайтесь воздерживаться от тем вида "Windows Rulez" или "Linux Rulez"

С уважением, Smartov.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Религиозные войны | Следующая тема »


 




[ Время генерации скрипта: 0.1051 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.