Вход | Регистрация
 

1С, Java, Kotlin. Управление НСИ с раздачей по API.

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

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

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

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

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

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

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

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

Еще есть вариант NodeJS но это когда под рукой есть JS спецы и хочется чтобы бэк/фронт были на чем то одном.
Если такой задачи нет как в данном случае где по сути только бэк, то или Golang или Python пока наилучший выбор. Питон я не люблю, хотя сильная местами штука.
   GANR
 
15 - 31.10.19 - 21:00
(13) А полнотекстовый поиск и 5000 юзеров? Даже если от наворотов БСП при начале сеансов избавить достаточно ли быстро сможет стартовать подключение к РЕСТ-ам?
   Garykom
 
16 - 31.10.19 - 21:00
(14)+ Кста у Golang есть огромный плюс, оно компилируется в бинарники, не требующие ничего для работы допом. Кросслатформенная компиляция, можно писать/собирать на винде под линукс и наоборот.
Java/Kotlin хочет JRE, для C# надо .Net/Mono, для Python/PHP тоже их интерпретатор ставить как и для NodeJS.
А и никакого веб-сервера на Golang не надо, этим похоже на NodeJS. Просто бинарник запускается и он слушает порт.
Для микросервисной архитектуры просто идеально. А микросервисная идеальна для задачи (0).
   GANR
 
17 - 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 байт
   Garykom
 
19 - 31.10.19 - 21:04
(17) Угу штук потрясная для своей задачи, вот глянь это https://github.com/Garykom/akstat.ru было наваяно за несколько часов.
Тут работа с БД и реализация API.
   Garykom
 
20 - 31.10.19 - 21:07
(18) Да есть такой минус, от размера бинарника можно офигеть.
Как и от размера использования RAM.
Но ты еще добавь сюда (или вычти) размер веб-сервера того же apache или nginx, который часто требуется для работы кода на других языках. А еще есть виртуальные машины для Java/C# или интерпретатор который тоже место занимает.

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

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

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


Список тем форума
Рекламное место пустует  Рекламное место пустует
Ошибка? Это не ошибка, это системная функция.
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.