|
|
|
class файлы
|
|||
|---|---|---|---|
|
#18+
Всем привет! Никогда ничего не писал на Java и не планирую, но возникла задача, разобраться с тем как работает этот API . Конкретно интересует: как осуществляется взаимодействие между клиентом и сервером и затем попробовать реализовать аналогичное на другом языке программирования? Вижу в архивах java, jar и class-файлы. В class файлах находится описание интерфейсов, функций, методов и т.д. Например, интересует интерфейс com._1c.v8.ibis.admin.client.IAgentAdminConnector, у которого есть функция connect. Я пробовал Bytecode Viewer, Java Decompiler, а так же пытался открывать эти файлы в Eclipse IDE. Все они показывают только названия функции, интерфейсов и прочего, но не сам код. Судя по размеру и содержимому class файлов его там и нет, но в тоже время из README понятно, что данный код можно скомпилировать (в ANT) и он будет работать, значит код все-таки есть? Есть возможность посмотреть что делает эта функция и как? -------------------------------------------------------------- o(O_O)o ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2018, 15:41 |
|
||
|
class файлы
|
|||
|---|---|---|---|
|
#18+
Там всё есть IAgentAdminConnector это интерфейс. А AgentAdminConnector - его реализация. Смотрите в других jar файлах тоже. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2018, 15:53 |
|
||
|
class файлы
|
|||
|---|---|---|---|
|
#18+
CerebrumКонкретно интересует: как осуществляется взаимодействие между клиентом и сервером и затем попробовать реализовать аналогичное на другом языке программирования? А это легально? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2018, 16:03 |
|
||
|
class файлы
|
|||
|---|---|---|---|
|
#18+
BlazkowiczА AgentAdminConnector - его реализация спасибо за совет BlazkowiczА это легально? Это уже второй вопрос Я не собираюсь его модифицировать, только использовать то, что уже доступно разработчику. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2018, 16:12 |
|
||
|
class файлы
|
|||
|---|---|---|---|
|
#18+
CerebrumЯ не собираюсь его модифицировать, только использовать то, что уже доступно разработчику. Ну, там, вроде, не так всё просто. TCP сокет а поверх него навернут какой-то свой протокол. Пересоздавать реализацию без документации на протокол будет ещё тем весельем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2018, 16:19 |
|
||
|
class файлы
|
|||
|---|---|---|---|
|
#18+
Согласен, но должен же я начальству объяснить аргументировано, что это нецелесообразно :) А то получается разговор: - почему не получится? - это слишком сложно / я не знаю как это сделать / хз короче... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2018, 16:30 |
|
||
|
class файлы
|
|||
|---|---|---|---|
|
#18+
CerebrumСогласен, но должен же я начальству объяснить аргументировано, что это нецелесообразно :) А то получается разговор: - почему не получится? - это слишком сложно / я не знаю как это сделать / хз короче... Сразу в деньги переводи. Объем кода для reverse engineering такой-то. В среднем столько-то кода проанализирую и задокументирую за час. Выходит столько-то человеко-часов, соответсвенно столько-то денег. Плюс написание документации. Не хотят же они чтобы всё изученое хранилось только в голове? Они когда в деньгах видят, сразу быстрее соображают стоит оно того или нет. Лично я не понимаю зачем такой геморрой, не уже ли так дорого JVM поднять на целевой платформе? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2018, 16:37 |
|
||
|
class файлы
|
|||
|---|---|---|---|
|
#18+
BlazkowiczЛично я не понимаю зачем такой геморрой, не уже ли так дорого JVM поднять на целевой платформе? Да не в этом дело Есть проект, большой. Гораздо больше и сложнее этого. Написан и поддерживается на другом языке. Нужно бесшовно интегрировать функционал этого API в него или, по крайней мере, разобраться реально ли это сделать в принципе в разумные сроки, а я ни бум-бум в java и переписывать все это в одно лицо - лучше застрелиться. Мне нужно было просто самому для себя понять на чем базируется данный API, как работает, как взаимодействует. Если бы оказалось, что там под капотом известные мне фичи, то я бы задействовал уже наработанный функционал и не парился. Но тут видимо несколько все сложнее, чем все думали... не кошмар и ужас, конечно, но времени понадобится порядочно, чтобы все это окучить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2018, 16:51 |
|
||
|
class файлы
|
|||
|---|---|---|---|
|
#18+
CerebrumBlazkowiczЛично я не понимаю зачем такой геморрой, не уже ли так дорого JVM поднять на целевой платформе? Да не в этом дело Есть проект, большой. Гораздо больше и сложнее этого. Написан и поддерживается на другом языке. Нужно бесшовно интегрировать функционал этого API в него или, по крайней мере, разобраться реально ли это сделать в принципе в разумные сроки, а я ни бум-бум в java и переписывать все это в одно лицо - лучше застрелиться. Мне нужно было просто самому для себя понять на чем базируется данный API, как работает, как взаимодействует. Если бы оказалось, что там под капотом известные мне фичи, то я бы задействовал уже наработанный функционал и не парился. Но тут видимо несколько все сложнее, чем все думали... не кошмар и ужас, конечно, но времени понадобится порядочно, чтобы все это окучить. Всё равно не понятно что за "бесшовно интегрировать". Типичная задачи интеграции. Наняли Java прогера, он вам за день напишет обертку для этого API, хоть в SOAP, хоть в JSON. И вызывайте из своего проекта сколько хотите. Бенефиты от "бесшовности" околонулевые. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2018, 16:54 |
|
||
|
class файлы
|
|||
|---|---|---|---|
|
#18+
BlazkowiczВсё равно не понятно что за "бесшовно интегрировать". Типичная задачи интеграции. Наняли Java прогера, он вам за день напишет обертку для этого API, хоть в SOAP, хоть в JSON. И вызывайте из своего проекта сколько хотите. Бенефиты от "бесшовности" околонулевые. профит есть, хотя бы в том, что будет легче отлаживать свой, а не чужой код в случае проблем и поддерживать все это тоже гораздо проще, если потребуется доработка. Другой вопрсос: чтобы я мог предложить альтернативный вариант развития событий я и должен был ознакомится с проектом сам. Мне главное - не выглядеть полным дебилом, которому поручили задачу, а он даже не попытался вникнуть что там и как. А так я с чувством, с толком, с расстановкой объясню что и как должно быть, чтобы не тратить полгода на переписывание того, что уже реализовано и в ближайшем будущем поменяется еще раз (у разработчика сего API уже есть планы на этот счет) еще раз спасибо за участие ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2018, 17:05 |
|
||
|
class файлы
|
|||
|---|---|---|---|
|
#18+
Cerebrum, Если там еще каким-нибудь еще обсфуркатором все перелопачено, то "забей". А так. По идее рядом где-то должны лежат примеры и документация как использовать API. Поэтому проще для этого случая написать на Java (ЯП то не сложный) и вывести как и советовали в SOAP или REST. P.S. Можете поискать JVM ЯП которые похож на используемый вами ЯП и попробовать написать на нем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2018, 05:41 |
|
||
|
class файлы
|
|||
|---|---|---|---|
|
#18+
Cerebrum, Лучше избегать постановки реверс инжиниринга. Это задача очень рисковая и для бизнеса нетипичная. Самый главный аргумент против это отсутствие исходников от создателя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2018, 09:08 |
|
||
|
class файлы
|
|||
|---|---|---|---|
|
#18+
Cerebrumпрофит есть, хотя бы в том, что будет легче отлаживать свой, а не чужой код в случае проблем и поддерживать все это тоже гораздо проще, если потребуется доработка Проще поддерживать хакерским образом сделанный код, работающий непонятно как с недокументированным протоколом, который в любом момент могут изменить в следующих версиях продукта, чем Код работающий со стандартной и документированной библиотекой (API) поддерживаемой производителем софта ? С такими талантами нужно вирусы-майнеры писать и банковские системы взламывать. А не в бизнес-программирование прозябать ))). IMHO ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2018, 10:19 |
|
||
|
class файлы
|
|||
|---|---|---|---|
|
#18+
посмотрел. это только админский клиент с ограниченным функционалом. сервера тут нет. все сделано как расширение netty. поэтому для полного понимания как работает именно этот проект, необходимо понимание как функционирует и расширяется netty. автор Конкретно интересует: как осуществляется взаимодействие между клиентом и сервером и затем попробовать реализовать аналогичное на другом языке программирования? тогда конкретно, могу посоветовать использовать http://www.sql.ru/forum/1285842-a/blackbox-multiyazychnyy-generator-ishodnogo-koda-obrabotki-binarnogo-protokola] BlackBox . Он сделает всю грязную работу по протоколу обмена. авторНикогда ничего не писал на Java и не планирую, но не нравится JAVA? В BlackBox помимо JAVA ещё есть С# и C.. ещё есть SWING( пока экспериментальная версия). С++ нету и пока не планируется. при наличии С, никому не интересно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2018, 06:51 |
|
||
|
class файлы
|
|||
|---|---|---|---|
|
#18+
Cheblinтогда конкретно, могу посоветовать использовать http://www.sql.ru/forum/1285842-a/blackbox-multiyazychnyy-generator-ishodnogo-koda-obrabotki-binarnogo-protokola] BlackBox . Он сделает всю грязную работу по протоколу обмена. Я посмотрел твои сорцы и не нашел там реализации функционала. Насколько я понимаю ты предлагаешь использовать аннотации и предлагаешь свои услуги по генерации исходного кода на основе этого в "почтовом" режиме. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2018, 09:08 |
|
||
|
class файлы
|
|||
|---|---|---|---|
|
#18+
Cheblinне нравится JAVA? ничего против нее не имею, просто никогда не учил этот язык и не планировал других задач хватает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2018, 09:18 |
|
||
|
class файлы
|
|||
|---|---|---|---|
|
#18+
Cheblinпосмотрел. это только админский клиент мне он и нужен: разобраться как работает, что посылает серверу, в каком виде принимает ответы и т.д. Серверная сторона меня не интересует ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2018, 09:19 |
|
||
|
class файлы
|
|||
|---|---|---|---|
|
#18+
Cheblinвсе сделано как расширение netty подозреваю, что используется просто для организации SSL/TLS, ну и как организатор базового сетевого транспорта, т.к. в 1С-ке кроме сокетов ничего считай и нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2018, 09:23 |
|
||
|
class файлы
|
|||
|---|---|---|---|
|
#18+
maytonЯ посмотрел твои сорцы и не нашел там реализации функционала. да, функционала конкретно под 1С там нет. просто прочитав это сообщение Cerebrum затем попробовать реализовать аналогичное на другом языке программирования подумал что автору нужно не именно 1c , ниже стало понятно что все же нужно именно 1с maytonНасколько я понимаю ты предлагаешь использовать аннотации аннотации служат для описания данных которые нужно передавать, а затем на основе этого описания генерируется исходники на нужных языках программирования, для обработки этого протокола. mayton предлагаешь свои услуги по генерации исходного кода на основе этого в "почтовом" режиме. верно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2018, 09:40 |
|
||
|
class файлы
|
|||
|---|---|---|---|
|
#18+
CerebrumCheblinвсе сделано как расширение netty подозреваю, что используется просто для организации SSL/TLS, ну и как организатор базового сетевого транспорта, т.к. в 1С-ке кроме сокетов ничего считай и нет. ну так оно и есть. в обсуждаемых JAVA либах никаких лицензий не прописано. Только механизмы хранения и передачи лицензии при подключение к 1С серверу. Поэтому ломать там нечего. У Вас 2 выхода. 1) реверс инжиниринг протокола и затем написание своего клиента на нужном языке програмирования 2) создание и поднятие своего сервера на стороне где 1С, который через COM управляет 1С. проще всего это сделать на C#. примеров такого в интернетах навалом. А управлять этим сервером через BlackBox . советую второй вариант. будет лучше. уже посмотрел как внутри сделано в обсуждаемых либах - тощниловка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2018, 09:52 |
|
||
|
class файлы
|
|||
|---|---|---|---|
|
#18+
Cheblinmayton предлагаешь свои услуги по генерации исходного кода на основе этого в "почтовом" режиме. верно. Я-бы настаивал на том чтобы вы сейчас и впредь не использовали этот форум как платформу для продвижения своих услуг. Но если вы откроете исходный код - your welcome. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2018, 10:09 |
|
||
|
class файлы
|
|||
|---|---|---|---|
|
#18+
maytonи впредь не использовали этот форум как платформу для продвижения своих услуг.+1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2018, 10:21 |
|
||
|
class файлы
|
|||
|---|---|---|---|
|
#18+
maytonЯ-бы настаивал на том чтобы вы сейчас и впредь не использовали этот форум как платформу для продвижения своих БЕСПЛАТНЫХ услуг. Но если вы откроете исходный код - your welcome. весь код, кроме кодогенератора, открыт. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2018, 12:21 |
|
||
|
class файлы
|
|||
|---|---|---|---|
|
#18+
кстати со мной только что связался один из разработчиков Kaitai Struct после реверсинжиниринга, если всетаки выберите такой путь, можете формально описать полученные знания и они генерируют вам необходимый код ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2018, 12:25 |
|
||
|
|

start [/forum/moderation_log.php?user_name=Antonian]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
163ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
59ms |
get tp. blocked users: |
2ms |
| others: | 584ms |
| total: | 873ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...