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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Подскажите технологии на базе ASP.NET для наших за 
:(
    Опции темы
MasTaKslova
  Дата 11.1.2016, 14:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



В рамках будущего (через несколько месяцев) проекта необходимо реализовать:

Веб представление
Личный кабинет, регистрация/авторизация (включая смену и напоминание пароля), система оповещения (email,sms), система поддержки (тикеты/чат с поддержкой), интерфейс для удобной подачи входных данных и запуска работы сервиса, отчеты в виде таблиц и графиков (+экспорт в Excel и т.п., сравнение, сортировка, различные варианты отчетов), биллинг, админка, базы данных;

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

Это все будет работать на AWS или Windows Azure (используется масштабируемая по мощностям архитектура).

Решили, что реализовать будем на базе ASP.NET. Собираемся заняться его изучением (у нас большой опыт программирования C# .NET).

Вопросы
1. Какие технологии в рамках ASP.NET нужно использовать для вебпредставления, какие для движка?
2. В контексте реализации движка (осуществляющего саму полезную работу/вычисления), возможно стоит вместо ASP рассмотреть PHP или что нибудь еще? Если что-то другое, то есть что либо в рамках .NET? Какие плюсы/минусы разных вариантов?
3. Слышал, что для вебпредставления, могут в разработке использоваться следующие технологии:
  • ASP.MVC;
  • Telerik;
  • Intersoft Solutions ;
  • web api 2.* ;
  • SOAP, REST .
Возможно, вы посоветуете что либо еще. Уточню - для нас важно, чтобы технология/фреймворк давала возможность максимально быстро реализовать функциональные блоки, которые нам необходимы в вебпредставлении.

Заранее спасибо! На базе ваших ответов будем строить свою стратегию изучения технологий ASP.
PM MAIL ICQ   Вверх
denzubr
Дата 12.1.2016, 11:10 (ссылка)    |    (голосов: 1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Здравствуйте!
Попробую поделиться своими соображениями.

1. Какие технологии в рамках ASP.NET нужно использовать для вебпредставления, какие для движка?
На первый вопрос вы сами по большей мере пытаетесь дать ответ в ответе на вопрос № 3.
Поэтому перейдем сразу к нему.

3. Слышал, что для вебпредставления, могут в разработке использоваться следующие технологии:
ASP.MVC;
Это основное по сути, что сейчас может предложить .NET для полного стэка вэб разработки. Есть еще WebForms, но на настоящий момент выбор этой технологии для перспективного проекта может быть оправдан обстоятельствами уж совсем исключительного характера.
Стоит понимать, что это лишь server-side. И что требования современного вэба вынудят вас (в 99,9% случаев) на всю катушку использовать и фронт-енд технологии. Как минимум, VanilaJS))) Как максимум - на фронте будете свой фрейймворк дополнительно использовать. Типа AngularJS или React например.

Telerik;
Применительно к .NET продукция Telerik - это набор "компонент", ускоряющих решение типовых задач разработки в вебе. Если точнее, то скорее в web-apps. Если еще точнее, то, ИМХО, web-apps для лютого энтерпрайза.
Плюс, движок отчетности свой, встраиваемый в вэб-морду довольно быстро.
Все перечисленное реализуется также с помощью пакета ASP.NET MVC расширения от компании DevExpress.

Intersoft Solutions ;
Сложно комментировать. Не знаком с продукцией данной компании, но судя по описанию на сайте - своего рода аналог DevExpress и Telerik, если речь идет о разработке именно под ASP.NET MVC

web api 2.* ;
Это технология по большей мере для реализации серверной стороны REST парадигмы на .NET

SOAP, REST 
Не совсем честно говоря понял, почему здесь вообще оказались перечислено это)))
SOAP - это протокол доступа к данным. Применительно к .NET, реализуется например платформой WCF.
REST - парадигма организации вэб приложения. Даже на уровне протокола никаким институтом стандартизации не утвержденная.

2. В контексте реализации движка (осуществляющего саму полезную работу/вычисления), возможно стоит вместо ASP рассмотреть PHP или что нибудь еще? Если что-то другое, то есть что либо в рамках .NET? Какие плюсы/минусы разных вариантов?
Тут надо исходить прежде всего из имеющихся у специалистов вашей команды навыков.
Если задача не имеет каких-то однозначно определенных специфических требований, то  в принципе платформу можно выбирать любую.
.NET здесь неплох как минимум с точки зрения удобства самого c#.
В то же время, если это backround сервис (движок),то речь будет идти явно не об ASP.NET.


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

Этот ответ добавлен с нового Винграда - http://vingrad.com
  Вверх
alexplato
Дата 12.1.2016, 12:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата(denzubr @ 12.1.2016,  11:10)
В то же время, если это backround сервис (движок),то речь будет идти явно не об ASP.NET.

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

Очень хороший и развернутый ответ! Огромное спасибо! Я правильно понимаю, преградой использования .net в таких задачах является сравнительно низкая производительность при больших нагрузках? Если так, какие альтернативы? Например php, C++?

Еще вопросы по теме: 

1. Правильно ли понимаем, что Microsoft Azure или AWS (Amazon Web Services) позволяет запускать на своих серверах программу под Windows, написанную на C#, при этом предоставляя масштабируемые мощности? Например https://azure.microsoft.com/ru-ru/pricing/d...rtual-machines/ 
2. Правильно ли понимаем, что у приложений, которые должны будут работать в такой среде, должна быть специальная архитектура? Если так, то есть ли документация/примеры по данной архитектуре? 
3. Что лучше для вышеописанной задачи: Microsoft Azure или AWS? Критерии оценки: цена, производительность, простота использования.
4. Сильно ли уступает по производительности такая конфигурация аналогичной, только созданной на ASP.NET.
PM MAIL   Вверх
denzubr
Дата 13.1.2016, 09:52 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Не за что :)

Цитата

   В то же время, если это backround сервис (движок),то речь будет идти явно не об ASP.NET.
   

Здесь я имел в виду, что не .NET в целом, а именно ASP.NET.
Иными словами, ASP.NEТ - это часть .NET, предназначенная для создания вэб-приложений.
.NET же в целом, безусловно  позволяет поставленную задачу выполнить. Просто другими средствами.
Но если вернуться к вопросу оценки конкретных критериев для выбора целевой платформы, то конечно результат разработки на .NET будет уступать по производительности решению на плюсах. НО это только в случае "идеального" кода на обоих языках.
По факту, даже в самом С# есть миллион тонкостей и правил, следование которым позволяет разрабатывать решения, готовые к действительно ощутимым нагрузкам.

По вопросам:
1. Да, в общем и целом верно понимаете

2. Для работы в Azure .NET приложения должны быть оптимизированы лишь отчасти. В целом, если сразу грамотно планировать архитектуру создаваемого проекта с точки зрения иерархии зависимостей и банально следовать принципам SOLID, то абсолютно реально организовать структуру проекта так, чтобы в итоге можно было запускать и в Azure и вне него.
Вот здесь есть неплохое локаничное описание ключевых отличий классического ASP.NET от такого под Azure.
Your text to link here...

3. К сожалению, использовать услуги AWS еще не приходилось. Поэтому не стану вводить вас в заблуждение своими предположениями :)

4. Без замеров вообще сложно о чем-либо здесь рассуждать.
В целом, мне кажется, что разница "прироста" затрат на оркестирование экземплярами приложения в облаке с лихвой покрывается эластичностью масштабирования.

Этот ответ добавлен с нового Винграда - http://vingrad.com
  Вверх
alexplato
Дата 13.1.2016, 22:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Еще раз - огромное спасибо за подробнейший ответ!

Опишу задачу конкретнее.

Задача приложения следующая: регулярно раз в 10 секунд делать запрос в базу данных, для проверки появления новых ссылок (URL). Когда появляются новые ссылки они загружаются и далее загруженные коды страниц отправляются в базу данных. Задача осложняется тем, что один момент времени может прийти 5 новых URL, в другой 100 в третий 5000 и все это нужно оперативно обработать (ведь в каждый момент может потребоваться разное количество оперативной памяти, ресурсов процессора, а также ширины канала интернета для текущих задач). Поэтому вся система должна работать на облачном сервере с автомасштабируемыми мощностями , например Microsoft Azure или AWS. Соответственно, это нужно учесть в архитектуре приложения. 

Средство реализации C# MicrosoftVisualStudio 2013 (приложение под Windows). 

denzubr, вы, я так понял, разработчик? Можете оставить контакты для консультации (готов оплатить).

Это сообщение отредактировал(а) alexplato - 13.1.2016, 22:57
PM MAIL   Вверх
alexplato
Дата 13.1.2016, 23:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Кстати, и что это за "SOLID принципы" не нашел в гугле в данном контексте.
PM MAIL   Вверх
mihryak
Дата 14.1.2016, 15:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(alexplato @  13.1.2016,  23:57 Найти цитируемый пост)
Задача осложняется тем, что один момент времени может прийти 5 новых URL, в другой 100 в третий 5000 и все это нужно оперативно обработать (ведь в каждый момент может потребоваться разное количество оперативной памяти, ресурсов процессора, а также ширины канала интернета для текущих задач). 

На backend стоит использовать какой-нибудь планировщик задач, например, Hangfire. Он и проверять наличие обновлений может, и порождать обрабатывающие задачи, и контролировать количество одновременно выполняемых задач, и многое другое.
PM MAIL ICQ   Вверх
denzubr
Дата 15.1.2016, 08:39 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Вики
Принципы проектирования ООП систем.

Этот ответ добавлен с нового Винграда - http://vingrad.com
  Вверх
denzubr
Дата 15.1.2016, 08:41 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Если к деталям реализации, то я бы скорее использовал Quartz.NET 

Этот ответ добавлен с нового Винграда - http://vingrad.com
  Вверх
denzubr
Дата 15.1.2016, 08:50 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Цитата

   denzubr, вы, я так понял, разработчик? Можете оставить контакты для консультации (готов оплатить)
   

Поняли верно))
[email protected]
Напишите - обсудим детали. :)

Вообще, исходя из описания background задачи мне видится более подходяшей платформой для реализации. В качестве языка, в частности, неплохим кажется выбор Erlang или Go.
Но такой выбор чреват явным увеличением затрат на поиск людей, способных данную задачу выполнить. Хотя, опять же, исходя из приведенного вами описания, задача особо сложной не выглядит.

Этот ответ добавлен с нового Винграда - http://vingrad.com
  Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Любитель
Mymik
mr.DUDA

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Любитель, Mymik, mr.DUDA.

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


 




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


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

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