z-logo
open-access-imgOpen Access
ОРГАНІЗАЦІЯ БЕЗСЕРВЕРНИХ ОБЧИСЛЕНЬ ДЛЯ РІЗНОПЛАТФОРМНИХ КЛІЄНТІВ
Author(s) -
Vitalii Pavelko,
Oleg Volkovskyy
Publication year - 2019
Publication title -
sistemnì tehnologìï
Language(s) - Ukrainian
Resource type - Journals
eISSN - 2707-7977
pISSN - 1562-9945
DOI - 10.34185/1562-9945-5-124-2019-04
Subject(s) - computer science , parsing , operating system , event (particle physics) , database , programming language , physics , quantum mechanics
Зростання інтересу до безсерверних систем обчислень призвело до стрімкого розвитку можливостей, які надають хмарні провайдери. Але специфічність цієї сфери розробки програмного забезпечення поки що створює деякі проблеми, серед яких: • слідування вимогам архітектури серверного додатку не дозволяє розширювати sdk таким чином, щоб новий функціонал працював автоматично; • відсутність API для ефективної синхронізації пристроїв; • відсутність глобального тригеру для збереження історії змін об'єктів системи.Метою роботи є вирішення проблем з можливістю розширення існуючого sdk BaaS провайдеру Parse Server автоматичного запуску нового функціоналу.В ході роботи було використано системний та аналітичний методи дослідження. У роботі запропоновані алгоритми реалізації синхронізації даних різноплатформних пристроїв та принципи збереження знімків (коммітів) змін об'єктів в системах, у яких в ролі серверу використовується безсерверна система обчислення, реалізована на базі моделі BaaS. Для вирішення задачі були використані принципи прототипного об'єктно-орієнтованого принципу програмування, а також патерни проектування: декоратор, стратегія, event-sourcing, builder, factory. За BaaS провайдер було обрано Parse Server. Розроблені та програмно реалізовані наступні алгоритми: ChangeLogSpy – збереження знімків об'єктів системи без додавання додаткової логіки для класу об'єкта; SyncProvider - реалізація ефективної синхронізації сесій різноплатформних клієнтів; GetAllResultsForQuery - реалізація алгоритму асинхронного отримання всіх результатів запиту.

The content you want is available to Zendy users.

Already have an account? Click here to sign in.
Having issues? You can contact us here