LINUX.ORG.RU

Российский центр компетенций по импортозамещению отказался инвестировать в два проекта на базе Java

 , ,


0

4

По информации из Центра компетенций по импортозамещению в сфере информационно-коммуникационных технологий (директор ЦКИТ — Илья Массух), из дорожной карты «Новое общесистемное ПО», работы по которой финансируются государством, исключены два проекта, связанных с языком Java:

  • Исключен проект «Доверенный репозитарий Java компонент», который компания «Бизнес коммуникации» должна была делать в интересах Центробанка. Стоимость проекта оценивается в 97 млн руб. В результате его реализации должна была появиться доверенная среда разработки и исполнения Java SE на базе проекта с открытым исходным кодом OpenJDK.
  • Исключен проект сервера приложений Java Libercat. Данный проект базируется на Apache Tomcat, поставляется в формате веб-сервера (TomCat) и сервера приложений в спецификации Jacarta EE (TomEE+). Его должна была реализовать компания «Белсофт» под торговой маркой AxiomJDK. Стоимость реализации проекта — 80 млн руб.

Причина исключения данных проектов из дорожной карты — отказ от бюджетного финансирования. По мнению экспертов, программные продукты для стека Java Enterprise Edition (Java EE) в настоящее время являются довольно устаревшей технологией. С другой стороны, эксперты соглашаются, что вышеперечисленные продукты имеет многомиллионную аудиторию в изначальных СПО-проектах. Для пользователей нет смысла переходить на новый продукт, к которому не сформировано доверие, особенно учитывая тот факт, что на рынке существует множество альтернативных СПО-решений.

Отказ от реализации обоих проектов на базе Java поможет сэкономить 177 млн руб.

>>> Подробности

★★★★★

Проверено: hobbit ()
Последнее исправление: hobbit (всего исправлений: 3)

Ответ на: комментарий от kto_tama

Минусы жабы:

  1. Тормозная виртуальная машина, неоптимальная очистка памяти, блокировка потоков
  2. Устаревший графический интерфейс
  3. Избыточное потребление памяти
  4. Идеология иерархии пакетов и её связь с иерархией файлового дерева исходных текстов проекта
  5. Постоянное увеличение количества эксплойтов для обхода ограничений песочницы JVM

IMHO нужно смотреть в первую очередь именно на эти недостатки.

  1. Избыточный синтаксис - точки с запятыми, различные типы скобок

Потому что с помощью RemObjects C# и VB.NET могут конпилять в т.ч. и для JVM target (в придачу к родному .NET, и native).

sanyo1234
()
Последнее исправление: sanyo1234 (всего исправлений: 1)
Ответ на: комментарий от arkhnchul

Может есть какая-то статья на эту тему, не из серии «ну можно из спринг бут подключаться к сервисам нетфликса»? Что-нибудь про Netflix Core architecture?

такая фиксация на «одновременных пользователях» (а не запросах в единицу времени и расурсах на запрос) откуда взялась?

из Web ecommerce, человеки через сайты заказывают разное. Эта сфера приведена как пример где Java практически не используется тк она не универсальная на самом деле как нам затирают персонажи выше. Я лишь пытался донести мысль что каждой задаче свой инструмент. Я не предлагаю сувать PHP в пос терминалы или клиент-банки.

Obezyan
()
Ответ на: комментарий от s-warus

а сразу бы на линукс, взлетело бы похоронив ГО

Go в native конпиляет для микросервисов и CLI утилиток.

.NET такому научилась только год назад, а полноценно только с последним релизом v8 месяц назад. Хотя mono умел AOT достаточно давно.

sanyo1234
()
Последнее исправление: sanyo1234 (всего исправлений: 1)
Ответ на: комментарий от Elidee

Наконец-то, спасибо. Правда я ждал что назовут Tomcat, но хоть кто-то понял суть вопроса.

Один из немногих примеров действительно Kafka от линкедина. Но это лишь журнал транзакций (коммитов) пусть и распределенный, отказоустойчивый и масштабируемый. Но вот пользователей(продаж и тд) на нем нет, есть сообщения и брокеры этих сообщений которые пихают данные по шине в основе которой не java, а вставки на другом ЯП :)

Obezyan
()
Ответ на: комментарий от rtxtxtrx

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

В ПФР один тип прям так пиарил свой Kotlin, что пипец, мол .NET даром никому ненужен. Но ему хоть простительно, он раньше 1Це занимался на птицефабрике, LOL.

К сожалению, почти то же самое наблюдается у некоторых SRE и DevOps-ов. У них течение болезни намного тяжелее. Диагноз GO goловного мозга. С их точки зрения .NET падает на второй итерации цикла, какой там Terraform CDK для тысяч хостов. :) И ведь люди вроде даже серьёзные на первый взгляд, SRE со всеми орденами и медалями, превед Феде.

sanyo1234
()
Ответ на: комментарий от Obezyan

В Даймлер тоже много чего на java написано. А это и распределенное по континентам и десятки тысяч пользователей, как внутренних так и внешних.

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

И 4-5 лет это совсем не много для какого нибудь java приложения. Благодаря отличной обратной совместимости что то древнее на java 1.5 запросто будет работать на java 17.

Elidee
()
Ответ на: комментарий от Syncro

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

А как же DevExpress, Telerik, Avalonia и т.п.?

Надеюсь, ты кодишь на планшете? LOL

sanyo1234
()
Ответ на: комментарий от Syncro

вы за распилы на дефективных технологиях типа 1с, пхп и мелкософтовских?

Где e-commerce на жабе, который успешнее nopCommerce?

sanyo1234
()
Ответ на: комментарий от sanyo1234

Ну вот при выборе между Java и .NET в большинстве случаев уже побеждает .NET, имхо.

Obezyan
()
Ответ на: комментарий от Elidee

вторая ворочает сотнями терабайт данных

Сам-то веришь в это? Тормозной интерпретируемый язык, который выжирает всю доступную память и сотни терабайт… Что же тут лишнее…

rtxtxtrx
()
Ответ на: комментарий от sanyo1234

Ну C# это, конечно, круто, но скорость разработки на нем оставляет желать лучшего. В вебне скорость выполнения кода не важна. Вебня - это прослойка между клиентом и базой. Тут задача сходить в базу и высрать json. Это не CPU-bound, поэтому C# не нужен. Меня удивило что среди госов есть кто-то, кто компитентен в своей области

rtxtxtrx
()
Ответ на: комментарий от rtxtxtrx

Причем тут вера? Работает, значит и язык не тормозной, и с памятью хорошо работает. На таких объемах альтернатива только Dynamodb, но стоимость выходит такая что вся прибыль уйдет Амазону.

Elidee
()
Ответ на: комментарий от rtxtxtrx

Ну C# это, конечно, круто, но скорость разработки на нем оставляет желать лучшего.

По сравнению с чем и для каких задач?

IMHO продуктивнее шарпа только VB.NET, а концептуально они почти одинаковые. C# IMHO больше заточен под крупных разработчиков, а VB.NET идеален для одиночек инди и маленьких стартапов.

sanyo1234
()
Ответ на: комментарий от Elidee

Кажется, у меня получилось привлечь человека понимающего Java.

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

Из действительно крутого на java я знаю только netty (и он используется в Core архитектуре нетфликса, как и кафка). Он хорош потому что использует кучу вещей что и мы в вебе, только на Java. Но сравнений с другими решениями я так и не нашёл, т.е. сравнить что хуже или лучше не могу, они чёт данными не делятся.

Obezyan
()
Ответ на: комментарий от Obezyan

опять же, крупняк как правило не склонен распространяться об устройстве своих кишков, но что-то можно обосновано предположить по косвенным признакам. Скажем, у Wallmart сотни вакансий на spring boot, сойдет за ecommerce с продажами?

arkhnchul ★★★
()
Ответ на: комментарий от Obezyan

Из крутого вспомнил ещё Lufthansa. У них тоже внутри многое на java. А количество самолётов, рейсов, сотрудников и пассажиров можно узнать в Википедии.

Elidee
()
Ответ на: комментарий от sanyo1234

Есть и с gui, есть и без. Самое главное это то что она позволяет писать огромные системы которые действительно работают.

Elidee
()
Ответ на: комментарий от arkhnchul

Так это узкоспециализированный enterprise, доступный только одной сетке (или по блату нескольким)?

А nopCommerce - самый успешный софт (причём бесплатный большей частью) магазина ещё со времён вендового .NET Framework с уникальной программой партнерства и создания расширений. Около 60K работающих online магазинов !

А сейчас с переходом на Linux - он уже вероятно недосягаемый для конкурентов в этой весовой категории.

IMHO шансы против nopCommerce есть только у супер навороченных конструкторов типа Virto (опять же бесплатный open-source), и уже нацелен на enterprise типа вашего Wallmart. И как только они усилят свои позиции по масштабированию, джавистов из Волмарта заставят переучиваться на дотнетчиков как тов. Брежнева, LOL

sanyo1234
()
Последнее исправление: sanyo1234 (всего исправлений: 3)
Ответ на: комментарий от rtxtxtrx

python/ruby/nodejs…elixir - на чем угодно быстрее и веселее

В чём это проявляется?

Мало того, готовые либы Python и Node легко заюзать интеропами из .NET приложений.

sanyo1234
()
Ответ на: комментарий от rtxtxtrx

А как ты так код пишешь, что твое приложение у маакаки девжопса постоянно падает?

Не понял, причём тут моё приложение?

Я предлагал автоматизировать Terraform CDK из .NET языка вместо Go, но меня на смех подняли якобы из-за ненадежности .NET для инфры. Они походу до сих пор размышляют категориями форточного .NET Framework десятилетней давности.

sanyo1234
()
Ответ на: комментарий от sanyo1234

в том что в конторе, где я работал была либа для парсинга Email на 50k строк кода, там нужно было аттачи из писем вытаскивать и тп. А на питоне я написал для этого 500 строчек кода (ага потому что он с богатой стандартной либой). Вот пример из жизни, личного опыта, иллюстрирующий АБСОЛЮТНОЕ ПРЕВОСХОДСТВО

rtxtxtrx
()
Последнее исправление: rtxtxtrx (всего исправлений: 1)
Ответ на: комментарий от sanyo1234

У java есть своя область применения с гуем, но это не веб.

Например, куча IDE, софт для POS терминалов, клиент-банки и тд. Т.е. там где нужна встраиваемость, но (условно) для одного пользователя.

Obezyan
()
Ответ на: комментарий от Obezyan

Вроде бы у банка Авангард клиентский web GUI частично на Java (серверная часть), сделан очень качественно, чувствуется надежность.

sanyo1234
()
Ответ на: комментарий от sanyo1234

При том, что в нем нет полноценной стандартной либы, поэтому надо многое велосипедить. Ну кода писать нужно в 2-3 раза больше минимум. Оно вроде как и не важно, потому что 90% времени думаешь и лишь часик-другой работаешь, но все равно боль и мучения

rtxtxtrx
()
Ответ на: комментарий от sanyo1234

Elastic - входит в ту концепцию что я привёл.

JetBrains - прекрасные IDE, однопользовательские.

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

Obezyan
()
Ответ на: комментарий от rtxtxtrx

При том, что в нем нет полноценной стандартной либы,

IMHO это утверждение неверно, обычно в других ЯП мне очень не хватает как раз .NET либ хотя бы стандартных.

Чего конкретно не хватает?

поэтому надо многое велосипедить.

В крайнем случае как и для любого другого популярного ЯП есть пакетный менеджер nuget с тысячами готовых либ (почти полмиллиона пакетов).

sanyo1234
()
Последнее исправление: sanyo1234 (всего исправлений: 1)
Ответ на: комментарий от Obezyan

Чем больше пользователей тем больше нужно жертвовать универсальностью дробя бизнес-логику, и корень этой проблемы в самой виртуальной машине и её работе с heap.

Не согласен. Один из последних проектов - поиск авиабилетов для аггрегатора. Вся логика поиска маршрута на java. Нагрузка от 2000 запросов в секунду по вторникам-средам до 8000 перед выходными и праздниками. Все прекрасно работает.

Elidee
()
Ответ на: комментарий от Elidee

Спасибо за комментарий, осталось озвучить сколько же памяти используется в итоге на запрос от пользователя и примерно сколько серверов в итоге в региональном кластере и можно делать вывод почему java в распределенном веб не смогла потеснить даже php.

Obezyan
()
Ответ на: комментарий от sanyo1234

На скриптухе их тоже сотни тысяч. Просто сравни питонячий requests с чем угодно на C#:

import requests
r = requests.get(URL)
data = r.json()

А в C#/Java просто так нельзя получить данные, нужно модельки описывать:

public class Repository {
 // ...
}

public static void Main() {
    await using Stream stream =
        await client.GetStreamAsync("https://api.github.com/orgs/dotnet/repos");
    var repositories =
         await JsonSerializer.DeserializeAsync<List<Repository>>(stream);
    // ...
}

Вот поэтому и в разы больше кода писать, а еще нету репла чтобы какую-нибудь функцию по быстрому набросать и проверить.

rtxtxtrx
()
Ответ на: комментарий от Obezyan

Под сотню подов в k8s кластере. А вот сколько памяти уходит на запрос пользователя - никто не считает. Считают сколько денег принес пользователь в среднем купив билеты и соотносят с расходами, в том числе и на инфраструктуру. И тут все хорошо.

Elidee
()
Ответ на: комментарий от Elidee

Вопрос вдогонку, внутренний архитектор спрашивает, не рассматривали ли возможность расчёта маршрута не на Java, а напрямую в БД используя geo types. Т.е. не вытаскиванием данных из БД и их перемалыванием, а сразу запросами или хранимыми процедурами. Да, реализация будет дольше, но работать будет быстрее.

Obezyan
()
Ответ на: комментарий от rtxtxtrx

Сравниваешь несравнимое, в C# тоже можно без main:

string data = (new WebClient()).DownloadString(URL);

sanyo1234
()
Ответ на: комментарий от Elidee

Ну не хотите признаваться про память - не надо. Будем считать что бизнес не считает затраты.

Могу только сказать что такую нагрузку на PHP осилит примерно 15-20 серверов, те примерно в 5-7 раз меньше. Это собсно все что нужно понимать о Java в вебе.

Obezyan
()
Ответ на: комментарий от Obezyan

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

Elidee
()
Ответ на: комментарий от Obezyan

Памяти от 8-16гб в каждом поде. Естественно стоит автоскейлинг.

А я вот сомневаюсь что:

  • такую систему на PHP можно написать
  • И если ее написать то можно поддерживать и развивать хотя бы на протяжении 10 лет

Ну и опять же основные расходы это не сервера, а сотрудники, реклама и т.д.

Elidee
()
Последнее исправление: Elidee (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.