powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / OData сцуко не радует своими завихрениями
187 сообщений из 187, показаны все 8 страниц
OData сцуко не радует своими завихрениями
    #38609075
мсущко
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38799437
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Отличная новость, вчера вышел OData v4 Client Code Generator под новые фичи OData Client for .NET 6.8.1 . Дружно радуемся!

Основная фича - поддержка типов Edm.TimeOfDay/Edm.Date. Честно говоря, не очень радовал нативный DateTimeOffset. Пипец, фича в OData Client for .NET появилась еще 20 октября, а генератор запилили только вчера. Шустрые сцуко

OData Client for .NET 6.8.1Release Notes
New Features:
1. OData Client for .NET now supports Edm.TimeOfDay/Edm.Date.
2. OData Client for .NET now can take entity or collection of entity as parameter of action.

Bug fix:
1. [Github issues #3] Fix a bug that string function parameters containing specific characters were handled incorrectly by URI parser.
2. Fix a bug that OData Client for .NET failed to serialize and materialize null value in collection of complex type, primitive type.

OData v4 Client Code Generator2.1.0:

Features:

OData v4 Client Code Generator now supports the generation of properties whose type, functions whose parameter types and return type are Edm.TimeOfDay or Edm.Date.
OData v4 Client Code Generator generates one more ByKey method for each EntityType, which directly accepts all keys as parameters instead of a dictionary.
Bug Fixes:

Fix a bug that OData v4 Client Code Generator may generate empty ExtensionMethods class
Fix a bug that OData v4 Client Code Generator may generate duplicate names between a property and a private field.
[Github issues #10] Fix a bug that OData v4 Client Code Generator cannot correctly generate code when EntityType name and one of its property name are same.
Fix a bug that OData v4 Client Code Generator cannot correctly generate VB code for a bound function which returns a collection.
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38799442
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУЧестно говоря, не очень радовал нативный DateTimeOffset

Почему? Чем не угодил DateTimeOffset?
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38799447
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttПочему? Чем не угодил DateTimeOffset?
Тем, что есть таблицы с типом Date/DateTime и натравленная edmx схема EF отсылалась лесом при построении IEdmModel.
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38799450
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да и в чем проблемы?

http://www.odata.org/documentation/odata-version-2-0/overview#AbstractTypeSystem Example: datetime’2000-12-12T12:00′
Example: 13:20:00


Тип datetime был в спецификации еще со 2 версии. Зачем мне навязывать другие типы?
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38799456
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУЗачем мне навязывать другие типы?

Я был бы только рад, если бы DateTime канул в лету, и остался только DateTimeOffset ))
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38799459
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttЯ был бы только рад, если бы DateTime канул в лету, и остался только DateTimeOffset ))
Я был только рад, если бы лопата канула в лету и остался только экскаватор ))
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38799518
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУhVosttЯ был бы только рад, если бы DateTime канул в лету, и остался только DateTimeOffset ))
Я был только рад, если бы лопата канула в лету и остался только экскаватор ))

DateTime это натупейшая ошибка природы. Уверен, что разработчики, которые его придумали по ночам из-за него плохо спят. Я всегда стараюсь использовать DateTimeOffset, там где есть возможность выбирать.
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38799590
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttDateTime это натупейшая ошибка природы. Уверен, что разработчики, которые его придумали по ночам из-за него плохо спят. Я всегда стараюсь использовать DateTimeOffset, там где есть возможность выбирать.
Хвост, какой дури ты опять накурился? Еще раз, зачем мне экскаватор, если нужно просто окучить лопатой куст?
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38799635
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУhVosttDateTime это натупейшая ошибка природы. Уверен, что разработчики, которые его придумали по ночам из-за него плохо спят. Я всегда стараюсь использовать DateTimeOffset, там где есть возможность выбирать.
Хвост, какой дури ты опять накурился? Еще раз, зачем мне экскаватор, если нужно просто окучить лопатой куст?

Ну-ка, скажи не глядя в хелп:

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
var now = DateTime.Now;

if(now == now.ToUniversalTime())
{
   Console.WriteLine("Nooo!");
}
else
{
   Console.WriteLine("Bingo!");
}



Что выведет на экран?
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38799733
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt, я согласен с тобой, что офсетная дата является самым полным и емким типом о дате. Но далеко не везде требуется эта ёмкость. Я не против ведения типа Date в дотнете, в сиквеле же сделали. А уж что использовать, нам решать. Чем больше выбора, тем лучше.
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38799734
T_STV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ,

А можете поведать, что такого в этом OData? Или это как всегда просто новомодная фишка?
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38799750
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
T_STVМСУ,

А можете поведать, что такого в этом OData? Или это как всегда просто новомодная фишка?Команда Entity Framework внезапно получила увеличенный бюджет, который надо срочно освоить, иначе в следующем году дадут меньше - и они размахнулись не на шутку: кроссплатформенный LINQ-over-HTTP. Исправление недостатков EF откладывается, появилась гораздо более важная задача.
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38799756
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
T_STVМСУ, А можете поведать, что такого в этом OData? Или это как всегда просто новомодная фишка?
Новый стандарт в SOA технологиях в виде REST. http://www.asp.net/web-api/overview/odata-support-in-aspnet-web-api/odata-v4/create-an-odata-v4-endpoint
"Новомодная фишка", которая засунула убогий SOAP в мусорный ящик.

Алексей ККоманда Entity Framework внезапно получила увеличенный бюджет
Вроде к EF отношения не имеет https://www.nuget.org/packages/Microsoft.AspNet.WebApi.OData
Работают команды microsoft и aspnet.
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38799759
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУT_STVМСУ, А можете поведать, что такого в этом OData? Или это как всегда просто новомодная фишка?
Новый стандарт в SOA технологиях в виде REST. http://www.asp.net/web-api/overview/odata-support-in-aspnet-web-api/odata-v4/create-an-odata-v4-endpoint
"Новомодная фишка", которая засунула убогий SOAP в мусорный ящик.У ха ха... :-)

Все кинулись переписывать свои соапные интеграции на одату. Чем, кстати, соап вдруг стал не мил? Почему одата не сделана поверх соап? Было бы логично.

МСУАлексей ККоманда Entity Framework внезапно получила увеличенный бюджет
Вроде к EF отношения не имеет https://www.nuget.org/packages/Microsoft.AspNet.WebApi.OData
Работают команды microsoft и aspnet.Одатовая схема CSDL вроде как была изобретена авторами EF?
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38799763
Фотография EDUARD SAPOTSKI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
T_STVА можете поведать, что такого в этом OData? Или это как всегда просто новомодная фишка?
Раньше брали sql-конектор/команд/ридер и напрямую гоняли запросики в СУБД - select * from бла-бла-бла... Все шло ровненько по TCP/IP.
Сейчас так делать не комильфо. На клиенте надо запрос на линке писать, он транслируется в http-запрос, на сервере движок OData транстирует его обратно в линк запрос, затем EF этот запрос транслирует в sql-запрос, субд отдает данные через те же sql-конектор/команд/ридер, EF мапит данные на объекты, затем движок OData отдает эти данные клиенту по http в формате json или atom. На клиента снова формируем объекты, а может и не формируем...
Короче, получается таже херь что и с датаридером, только через жопу http.
Провал по перформансу великолепный, провал по скорости разработки - выше всех похвал, глючность - идеальная, поддерживать таких зверей крайне проблематично....
В общем идеальная технология для IT-бизнеса, маркетологи знают свое дело!
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38799766
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EDUARD SAPOTSKIНа клиенте надо запрос на линке писать, он транслируется в http-запрос...Раньше не было способа размазывания логики между клиентом и сервером приложений. Теперь есть.
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38799767
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EDUARD SAPOTSKIВ общем идеальная технология для IT-бизнеса, маркетологи знают свое дело! + новая тема для обсуждения в блогосфере и изучения на курсах.
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38799770
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EDUARD SAPOTSKIT_STVА можете поведать, что такого в этом OData? Или это как всегда просто новомодная фишка?
Раньше брали sql-конектор/команд/ридер и напрямую гоняли запросики в СУБД - select * from бла-бла-бла... Все шло ровненько по TCP/IP.
Сейчас так делать не комильфо. На клиенте надо запрос на линке писать, он транслируется в http-запрос, на сервере движок OData транстирует его обратно в линк запрос, затем EF этот запрос транслирует в sql-запрос, субд отдает данные через те же sql-конектор/команд/ридер, EF мапит данные на объекты, затем движок OData отдает эти данные клиенту по http в формате json или atom. На клиента снова формируем объекты, а может и не формируем...
Короче, получается таже херь что и с датаридером, только через жопу http.
Провал по перформансу великолепный, провал по скорости разработки - выше всех похвал, глючность - идеальная, поддерживать таких зверей крайне проблематично....Да, печалька. А можно ведь было просто выставить SQL Server наружу, а не придумывать всей этой фигни.
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38799785
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КВсе кинулись переписывать свои соапные интеграции на одату. Чем, кстати, соап вдруг стал не мил? Почему одата не сделана поверх соап? Было бы логично.
Переписывать старые поделки никто не заставляет, но новые рельсы на SOAP... прости, это кромешное УГ получается :) Согласен?

Алексей КОдатовая схема CSDL вроде как была изобретена авторами EF?
Уже ведь говорил, IEdmModel это не EF. А на счет авторов я не в курсе. Возможно.
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38799790
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУАлексей КВсе кинулись переписывать свои соапные интеграции на одату. Чем, кстати, соап вдруг стал не мил? Почему одата не сделана поверх соап? Было бы логично.
Переписывать старые поделки никто не заставляет, но новые рельсы на SOAP... прости, это кромешное УГ получается :) Согласен?Да мне-то так-то фиолетово. Потребуется одата - прикрутим, не проблема. Хочется понять, чем так плох соап, что его надо срочно похоронить? Есть ссылка на официальное сообщение пресслужбы Микрософт, в котором сказано: "SOAP УГ, OData няшка - рекомендуем"?
МСУАлексей КОдатовая схема CSDL вроде как была изобретена авторами EF?
Уже ведь говорил, IEdmModel это не EF. А на счет авторов я не в курсе. Возможно.Ок.
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38799802
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КХочется понять, чем так плох соап, что его надо срочно похоронить?
Почему срочно надо? Он давно уже похоронен Я уже сто раз отвечал на твой вопрос...
1. REST
2. Полноценная EDM модель (!) в SOA
3. Полноценный контекст на клиенте, который трачит (!) изменения

SOAP'у этого и не снилось. Во всём остальном можно проводить параллели. Но всё "остальное" просто меркнет перед этими тремя фактами.

Алексей КЕсть ссылка на официальное сообщение пресслужбы Микрософт, в котором сказано: "SOAP УГ, OData няшка - рекомендуем"?
А зачем тебе это? Сам пораскинь мозгами и прикинь что и как.
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38799810
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУАлексей КХочется понять, чем так плох соап, что его надо срочно похоронить?
Почему срочно надо? Он давно уже похоронен Я уже сто раз отвечал на твой вопрос...
1. RESTREST = SOAP - schema + HTTP only.

И чем тут гордиться?
МСУ2. Полноценная EDM модель (!) в SOAТеперь можно серверную логику разместить на клиенте? Я знаю способ лучше:
Способ лучше
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
[ServiceContract]
public class MyService
{
    [OperationContract]
    public string ExecSQL(string sql)
    {
        return CreateConnection.CreateCommand(sql).ExecuteReader().ToXML();
    }
}


МСУ3. Полноценный контекст на клиенте, который трачит (!) измененияВ написании серверной логики на клиенте - да, это может помочь.
МСУSOAP'у этого и не снилось. Во всём остальном можно проводить параллели. Но всё "остальное" просто меркнет перед этими тремя фактами.Жертва маркетинга.
МСУАлексей КЕсть ссылка на официальное сообщение пресслужбы Микрософт, в котором сказано: "SOAP УГ, OData няшка - рекомендуем"?
А зачем тебе это? Сам пораскинь мозгами и прикинь что и как.Хочу знать официальную позицию корпорации по данному вопросу. А то все кричат: "Похороны, похороны..." - а никто не сообщает, где и когда.
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38799811
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУСам пораскинь мозгами и прикинь что и как.Идея LINQ-over-WCF мне ещё тогда не понравилась. Тут то же самое.
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38799815
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КХочу знать официальную позицию корпорации по данному вопросу. А то все кричат: "Похороны, похороны..." - а никто не сообщает, где и когда.

Видимо ты с AXIS никогда не работал. Знал бы ты, на сколько увеличилась цена для одного из клиентов только потому что надо работать с SOAP. Позиция принципиальная, обсуждению не подлежит. Лезете со своим SOAP? Будьте готовы выкладывать бабло штабелями.
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38799822
Фотография EDUARD SAPOTSKI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КТеперь можно серверную логику разместить на клиенте? Я знаю способ лучше:
Способ лучше
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
[ServiceContract]
public class MyService
{
    [OperationContract]
    public string ExecSQL(string sql)
    {
        return CreateConnection.CreateCommand(sql).ExecuteReader().ToXML();
    }
}



+ При желании можно за день написать конвертер запросов odata в запросы sql, минуя EF.
Только нафиг не нужно.
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38799830
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EDUARD SAPOTSKIАлексей КТеперь можно серверную логику разместить на клиенте? Я знаю способ лучше:
Способ лучше
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
[ServiceContract]
public class MyService
{
    [OperationContract]
    public string ExecSQL(string sql)
    {
        return CreateConnection.CreateCommand(sql).ExecuteReader().ToXML();
    }
}



+ При желании можно за день написать конвертер запросов odata в запросы sql, минуя EF.
Только нафиг не нужно.При желании можно реализовать спецификацию, что сериализуется в XML, прекрасно передаётся в SOAP конверте, и на сервере конвертируется в SQL Query, или в Mongo Query, или в запрос другому сервису.
И те кому это нужно, так и делают. А те, кому это не нужно, не делают.

Только смысл на последнем акцентировать внимание?

Под разные проекты и разные требования выбираем разные решения. Холивар-то зачем разводить?
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38799832
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAХоливар-то зачем разводить?Холивар - единственный источник достоверной информации. :-)
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38799835
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КМСУпропущено...

Почему срочно надо? Он давно уже похоронен Я уже сто раз отвечал на твой вопрос...
1. RESTREST = SOAP - schema + HTTP only.

И чем тут гордиться?
По Рою Филдингу:

REST надёжность (за счет отсутствия необходимости сохранять информацию о состоянии клиента, которая может быть утеряна);

производительность (за счет использования кэша);

масштабируемость;

прозрачность системы взаимодействия, особенно необходимая для приложений обслуживания сети;

простота интерфейсов;

портативность компонентов;

легкость внесения изменений;

способность эволюционировать, приспосабливаясь к новым требованиям (на примере Всемирной паутины).


Мало?

Алексей КМСУ2. Полноценная EDM модель (!) в SOAТеперь можно серверную логику разместить на клиенте? Я знаю способ лучше:
Способ лучше
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
[ServiceContract]
public class MyService
{
    [OperationContract]
    public string ExecSQL(string sql)
    {
        return CreateConnection.CreateCommand(sql).ExecuteReader().ToXML();
    }
}


Логика может быть где угодно, как на сервере приложений, так и на клиенте. Главное, чтобы не базе данных, как это любят делать закоренелые деды процедурщики. Так что твой способ лучше еще раз иллюстрирует весь дикий образ процедурного программирования.

Алексей КМСУ3. Полноценный контекст на клиенте, который трачит (!) измененияВ написании серверной логики на клиенте - да, это может помочь.
Что ты прицепился к этой логике. Какая тебе разница, где она, на сервере или на клиенте? Да и когда обычные фильтры, сортировки и отслеживание изменений уже стали называться "логикой"? На клиенте ты можешь формировать гибкие выборки из Edm модели на сервере, только и всего.

Алексей КМСУSOAP'у этого и не снилось. Во всём остальном можно проводить параллели. Но всё "остальное" просто меркнет перед этими тремя фактами.Жертва маркетинга.
Хватит ныть! :)

Алексей КХочу знать официальную позицию корпорации по данному вопросу. А то все кричат: "Похороны, похороны..." - а никто не сообщает, где и когда.
Уже давно всё на одате, начиная от сапов, кончая всякими шарепоинтами и CRM-ами. А тебе всё официальщины хочется? Выходи из берлоги, пора уже
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38799842
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КskyANAХоливар-то зачем разводить?Холивар - единственный источник достоверной информации. :-)В споре рождается истина, когда используются конструктивные аргументы. А срач и холивар, как говорится, бессмыслены и беспощадны.
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38799843
Фотография EDUARD SAPOTSKI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAАлексей Кпропущено...
Холивар - единственный источник достоверной информации. :-)В споре рождается истина, когда используются конструктивные аргументы. А срач и холивар, как говорится, бессмыслены и беспощадны.
Дык пока вроде все культурно
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38799858
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУАлексей Кпропущено...
REST = SOAP - schema + HTTP only.

И чем тут гордиться?
По Рою Филдингу:

REST надёжность (за счет отсутствия необходимости сохранять информацию о состоянии клиента, которая может быть утеряна);

производительность (за счет использования кэша);

масштабируемость;

прозрачность системы взаимодействия, особенно необходимая для приложений обслуживания сети;

простота интерфейсов;

портативность компонентов;

легкость внесения изменений;

способность эволюционировать, приспосабливаясь к новым требованиям (на примере Всемирной паутины).


Мало?По Алексею К
SOAP надёжность (за счет отсутствия необходимости сохранять информацию о состоянии клиента, которая может быть утеряна);

производительность (за счет использования кэша);

масштабируемость;

прозрачность системы взаимодействия, особенно необходимая для приложений обслуживания сети;

простота интерфейсов;

портативность компонентов;

легкость внесения изменений;

способность эволюционировать, приспосабливаясь к новым требованиям (на примере Всемирной паутины).


МСУАлексей Кпропущено...
Теперь можно серверную логику разместить на клиенте? Я знаю способ лучше:
Способ лучше
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
[ServiceContract]
public class MyService
{
    [OperationContract]
    public string ExecSQL(string sql)
    {
        return CreateConnection.CreateCommand(sql).ExecuteReader().ToXML();
    }
}


Логика может быть где угодно, как на сервере приложений, так и на клиенте .Странно.
МСУГлавное, чтобы не базе данных, как это любят делать закоренелые деды процедурщики. Так что твой способ лучше еще раз иллюстрирует весь дикий образ процедурного программирования.Не вижу разницы.
МСУАлексей Кпропущено...
В написании серверной логики на клиенте - да, это может помочь.
Что ты прицепился к этой логике. Какая тебе разница, где она, на сервере или на клиенте? Да и когда обычные фильтры, сортировки и отслеживание изменений уже стали называться "логикой"? На клиенте ты можешь формировать гибкие выборки из Edm модели на сервере, только и всего.Добавилась возможность выстрелить себе в ногу писать логику на клиенте. Почва для статей вроде "Bad practic in OData" блогописателям и курсопроводителям не помешает.
МСУАлексей Кпропущено...
Жертва маркетинга.
Хватит ныть! :)Терпи. :-)
МСУАлексей КХочу знать официальную позицию корпорации по данному вопросу. А то все кричат: "Похороны, похороны..." - а никто не сообщает, где и когда.
Уже давно всё на одате, начиная от сапов, кончая всякими шарепоинтами и CRM-ами. А тебе всё официальщины хочется? Выходи из берлоги, пора уже "уважение" != "признание"
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38799866
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КПо Алексею К
SOAP надёжность (за счет отсутствия необходимости сохранять информацию о состоянии клиента, которая может быть утеряна);

производительность (за счет использования кэша);

масштабируемость;

прозрачность системы взаимодействия, особенно необходимая для приложений обслуживания сети;

простота интерфейсов;

портативность компонентов;

легкость внесения изменений;

способность эволюционировать, приспосабливаясь к новым требованиям (на примере Всемирной паутины).


Наглость не пропьёшь
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38799870
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КНе вижу разницы
Хватит купаться в тухлом SOAP супе, а то будет как в одноимённом фильме :)

...
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38799963
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttАлексей КПо Алексею К
пропущено...


Наглость не пропьёшь Читаем: ВикипедияREST (сокр. от англ. Representational State Transfer — «передача репрезентативного состояния») — метод взаимодействия компонентов распределённого приложения в сети Интернет, при котором вызов удаленной процедуры представляет собой обычный HTTP-запрос (обычно GET или POST; такой запрос называют REST-запрос), а необходимые данные передаются в качестве параметров запроса . Этот способ является альтернативой более сложным методам, таким как SOAP, CORBA и RPC.Отсюда делаем вывод, что в, например, SOAP необходимые данные передаются не в качестве параметров запроса? А как же тогда? Что такое "параметр запроса" в понимании автора?
ВикипедияХотя данная концепция лежит в самой основе Всемирной паутины, термин REST был введён Роем Филдингом (англ. Roy Fielding), одним из создателей протокола HTTP, лишь в 2000 году[1]Был написан большой реферат? Да пофиг. Почему название протокола такое странное: протокол передачи гипертекста? Прописная истина "если ты не знаешь как назвать - значит ты не знаешь, что это такое" в действии.
ВикипедияВ своей диссертации в Калифорнийском университете в Ирвайне[2] он подвёл теоретическую основу под метод взаимодействия клиентов и серверов во Всемирной паутине, абстрагировав его и назвав «передачей репрезентативного состояния».Реферат назвали диссертацией, странно, почему Нобелевскую не дали.
ВикипедияФилдинг описал концепцию построения распределённого приложения, при которой каждый запрос (REST-запрос) клиента к серверу содержит в себе исчерпывающую информацию о желаемом ответе сервера (желаемом репрезентативном состоянии), и сервер не обязан сохранять информацию о состоянии клиента («клиентской сессии»).Изобретено колесо disconnected-режим взаимодействия. Браво!
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38799967
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторВ качестве необходимых условий для построения распределенных REST-приложений Филдинг перечислил следующие:[2]
Клиент-серверная архитектура.
Сервер не обязан сохранять информацию о состоянии клиента.
В каждом запросе клиента должно явно содержаться указание о возможности кэширования ответа и получения ответа из существующего кэша.
Клиент может взаимодействовать не напрямую с сервером, а с произвольным количеством промежуточных узлов. При этом клиент может не знать о существовании промежуточных узлов, за исключением случаев передачи конфиденциальной информации.
Унифицированный программный интерфейс сервера. Филдинг приводил URI в качестве примера формата запросов к серверу, а в качестве примера ответа сервера форматы HTML, XML и JSON, различаемые с использованием идентификаторов MIME.
WCF+SOAP+InstanceContextMode.PerCall соответствует этим требованиям. Получается, что WCF SOAP - это REST ?
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38799982
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КавторВ качестве необходимых условий для построения распределенных REST-приложений Филдинг перечислил следующие:[2]
Клиент-серверная архитектура.
Сервер не обязан сохранять информацию о состоянии клиента.
В каждом запросе клиента должно явно содержаться указание о возможности кэширования ответа и получения ответа из существующего кэша.
Клиент может взаимодействовать не напрямую с сервером, а с произвольным количеством промежуточных узлов. При этом клиент может не знать о существовании промежуточных узлов, за исключением случаев передачи конфиденциальной информации.
Унифицированный программный интерфейс сервера. Филдинг приводил URI в качестве примера формата запросов к серверу, а в качестве примера ответа сервера форматы HTML, XML и JSON, различаемые с использованием идентификаторов MIME.
WCF+SOAP+InstanceContextMode.PerCall соответствует этим требованиям. Получается, что WCF SOAP - это REST ?Ну что за баян? Обсуждали же уже.
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38799987
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAАлексей Кпропущено...
WCF+SOAP+InstanceContextMode.PerCall соответствует этим требованиям. Получается, что WCF SOAP - это REST ?Ну что за баян? Обсуждали же уже.Я не участвовал. Что решили?
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38799990
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КskyANAпропущено...
Ну что за баян? Обсуждали же уже.Я не участвовал. Что решили?Участвовал. Это же в твоём топике "Asp.Net vs WCF" было.
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38799991
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAАлексей Кпропущено...
Я не участвовал. Что решили?Участвовал. Это же в твоём топике "Asp.Net vs WCF" было.Там параллельно было несколько дебатов, я не во всех участвовал.
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38800004
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей К, ну ведь красота? http://codearticles.ru/articles/2524

Даже укурившись самой сладкой травой в мире ты не получишь такой концепт в гавносупе. Согласен?
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38800008
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУАлексей К, ну ведь красота? http://codearticles.ru/articles/2524

Даже укурившись самой сладкой травой в мире ты не получишь такой концепт в гавносупе. Согласен?Рекурсивно пробежаться по дереву объектов и подписаться на все PropertyChanged - это сложно, да.

А ещё проще, как ни странно, это решается в Knockout в десяток строк кода:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
        subscribeToTree(obj) {
            return ko.computed(() => { this.visitObservablesTree(obj); })
                .extend({ notify: "always" });
        }

        private visitObservablesTree(obj) {
            var nativeValue = ko.unwrap(obj);
            var nativeValueType = $.type(nativeValue);

            if (nativeValueType == "array" || nativeValueType == "object")
                $.each(nativeValue, (i, v) => { this.visitObservablesTree(v); });
        }


Про REST комментариев не будет? Или согласен, что терминология так себе? :-)
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38800010
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КskyANAпропущено...
Участвовал. Это же в твоём топике "Asp.Net vs WCF" было.Там параллельно было несколько дебатов, я не во всех участвовал.Ну открой страницу 4-ю, или 5-ю и почитай.
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38800013
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КПро REST комментариев не будет? Или согласен, что терминология так себе? :-)REST - это подход, SOAP - это протокол. Сравнивать глупо. Решили сравнивать OData с SOAP.
Подробности смотри в том твоём топике :)

И тут кстати речь про OData, а OData != REST (опять в том топике определились). Так что не начинай заного глупый спор.
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38800015
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAАлексей КПро REST комментариев не будет? Или согласен, что терминология так себе? :-)REST - это подход, SOAP - это протокол. Сравнивать глупо. Решили сравнивать OData с SOAP.
Подробности смотри в том твоём топике :)

И тут кстати речь про OData, а OData != REST (опять в том топике определились). Так что не начинай заного глупый спор.А я и не спорю. Я публично удивляюсь написанному в википедии:
автор REST (сокр. от англ. Representational State Transfer — «передача репрезентативного состояния») — метод взаимодействия компонентов распределённого приложения в сети Интернет, при котором вызов удаленной процедуры представляет собой обычный HTTP-запрос (обычно GET или POST; такой запрос называют REST-запрос), а необходимые данные передаются в качестве параметров запроса. Этот способ является альтернативой более сложным методам, таким как SOAP , CORBA и RPC.
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38800020
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КРекурсивно пробежаться по дереву объектов и подписаться на все PropertyChanged - это сложно, да.
Идея топора при незапертой двери в действии
Во-первых, зачем куда-то бегать, если есть нативный функционал в виде честных колбэков. Во-вторых, где ты там в супе собрался бегать? Ну побегал и что? Модели нет, трекера изменений нет, тупая процедурщина да и только. Унылое гумно. Точка.

Алексей КА ещё проще, как ни странно, это решается в Knockout в десяток строк кода
То, что ты где-то там побегал, не решает 2 и 3 пункты, о которых я писал выше. Так что беганья эти могут быть только на пустом месте.
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38800022
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КА я и не спорю. Я публично удивляюсь написанному в википедии
Ну может автору показалось, что всё это неимоверно сложно. Хватит ныть! (с)
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38800026
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУАлексей КРекурсивно пробежаться по дереву объектов и подписаться на все PropertyChanged - это сложно, да.
Идея топора при незапертой двери в действии
Во-первых, зачем куда-то бегать, если есть нативный функционал в виде честных колбэков. Во-вторых, где ты там в супе собрался бегать? Ну побегал и что? Модели нет, трекера изменений нет, тупая процедурщина да и только. Унылое гумно. Точка.svcutil.exe генерирует INotifyPropertyChanged.

МСУАлексей КА ещё проще, как ни странно, это решается в Knockout в десяток строк кода
То, что ты где-то там побегал, не решает 2 и 3 пункты, о которых я писал выше. Так что беганья эти могут быть только на пустом месте.Все остальное прикручивается легко и непринуждённо. :-)
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38800039
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Кsvcutil.exe генерирует INotifyPropertyChanged.
И что ты дальше с ними будешь делать? :) Трекера-то нету

Алексей КВсе остальное прикручивается легко и непринуждённо. :-)
Каким образом?
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38800054
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУАлексей Кsvcutil.exe генерирует INotifyPropertyChanged.
И что ты дальше с ними будешь делать? :) Трекера-то нету Готовых решения вагон. Но я, конечно же, напишу это сам за день-два-три, если будет надо. Пока не надо.

Это нужно только в одном случае - сохраняется сложный документ, при сохранении нельзя применить стратегию "удалить всё + добавить всё". Решается сравнением сохраняемого с тем, что в БД.

public static void AttachManyAs<T>(this DbContext ctx, IEnumerable<T> items, Expression<Func<T, bool>> existingItemsFilter)
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38800074
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КГотовых решения вагон. Но я, конечно же, напишу это сам за день-два-три, если будет надо. Пока не надо.
Да нихрена ты не напишешь, ты чего Команда одаты бурно пилят поделку уже не первый год, технология обрастает всё новыми и новыми фичами. А тут ты такой чудесный и решил забороть трекинг с трансляцией за пару ночей

Алексей КЭто нужно только в одном случае - сохраняется сложный документ, при сохранении нельзя применить стратегию "удалить всё + добавить всё". Решается сравнением сохраняемого с тем, что в БД.
Это нужно вообще во всех случаях, особенно для XAML приложений, которые с помощью MVVM могут жить только на классах Edm модели. Это реально круто, бро. Кстати, убивается сразу и второй заяц - отсоединенный режим. Ты можешь играться с UI + Edm сколько пожелаешь. А когда захочешь слить все изменения на сервер при наличии связи - будет чудо. Для метро планшетов вообще сказка.
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38800201
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУАлексей КГотовых решения вагон. Но я, конечно же, напишу это сам за день-два-три, если будет надо. Пока не надо.
Да нихрена ты не напишешь, ты чего Команда одаты бурно пилят поделку уже не первый год, технология обрастает всё новыми и новыми фичами. А тут ты такой чудесный и решил забороть трекинг с трансляцией за пару ночей Важное выделил. :-)

МСУАлексей КЭто нужно только в одном случае - сохраняется сложный документ, при сохранении нельзя применить стратегию "удалить всё + добавить всё". Решается сравнением сохраняемого с тем, что в БД.
Это нужно вообще во всех случаях, особенно для XAML приложений, которые с помощью MVVM могут жить только на классах Edm модели. Это реально круто, бро. Кстати, убивается сразу и второй заяц - отсоединенный режим. Ты можешь играться с UI + Edm сколько пожелаешь. А когда захочешь слить все изменения на сервер при наличии связи - будет чудо. Для метро планшетов вообще сказка.DataSet 2.0 ?

Dirty tracking
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38800205
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38800346
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей К Why not OData

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
public abstract class QueryBase<T> : QueryBase, 
    IQuery<T>, IReturn<QueryResponse<T>> { }

public interface IQuery
{
    int? Skip { get; set; }
    int? Take { get; set; }
    string OrderBy { get; set; }
    string OrderByDesc { get; set; }
}



AutoКвери какая же смешная наивная чукотская поделка.
Пук-пук-пук -- и такие же никчёмные наезды на одату ахахахаааххх......
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38800411
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttАлексей К Why not OData

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
public abstract class QueryBase<T> : QueryBase, 
    IQuery<T>, IReturn<QueryResponse<T>> { }

public interface IQuery
{
    int? Skip { get; set; }
    int? Take { get; set; }
    string OrderBy { get; set; }
    string OrderByDesc { get; set; }
}



AutoКвери какая же смешная наивная чукотская поделка.
Пук-пук-пук -- и такие же никчёмные наезды на одату ахахахаааххх......Вот ведь тролль. И что в ней смешного? :)
Внутри библиотек, поддерживающих OData, именно такая "смешная наивная чукотская поделка" и сидит.
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38800471
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей К Why not OData

...Consumers are expected to be familiar with the database and table structures prior to consuming the Web service. This results in a tight coupling between service providers and consumers.

Глупости полнейшие! Потребители ничего не будут знать о базе данных и её структуре. Потребители будут знать только о Edm модели. Это принципиально разные вещи. Да и то не о всей модели нужно знать, а только о том, что нужно. И что в этом плохого?
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38800574
Фотография Диез
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУАлексей К Why not OData

...Consumers are expected to be familiar with the database and table structures prior to consuming the Web service. This results in a tight coupling between service providers and consumers.

Глупости полнейшие! Потребители ничего не будут знать о базе данных и её структуре. Потребители будут знать только о Edm модели. Это принципиально разные вещи. Да и то не о всей модели нужно знать, а только о том, что нужно. И что в этом плохого?

И снова здравствуйте... :)

А есть у Edm модели вообще какие-то преимущества перед XSD ?

Ну, если не учитывать "фатальный недостаток" )
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38800628
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУАлексей К Why not OData

...Consumers are expected to be familiar with the database and table structures prior to consuming the Web service. This results in a tight coupling between service providers and consumers.

Глупости полнейшие! Потребители ничего не будут знать о базе данных и её структуре. Потребители будут знать только о Edm модели. Это принципиально разные вещи. Да и то не о всей модели нужно знать, а только о том, что нужно. И что в этом плохого?Junior developers будут генерировать EDM по БД и отдавать EDM как есть клиенту. На клиенте будут писаться запросы, к всеобщему восторгу блогописателей и курсопроводителей. Мир превратится в ад!

Технология должна исключать bad practices, а не поощрять их.
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38800630
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Диез,

все прально
хсд (расширить для передачи скриптов), датасет (с методами от хсд скриптов) и т.д.
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38800666
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КМСУпропущено...


пропущено...


Глупости полнейшие! Потребители ничего не будут знать о базе данных и её структуре. Потребители будут знать только о Edm модели. Это принципиально разные вещи. Да и то не о всей модели нужно знать, а только о том, что нужно. И что в этом плохого?Junior developers будут генерировать EDM по БД и отдавать EDM как есть клиенту. На клиенте будут писаться запросы, к всеобщему восторгу блогописателей и курсопроводителей. Мир превратится в ад!

Технология должна исключать bad practices, а не поощрять их.Жуниоры в любом месте пишут то, что им первое приходит в голову и как проще.
Их надо учить писать правильно, а не на технологию сваливать.

Они тебе и из нокаута соорудят говно на лопате.
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38800677
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAОни тебе и из нокаута соорудят говно на лопате.Страшные люди.
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38800687
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КskyANAОни тебе и из нокаута соорудят говно на лопате.Страшные люди. Не страшные, а не опытные :)
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38801299
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ДиезИ снова здравствуйте... :)
И Вам не хворать

ДиезА есть у Edm модели вообще какие-то преимущества перед XSD ?
Ну, если не учитывать "фатальный недостаток" )
Ну как тебе сказать, проблема не в XSD конкретно. Проблема в технологиях, которые базируются на нем. Датасеты, SOAP'ы и прочий мусор.

Алексей КJunior developers будут генерировать EDM по БД и отдавать EDM как есть клиенту. На клиенте будут писаться запросы, к всеобщему восторгу блогописателей и курсопроводителей. Мир превратится в ад!
Ну так это чьи проблемы? :) Во-вторых, кто мешает отдавать некую промежуточную БД в Edm? Например, классическая задача - хостинг SOA в DMZ.
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38801458
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУДиезИ снова здравствуйте... :)
И Вам не хворать

ДиезА есть у Edm модели вообще какие-то преимущества перед XSD ?
Ну, если не учитывать "фатальный недостаток" )
Ну как тебе сказать, проблема не в XSD конкретно. Проблема в технологиях, которые базируются на нем. Датасеты, SOAP'ы и прочий мусор.Какая проблема? С переходом на SOAP я заметил только преимущества. Недостатков не заметил. Если какие-то неудачники не могут применить кодогенерацию под свою платформу - это их проблемы.
МСУВо-вторых, кто мешает отдавать некую промежуточную БД в Edm?Не понял, вторая БД и репликация?
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38801479
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КНе понял, вторая БД и репликация?
скорее проекция и выборка
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38801496
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИзопропилАлексей КНе понял, вторая БД и репликация?
скорее проекция и выборкаЕсли проекция и выборка обращаются к разным БД/веб-сервисам, как будем IQueryable для OData реализовывать?
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38801507
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Ккак будем IQueryable для OData реализовывать?
а что здесь специфичного для OData?
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38801509
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИзопропилАлексей Ккак будем IQueryable для OData реализовывать?
а что здесь специфичного для OData?IQueryable провайдер. Писать провайдера трудоёмко. Насколько просто сделать OData-сервер без IQueryable?
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38801516
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Например, реализовать через OData такое:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
public class MyService
{
    public int[] GetValuesFromManyServers()
    {
        var v1 = GetValuesFromServer1();
        var v2 = GetValuesFromServer2();

        return v1.Concat(v2);
    }
}
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38801575
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей ККакая проблема? С переходом на SOAP я заметил только преимущества. Недостатков не заметил. Если какие-то неудачники не могут применить кодогенерацию под свою платформу - это их проблемы.
Я уже сто раз говорил про проблемы. Это тупой процедурный подход, а народ требует модель и честный контекст под неё на клиенте. Да и править сервис под каждый чих клиента - удел скудности технологии.

Алексей КМСУВо-вторых, кто мешает отдавать некую промежуточную БД в Edm?Не понял, вторая БД и репликация?
Можно и так. Но лучше ETL (Extract, Transform, Load — дословно «извлечение, преобразование, загрузка»).

Алексей КНапример, реализовать через OData такое:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
public class MyService
{
    public int[] GetValuesFromManyServers()
    {
        var v1 = GetValuesFromServer1();
        var v2 = GetValuesFromServer2();

        return v1.Concat(v2);
    }
}


Ты меня рассмешил :) OData может отдавать и IEnumerable, и IQueryable, и енумы и всё, что угодно. Ты б уже ознакомился с ней, чем плеваться на пустом месте.
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38801600
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУАлексей ККакая проблема? С переходом на SOAP я заметил только преимущества. Недостатков не заметил. Если какие-то неудачники не могут применить кодогенерацию под свою платформу - это их проблемы.
Я уже сто раз говорил про проблемы. Это тупой процедурный подход, а народ требует модель и честный контекст под неё на клиенте. Да и править сервис под каждый чих клиента - удел скудности технологии.Про тупой процедурный подход не понимаю. Сервисы могут наследоваться, инкапсулироваться и иметь полиморфизм. И не важно, WCF, ASP.Net, OData там, или что-то ещё.
МСУАлексей Кпропущено...
Не понял, вторая БД и репликация?
Можно и так. Но лучше ETL (Extract, Transform, Load — дословно «извлечение, преобразование, загрузка»).Не понравилось. :-)
МСУАлексей КНапример, реализовать через OData такое:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
public class MyService
{
    public int[] GetValuesFromManyServers()
    {
        var v1 = GetValuesFromServer1();
        var v2 = GetValuesFromServer2();

        return v1.Concat(v2);
    }
}


Ты меня рассмешил :) OData может отдавать и IEnumerable, и IQueryable, и енумы и всё, что угодно. Ты б уже ознакомился с ней, чем плеваться на пустом месте.Я не плююсь, я спрашиваю. В ответ на свой пример ожидаю увидеть концепт реализации этого через OData.

OData великолепно реализуется, если есть IQueryable. Хочу посмотреть на костыли, которые придётся делать в случае, когда IQueryable нет.
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38801649
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КПро тупой процедурный подход не понимаю.
Уже сто раз обсудили, а тут на тебе, не понимаешь OData, EF, RIA - гибко работаем с моделью, пишем разные Linq запросы, которые транслируются во что-то там. SOAP - тупой процедурный подход, никакой модели, только жестко зашитые методы, шаг влево - расстрел. Так понятно? )

Алексей КНе понравилось. :-)
Терпи (с)

Это как вариант, практически любой BI имеет такую архитектуру. Датаварехаус и ETL. Куда ж без оного.

Алексей КЯ не плююсь, я спрашиваю. В ответ на свой пример ожидаю увидеть концепт реализации этого через OData.
Будет тебе сегодня концепт в рецептах. Честный OData, клиент на WPF. MVVM + живой контекст, который трачит изменения и сливает их на сервер. Никаких DTO и прочего мусора. Всё как в лучших домах парижа.

Алексей КOData великолепно реализуется, если есть IQueryable. Хочу посмотреть на костыли, которые придётся делать в случае, когда IQueryable нет.
С IEnumerable так же можно работать и доставлять к нему фильтры. Но с IQueryable лучше, да.
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38801670
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУАлексей КПро тупой процедурный подход не понимаю.
Уже сто раз обсудили, а тут на тебе, не понимаешь OData, EF, RIA - гибко работаем с моделью, пишем разные Linq запросы, которые транслируются во что-то там. SOAP - тупой процедурный подход, никакой модели, только жестко зашитые методы, шаг влево - расстрел. Так понятно? )Понятно. Непонятно, причём тут ООП. :-)

Про "шаг влево - расстрел" понравилось, это преимущество SOAP.

МСУАлексей КНе понравилось. :-)
Терпи (с) Не ной (ц)

МСУЭто как вариант, практически любой BI имеет такую архитектуру. Датаварехаус и ETL. Куда ж без оного.Какой-то там протокол передачи данных диктует архитектуру. Я отказываюсь что-либо понимать...

МСУАлексей КЯ не плююсь, я спрашиваю. В ответ на свой пример ожидаю увидеть концепт реализации этого через OData.
Будет тебе сегодня концепт в рецептах. Честный OData, клиент на WPF. MVVM + живой контекст, который трачит изменения и сливает их на сервер. Никаких DTO и прочего мусора. Всё как в лучших домах парижа.

Алексей КOData великолепно реализуется, если есть IQueryable. Хочу посмотреть на костыли, которые придётся делать в случае, когда IQueryable нет.
С IEnumerable так же можно работать и доставлять к нему фильтры. Но с IQueryable лучше, да.Таки нужен пример OData без IQueryable. Будет?
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38801673
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КИзопропилпропущено...

скорее проекция и выборкаЕсли проекция и выборка обращаются к разным БД/веб-сервисам, как будем IQueryable для OData реализовывать?А в чём простоту измеряешь?
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38801676
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAАлексей Кпропущено...
Если проекция и выборка обращаются к разным БД/веб-сервисам, как будем IQueryable для OData реализовывать?А в чём простоту измеряешь?Размером программы.
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38801680
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КНапример, реализовать через OData такое:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
public class MyService
{
    public int[] GetValuesFromManyServers()
    {
        var v1 = GetValuesFromServer1();
        var v2 = GetValuesFromServer2();

        return v1.Concat(v2);
    }
}

Шняга. Обычно используют архитектурный шаблон Proxy, а не явно в коде дёргают сервера, которых завтра может стать 3, 10, 20...
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38801685
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КskyANAпропущено...
А в чём простоту измеряешь?Размером программы.В строках кода, что отбражаются в Code Metrics? И в каких пределах находится "просто"?
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38801686
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAАлексей КНапример, реализовать через OData такое:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
public class MyService
{
    public int[] GetValuesFromManyServers()
    {
        var v1 = GetValuesFromServer1();
        var v2 = GetValuesFromServer2();

        return v1.Concat(v2);
    }
}

Шняга. Обычно используют архитектурный шаблон Proxy, а не явно в коде дёргают сервера, которых завтра может стать 3, 10, 20...Ну давай ещё здесь DI применим, обсуждаем не это, не так ли?
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38801688
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAАлексей Кпропущено...
Размером программы.В строках кода, что отбражаются в Code Metrics? И в каких пределах находится "просто"?Какое это имеет отношение к делу?
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38801696
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КskyANAпропущено...
В строках кода, что отбражаются в Code Metrics? И в каких пределах находится "просто"?Какое это имеет отношение к делу?
Хм, ты поинтересовался:Алексей КНасколько просто сделать OData-сервер без IQueryable?
Если я тебе покажу Code Metrics проекта, ты по Lines of Code поймёшь на сколько это просто?
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38801697
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КskyANAпропущено...
Шняга. Обычно используют архитектурный шаблон Proxy, а не явно в коде дёргают сервера, которых завтра может стать 3, 10, 20...Ну давай ещё здесь DI применим, обсуждаем не это, не так ли?Ну так задай вопрос нормально, а не куском кривого кода.
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38801704
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAАлексей Кпропущено...
Ну давай ещё здесь DI применим, обсуждаем не это, не так ли?Ну так задай вопрос нормально, а не куском кривого кода.Ты сейчас чего пытаешься доказать? Если хочешь потроллить - в А51 есть множество более подходящих кандидатов.
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38801717
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КskyANAпропущено...
Ну так задай вопрос нормально, а не куском кривого кода.Ты сейчас чего пытаешься доказать? Если хочешь потроллить - в А51 есть множество более подходящих кандидатов.То, что к нам могут присылать запросы в формате OData, а мы можем их транслировать серверам без IQueryable.
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38801724
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAАлексей Кпропущено...
Ты сейчас чего пытаешься доказать? Если хочешь потроллить - в А51 есть множество более подходящих кандидатов.То, что к нам могут присылать запросы в формате OData, а мы можем их транслировать серверам без IQueryable.Вот я и хочу посмотреть на концепт такого решения. Что не понятно в вопросе? Причём тут единицы измерения сложности? Причём тут архитектурный шаблон Proxy? Не нравится вопрос - не отвечай, он не тебе лично задан был.
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38801763
Фотография EDUARD SAPOTSKI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУЭто тупой процедурный подход, а народ требует модель и честный контекст под неё на клиенте.
Все не так! (с)
Кто требует модель на клиенте? Кому она там нахрен вперлась? Клиенту нужны гридики, формочки, кнопочки, графики! Какая нах модель?
МСУДа и править сервис под каждый чих клиента - удел скудности технологии.
Гы, а OData сама решение рожает когда клиент чихнул? При чихе будет тот же допил и сервера и клиента, только основная логика ляжет на клиента. Вот это и есть говнокод-стаил.
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38801775
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КskyANAпропущено...
То, что к нам могут присылать запросы в формате OData, а мы можем их транслировать серверам без IQueryable.Вот я и хочу посмотреть на концепт такого решения. Что не понятно в вопросе? Причём тут единицы измерения сложности? Причём тут архитектурный шаблон Proxy? Не нравится вопрос - не отвечай, он не тебе лично задан был.Ещё раз.

Ты спросил: "Насколько просто сделать OData-сервер без IQueryable?".
Я поинтересовался насчёт единиц измерения сложности. Что не так?

А по поводу концепта, так он прост. Позже распишу.
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38801882
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EDUARD SAPOTSKIГы, а OData сама решение рожает когда клиент чихнул? При чихе будет тот же допил и сервера и клиента, только основная логика ляжет на клиента. Вот это и есть говнокод-стаил.
Хм, захотел клиент к фильтру за период
Код: javascript
1.
http://host/api/controller?$filter=order_date gt datetime'2014-10-01' and order_date lt datetime'2014-10-31'


добавить ещё и сумму заказа, и добавил
Код: javascript
1.
... and order_price ge 100


А в твоём случае, Эдуард, придётся хранимку переписывать и код, что её вызывает. И сервис переопубликовывать.
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38801945
Фотография EDUARD SAPOTSKI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAА в твоём случае, Эдуард, придётся хранимку переписывать и код, что её вызывает. И сервис переопубликовывать.
И снова мимо. В моем случае клиент получит те же данные за период, а там пусть по чем хочет фильтрует, в простейшем случае счелкнет в гридике по "Сумма заказа" и вуаля, все заказы выстроились ровненько по возрастанию суммы... еще раз счелкнет - по убыванию... Чудеса да и только!
Еще реалистичные примеры будут?
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38801951
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EDUARD SAPOTSKIskyANAА в твоём случае, Эдуард, придётся хранимку переписывать и код, что её вызывает. И сервис переопубликовывать.
И снова мимо. В моем случае клиент получит те же данные за период, а там пусть по чем хочет фильтрует, в простейшем случае счелкнет в гридике по "Сумма заказа" и вуаля, все заказы выстроились ровненько по возрастанию суммы... еще раз счелкнет - по убыванию... Чудеса да и только!
Еще реалистичные примеры будут? Клиент скажет, что-то долго на планшете данные передаются, добавьте фильтр по цене, а не сортировку.

И тебе и свой SL клиент надо переписывать, и сервис.
Хотя у тебя наверное мало клиентов, вот и нет таких хотелок, и типа это ты считаешь реальностью :)
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38801953
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мои клиенты не хотятъ, значит в реальности никому это и не надо :) Глупо.
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38801978
Фотография EDUARD SAPOTSKI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAКлиент скажет, что-то долго на планшете данные передаются, добавьте фильтр по цене, а не сортировку.
Если будешь каждую фильтрацию на сервере делать и постоянно гонять данные, то будет работать быстрее?
skyANAИ тебе и свой SL клиент надо переписывать, и сервис.
Пока повода переписывать сервис не вижу.

skyANAХотя у тебя наверное мало клиентов, вот и нет таких хотелок, и типа это ты считаешь реальностью :)
Мои клиенты не хотятъ, значит в реальности никому это и не надо :) Глупо.
Конечно, щи лаптями сербаем.
Только я чето могу привести примеры где реально потребуется перелопачивать и сервер и клиент, а гуру OData таких примеров ну никак пока придумать не могут!
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38801995
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EDUARD SAPOTSKIЕсли будешь каждую фильтрацию на сервере делать и постоянно гонять данные, то будет работать быстрее?


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

Да.
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38802004
Фотография EDUARD SAPOTSKI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttEDUARD SAPOTSKIЕсли будешь каждую фильтрацию на сервере делать и постоянно гонять данные, то будет работать быстрее?


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

Да.
Епт. Кто каникулы продлил? Или уже осенние?
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38802013
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EDUARD SAPOTSKIЕпт. Кто каникулы продлил? Или уже осенние?

Я по чём знаю, спроси у мамки
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38802038
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EDUARD SAPOTSKIТолько я чето могу привести примеры где реально потребуется перелопачивать и сервер и клиентДак если можешь, то приведи, где?
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38802050
Фотография EDUARD SAPOTSKI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAEDUARD SAPOTSKIТолько я чето могу привести примеры где реально потребуется перелопачивать и сервер и клиентДак если можешь, то приведи, где?
Я ж пока SOAP обороняю от адептов темной стороны OData
Позже будут
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38802082
Фотография EDUARD SAPOTSKI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Общий пример пжста:

skyANAХм, захотел клиент к фильтру за период
Код: javascript
1.
http://host/api/controller?$filter=order_date gt datetime'2014-10-01' and order_date lt datetime'2014-10-31'



добавить ещё и сумму заказа, и добавил
Код: javascript
1.
... and order_price ge 100


Еще Заказчик очень настоятельно рекомендовал сделать так что бы рядовые менеджеры ни коим образом не узнали о заказах стоимостью выше 1 млн. руб!
Приплыли?
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38802099
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EDUARD SAPOTSKIОбщий пример пжста:

skyANAХм, захотел клиент к фильтру за период
Код: javascript
1.
http://host/api/controller?$filter=order_date gt datetime'2014-10-01' and order_date lt datetime'2014-10-31'



добавить ещё и сумму заказа, и добавил
Код: javascript
1.
... and order_price ge 100


Еще Заказчик очень настоятельно рекомендовал сделать так что бы рядовые менеджеры ни коим образом не узнали о заказах стоимостью выше 1 млн. руб!
Приплыли? Куда приплыли? Ты реально думаешь, что в случае с OData кто-то разграничение прав реализует на клиенте?

Если заказчик захочет такого, так добавит в админке кастомное security-правило для роли Manager. Зачем ему это кому-то рекомендовать, а тому кому-то это делать? Ну разве что админу :)
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38802100
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EDUARD SAPOTSKIskyANAпропущено...
Дак если можешь, то приведи, где?
Я ж пока SOAP обороняю от адептов темной стороны OData
Позже будут Окей, ждёмс.
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38802123
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EDUARD SAPOTSKIМСУЭто тупой процедурный подход, а народ требует модель и честный контекст под неё на клиенте.
Все не так! (с)
Кто требует модель на клиенте? Кому она там нахрен вперлась? Клиенту нужны гридики, формочки, кнопочки, графики! Какая нах модель?

клиенту модель нужен для-
визуализации
валидации
дергать методы
...
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38802125
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Муся потихоньку идет к нам :)
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38802148
Фотография EDUARD SAPOTSKI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAКуда приплыли? Ты реально думаешь, что в случае с OData кто-то разграничение прав реализует на клиенте?
Да это кагбэ две недели уже вдолбить пытаюсь.
Любое ограничение приводит к допилу сервера! А в ентерпрайзе такие ограничения нужны чаще чем свобода которую дает клиенту OData! Поэтому и профит от OData стремится к нулю! Сплошное размарывание логики которое никому не нужно.
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38802162
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EDUARD SAPOTSKIskyANAКуда приплыли? Ты реально думаешь, что в случае с OData кто-то разграничение прав реализует на клиенте?
Да это кагбэ две недели уже вдолбить пытаюсь.
Любое ограничение приводит к допилу сервера! А в ентерпрайзе такие ограничения нужны чаще чем свобода которую дает клиенту OData! Поэтому и профит от OData стремится к нулю! Сплошное размарывание логики которое никому не нужно.Где ты увидел допил сервера? Читай внимательно!
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38802166
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Где ты увидел размазываение логики? Какой логики? Реальный пример будет?
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38802178
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EDUARD SAPOTSKIКто требует модель на клиенте?
Клиент

EDUARD SAPOTSKIКому она там нахрен вперлась?
Всем потребителям. Скиана уже всё на пальцах объяснил, не вижу смысла мусолить очевидное.

EDUARD SAPOTSKIКлиенту нужны гридики, формочки, кнопочки, графики! Какая нах модель?
Причем тут UI? Речь о модели данных, не тупи. С кубами когда-нибудь работал в экселе, крутил вертел измерениями / мерами? Вот это и есть модель на клиенте, каждый под себя её подстраивает. Разграничение доступа - на сервере.

EDUARD SAPOTSKIГы, а OData сама решение рожает когда клиент чихнул? При чихе будет тот же допил и сервера и клиента, только основная логика ляжет на клиента. Вот это и есть говнокод-стаил.
У тебя каша в голове.

EDUARD SAPOTSKIЕще Заказчик очень настоятельно рекомендовал сделать так что бы рядовые менеджеры ни коим образом не узнали о заказах стоимостью выше 1 млн. руб!
Приплыли?
Десятый раз повторяю, роли и прочая секурность живет в OData сервисе на сервере. Даже если клиент с ролью "Рядовой менеджер" запросит у OData сервиса заказы стоимостью > 1 млн, OData выдаст пустой ответ.
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38802198
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КПро "шаг влево - расстрел" понравилось, это преимущество SOAP.
Это его недостаток, увы. В процедурном стиле OData тоже может работать. А вот SOAP не может работать в стиле модели. То есть OData уже на голову выше.

Алексей КМСУЭто как вариант, практически любой BI имеет такую архитектуру. Датаварехаус и ETL. Куда ж без оного.Какой-то там протокол передачи данных диктует архитектуру. Я отказываюсь что-либо понимать...
Что тебя смущает? Не понимаешь, что такое ETL для транспорта данных из базы в DMZ зоны в безопасную зону? Ну это ж десткий сад вроде как

Алексей КС IEnumerable так же можно работать и доставлять к нему фильтры. Но с IQueryable лучше, да.Таки нужен пример OData без IQueryable. Будет?[/quot]
Никакой разницы, можно и с IEnumerable. OData умеет применять фильтры и прочие выборки как к IQueryable, так и к IEnumerable. Да и что ты этими IEnumerable мыслишь? Помимо коллекций там есть много всего, POST, PUT, PATCH, DELETE запросы. Полноценный CRUD для всей модели, что может быть лучше? Причем тут IEnumerable?
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38802206
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Критинический взгляд на OData в действии
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38802207
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EDUARD SAPOTSKIskyANAКуда приплыли? Ты реально думаешь, что в случае с OData кто-то разграничение прав реализует на клиенте?
Да это кагбэ две недели уже вдолбить пытаюсь.
Любое ограничение приводит к допилу сервера! А в ентерпрайзе такие ограничения нужны чаще чем свобода которую дает клиенту OData! Поэтому и профит от OData стремится к нулю! Сплошное размарывание логики которое никому не нужно.
Причем тут допил сервера? Если нужна безопасность, роли - значит нужно отдавать данные в соответствии с этими ролями. А как иначе? Есть какая-то Security архитектура (да тот же Membership или AD), значит нужно отдавать данные именно так. Какую-то ты ахинею несешь, извини.
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38802210
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttКритинический взгляд на OData в действии
Причем тех людей, которые абсолютно не знакомы с OData
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38802222
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУhVosttКритинический взгляд на OData в действии
Причем тех людей, которые абсолютно не знакомы с OData

Я подозреваю, что кому-то просто тупо-лень изучать что-то новое. Или для них подобное умственное усилие совершить настолько тяжело, что они будут продолжать до посинения мудохаться с когда-то с великим трудом осиленный SOAP, пока руководство не решит списать их на свалку
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38802247
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttЯ подозреваю, что кому-то просто тупо-лень изучать что-то новое. Или для них подобное умственное усилие совершить настолько тяжело, что они будут продолжать до посинения мудохаться с когда-то с великим трудом осиленный SOAP, пока руководство не решит списать их на свалку
Именно поэтому я и пытаюсь предостеречь Лёшу от списания на помойку, ведь молодой ещё, 35-и даже нету :) А вот Эдик уже потерянная душа, да и к тому же предприниматель... Дед Сахават мыслит часто верно, вот некоторым неофитам объясняет, что модель клиенту обязательно нужна
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38802359
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ... не вижу смысла мусолить очевидное.Тогда будем мусолить неочевидное.
МСУАлексей КПро "шаг влево - расстрел" понравилось, это преимущество SOAP.
Это его недостаток, увы. В процедурном стиле OData тоже может работать. А вот SOAP не может работать в стиле модели. То есть OData уже на голову выше.Вспоминаем ООП. Данная задача решается базовым классом объекта входных параметров + расширяющие методы для IQueryable. Dynamic LINQ в помощь.
МСУАлексей Кпропущено...
Какой-то там протокол передачи данных диктует архитектуру. Я отказываюсь что-либо понимать...
Что тебя смущает? Не понимаешь, что такое ETL для транспорта данных из базы в DMZ зоны в безопасную зону? Ну это ж десткий сад вроде как Не понимаю, почему ради протокола предлагается менять архитектуру: добавить ещё одну БД. Надеюсь, что я чего-то не понимаю, иначе моё разочарование окружающим миром будет бесконечно.
МСУАлексей КТаки нужен пример OData без IQueryable. Будет?Никакой разницы, можно и с IEnumerable. OData умеет применять фильтры и прочие выборки как к IQueryable, так и к IEnumerable.Где посмотреть про OData + IEnumerable?
МСУДа и что ты этими IEnumerable мыслишь?Чтобы проверить, как будет вести себя предлагаемая технология в моём мире.
МСУПомимо коллекций там есть много всего, POST, PUT, PATCH, DELETE запросы.PUT, PATCH, DELETE не нужны.
МСУПолноценный CRUD для всей моделиМы научились делать КРУД. Браво!
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38802364
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttКритинический взгляд на OData в действии Это объяснимо - не надо пихать OData куда не надо. У SOAP своё применение, у OData своё. Утверждать, что OData заменит SOAP не разумно.
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38802370
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КНе понимаю, почему ради протокола предлагается менять архитектуру: добавить ещё одну БД.

Где ты её нашёл?
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38802386
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КМСУЭто его недостаток, увы. В процедурном стиле OData тоже может работать. А вот SOAP не может работать в стиле модели. То есть OData уже на голову выше.Вспоминаем ООП. Данная задача решается базовым классом объекта входных параметров + расширяющие методы для IQueryable. Dynamic LINQ в помощь.
Причем тут ООП, что за бред?
1. Задача на стороне клиента. Как ты научишь SOAP транслировать IQueryable и во что?
2. Вторая задача на стороне сервера. Как ты научишь SOAP принимать транслированные "во что-то" клиентские запросы?
3. Третья задача на стороне сервера. Как ты научишь SOAP делать новую трансляцию обратно в IQueryable?

Что это будет за велосипед, мне страшно представить. Такое даже в страшном сне не приснится.

Алексей КНе понимаю, почему ради протокола предлагается менять архитектуру: добавить ещё одну БД. Надеюсь, что я чего-то не понимаю, иначе моё разочарование окружающим миром будет бесконечно.
Кто сказал, что надо менять архитектуру и добавлять еще одну БД? Можешь вообще без БД работать Можешь с одной БД работать. А можешь хоть сотню БД использовать. Причем тут OData? Какое разочарование?

Алексей КГде посмотреть про OData + IEnumerable?
В документации? http://msdn.microsoft.com/ru-ru/library/jj890228(v=vs.111).aspx

Алексей КМСУДа и что ты этими IEnumerable мыслишь?Чтобы проверить, как будет вести себя предлагаемая технология в моём мире.
Ну так дождись моего концепта сегодня и делай свои IEnumerable.

Алексей КPUT, PATCH, DELETE не нужны.
Еще как нужны. Без них не будет круда.

Алексей КМы научились делать КРУД. Браво!
В SOA? Да. А раньше умели?
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38802390
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИзопропилАлексей КНе понимаю, почему ради протокола предлагается менять архитектуру: добавить ещё одну БД.

Где ты её нашёл? Тут МСУ подтвердил добавление БД. Но я понимаю, что можно отдавать наружу проекции и выборки.

Так же я понимаю, что ещё проще дать клиентам коннект к БД, пусть делают с ней что хотят, хоть в Excel, хоть ещё в чём. Даём права только на Views: будут им и проекции, и выборки, и row level security, и всё остальное.
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38802409
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУАлексей Кпропущено...
Вспоминаем ООП. Данная задача решается базовым классом объекта входных параметров + расширяющие методы для IQueryable. Dynamic LINQ в помощь.
Причем тут ООП, что за бред?
1. Задача на стороне клиента. Как ты научишь SOAP транслировать IQueryable и во что?Ну пишу ведь: базовый класс для parameter object.
МСУ2. Вторая задача на стороне сервера. Как ты научишь SOAP принимать транслированные "во что-то" клиентские запросы?Схема возвращаемых данных вроде как не меняется.
МСУ3. Третья задача на стороне сервера. Как ты научишь SOAP делать новую трансляцию обратно в IQueryable?Писал ведь: Dynamic LINQ в помощь.
МСУЧто это будет за велосипед, мне страшно представить. Такое даже в страшном сне не приснится.Бойся меня.
МСУАлексей КНе понимаю, почему ради протокола предлагается менять архитектуру: добавить ещё одну БД. Надеюсь, что я чего-то не понимаю, иначе моё разочарование окружающим миром будет бесконечно.
Кто сказал, что надо менять архитектуру и добавлять еще одну БД? Можешь вообще без БД работать Можешь с одной БД работать. А можешь хоть сотню БД использовать. Причем тут OData? Какое разочарование?Ну слава Богу, теперь я спокоен.
МСУАлексей КГде посмотреть про OData + IEnumerable?
В документации? http://msdn.microsoft.com/ru-ru/library/jj890228(v=vs.111).aspx Ок, посмотрю.
МСУАлексей Кпропущено...
Чтобы проверить, как будет вести себя предлагаемая технология в моём мире.
Ну так дождись моего концепта сегодня и делай свои IEnumerable.Ок.
МСУАлексей КPUT, PATCH, DELETE не нужны.
Еще как нужны. Без них не будет круда.Фи....
МСУАлексей КМы научились делать КРУД. Браво!
В SOA? Да. А раньше умели? В WCF сложнее - он не умеет generic-контракты в базовых классах/интерфейсах. MVC/WebAPI в этом отношении намного лучше: функционал типового круда без труда выносится в generic-базовые классы контроллеров.
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38802414
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КНу пишу ведь: базовый класс для parameter object.
Я не понимаю тебя. Как базовый класс для parameter object поможет решить 3 задачи выше?

Алексей КСхема возвращаемых данных вроде как не меняется.
Ты не ответил на вопрос. Опиши архитектуру, как ты в SOAP реализуешь то, о чем я говорю.

Алексей КПисал ведь: Dynamic LINQ в помощь.
Что будет делать и из чего DLINQ? Не надо отвечать невнятными отрывками, распиши подробно, что нужно делать. По пунктам.

Алексей КНу слава Богу, теперь я спокоен.
Не бойся OData, она не сделает тебе вреда

Алексей КВ WCF сложнее - он не умеет generic-контракты в базовых классах/интерфейсах. MVC/WebAPI в этом отношении намного лучше: функционал типового круда без труда выносится в generic-базовые классы контроллеров.
WCF хорош для своих задач, которые на базируются на HTTP байдингах. А так да, увы - эти байдинги заняты в другой нише (Web API и OData)
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38802419
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУпропущено...

В документации? http://msdn.microsoft.com/ru-ru/library/jj890228(v=vs.111).aspx Посмотрел. DataContractAttribute на PageResult<T> особенно порадовал. Вероятно, WCF где-то рядом.

Не увидел, как делать запросы к произвольному IEnumerable.
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38802423
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КТак же я понимаю, что ещё проще дать клиентам коннект к БД, пусть делают с ней что хотят, хоть в Excel, хоть ещё в чём. Даём права только на Views: будут им и проекции, и выборки, и row level security, и всё остальное.
Предлагаешь поворачивать базу жопой в интернет? Аццко Да и уже жевали тему 2-tier, посадят твою базу в лужу. Блокировки, открытые транзакции и прочие ужастики. И причем тут вьюхи? У нас CRUD, не забывай. Клиенты не только смотрят, они еще и пишут.
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38802432
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КНе увидел, как делать запросы к произвольному IEnumerable.
Не понимаю тебя. Напиши контроллер, в нем Get метод, в нем выплевывай IEnumerable. В чем проблема? Или напиши функцию.

Вот пример фишек, которые с помощью IQueryable не сделать на клиенте. Приходится писать функции.

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
public class FunctionsController: BaseController
    {
        [HttpGet, ODataRoute("GetAggregatedShopSales(SiteId={siteId},PeriodId={periodId})")]
        public IEnumerable<Sale> GetAggregatedShopSales(int siteId, int periodId)
        {
            var ss = Context.Sales
                .Where(s => s.SiteId == siteId && s.PeriodId == periodId)
                .GroupBy(s =>
                    new { s.DayOfWeek, Hour = s.Hour < 9 ? 9 : s.Hour > 22 ? 22 : s.Hour },
                    s => s.Qty,
                    (key, sales) => new
                    {
                        Hour = key.Hour,
                        DayOfWeek = key.DayOfWeek,
                        SiteId = siteId,
                        PeriodId = periodId,
                        Qty = sales.Sum()
                    })
                .AsEnumerable()
                .Select(g => new Sale()
                {
                    Hour = g.Hour,
                    DayOfWeek = g.DayOfWeek,
                    SiteId = g.SiteId,
                    PeriodId = g.PeriodId,
                    Qty = g.Qty
                });
            return ss;
        }

        [HttpGet, ODataRoute("RecalcWorkload(SiteId={siteId},PeriodId={periodId})")]
        public RecalcPosWorkloadResult RecalcWorkload(int siteId, int periodId)
        {
            var recalc = new RecalcItem(Context, siteId, periodId);
            return recalc.RecalcWorkload();
        }

        [HttpGet, EnableQuery, ODataRoute("GetInstancesWithOrderedZones(SiteId={siteId},DateId={dateId})")]
        public IEnumerable<RoleInShopInstance> GetInstancesWithOrderedZones(int siteId, int dateId)
        {
            var instances = Context
                .RoleInShopInstances
                .Include("Employee")
                .Include("RoleInShop")
                .Include("RoleInShop.Role")
                .Include("Zones")
                .Include("Zones.Zone")
                .Where(i => i.SiteId == siteId && i.DateId == dateId).ToList(); // IEnumerable

            foreach (var instance in instances)
            {
                instance.Zones = instance.Zones.OrderBy(z => z.SortOrder).ToList(); // сортировка вложенной коллекции, OData такого не умеет
            }

            return instances;
        }
    }
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38802464
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУАлексей КНу пишу ведь: базовый класс для parameter object.
Я не понимаю тебя. Как базовый класс для parameter object поможет решить 3 задачи выше?

Алексей КСхема возвращаемых данных вроде как не меняется.
Ты не ответил на вопрос. Опиши архитектуру, как ты в SOAP реализуешь то, о чем я говорю.

Алексей КПисал ведь: Dynamic LINQ в помощь.
Что будет делать и из чего DLINQ? Не надо отвечать невнятными отрывками, распиши подробно, что нужно делать. По пунктам.Не знаю как ещё объяснить. Верь мне: у меня типовой механизм для пэйджинга прекрасно работает без всяких OData. Есть класс, аналогичный PageResult<T>, на который ты дал ссылку. Были тогда мысли: делать через OData или не заморачиваться. Решил не заморачиваться.

Впрочем, если не нравится "способ лучше" для SQL, есть способ ещё лучше:
Способ ещё лучше: OData over SOAP
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
public class MyService
{
    public Entity[] GetQuery(QueryParameters p)
    {
        return Db.MyTable.Select(v => new Entity { ... }).Select(p).ToArray();
    }
}

...

public class QueryParameters
{
    public string Filter;
 
    public string Sort;

    public int Skip;

    public int Take;
}

// Не забыть подключить DLINQ нугетом или ещё как.

public static IQueryable<T> Select<T>(this IQueryable<T> src, QueryParameters p)
{
    return src.Where(p.Filter).OrderBy(p.Sort).Skip(p.Skip).Take(p.Take);
}



МСУАлексей КНу слава Богу, теперь я спокоен.
Не бойся OData, она не сделает тебе вреда Доверие нужно заслужить.

МСУАлексей КВ WCF сложнее - он не умеет generic-контракты в базовых классах/интерфейсах. MVC/WebAPI в этом отношении намного лучше: функционал типового круда без труда выносится в generic-базовые классы контроллеров.
WCF хорош для своих задач, которые на базируются на HTTP байдингах. А так да, увы - эти байдинги заняты в другой нише (Web API и OData) Посмотрим...
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38802484
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КМСУпропущено...

Я не понимаю тебя. Как базовый класс для parameter object поможет решить 3 задачи выше?

пропущено...

Ты не ответил на вопрос. Опиши архитектуру, как ты в SOAP реализуешь то, о чем я говорю.

пропущено...

Что будет делать и из чего DLINQ? Не надо отвечать невнятными отрывками, распиши подробно, что нужно делать. По пунктам.Не знаю как ещё объяснить. Верь мне: у меня типовой механизм для пэйджинга прекрасно работает без всяких OData. Есть класс, аналогичный PageResult<T>, на который ты дал ссылку. Были тогда мысли: делать через OData или не заморачиваться. Решил не заморачиваться.

Впрочем, если не нравится "способ лучше" для SQL, есть способ ещё лучше:
Способ ещё лучше: OData over SOAP
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
public class MyService
{
    public Entity[] GetQuery(QueryParameters p)
    {
        return Db.MyTable.Select(v => new Entity { ... }).Select(p).ToArray();
    }
}

...

public class QueryParameters
{
    public string Filter;
 
    public string Sort;

    public int Skip;

    public int Take;
}

// Не забыть подключить DLINQ нугетом или ещё как.

public static IQueryable<T> Select<T>(this IQueryable<T> src, QueryParameters p)
{
    return src.Where(p.Filter).OrderBy(p.Sort).Skip(p.Skip).Take(p.Take);
}



Эпический велосипед, которому место в зоопарке. А как же 16817958

МСУ1. REST
2. Полноценная EDM модель (!) в SOA
3. Полноценный контекст на клиенте, который трачит (!) изменения



Особенно понравился "string Filter" и "string Sort" в QueryParameters. Династия нетипизированных динозавров в действии

А как же CRUD? Или на каждый чих писать свой велосипед? Короче, хватит уже погремушки демонстрировать, возьми нормальную технологию от нормального вендора и прекращай изобретать поломанные педали к велосипеду. Ну бред же эпический.
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38802498
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУАлексей КНе увидел, как делать запросы к произвольному IEnumerable.
Не понимаю тебя. Напиши контроллер, в нем Get метод, в нем выплевывай IEnumerable. В чем проблема?Ну я понял. Только тут нужно возвращать myList.AsQueryable() . Но всё равно не нравится.
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38802511
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУАлексей Кпропущено...
Не знаю как ещё объяснить. Верь мне: у меня типовой механизм для пэйджинга прекрасно работает без всяких OData. Есть класс, аналогичный PageResult<T>, на который ты дал ссылку. Были тогда мысли: делать через OData или не заморачиваться. Решил не заморачиваться.

Впрочем, если не нравится "способ лучше" для SQL, есть способ ещё лучше:
Способ ещё лучше: OData over SOAP
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
public class MyService
{
    public Entity[] GetQuery(QueryParameters p)
    {
        return Db.MyTable.Select(v => new Entity { ... }).Select(p).ToArray();
    }
}

...

public class QueryParameters
{
    public string Filter;
 
    public string Sort;

    public int Skip;

    public int Take;
}

// Не забыть подключить DLINQ нугетом или ещё как.

public static IQueryable<T> Select<T>(this IQueryable<T> src, QueryParameters p)
{
    return src.Where(p.Filter).OrderBy(p.Sort).Skip(p.Skip).Take(p.Take);
}



Эпический велосипед, которому место в зоопарке. А как же 16817958

МСУ1. REST
2. Полноценная EDM модель (!) в SOA
3. Полноценный контекст на клиенте, который трачит (!) изменения

Мне это не надо.
МСУОсобенно понравился "string Filter" и "string Sort" в QueryParameters. Династия нетипизированных динозавров в действии OData параметры в URL типизированы, ага.
МСУА как же CRUD? Или на каждый чих писать свой велосипед? Короче, хватит уже погремушки демонстрировать, возьми нормальную технологию от нормального вендора и прекращай изобретать поломанные педали к велосипеду. Ну бред же эпический.Банальный метод void Save(Entity obj) вышел из моды?
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38802514
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КМне это не надо.
Тебе не надо, чтобы клиенты могли что-то изменять? В каком детском саду ты решил повесить эту погремушку?

Алексей КOData параметры в URL типизированы, ага.
Причем тут URL и прикладной код на C#? Ты кодируешь "на URL"?

Алексей КБанальный метод void Save(Entity obj) вышел из моды?
Если бы всё так было просто.

Алексей КНу я понял. Только тут нужно возвращать myList.AsQueryable() . Но всё равно не нравится.
Зачем возвращать AsQueryable? Ты мой код читал? Где там AsQueryable?
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38802535
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КУтверждать, что OData заменит SOAP не разумно.

OData полностью перекрывает возможности SOAP, так что нахер этот SOAP пусть ползёт на кладбище и там в муках подыхает.
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38802544
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУАлексей КМне это не надо.
Тебе не надо, чтобы клиенты могли что-то изменять? В каком детском саду ты решил повесить эту погремушку? После отказа от DataSet много лет обходился без трэкера изменений на клиенте. И сейчас обойдусь.

МСУАлексей КOData параметры в URL типизированы, ага.
Причем тут URL и прикладной код на C#? Ты кодируешь "на URL"? У меня клиент на JS, тут с типизацией не очень. Но я согласен, для типизации на клиенте потребуются сложные педали. Самому писать их, конечно же, глупо.

МСУАлексей КБанальный метод void Save(Entity obj) вышел из моды?
Если бы всё так было просто.Не надо усложнять там, где не надо усложнять. :-)

МСУАлексей КНу я понял. Только тут нужно возвращать myList.AsQueryable() . Но всё равно не нравится.
Зачем возвращать AsQueryable? Ты мой код читал? Где там AsQueryable?Пусть так, это ничего не меняет.
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38802549
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttАлексей КУтверждать, что OData заменит SOAP не разумно.

OData полностью перекрывает возможности SOAP, так что нахер этот SOAP пусть ползёт на кладбище и там в муках подыхает.Посмотрим.
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38802558
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КПосмотрим.

Для нас он уже умер. Отдельные некрофилы могут его ещё 50 лет жувать. Чего смотреть? Когда из конторы за профнепригодность попрут? Ахахаххааа... Тогда наверное сразу и силы на изучения откуда-то возьмутся, и желание появится Как говорится, некоторым просто нужна пинковая мотивация, без неё -- никуда!
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38802561
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttАлексей КПосмотрим.

Для нас он уже умер. Отдельные некрофилы могут его ещё 50 лет жувать. Чего смотреть? Когда из конторы за профнепригодность попрут? Ахахаххааа... Тогда наверное сразу и силы на изучения откуда-то возьмутся, и желание появится Как говорится, некоторым просто нужна пинковая мотивация, без неё -- никуда!Изучение OData займёт дня 3, не меньше...
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38802564
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КПосле отказа от DataSet много лет обходился без трэкера изменений на клиенте. И сейчас обойдусь.
EF и RIA так же умеют тречить. да и не аргумент это "и сейчас обойдусь". Тебе не надо, другим надо.

Алексей КУ меня клиент на JS, тут с типизацией не очень. Но я согласен, для типизации на клиенте потребуются сложные педали. Самому писать их, конечно же, глупо.
Выкинь клиента на JS и займись уже делом. Выучи MVC, Web API, OData. И в путь дорогу!

Алексей КНе надо усложнять там, где не надо усложнять. :-)
Усложнять? Да этот твой Save вообще не решает задачу Что туда передавать? Всю проекцию? А если я только изменил одно поле во вложенной сущности, причем глубина вложения = 3. OData клиент сгенерирует только единственный PATCH запрос на эту сущность. Ты предлагаешь написать единственный универсальный Save и парсить всё, что туда передается? А потом как-то это всё раскладывать по таблицам? Ты укурен?
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38802573
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КИзучение OData займёт дня 3, не меньше...

Может сначала тогда изучить, а затем что-то доказывать? А то «не читал, но осуждаю»
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38802600
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУАлексей КПосле отказа от DataSet много лет обходился без трэкера изменений на клиенте. И сейчас обойдусь.
EF и RIA так же умеют тречить. да и не аргумент это "и сейчас обойдусь". Тебе не надо, другим надо.А я и не отговариваю. Нравится - пользуйтесь. Только SOAP не трогайте!
МСУАлексей КУ меня клиент на JS, тут с типизацией не очень. Но я согласен, для типизации на клиенте потребуются сложные педали. Самому писать их, конечно же, глупо.
Выкинь клиента на JS и займись уже делом. Выучи MVC, Web API, OData. И в путь дорогу!SPA одновременно убог и прекрасен. :-)
МСУАлексей КНе надо усложнять там, где не надо усложнять. :-)
Усложнять? Да этот твой Save вообще не решает задачу Что туда передавать? Всю проекцию? А если я только изменил одно поле во вложенной сущности, причем глубина вложения = 3. OData клиент сгенерирует только единственный PATCH запрос на эту сущность. Ты предлагаешь написать единственный универсальный Save и парсить всё, что туда передается? А потом как-то это всё раскладывать по таблицам? Ты укурен? Всегда передавали весь объект, даже если изменилось только одно поле, все были довольны. А тут вдруг стало нельзя.
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38802602
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttАлексей КИзучение OData займёт дня 3, не меньше...

Может сначала тогда изучить, а затем что-то доказывать? А то «не читал, но осуждаю» Изучено ровно на столько, чтобы представлять себе его возможности и ждать. :-)
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38802706
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КВпрочем, если не нравится "способ лучше" для SQL, есть способ ещё лучше:
Способ ещё лучше: OData over SOAP
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
public class MyService
{
    public Entity[] GetQuery(QueryParameters p)
    {
        return Db.MyTable.Select(v => new Entity { ... }).Select(p).ToArray();
    }
}

...

public class QueryParameters
{
    public string Filter;
 
    public string Sort;

    public int Skip;

    public int Take;
}

// Не забыть подключить DLINQ нугетом или ещё как.

public static IQueryable<T> Select<T>(this IQueryable<T> src, QueryParameters p)
{
    return src.Where(p.Filter).OrderBy(p.Sort).Skip(p.Skip).Take(p.Take);
}

А это не с OData_ли содрано? :)

ODataQueryOptions Class
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38802707
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообщем, парни, не знаю зачем вы так долго тут спорите.

У нас Public API принимает запросы в формате OData, формирует на их основе запрос к Private API примерно в таком же формате.
Далее некоторые запросы конвертируются в Conditions и дёргается WCF-сервис, который Conditions сериализует в XML и передаёт в хранимку.

И никакого IQueryable для этих некоторых запросов :)
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38802713
Фотография Диез
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей К,

Вот, накопал интересную ссылку:

http://blogs.microsoft.co.il/zuker/2013/09/03/wcf-queryable-over-soap-using-odata-uris/

Цитата:

"I understand the concept of OData which aims to serve and manage data over a standard and interoperable protocol, however I found several projects which revolves around building SOAP services with WS-* standards that wished to have that too.
For example, I could have a distributed .NET system with WS-* as well as binary encoding, but I simply want to support that powerful query API, not as a goal for interoperability, but as a goal of allowing the consumer to define the query that it wishes."


Я глубоко не копался в исходниках, но, похоже, фичи OData без особых проблем прикручиваются к WCF :)
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38802716
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КА я и не отговариваю. Нравится - пользуйтесь. Только SOAP не трогайте!
Гавно обычно трогают. Чтобы позабавиться как оно воняет

Алексей КВсегда передавали весь объект, даже если изменилось только одно поле, все были довольны. А тут вдруг стало нельзя.
А кто-то раньше доказывал с пеной у лба о скорости SOAP :)
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38802718
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Диез, да концепт-то простой.

Основная проблема в том, что лямбды не сериализуются.

То есть нам нужен некий объект Specification, что мы можем сериализовать и передать WCF сервису.
На той стороне он десиаризуется и на его снове либо создаётся лямбда выражение, либо он сам маппится на запрос в БД.

Например на основе ODataQueryOptions такой объект очень легко собрать и вуаля. :)

Просто разработчики библиотек для OData сразу реализовали и пункт "на его снове либо создаётся лямбда выражение" и люди,
кто не разобрались в проблеме, видят только то, что для поддержки OData надо IQueryable наружу выставлять.

Да ни фига не обязательно :)
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38802719
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAТо есть нам нужен некий объект Specification...Или назовём его Condition, Criteria, QueryObject, QueryOptions :)
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38802720
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"Специализация" как сказал бы Сахват :)
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38802733
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУАлексей К
Будет тебе сегодня концепт в рецептах. Честный OData, клиент на WPF. MVVM + живой контекст, который трачит изменения и сливает их на сервер. Никаких DTO и прочего мусора. Всё как в лучших домах парижа.
Вот http://codearticles.ru/articles/2525 набросал тебе идею, как гибко можно строить толстого клиента на XAML + MVVM + OData. OData по сути сервер приложения, который обcлуживает клиентов. Теперь такие сервера становится писать намного проще, чем процедурный SOAP.
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38802751
Фотография Диез
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAskyANAТо есть нам нужен некий объект Specification...Или назовём его Condition, Criteria, QueryObject, QueryOptions :)

Да, в теоретической возможности сериализации Expression Trees сомнений не было. Но если я правильно понял из того блога - уже есть готовые библиотеки, позволяющие без особых трудозатрат "пробросить" лямбду через любой транспорт. Это уже интересно с практической точки зрения :-)
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38802764
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ДиезskyANAпропущено...
Или назовём его Condition, Criteria, QueryObject, QueryOptions :)

Да, в теоретической возможности сериализации Expression Trees сомнений не было.Стоп, стоп. Я не предлагаю сериализацию Expression Trees.
Сериализуется как обычно некий DTO объект по которому потом уже стрится LambdaExpression.
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38802766
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И на практике это работает :)
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38802878
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот тут описал, как работает парсер одаты http://codearticles.ru/articles/2473
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38802945
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA
Диез
МСУ
Что я понял:

1. Внутренности реализации OData можно использовать по частям отдельно и прикручивать к чему угодно.
2. OData может локально обрабатывать любой IEnumerable.
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38802947
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУАлексей КА я и не отговариваю. Нравится - пользуйтесь. Только SOAP не трогайте!
Гавно обычно трогают. Чтобы позабавиться как оно воняет OData - это следующий шаг после SOAP. Только один вопрос: этот шаг куда? Как бы не наступить в ..., как это часто бывает с новыми технологиями. Мне эти новые возможности не особо нужны, поэтому буду пока ждать и наблюдать.
МСУАлексей КВсегда передавали весь объект, даже если изменилось только одно поле, все были довольны. А тут вдруг стало нельзя.
А кто-то раньше доказывал с пеной у лба о скорости SOAP :)Мы куда-то не успеваем?
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38802948
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAАлексей КВпрочем, если не нравится "способ лучше" для SQL, есть способ ещё лучше:
Способ ещё лучше: OData over SOAP
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
public class MyService
{
    public Entity[] GetQuery(QueryParameters p)
    {
        return Db.MyTable.Select(v => new Entity { ... }).Select(p).ToArray();
    }
}

...

public class QueryParameters
{
    public string Filter;
 
    public string Sort;

    public int Skip;

    public int Take;
}

// Не забыть подключить DLINQ нугетом или ещё как.

public static IQueryable<T> Select<T>(this IQueryable<T> src, QueryParameters p)
{
    return src.Where(p.Filter).OrderBy(p.Sort).Skip(p.Skip).Take(p.Take);
}

А это не с OData_ли содрано? :)

ODataQueryOptions Class Тут можно что-то другое придумать? :-)
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38802963
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КskyANAпропущено...
А это не с OData_ли содрано? :)

ODataQueryOptions Class Тут можно что-то другое придумать? :-)Да вот именно что нет. Именование классов и полей будут отличаться, а суть таже останется.

Понимая это, забавно наблюдать за спором :)
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38802967
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Но! Зачем что-то придумывать, если за тебя это уже реализовали и главное протестировали?
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38802971
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAНо! Зачем что-то придумывать, если за тебя это уже реализовали и главное протестировали?Ну если всё сделано на SOAP, нужны очень веские аргументы, чтобы добавить в проект новый стандарт, в данном случае OData. Возможно проще что-то написать самому, чем увеличивать беспорядок проекта. Поэтому оцениваем все "за" и "против" срач в топике. :-)
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38802987
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КЧто я понял:
1. Внутренности реализации OData можно использовать по частям отдельно и прикручивать к чему угодно.
В этом и суть IEdmModel , несколько раз писал об этом.

Алексей К2. OData может локально обрабатывать любой IEnumerable.
Да ладно, правда что ли?

Алексей КOData - это следующий шаг после SOAP
Это не следующий шаг после SOAP, это 100 шагов после SOAP.

Алексей КТолько один вопрос: этот шаг куда? Как бы не наступить в ..., как это часто бывает с новыми технологиями. Мне эти новые возможности не особо нужны, поэтому буду пока ждать и наблюдать.
Да какие они новые? Просто v4.0 в марте этого года вышла.

Алексей КМы куда-то не успеваем?
Ну посиди еще годков 10 с супом, я не против.

P.S. По поводу того, что тебе PATCH, PUT, DELETE не нужны. Не поверишь, ты просто отказываешься от архитектуры OData

http://en.wikipedia.org/wiki/Open_Data_Protocol OData is built on the AtomPub protocol and XML where the Atom structure is the envelope that contains the data returned from each OData request. An OData request uses the REST model for all requests. Each REST command is a POST, GET, PUT, PATCH, or DELETE HTTP request (mapping to CRUD) where the specifics of the command are in the URL.

GET: Get a collection of entities (as a feed document) or a single entity (as an entry document).

POST: Create a new entity from an entry document.

PUT: Update an existing entity with an entry document.

PATCH: Update an existing entity with a partial entry document.

DELETE: Remove an entity.

Any platform that provides support for HTTP and XML is enough to form HTTP requests to interact with AtomPub. The OData specification defines how AtomPub is used to standardize a typed, resource-oriented CRUD interface for manipulating data sources.



Алексей КНу если всё сделано на SOAP, нужны очень веские аргументы, чтобы добавить в проект новый стандарт, в данном случае OData. Возможно проще что-то написать самому, чем увеличивать беспорядок проекта. Поэтому оцениваем все "за" и "против" срач в топике. :-)
А кто тебя заставляет выпиливать старое? А вот новое только на REST, даже не обсуждается.
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38803041
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУАлексей КЧто я понял:
1. Внутренности реализации OData можно использовать по частям отдельно и прикручивать к чему угодно.
В этом и суть IEdmModel , несколько раз писал об этом.EDM - это аналог WSDL. Я не про это. Я про возможность использования частей реализации ОДата по отдельности, например - парсинг OData параметров.
МСУАлексей К2. OData может локально обрабатывать любой IEnumerable.
Да ладно, правда что ли? Я этого не знал, теперь знаю.
МСУАлексей КOData - это следующий шаг после SOAP
Это не следующий шаг после SOAP, это 100 шагов после SOAP.Это 100 бантиков, на основе которых никто не будет строить корпоративные стандарты.
МСУАлексей КТолько один вопрос: этот шаг куда? Как бы не наступить в ..., как это часто бывает с новыми технологиями. Мне эти новые возможности не особо нужны, поэтому буду пока ждать и наблюдать.
Да какие они новые? Просто v4.0 в марте этого года вышла.По сравнению с SOAP, которому > 10 лет, они новые.
МСУАлексей КМы куда-то не успеваем?
Ну посиди еще годков 10 с супом, я не против.Я тоже не против.

Вышла новая версия Windows: "Мы вернули кнопку 'Пуск' - это огромный шаг для всего человечества".

15 лет назад: "Вот вам СУБД с сетевым доступом к ней и SQL. Теперь клиенты могут делать произвольные запросы к БД".

10 лет назад: "Двухзвенка УГ. Клиенты не должны напрямую ходить в БД, только через сервер приложений.".

Сегодня: "Сервер приложений нам мешает делать запросы к БД, но мы нашли способ всех наипать".

МСУP.S. По поводу того, что тебе PATCH, PUT, DELETE не нужны. Не поверишь, ты просто отказываешься от архитектуры OData

http://en.wikipedia.org/wiki/Open_Data_Protocol OData is built on the AtomPub protocol and XML where the Atom structure is the envelope that contains the data returned from each OData request. An OData request uses the REST model for all requests. Each REST command is a POST, GET, PUT, PATCH, or DELETE HTTP request (mapping to CRUD) where the specifics of the command are in the URL.

GET: Get a collection of entities (as a feed document) or a single entity (as an entry document).

POST: Create a new entity from an entry document.

PUT: Update an existing entity with an entry document.

PATCH: Update an existing entity with a partial entry document.

DELETE: Remove an entity.

Any platform that provides support for HTTP and XML is enough to form HTTP requests to interact with AtomPub. The OData specification defines how AtomPub is used to standardize a typed, resource-oriented CRUD interface for manipulating data sources.

Вот только не надо тут про REST. Эта аббревиатура мне ни о чём не говорит.

МСУАлексей КНу если всё сделано на SOAP, нужны очень веские аргументы, чтобы добавить в проект новый стандарт, в данном случае OData. Возможно проще что-то написать самому, чем увеличивать беспорядок проекта. Поэтому оцениваем все "за" и "против" срач в топике. :-)
А кто тебя заставляет выпиливать старое? А вот новое только на REST, даже не обсуждается.Внутрисистемные взаимодействия пишите как хотите, но все интеграции только в рамках корпоративного стандарта - SOAP!
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38803059
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КEDM - это аналог WSDL. Я не про это. Я про возможность использования частей реализации ОДата по отдельности, например - парсинг OData параметров.
У ведь уже давал рецепты на этот финт. Вот http://codearticles.ru/articles/2472 http://codearticles.ru/articles/2486
Парсь и выплевывай результат.

Алексей КЯ этого не знал, теперь знаю.
Тебе об этом раз 100 сказали. Вру, 150

Алексей КЭто 100 бантиков, на основе которых никто не будет строить корпоративные стандарты.
Готов тебя разочаровать, уже строят. Причем ведущие вендоры.

Алексей КВышла новая версия Windows: "Мы вернули кнопку 'Пуск' - это огромный шаг для всего человечества".
15 лет назад: "Вот вам СУБД с сетевым доступом к ней и SQL. Теперь клиенты могут делать произвольные запросы к БД".
10 лет назад: "Двухзвенка УГ. Клиенты не должны напрямую ходить в БД, только через сервер приложений.".
Сегодня: "Сервер приложений нам мешает делать запросы к БД, но мы нашли способ всех наипать".
Жалкие попукивания вхолостую молодого умного человека, упорно косящего под полувнятного старика-кряхтуна, который сидит жопой на стуле у монитора и нещадно смердит. Согласен?

Алексей КВот только не надо тут про REST. Эта аббревиатура мне ни о чём не говорит.
Загугли. Она хорошо гуглится

Алексей КВнутрисистемные взаимодействия пишите как хотите, но все интеграции только в рамках корпоративного стандарта - SOAP!
Вперед!
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38803084
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КskyANAНо! Зачем что-то придумывать, если за тебя это уже реализовали и главное протестировали?Ну если всё сделано на SOAP, нужны очень веские аргументы, чтобы добавить в проект новый стандарт, в данном случае OData. Возможно проще что-то написать самому, чем увеличивать беспорядок проекта. Поэтому оцениваем все "за" и "против" срач в топике. :-)Если всё грамотно сделано на SOAP, то нужны веские аргументы, чтобы объяснить, почему такие трудности с переходом на OData :)
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38803090
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAЕсли всё грамотно сделано на SOAP, то нужны веские аргументы, чтобы объяснить, почему такие трудности с переходом на OData :)
Так очевидно же. С SOAP ничего грамотно не сделано. Бардак, вонь кода и дикий ужас в его SOA. Вот он и боится налить мёду в бочку с гавном. Ведь всё-равно ж гавно будет, так смысл в шиле на мыле
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38803230
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУАлексей КEDM - это аналог WSDL. Я не про это. Я про возможность использования частей реализации ОДата по отдельности, например - парсинг OData параметров.
У ведь уже давал рецепты на этот финт. Вот http://codearticles.ru/articles/2472 http://codearticles.ru/articles/2486
Парсь и выплевывай результат.Я уже давно согласился, а ты всё с кем-то споришь.

МСУАлексей КЯ этого не знал, теперь знаю.
Тебе об этом раз 100 сказали. Вру, 150 Один раз!

МСУАлексей КЭто 100 бантиков, на основе которых никто не будет строить корпоративные стандарты.
Готов тебя разочаровать, уже строят. Причем ведущие вендоры."Вендоры" на этом деньги зарабатывают. Им чем больше кипиша - тем лучше. Не нужно идти на поводу у них.

МСУАлексей КВышла новая версия Windows: "Мы вернули кнопку 'Пуск' - это огромный шаг для всего человечества".
15 лет назад: "Вот вам СУБД с сетевым доступом к ней и SQL. Теперь клиенты могут делать произвольные запросы к БД".
10 лет назад: "Двухзвенка УГ. Клиенты не должны напрямую ходить в БД, только через сервер приложений.".
Сегодня: "Сервер приложений нам мешает делать запросы к БД, но мы нашли способ всех наипать".
Жалкие попукивания вхолостую молодого умного человека, упорно косящего под полувнятного старика-кряхтуна, который сидит жопой на стуле у монитора и нещадно смердит. Согласен?
автор– Ничего опасного! – с жаром возразил Филипп Филиппович, – никакой контрреволюции! Кстати, вот еще слово, которое я совершенно не выношу! Абсолютно неизвестно, что под ним скрывается! Черт его знает! Так я говорю: никакой этой самой контрреволюции в моих словах нет. В них лишь здравый смысл и жизненная опытность...

МСУАлексей КВот только не надо тут про REST. Эта аббревиатура мне ни о чём не говорит.
Загугли. Она хорошо гуглится Википедию выше обсуждали уже.
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38803242
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAАлексей Кпропущено...
Ну если всё сделано на SOAP, нужны очень веские аргументы, чтобы добавить в проект новый стандарт, в данном случае OData. Возможно проще что-то написать самому, чем увеличивать беспорядок проекта. Поэтому оцениваем все "за" и "против" срач в топике. :-)Если всё грамотно сделано на SOAP, то нужны веские аргументы, чтобы объяснить, почему такие трудности с переходом на OData :)Трудностей нет, берём и копаем. Но зачем?
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38803251
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КskyANAпропущено...
Если всё грамотно сделано на SOAP, то нужны веские аргументы, чтобы объяснить, почему такие трудности с переходом на OData :)Трудностей нет, берём и копаем. Но зачем?Вам-то оно понятно не за чем.

А в общем случае, чтобы открыть для себя новые горизонты :)

К примеру интегрировать в проект какую-нибудь полезную штуку, разработчики которой клали на конкретно ваш SOAP-шлюз, на ваш WSDL.
Они реализовали поддержку открытого протокола, бери да налаживай взаимосвязь без генерации, отладки и тестирования лишних прослоек.
Мир ведь давно уже с монолитных приложений пересел на рельсы интеграции.
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38803266
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAАлексей Кпропущено...
Трудностей нет, берём и копаем. Но зачем?Вам-то оно понятно не за чем.

А в общем случае, чтобы открыть для себя новые горизонты :)Что-то устал я от "новых горизонтов" в последнее время. Может позже. :-)

skyANAК примеру интегрировать в проект какую-нибудь полезную штуку, разработчики которой клали на конкретно ваш SOAP-шлюз, на ваш WSDL.
Они реализовали поддержку открытого протокола, бери да налаживай взаимосвязь без генерации, отладки и тестирования лишних прослоек.
Мир ведь давно уже с монолитных приложений пересел на рельсы интеграции.Я не против OData. Я не понимаю, зачем SOAP ругать.
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38803273
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей К, дык у ругальщика характер просто такой :)
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38803303
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAАлексей К, дык у ругальщика характер просто такой :)Я знаю, и у меня такой же. В общем, всё в порядке. :-)
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38803434
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КЯ не против OData. Я не понимаю, зачем SOAP ругать.

С AXIS когда-нибудь работал?
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38803546
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КskyANAАлексей К, дык у ругальщика характер просто такой :)Я знаю, и у меня такой же. В общем, всё в порядке. :-)
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38803575
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttАлексей КЯ не против OData. Я не понимаю, зачем SOAP ругать.

С AXIS когда-нибудь работал?Нет.
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38803721
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Радует одно - муся через 10 лет понял, что без модели никуда.
EDM - чахлая модель.
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38803803
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Самая правильная модель - это модель Випрос. Мы уже поняли, спасибо. Пройдите в соседнюю палату.
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38803816
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ,

это так и есть
едм - просто ER + чахлые функции без выходного параметра
в едм нет -
- ассоциированных конечных групп ентити, которые и есть воще то Концепт в общем случае
- лесов (возможно тут сожно выкрутиться с контейнерами, хотя на контейнеры нельзя сослаться) и деревьев Ентити
- навигационные проперти ссылается только на примитвный Ентити, а не на группу (следствие вышеуказанного), потому и жопа с моделированием Union РМД
- нет собственных полноценных методов
- маппинг функций только на СКЛ
- явно заданных проекций Ентити
- разных контекстов
- контекстно зависимых пропретей
и т.д.

как ты верно заметил, в модели ВИПРОС все это сть и было до появления EF на свет (хотя тут тоже кой че не хватает)
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38803817
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
тебе надо еще 10 лет, что бы понять все это
но ниче, ты ж молодой, дойдешь
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38803819
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и саме плохое нет инструмента, для генерации ЕДМ в рантайме
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38803854
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КhVosttпропущено...


С AXIS когда-нибудь работал?Нет.

Ну вот как доведётся, так и проклянёшь этот SOAP самыми отборными матерными словами, которые знаешь.

Лично наша позиция: в жопу SOAP.
Да и название у него соответствующее, пару букв переставить: SOPA.
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38803859
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей К,

Под «доведётся» я имел в виду не писать на Java, а дёргать AXIS-сервис из своего любимого .NET-а. Возможен всплеск сильного желания взять бердянку и пойти кого-нибудь расхреначить «Боже, храни Америку!»
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38803879
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttАлексей К,

Под «доведётся» я имел в виду не писать на Java, а дёргать AXIS-сервис из своего любимого .NET-а. Возможен всплеск сильного желания взять бердянку и пойти кого-нибудь расхреначить «Боже, храни Америку!» Мы работаем с сервисами, написанными на Java с той стороны. Проблем не было. Я не знаю, на чём они там пишут, может AXIS, может ещё что...
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38803883
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУСамая правильная модель - это модель Випрос.Поэтому хватит боготворить OData!
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38803895
Фотография Диез
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttАлексей К,

Под «доведётся» я имел в виду не писать на Java, а дёргать AXIS-сервис из своего любимого .NET-а. Возможен всплеск сильного желания взять бердянку и пойти кого-нибудь расхреначить «Боже, храни Америку!»

Это проблема не стандарта, а его имплементаций. :)

С таким же "успехом" в свое время вызывали ASMX-сервисы откуда угодно, кроме .NET (особенно если c WSE).
Зато AXIS-клиенты прекрасно работали с AXIS-серверами.

WS-I BasicProfile уже позже начали использовать. Теперь WCF и JAX-WS дружат прекрасно, за редкими исключениями.

Имхо, если OData претендует на протокол интеграции - ему придется тот же путь пройти - стандартизация, расширения, опять стандартизация итд. )).

А пока это лишь удобный протокол внутри инфраструктуры .NET, не более.
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38803904
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosМСУ, это так и есть
едм - просто ER + чахлые функции без выходного параметра
Что такое функция без выходного параметра? Функция как бы априори предполагает результат.

ViPRosв едм нет -
1. ассоциированных конечных групп ентити, которые и есть воще то Концепт в общем случае
2. лесов (возможно тут сожно выкрутиться с контейнерами, хотя на контейнеры нельзя сослаться) и деревьев Ентити
3. навигационные проперти ссылается только на примитвный Ентити, а не на группу (следствие вышеуказанного), потому и жопа с моделированием Union РМД
4. нет собственных полноценных методов
5. маппинг функций только на СКЛ
6. явно заданных проекций Ентити
7. разных контекстов
8. контекстно зависимых пропретей
9. и т.д.
1. Мне не нужны никакие группы. Это уже конкретная предметная область, никакого отношения к технологии это не имеет и не должно иметь.
2. Есть навигация с n уровнями вложенности. Хватает за глаза для любых задач. Какие леса и зачем они мне нужны?
3. Выше написал, не нужны никакие группы. Не надо обобщать то, что не требуется. Цепочку я всегда могу вытянуть из модели, если на то пошло. На крайний случай есть возможность написать функцию, которая покроет 100% требуемой задачи.
4. Бред сивой кобылы. Причем тут SQL? Модель вообще может жить без баз данных.
5. Выше написал, чушь. Ты хотя бы изучил, что такое IEdmModel прежде чем нести подобный бред.
6. В OData v3 можно. Натравливаешь без проекций на edmx, цепляется всё сразу. Автогенерируемая модель, очень крутая вещь для отчетов в Excel. Рецепт есть у меня как делать такое. Минус - в контроле модели. Почему-то в OData v4 выпилили такую возможность, то есть надо писать свои контроллеры и маппинг на объекты. Зато полный контроль.
7. Не нужно это. IEdmModel не зависит от БД. В модели могут быть объекты самой разной природы.
8. Вообще нах не нужно. Это уже полное обобщение под конкретную задачу, типа конструкторов. Динамика тут точно не нужна.
9. И это всё?
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38803907
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosи саме плохое нет инструмента, для генерации ЕДМ в рантайме
Есть. http://codearticles.ru/articles/2466
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38803911
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ДиезА пока это лишь удобный протокол внутри инфраструктуры .NET, не более.
Если ты о v4.0, то соглашусь. Если о фидах на v3.0, то с ней могут работать даже инопланетяне. Если нужна интеграция различными системами и платформами, бери v3.0. Просто она по функционалу скуднее, чем v4.0.
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38803914
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУViPRosМСУ, это так и есть
едм - просто ER + чахлые функции без выходного параметра
Что такое функция без выходного параметра? Функция как бы априори предполагает результат.Ну видимо область значений - это пустое множество :)
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38803926
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAНу видимо область значений - это пустое множество :)
У Сахавата своя трава и своя теория множеств, мы в курсе
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38803933
Фотография Диез
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУДиезА пока это лишь удобный протокол внутри инфраструктуры .NET, не более.
Если ты о v4.0, то соглашусь. Если о фидах на v3.0, то с ней могут работать даже инопланетяне. Если нужна интеграция различными системами и платформами, бери v3.0. Просто она по функционалу скуднее, чем v4.0.

А как я в ынтырпрайзе буду использовать какой-то левый протокол, который никак не стандартизирован? :)
Меня сразу корпоративный комитет пошлет.

И да, 3.0 существенно скуднее. Например, поддержка асинхронных вызовов только в спеке 4.0 есть, а это штука полезная.
Велосипедами, конечно всюду доехать можно, но зачем?
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38803936
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ,

ты все время повторяешь одно и то же - НЕ НАДО ОБОБЩИТЬ :)
НАДО!!!
Обобщенное всегда можно Специализировать, а попробуй Специализациии Обобщить :)
Кроме примитивных случаев ни один Концепт не есть примитивная Сущность, а есть отношение Сущностей в Контексте.
Думаю ребята которые замахнулись на CDSL когда нить поймут это и введут все же понятие Концепт в DSL (вроде бы C там прис утствует, классификацию Концептов, Контекстов (визуализации и т.д.) - и получат ВИПРОС (конечно реализация будет круче, чем моя))
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38803965
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ДиезИмхо, если OData претендует на протокол интеграции - ему придется тот же путь пройти - стандартизация, расширения, опять стандартизация итд. )).++

Это не год и не два.
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38804042
Фотография EDUARD SAPOTSKI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КСегодня: "Сервер приложений нам мешает делать запросы к БД, но мы нашли способ всех наипать".
+100500
...
Рейтинг: 0 / 0
OData сцуко не радует своими завихрениями
    #38804834
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сахават, выкидывай своего неповоротливого избыточного монстра и юзай OData. Хватит датасетных поделок, весь мир использует OData!
...
Рейтинг: 0 / 0
187 сообщений из 187, показаны все 8 страниц
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / OData сцуко не радует своими завихрениями
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]