ОРГАНІЗАЦІЯ БЕЗСЕРВЕРНИХ ОБЧИСЛЕНЬ ДЛЯ РІЗНОПЛАТФОРМНИХ КЛІЄНТІВ

Автор(и)

  • Vitalii Pavelko
  • Oleg Volkovskyy

DOI:

https://doi.org/10.34185/1562-9945-5-124-2019-04

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

безсерверні системи обчислень, синхронізація сесій різноплатформних пристроїв, знімки стану об'єкта

Анотація

Зростання інтересу до безсерверних систем обчислень призвело до стрімкого розвитку можливостей, які надають хмарні провайдери. Але специфічність цієї сфери розробки програмного забезпечення поки що створює деякі проблеми, серед яких:
• слідування вимогам архітектури серверного додатку не дозволяє розширювати sdk таким чином, щоб новий функціонал працював автоматично;
• відсутність API для ефективної синхронізації пристроїв;
• відсутність глобального тригеру для збереження історії змін об'єктів системи.
Метою роботи є вирішення проблем з можливістю розширення існуючого sdk BaaS провайдеру Parse Server автоматичного запуску нового функціоналу.
В ході роботи було використано системний та аналітичний методи дослідження.
У роботі запропоновані алгоритми реалізації синхронізації даних різноплатформних пристроїв та принципи збереження знімків (коммітів) змін об'єктів в системах, у яких в ролі серверу використовується безсерверна система обчислення, реалізована на базі моделі BaaS. Для вирішення задачі були використані принципи прототипного об'єктно-орієнтованого принципу програмування, а також патерни проектування: декоратор, стратегія, event-sourcing, builder, factory. За BaaS провайдер було обрано Parse Server. Розроблені та програмно реалізовані наступні алгоритми: ChangeLogSpy – збереження знімків об'єктів системи без додавання додаткової логіки для класу об'єкта; SyncProvider - реалізація ефективної синхронізації сесій різноплатформних клієнтів; GetAllResultsForQuery - реалізація алгоритму асинхронного отримання всіх результатів запиту.

Посилання

Ryan Linn, Athlas Guides: Sync Efficient [Електронний ресурс]. Режим доступу: https://atlasguides.com/parse-sync-efficient/

Parse Cloud Code Simple [Електронний ресурс]. Режим доступу: https://www.back4app.com/

Parse Cloud Code Hell [Електронний ресурс]. Режим доступу: https://www.eidel.io/2015/11/24/parse-com-cloud-code-hell/

Parse Platform. Docs - [Електронний ресурс]. Режим доступу: https://docs.parseplatform.org/cloudcode/guide/

Завантаження

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

2019-11-25