Имя: Пароль:
IT
 
1С, Java, Kotlin. Управление НСИ с раздачей по API.
,
0 GANR
 
31.10.19
19:58
1. 1С 100% (1)
2. Java 0% (0)
3. Kotlin 0% (0)
Всего мнений: 1

Как Вы считаете, на чем лучше разработать систему управления НСИ. Вот список источников НСИ:
1. Справочники с ftp://free:[email protected]/fcs_nsi/ .
2. ФИАС https://fias.nalog.ru/Updates.aspx .
3. ЕГРЮЛ/ЕГРИП - закрытый ftp-ресурс.
4. Самопальные системы, кидающие данные на РЕСТ-ы НСИ.

Обновление НСИ в базе по расписанию ежедневно с поддержкой версионирования по дате. 5000 потребителей, нужен полнотекстовый поиск информации в таких справочниках, как ФИАС, ЕГРЮЛ и ЕГРИП. 1С или Java/Kotlin и почему?
1 Garykom
 
гуру
31.10.19
20:16
(0) Лучше писать на том что лучше подходит для задачи из того что хорошо знаешь.

ЗЫ
Я бы писал на Golang, ибо подходит идеально и уже хорошо знаю.
2 Garykom
 
гуру
31.10.19
20:20
1С кстати не подходит ибо не потянет 5000 потребителей на разумном по цене железе.

Java подходит, но вот Kotlin это больше для Android.
Да можно смешивать Kotlin/Java в одном проекте но это изврат с точки удобства и доработки/поддержки.
3 GANR
 
31.10.19
20:23
(2) [Kotlin это больше для Android.] Чем именно Java лучше Kotlina? Вроде та же Java, только компактнее.
4 Лефмихалыч
 
31.10.19
20:26
(0) на чем умеешь, на том и пиши
5 CrushBy
 
31.10.19
20:28
А 5000 потребителей на 1С это как ? 5.000 пользовательских лицензий покупать ?
6 Garykom
 
гуру
31.10.19
20:29
(3) К сожалению нет, чтобы писать на Котлине сначала придется хорошо выучить Джаву.
Потому что либы нужны а их тупо на Котлине пока нет, придется на Джаве брать.

В итоге очень мало смысла от Котлина пока, да писать быстрее но фактически код как на Скала конвертится в Джава байт код, можно и в Джава нативный код конвертить.
7 GANR
 
31.10.19
20:34
(6) [Потому что либы нужны а их тупо на Котлине пока нет, придется на Джаве брать.] Так Java-библиотеки без проблем к программам на Kotlin-е подключаются. В чем же загвоздка?
8 H A D G E H O G s
 
31.10.19
20:35
(6) Легким нажатием сочетания кнопок Java превращается в Kotlin
9 Garykom
 
гуру
31.10.19
20:36
(7) А разбираться как эти библиотеки использовать кто будет? Когда все примеры на Java.
И бывает приходится в либах ковыряться, например вот пилишь ты чтение dbf и тут оппа.
Либу писал англичанин и даже не подумал о том что есть на свете кириллица ))
10 Garykom
 
гуру
31.10.19
20:37
(8) Хрена с два превращается, вот Котлин в Джаву да превращается.
Джаву в Котлин можно только нечто из базовой Джавы.
11 Garykom
 
гуру
31.10.19
20:39
12 GANR
 
31.10.19
20:43
(10) [Хрена с два превращается] Хотите сказать, главная трабла в том, что может возникнуть надобность допиливать Java-код?
13 Ник080808
 
31.10.19
20:50
(0) 1с + веб клиент шоб за лицензии не платить)

14 Garykom
 
гуру
31.10.19
20:51
(12) Хочу сказать что не парьтесь и пишите на чистой Java используя только готовые либы на Kotlin целиком.
Т.е. надо правильно продумывать структуру проекта и его разделение для смешанной разработки Java/Kotlin.

А лучше писать на чем то ином.
Имхо для задачи нет ничего лучше Golang, мое мнение не голословное а как программиста который писал и на Java и пробовал на Kotlin. Про разные C#/.Net которые тоже хорошо знаю и речи нет.

Еще есть вариант NodeJS но это когда под рукой есть JS спецы и хочется чтобы бэк/фронт были на чем то одном.
Если такой задачи нет как в данном случае где по сути только бэк, то или Golang или Python пока наилучший выбор. Питон я не люблю, хотя сильная местами штука.
15 GANR
 
31.10.19
21:00
(13) А полнотекстовый поиск и 5000 юзеров? Даже если от наворотов БСП при начале сеансов избавить достаточно ли быстро сможет стартовать подключение к РЕСТ-ам?
16 Garykom
 
гуру
31.10.19
21:00
(14)+ Кста у Golang есть огромный плюс, оно компилируется в бинарники, не требующие ничего для работы допом. Кросслатформенная компиляция, можно писать/собирать на винде под линукс и наоборот.
Java/Kotlin хочет JRE, для C# надо .Net/Mono, для Python/PHP тоже их интерпретатор ставить как и для NodeJS.
А и никакого веб-сервера на Golang не надо, этим похоже на NodeJS. Просто бинарник запускается и он слушает порт.
Для микросервисной архитектуры просто идеально. А микросервисная идеальна для задачи (0).
17 GANR
 
31.10.19
21:03
(16) Коллега тоже хвалил Go.
18 ДенисЧ
 
31.10.19
21:04
Просто оставлю это здесь...

Содержимое папки d:\Go\Work\Hello World

10.10.2019  21:10    <DIR>          .
10.10.2019  21:10    <DIR>          ..
10.10.2019  21:10         2 074 624 hello.exe
13.05.2019  08:28               379 hello.go
               2 файлов      2 075 003 байт
19 Garykom
 
гуру
31.10.19
21:04
(17) Угу штук потрясная для своей задачи, вот глянь это https://github.com/Garykom/akstat.ru было наваяно за несколько часов.
Тут работа с БД и реализация API.
20 Garykom
 
гуру
31.10.19
21:07
(18) Да есть такой минус, от размера бинарника можно офигеть.
Как и от размера использования RAM.
Но ты еще добавь сюда (или вычти) размер веб-сервера того же apache или nginx, который часто требуется для работы кода на других языках. А еще есть виртуальные машины для Java/C# или интерпретатор который тоже место занимает.

Когда у тебя контейнеры (докер или нечто вроде) это гм.
21 Ник080808
 
31.10.19
21:07
(14) твое мнение не объективное - ты фанат го) (15) а зачем тебе там бсп?
22 Garykom
 
гуру
31.10.19
21:09
(21) Фанатом Go я стал после того как изучил многие другие языки/технологии.
И только для конкретной задачи производительного бэка, который потом еще пилить и пилить.
23 Garykom
 
гуру
31.10.19
21:10
(22)+ Кста недолго побыл фанатом node.js до того как столкнулся с офигенными граблями в нем.
24 GANR
 
31.10.19
21:12
(21) Мне просто интересно насколько шустрее без БСП REST/Web-сервисы работать будут. Ни разу без неё их не делал.
(19) А есть ли под Go аналог Apache Camel (библиотека интеграции)? В 3-5 строчек кода позволяет по расписанию взять zip-файл с ftp, распаковать его и на РЕСТ содержимое отправить.
25 Ник080808
 
31.10.19
21:17
(24) ты неправильно решаешь задачу. Что это за сервис, кто ты в этой организации - штатный сотрудник или внешний на проект? кто это будет поддерживать и обслуживать?
26 GANR
 
31.10.19
21:23
(25) Мы - системный интегратор, я - разработчик, конечный потребитель - бюджетные организации, поддерживать будем мы (по крайней мере первое время).
27 Ник080808
 
31.10.19
21:27
(26) право собственности на сервис у кого будет? кто потом будет это сопровождать? что бы не получилось что заказчик заказал, вы сделали сервис а потом разошлись с ним и заказчик в мыле ищет специалиста по какому нибудь стеку и найти не может.
28 Garykom
 
гуру
31.10.19
22:08
(24) >аналог Apache Camel (библиотека интеграции)
https://github.com/go-kit/kit

Но имхо golang немного по другому устроен и применяется, там нет сложных XML описаний (если их сам не напишешь) там кодом.
Причем предполагается для каждой отдельной задачки свой микросервис и еще один который использует предыдущие.
Т.е. в любой момент можно любое узкое место переписать/заменить не останавливая работающую систему.

>по расписанию взять zip-файл с ftp, распаковать его и на РЕСТ содержимое отправить
Тут один микросервис берет с фтп, другой взятое распаковывает/трансформирует/пишет в базу и третий который готовое (например из базы) на rest выдает.
А по какому расписанию и что запускать четвертый управляет по расписанию или аля админка.
29 Garykom
 
гуру
31.10.19
22:09
(28)+ Прикол состоит в том что можно согласовать интерфейсы и поручить 4-м прогам разным сразу одновременно писать код.
И в любой момент добавить/расширить/допилить - заменить один из микросервисов.
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн