ПЛАТФОРМА ДЛЯ ПОБУДОВИ КЕРОВАНИХ ПОДІЯМИ ДОДАТКІВ НА БАЗІ WOLFRAM MATHEMATICA ТА APACHE KAFKA

Автор(и)

DOI:

https://doi.org/10.30837/ITSSI.2021.16.012

Ключові слова:

керовані подіями додатки, менеджери черги, математичний процесор, хмарні технології, економія ресурсів та коштів, Kafka, Mathematica

Анотація

Стаття присвячена дослідженню та розробці механізму взаємодії програм Wolfram Mathematica із менеджером черги Apache Kafka для надання можливості побудови на його основі керованих подіями додатків. Предметом дослідження є практичні засади побудови механізму взаємодії Wolfram Mathematica із Apache Kafka через сервер-посередник. Метою статті є розробка та обґрунтування практичних рекомендацій щодо формування сервера-посередника та механізму його роботи для публікації повідомлень у чергу Apache Kafka та споживання повідомлень із неї програмами математичного процесору Wolfram Mathematica, що дасть можливість побудови керованих подіями додатків на його основі. Завдання роботи: визначити механізм такої взаємодії, обґрунтувати вибір інструментів для його реалізації, створити та протестувати отриманий результат. У ході дослідження використано засоби: інформаційні технології Apache Kafka, Kafkacat, сервера на базі Ubuntu 20 LTS, спосіб побудови пакету Wolfram Mathematica. Результати дослідження: визначений механізм взаємодії Wolfram Mathematica із Apache Kafka через сервер-посередник та створений відповідний інструментарій на його основі у вигляді двох пакетів Mathematica, що побудовані на використанні bash-скриптів, Apache Kafka та стороннього програмного забезпечення Kafkacat. Перший – для використання на комп’ютері кінцевого клієнта, другий – на сервері обчислень із віддаленим ядром Mathematica. Протестована їх робота. Підтверджено, що на даний момент математичний процесор Mathematica не підходить у чистому вигляді для аналізу даних у реальному часі. Висновки. Розроблені та обґрунтовані практичні рекомендації щодо формування механізму взаємодії математичного процесору Wolfram Mathematica та менеджеру черги Apache Kafka через сервер-посередник для можливості роботи у двох напрямках із чергою: публікації повідомлень та їх читання. Створений інструментарій для такої взаємодії у вигляді двох пакетів Mathematica, продемонстровані їх можливості. Показана економічна вигода від використання описаного інструментарію. Наведені майбутні шляхи його вдосконалення.

Біографія автора

Denis Zolotariov

кандидат фізико-математичних наук

Посилання

Villamizar, M., Garcés, O., Ochoa, L. et al. (2017), "Cost comparison of running web applications in the cloud using monolithic, microservice, and AWS Lambda architectures", SOCA, Vol. 11, P. 233–247. DOI: https://doi.org/10.1007/s11761-017-0208-y

Gutiérrez–Fernández, A. M., Resinas, M., Ruiz–Cortés, A. (2017), "Redefining a Process Engine as a Microservice Platform", In: Dumas M., Fantinato M. (eds) Business Process Management Workshops. BPM 2016. Lecture Notes in Business Information Processing, Vol. 281, Springer, Cham. DOI: https://doi.org/10.1007/978-3-319-58457-7_19

Brogi, A., Canciani, A., Neri D., Rinaldi, L., Soldani, J. (2018), "Towards a Reference Dataset of Microservice-Based Applications", In: Cerone A., Roveri M. (eds) Software Engineering and Formal Methods. SEFM 2017. Lecture Notes in Computer Science, Vol. 10729, Springer, Cham. DOI: https://doi.org/10.1007/978-3-319-74781-1_16

Monteiro, D., Gadelha, R., Maia, P. H. M., Rocha, L. S., Mendonça, N. C. (2018), "Beethoven: An Event-Driven Lightweight Platform for Microservice Orchestration", In: Cuesta C., Garlan D., Pérez J. (eds) Software Architecture. ECSA 2018. Lecture Notes in Computer Science, Vol. 11048, Springer, Cham. DOI: https://doi.org/10.1007/978-3-030-00761-4_13

GitHub (2020), "Ultimate Message Broker Comparison", available at: https://ultimate-comparisons.github.io/ultimate-message-broker-comparison/ (last accessed 10 December 2020).

G2 (2020), "Best Message Queue (MQ) Software in 2021: Compare Reviews on 40+ MQs", available at: https://www.g2.com/categories/message-queue-mq (last accessed 10 December 2020).

GitHub (2020), "Mathworks-ref-arch/matlab-apache-kafka: MATLAB Interface for Apache Kafka", available at: https://github.com/mathworks-ref-arch/matlab-apache-kafka (last accessed 10 December 2020).

Zolotariov, D. (2021), "The mechanism for creation of event-driven applications based on Wolfram Mathematica and Apache Kafka", Innovative Technologies and Scientific Solutions for Industries, No. 1 (15), P. 53–58. DOI: https://doi.org/10.30837/ITSSI.2021.15.053

Stack Overflow (2020), "Kafka bootstrap-servers vs zookeeper in kafka-console-consumer", available at: https://stackoverflow.com/questions/41774446/kafka-bootstrap-servers-vs-zookeeper-in-kafka-console-consumer (last accessed 10 December 2020).

Stack Overflow (2020), "Apache Kafka - bootstrap-server vs zookeeper params in consumer console", available at: https://stackoverflow.com/questions/53954877/bootstrap-server-vs-zookeeper-params-in-consumer-console (last accessed 10 December 2020).

GitHub (2020), "Edenhill/kafkacat: Generic command line non-JVM Apache Kafka producer and consumer", available at: https://github.com/edenhill/kafkacat (last accessed 10 December 2020).

PuTTY (2020), "Download PuTTY - a free SSH and telnet client for Windows", available at: https://www.putty.org/ (last accessed 10 December 2020).

Wolfram (2020), "Wolfram Mathematica: Modern technical calculations", available at: https://www.wolfram.com/mathematica/ (last accessed 12 November 2020).

Wolfram Library Archive (2020), "Remote Kernel Strategies", available at: https://library.wolfram.com/infocenter/Conferences/7250/ (last accessed 10 December 2020).

Zolotariov, D. (2020), "The distributed system of automated computing based on cloud infrastructure", Innovative Technologies and Scientific Solutions for Industries, No. 4 (14), P. 47–55. DOI: https://doi.org/10.30837/ITSSI.2020.14.047

Zolotariov, D. A. (2020), Automation and optimization of scientific and engineering calculations in Wolfram Mathematica, Kharkiv : FOP Panov A.M., ISBN: 978-617-7859-36-8 [In Ukrainian]

Wolfram Language Documentation (2020), "RemoteConnect", available at: https://reference.wolfram.com/language/ref/RemoteConnect.html (last accessed 10 December 2020).

##submission.downloads##

Опубліковано

2021-07-06

Як цитувати

Zolotariov, D. (2021). ПЛАТФОРМА ДЛЯ ПОБУДОВИ КЕРОВАНИХ ПОДІЯМИ ДОДАТКІВ НА БАЗІ WOLFRAM MATHEMATICA ТА APACHE KAFKA. СУЧАСНИЙ СТАН НАУКОВИХ ДОСЛІДЖЕНЬ ТА ТЕХНОЛОГІЙ В ПРОМИСЛОВОСТІ, (2 (16), 12–18. https://doi.org/10.30837/ITSSI.2021.16.012