Введение
Введение
=Introduction=Cyclos - это многофункциональное решение для интернет-банкинга, которое легко использовать и поддерживать, гибкое, безопасное и высоконастраиваемое. Cyclos isпоставляется aс feature-richнабором onlineбанковских bankingи solutionплатежных thatопций, isполной easyсистемой toэлектронной useкоммерции andи maintain,каналами flexible,доступа secureдля andмобильных highlyустройств customisable.любого уровня. Мобильный канал предлагает масштабируемую и дешевую возможность для банков расширить свой охват и предложить банковское обслуживание без отделений. Cyclos comesиспользуется withместными aбанками, rangeсетями ofC3, bankingMFI, andбартерными payment options, a complete e-commerce system and high and low end mobile access channels. The mobile channel offers a scalable and cheap opportunity for banks to enlarge their outreach and to offer branchless banking. Cyclos is used by local banks, C3 networks, MFI’s, barters,системами, community currencies andи time banks. TheДинамическая dynamic structure ofструктура Cyclos allowsпозволяет organisationsорганизациям to«строить» ‘build’выделенную aплатежную dedicatedсистему paymentс systemнуля, fromпросто scratchизменяя just by changing the configurationконфигурацию (withoutбез theнеобходимости hassleвносить toизменения makeв codeкод).
Этот Thisдокумент documentпредоставляет providesвам youуглубленный withобзор anнаборов in-depthфункций lookCyclos:
Список Cyclos feature sets:функций Cyclos 4
Предоставляет listподробный Providesобзор aмножества detailed overview of the many features ofфункций Cyclos 4. AnЗвездочка asteriskпомещается isпосле placedфункции, afterчтобы theуказать:
- *
PlannedЗапланированныеfeaturesфункции - **
ResearchИсследованияinвprogressпроцессе
Системная информация Cyclos 4
Информация informationо Informationструктурных aboutвопросах, structural issues concerningкасающихся Cyclos (architecture,архитектура, security,безопасность, testing,тестирование, interoperabilityсовместимость andи hosting)хостинг)
Список list=функций
Пользовательские interfaces====интерфейсы
- Веб-интерфейс
- Плагин
*Pluginдляforинтеграции[http://www.cyclos.org/wordpress_pluginсwordpresWordpress - Мобильное
* Mobile Appприложение (Android, iOS) - Мобильный POS (Android, iOS)
- Веб POS
- SMS-операции
- Подключение
operations *по API - POS
&иCardsкарты (NFCподдержкаsupported)NFC) - IVR *
- USSD *
Пользовательские *Registerфункции
- Регистрация
profileпользователя - Обновление
picturesпрофиля - Несколько
profileизображений*Multipleнаaddressesпрофиль - Несколько
definedадресов - Пользовательский
*Geo-locationязык - Геолокация
addressдля каждого адреса (Google Map) - Несколько
phonesтелефонов - Активация
phoneтелефонаforдляSMSSMS-банкинга - Управление
*Manageпаролями - Добавление
*Insertи&управлениеmanageпользовательскимиcustomизображениями - Загрузка
*Uploadи&управлениеmanageдокументами - Настройки
*Notification preferencesуведомлений (perдляchannel)каждого*Manageканала) - Управление
*Userконтактами - Поиск
searchв*Showкаталогеusers/businessпользователей - Показ
Mapпользователей/бизнесов*Searchнаusersкарте - Поиск
distanceпользователей*Searchпоusersрасстоянию - Поиск
groupпользователей по группе /branchфилиалу - Рефералы
referralsдля*Customбизнеса - Пользовательские
formsформы - Пользовательские
userоперации
Удобство *Easyиспользования
- Простая
dashboardнавигация - Персональная
*Quickdashboard-страница - Значки
iconsбыстрых*Quickопераций - Быстрый поиск (
users,пользователи,contacts,контакты,adverts)объявления) - Обзор
overviewстатуса (balances,балансы,lastпоследнийlogin,входetc.и т.д.) - Уведомления
timeвnotificationsреальном*Loginвремени - Вход с помощью userID,
phoneномераnumberтелефонаorили e-mail - Просмотрщик
viewerизображенийwithсnavigationнавигацией - Просмотр
helpфайлаfileсправки
Платежи
- Банковские
userплатежи - Несколько идентификаторов пользователя (
e.g.например,accountномерnumber,счета,mobileмобильныйnumber,номер, email) - Внутренний
paymentплатеж (betweenмеждуownсобственнымиaccounts)счетами) - Массовые
paymentsплатежи - Оплата
externalвнешнему (nonнезарегистрированному)registered)пользователю.user. ByПо emailorилиmobileномеруphoneмобильногоnumber.телефона. - Платежи
paymentsбез PIN-кода (optionalопциональныеtresholds,пороги,e.g.например,maxмаксимальнаяpaymentсуммаamountплатежаandиdailyдневнойlimit)лимит) - Многоуровневое
levelподтверждениеtransaction approvalтранзакций (authorizations)авторизации) - Просмотр
authorisationпотоковflowsавторизации - Показать
transactionдеталиdetailsтранзакции - Cash-in cash-out
- Квалификация транзакций
- Просмотр квалификации других пользователей
- Отмена платежей
- Запланированные платежи (рассрочка)
- Погашение кредита *
Qualify - Запросы платежей
- Платежи в интернет-магазине
Банкинг
- Несколько валют
- Номера счетов (собственный формат или стандартный, например, IBAN)
- Кредиты *
View - Демередж
- Проценты
- Комиссии
usersза транзакции - Настройка пользовательских условий для применения комиссий
- Плановые комиссии (взносы)
- Комиссии брокера
- Программы лояльности
- Кредитный лимит группы
- Индивидуальный кредитный лимит
- Журнал изменений кредитного лимита
- Обзор кредитов и поиск
- Сберегательные счета *
Roll-back - Минимальная
*Scheduledсуммаpaymentsплатежа(installments)за*Loan repayment * *Payments requests *Web-shop payments ====Banking==== *Multiple currencies *Account numbers (own format or standard, e.g. IBAN) *Loans * *Demurrage *Interest *Transaction fees *Set custom conditions for fee applicability *Scheduled fees (contribution) *Brokering fees *Loyalty programs *Group credit limit *Individual credit limit *Credit limit change log *Credit overview & search *Savings accounts * *Minimum payment amount per paymentплатеж /dayдень - Максимальная
paymentсуммаamountплатежаperзаpaymentплатеж /dayдень - Ограничение
destinationназначенияof paymentsплатежей (accounts,счета,users)пользователи) - Правила
rulesдоступаperдляpaymentкаждогоtypesтипа*Paymentплатежей - Запросы
*Uniqueплатежей - Уникальный
IDидентификаторperтранзакцииtransactionдля*Createкаждойcustomтранзакции - Создание
fieldsпользовательских*Uniqueполейpaymentплатежа - Уникальные
perнастройкиchannelплатежей для каждого канала (SMS,SMSetc.и т.д.) - Системные
accountsсчета (debit,дебетовые,community,сообществаetc.и т.д.)
Информация *Viewо accountсчете
- Просмотр
currentсводкиbalanceпо*Viewсчету - Просмотр
&текущегоfeesбаланса - Просмотр
paymentсборовhistoryи*Printкомиссий - Просмотр
exportисторииpaymentsплатежей - Печать
paymentsи экспорт платежей - Поиск платежей (
user,пользователь,date,дата,description,описаниеetc.и т.д.) - Просмотр
paymentдеталейdetailsплатежа - Печать
paymentдеталейdetailsплатежа - Динамические
paymentфильтрыfiltersплатежей - Просмотр
averageсреднегоageвозрастаofбалансаaccountсчета - Просмотр
*Viewсреднейaverageзрелостиmaturityбалансаofсчета
Операторы ====Accountсчета
- Создание
manageгруппoperator groupsоператоров (byпользователемbusinessбизнес-типа) - Определение
user)разрешений*Defineдляpermissionsотдельныхforоператоровindividualилиoperatorsгруппorоператоров - Обзор
groupsоператоров - Показ
overviewтранзакций*Showпоtransactionsоператору - Отключение
operatorоператора
Конфигурация ====Systemсистемы
- Многосетевая
network setupнастройка (sharedобщийinstance)экземпляр) - Определение
branchesфилиалов (groupsets) - Определение URL (
domainдоменноеname)имя)forдляnetworksсетейandиbranchesфилиалов - Настройка
groupвидимостиandгруппыbranchиvisibilityфилиала - Локализация (
language,язык,formatting,форматирование,timezone)часовойperпояс)groupдля каждой группы /branchфилиала - Установка
permissionsразрешений - Создание
localлокальныхaccountадминистраторовadministratorsсчетов - Пользовательские
filtersфильтрыforдляusersпоискаandпользователейadvertisementsиsearchesобъявлений - Создание
newновыхaccessканаловchannelsдоступа - Определение
generatedгенерируемогоloginимениnameдля====Agentsвхода
Агенты / Brokers====Брокеры
- Несколько
perброкеровuserна*Setпользователя - Назначение
brokerосновного*Registerброкера - Регистрация
usersновых*Manageпользователей - Управление
dataпользовательскими данными (profiles,профили,adverts)объявления) - Выполнение
operationsоперацийasотuserимени*Defineпользователя - Определение
permissionsправ*Sendброкера - Отправка
toрассылки‘my«моимusers’пользователям» - Просмотр
connectedподключенныхusersпользователей - Получение
notificationsуведомленийaboutоusersпользователях - Управление
passwordsпаролямиofпользователя - Управление
*Manageдоступомuserпользователя - Комиссия
*Brokerброкера
Управление management====пользователями
- Регистрация
*Disconnectпользователя - Отключение
*Blockпользователя - Блокировка /
unblockразблокировкаuserпользователя - Отключение /
enableвключениеuserпользователя - Удаление
userпользователя - Смена
groupгруппы - Предоставление
individualиндивидуальныхpermissionsразрешений (product)продукт) - Выполнение
actionsдействийinотbehalfимениofпользователя - Активация
*Activate«ожидающих»‘pending’ usersпользователей (publicпубличнаяregistration)регистрация) - Отправка
messageсообщенияtoпользователю - Отправка
*Sendсообщенияmessageгруппе - Просмотр
groupподключенных*View connected usersпользователей (perдляuserкаждойrole)роли*Showпользователя) - Показ
activitiesактивности*Filterучастников - Фильтр
branchпоregionрегиону*филиала - Функции CRM
features(записи(userпользователей) - Комментарии
*Userпользователей,comments,поискhistoryпоsearchистории - Определение
registrationсоглашенияagreementо*Viewрегистрации - Просмотр
agreementисторииhistoryсоглашений*Manageпользователя - Управление
*Uploadдокументами - Загрузка
*Showдокументов - Показ
*Showагентов/брокеров - Показ
ofпользователейagent/brokerагента/брокера
Онлайн-маркетплейс
- Создание /
editредактированиеadvertisementобъявления - Несколько
picturesизображенийperдляadvertisementобъявления - Текст
textсforформатированиемadvertisementдляeditingредактирования*Scheduleобъявления - Планирование
*Selectобъявления - Выбор
perадресаadvertisementдля*Customкаждогоsearchобъявления - Пользовательские фильтры поиска (
e.g.например,offersпредложения /demands)спрос) - Список
newновыхadvertisementsобъявлений - Просмотр
browsingпо*Multipleкатегориям - Несколько
categoriesкатегорий*Createобъявлений - Создание
categoriesкатегорий*Geolocationобъявлений - Поиск по геолокации (
distanceфильтрfilter)расстояния) - Связаться
sellerс*Publicпродавцом - Публичные
questions/answersвопросы/ответы*Notificationпоonобъявлению - Уведомление
statusобchangeизменении*Customстатусаadvertisementобъявления - Пользовательские
*Advertisementполяmatchingобъявления - Уведомления
====Giftоvouchersсоответствии объявления
Подарочные ваучеры / LoyaltyБаллы points====лояльности
- Создание
manageиvouchersуправлениеtypesтипами*Setваучеров - Настройка
redeemingпараметровoptionsпогашения ваучеров (e.g.например,possibleвозможныеweekdays)дни*Defineнедели) - Определение
layoutмакета ваучера (logo)логотип) - Генерация
codeQR-кода - Печать
*Printи&экспортexportваучеров - Покупка
*Buyи&печатьprintваучераvoucherпользователем - Обзор
userваучеров*Vouchersиoverviewпоиск&администратором - Просмотр
byмоихadminваучеров*View my vouchers by userпользователем (WebВебandиMobile)Мобильный)
Управление *Intuitiveконтентом
- Интуитивный дизайн сайта (
colorподборpickers)цветов) - Несколько
websitesвеб-сайтов (perдляgroupкаждой группы /branch)филиала) - Создание
newновыхmenuпунктовitemsменю - Управление
contentконтентнымиpagesстраницами - Создание
&иmanageуправлениеbannersбаннерами - Управление
footers/headersнижними/верхними*Manageколонтитулами - Управление
boardдоской*Uploadсообщений - Загрузка
*Defineлоготипов - Определение
forлоготипа/заголовкаpdfдляpagespdf-страниц (e.gнапример,reports)отчеты) - Создание
newновыхthemesтем (styles,стили,colorsцветаandиimages)изображения) - Импорт /
exportэкспортthemesтем
Переводы
- Несколько переводов (
languages)языков)perвsystemсистеме - Инкрементальные
translationключиkeysперевода (onlyсохраняютсяsaveтолькоcustomisations)пользовательские*Onlineнастройки) - Онлайн-управление
managementпереводами - Просмотр
browsingпо*Searchкатегориям - Поиск
translation keysключей /valuesзначений*Updateперевода - Обновление
keysключей /valuesзначений====Analyticsперевода
Аналитика *Dataи onотчетность
- Данные
onоincomeрасходах - Данные
ofоloginsдоходах - Количество
numbersвходовofвusersсистему - Количество
ofпользователейusersвnotгруппах/филиалах - Процент
*Accountпользователей,informationне*Advertisementsведущих*Referencesторговлю - Информация
management====об*Createучетнойnetworksзаписи - Объявления
- Ссылки
Управление multiсистемой
- Создание
*Fullyсетей - Создание
searchesсистемных*Setадминистраторов - Создание
timeoutадминистраторов*Createнесколькихnewсетей - Полноиндексированный поиск
- Установка времени ожидания сеанса
- Создание новых (
custom)пользовательских)accessканаловchannelsдоступа - Создание
&иmanageуправлениеdocumentкатегориямиcategoriesдокументов - Импорт
usersпользователейfromизfileфайла - Создание
newновыхcredentialтипов учетных данных (password)паролей) - Отправка
*Searchвengineпоисковыеsubmissionсистемы (SEO)
Обмен richсообщениями
- Отправка
toсообщенияuserпользователю*Sendсbulkформатированнымmessagesтекстом - Отправка массовых сообщений (
mailings)рассылок)byадминистраторомadminилиorагентом - Определение
*Defineкатегорийmessage categoriesсообщений (perдляuserкаждойgroup)группы*Forwardпользователей) - Пересылка
messagesвнутреннихtoсообщений на e-mail - История
historyсообщений (inbox,входящие,sent,отправленные,trash)корзина) - Очистка
messagesсообщенийinвtrashкорзинеafterчерезperiodпериод (automatedавтоматическаяtask)задача) - Электронные
toсообщенияmemberмеждуemailучастниками
Корзина cart====покупок
- Управление
*Stockнесколькимиmanagementмагазинами - Управление
ofзапасами - Предупреждение
warningоб*Productотсутствииnumberтовара - Управление
*Defineномерамиdeliveryпродуктов - Определение
*Defineадресаshippingдоставки - Определение способов /
pricesцен*Defineдоставки - Определение
deliveryрасчетногоtimeвремени*Promotionalдоставки - Рекламная
*Priceцена - Процесс
processсогласования*Displayцены - Отображение
quantitiesдоступных*Productколичеств - Комментарии
*Orderкtrackingпродукту - Отслеживание
commentsзаказа - Добавление
orderкомментариев*Displayкcartзаказу - Отображение
*Placeсодержимогоorderкорзины - Размещение заказа (
checkout)оформление) - Принятие /
rejectотклонениеorderзаказа - Генерация
numberномераgenerationзаказа - Просмотр
purchasesисторииhistoryпокупок - Уведомления
onобorderизмененииstatusстатусаchangesзаказа - Сохраненная
shoppingкорзинаcartпокупок (inвtheбазеdatabase)данных)
Пароли authentication====и *Loginаутентификация
- Пароль
passwordдля*Verificationвхода - Пароль для транзакций
- Код подтверждения (OTP)
- Смена
PINPIN-кода - Ввод CAPTCHA
inputвonпубличныхpublicформах - Полная
*Completeвиртуальнаяvirtual keyboardклавиатура (optional)опционально) - Умная
secureбезопаснаяvirtualвиртуальнаяkeyboardклавиатура (optional)опционально) - Восстановление
passwordпароля (optional)опционально)
SMS-банкинг
- Регистрация
userновогоbyпользователя по SMS - Получение
accountинформацииinformationо*Retrieveсчете - Получение
detailsдеталей*Makeплатежа - Совершение
*Activateплатежа - Активация
viaтелефона через SMS (confirmationкодcode)подтверждения) - Получение
notificationsуведомленийbyпо SMS
Мобильное *приложение
- Приложение для Android
&и iOS - Совершение
*Makeплатежа - Просмотр
*Viewбизнесовbusinessesнаon Mapкарте (GPS /Geo-location)геолокация) - Просмотр
accountбалансаbalance,счета,creditкредитныхlimitsлимитов - Просмотр
accountисторииhistoryсчета - Совершение
paymentплатежа (toпользователю,user,системе) - Поиск
system)пользователей - Добавление
usersпользователя*Addвuserсписокtoконтактов - Настраиваемая
listкомпоновка - Настраиваемая
layoutначальная*Customizable entry pageстраница /logoлоготип - Добавление
menuпунктаitemменю (quickзначокaccessбыстрогоicon)доступа) - Добавление
customпользовательскихpagesстраницinвappприложение - Включение
POS mode (see directly below) ====Mobileрежима POS (Pointсм.ofнепосредственноSale)====ниже)
Мобильный POS (Точка продаж)
- Приложение для Android
&и iOSapp(включение(enableрежима POSmodeвinосновномmainмобильномmobileприложении) - Получение
*Receiveплатежа - Различные
*Variousидентификаторыuser identifiersпользователя (QR/barcode,штрих-код, userID,NFCNFC-карта) - NFC-карта
*NFCзапуститcardприложениеwillвstart up the app inрежиме POSmodeиandоткроетopenстраницуreceiveполученияpaymentплатежаpageсwithпользователем,theидентифицированнымuserпоidentifiedNFC-карте - Форматирование
NFCNFC-карты - Назначение
*FormatNFC-картыNFCклиенту - Совершение
*Assign NFC card to customer *Make paymentплатежа (cash-out) - Интерфейс
forдляintegrationинтеграцииwithсоthirdстороннимиpartyсетями POSorилиATMбанкоматов
Оповещения &и Logging====логирование
- Подробное
loggingлогирование*Searchошибок - Поиск
byошибокperiodпо*Searchпериоду - Поиск
byошибокuserпо*Viewпользователю - Просмотр
detailsдеталей ошибки (completeполнаяstackтрассировкаtrace)стека) - Генерация
notificationsуведомленийonобerrorошибке (email, SMS)
Функции features====бартерной сети
- Поиск пользователей с низкими балансами
- Сопоставление высоких балансов с низкими на картах Google
- Оповещение, когда баланс пользователя ниже нуля в течение определенного времени *
Find - Оповещение,
withкогдаlowбалансbalancesпользователя превышает определенную сумму в течение определенного времени *Match - Закупки/котировки **
- Платежная
wallстена
Архитектура
Cyclos 4 hasпостроен beenна builtкорпоративных onтехнологиях JavaJava. enterpriseКлиент technologies.подключается Theк client connects to aфронтенд-приложению Google Web Toolkit (GWT) frontили endчерез applicationодин orиз trough one of the interfacesинтерфейсов (seeсм. below)ниже). TheСервер applicationприложений serverзащищен isнадежным protectedслоем byбезопасности aи solid security layer and uses theиспользует Spring Framework. TheСлужбы servicesна onсервере theприложений application server usesиспользуют JPA (aidedс byпомощью Querydsl) toдля communicateсвязи withс aсервером PostGresбазы Databaseданных server.PostGres. AllВсе transactionsтранзакции areхранятся storedкак asдвойные doubleзаписи entryв bookingsбухгалтерской in the accounting system.системе. Cyclos canможет runработать asкак standавтономная aloneсистема systemнезависимо indepentlyот fromдругих otherвалютных currencyсистем.
Страницу systems.с обзором инструментов и фреймворков, используемых для проекта Cyclos, можно посмотреть на этой странице.AБизнес-партнеры pageи with an overview the tools and frameworks used for theклиенты Cyclos projectмогут canзапросить beдоступ seenк atуглубленной [http://www.cyclos.org/wiki4/index.php/Toolsархитектурной thisстранице.
Совместимость partners(интерфейсы)
Весь уровень сервисов в Cyclos customerдоступен canкак askAPI accessвеб-сервисов. toЭто aсделает in-depthвсе [http://www.cyclos.org/wiki4/index.php/Architecture architectural page]. =Interoperability (interfaces)= The entire services layer inфункции Cyclos isдоступными availableдля asтретьих webсторон. servicesНативные API.Java-клиенты Thisмогут willподключаться makeнапрямую all Cyclos features available to third parties. Native Java clients can connect directly viaчерез Java remoting overпо HTTP(S). ClientsКлиенты inна otherдругих languagesязыках canмогут use anиспользовать API withс сообщениями JSON messages overпо HTTP(S). ThereТакже isдоступна alsoклиентская aбиблиотека PHPPHP, clientкоторая libraryотражает availableAPI whichсервисов, mirrorsчто theзначительно servicesупрощает интеграцию.
Более подробную информацию об API, whichвеб-сервисах makesи integrationскриптинге muchможно easier.посмотреть Moreна informationстранице aboutдокументации theCyclos.
Безопасность
С servicesсамого andначала scriptingкоманда can be seen at the [http://www.cyclos.org/documentationразработчиков Cyclos documentationследовала page].рекомендациям =Security=по Sinceбезопасности, theопределенным beginning the Cyclos development team followed the security guidelines defined by theстандартом ISO 2700227002. standard.Код Theпостоянно codeтестируется isс constantlyпомощью testedрасширенного byнабора anавтоматизированных advancedтестов setбезопасности. ofРазрешения automatedи securityроли tests.проверяются Permissionsпри andкаждом rolesзапросе areна checkedуровне onвнутренних everyслужб. requestБыли atрассмотрены theследующие internalобласти services level. The following security areasбезопасности / pointsмоменты:
- Конфиденциальность,
addressed:целостность,*Confidentiality,подлинностьintegrity,гарантируютсяauthenticityпроверкамиareбезопасностиguaranteedвbyсочетанииsecurity checks in combination withс http secure (https) - Устойчивость
toкattacksатакам,asтаким как XSS, CSRF,SQLSQL-инъекции - Все
*Allпаролиpasswordsхэшируютсяhashedсwith ‘salted’«соленой» SHA2 - Все
identifiersидентификаторыareшифруютсяcipheredприwhenотправкеsending to clientклиенту (browser)браузеру) - Использование
ofфайловcookiescookielimitedограниченоtoпользовательскойuserсессией - Оповещения
*Securityбезопасностиalertsдляforадминистраторов - Подробное
*Verboseлогирование,loggingвключаяincludingданныеoperationопераций,data,пользователей,users,временнуюtimestampметку - Белый
whitelistсписок*IP-адресов - Ограничение URL
restrictionпоperгруппе
Для detailedполучения informationподробной pleaseинформации, viewпожалуйста, theпросмотрите [http://www.cyclos.org/wiki4/index.php/Securityстраницу securityбезопасности
Тестирование
Перед Beforeлюбым anyпрограммированием programmingпишутся areспецификации. done the specifications are written. TheРазработка Cyclos developmentработает worksв accordingсоответствии aс 'процессом «разработки через тестирование» (test driven development'development). process.Сначала Theразработчик developerпишет willтестовые first writeслучаи (JUnit), testа casesзатем andкод afterреализации. thatТестовые the implementing code. Theслучаи Junit testохватывают casesинтеграционные coverи integrationфункциональные andтесты, functionalа tests,также asисключения. wellМы asиспользуем the exceptions. We use theфреймворки Maven andи Jenkins frameworkдля toзапуска runтестов theи testsавтоматической andсборки toи built & deployразвертывания Cyclos automaticallyтри threeраза timesв aдень. day.Если Ifвозникает anyкакая-либо issueпроблема, occursкак bothпрограммист, programmerтак asи coordinatorкоординатор are notified byуведомляются Jenkins.
Онлайн-среда onlineдля builtтестирования testсборки environmentдоступна isпо available atадресу https://test.cyclos.org, variousразличные partnersпартнеры haveимеют theirсвою ownсобственную environmentсреду (network)сеть) withinв thatэтом instanceэкземпляре, soчтобы thatони theyмогли canтестировать testполную the completeфункциональность Cyclos functionalityс withпоследними theкоммитами latest code commits.кода. Jenkins alsoтакже providesпредоставляет reportingинструмент toolотчетности forдля testingпокрытия coverageтестирования, whichкоторый helpsпомогает usнам toулучшать improveтестовые theслучаи.
Все cases.общие Allконфигурации commonтестируются configurationsнашими areтестировщиками. testedТакже byтестировщики ourпытаются testers.протестировать Alsoсложные theконфигурации, testersв tryкоторых toмогут testвозникнуть difficultпроблемы. configurationsПосле inтого, whichкак problemsвсе couldтщательно arrise.протестировано, Afterмы everythingсначала isпубликуем testedновую carefullyверсию weв publish a new version first on ourнашем community instance, whereгде more thenболее 1000 communitiesсообществ canмогут benefitвоспользоваться fromпреимуществами theновых newфункций. features.Но, Butс onдругой theстороны, otherесли handесть ifошибка, thereкоторую isмы aеще bugне weобнаружили, didn'tмы encounterчасто yetнаходим weих oftenтам. findПосле themтого, there. Afterкак Cyclos hasбесперебойно beenработает runningв smoothlyэкземпляре onсообщества theоколо communitiesнедели, instanceмы forпубликуем aboutнашу aновую weekверсию weдля publishзагрузки. ourПоскольку newсуществует versionтак forмного download.возможных Sinceконфигураций, thereмы areвсегда soрекомендуем manyклиентам possibleтщательно configurationsтестировать weвсе alwaysпри recommendобновлении clientsдо toновой testверсии.
Мы carefullyиспользуем whenLoadsophia upgradingдля toтестирования aпроизводительности. newЭтот version.сервис Weпозволяет useсравнивать [https://loadosophia.orgрезультаты Loadsophia]тестов forпроизводительности theс performanceтечением testing.времени, Thisчто serviceпомогает allowsнам comparingточно performanceнастраивать testпроизводительность.
В overзависимости timeот whichпроекта helpsмы usпередаем toсерое fineи tuneчерное theтестирование performance.на Dependingаутсорсинг onвнешним theкомпаниям, projectзанимающимся weбезопасностью. outsourceМобильное theприложение greyи andмобильные blackбраузеры boxтестируются testingна toвсех externalмобильных securityтелефонах, companies.которые Theнам mobileудается appполучить. andРазличные mobileпартнеры browsersи areвнешние testedтестовые onпользователи allтестируют mobileмобильное phonesприложение. weКак canправило, getмы ourсталкиваемся handsс on.несколькими Variousошибками, partnersспецифичными andдля externalтелефона. testБлагодаря users test the mobile phone app. We generally encounter few phone specific errors. Because the use ofиспользованию GWT theсгенерированный clientкод sideна generatedстороне codeклиента worksхорошо wellработает withсо allвсеми knownизвестными Webвеб-браузерами.
Требования =Hostingк requirements=хостингу
Cyclos canможет runработать onна aвеб-контейнере, webтаком container such asкак Apache Tomcat andи Jetty, orили applicationна serversсерверах suchприложений, asтаких как Glassfish, JBoss, IBM Websphere andи Oracle Weblogic. TheБазой databaseданных forдля Cyclos isявляется theбаза Openданных Sourceс databaseоткрытым исходным кодом PostgreSQL. TheМинимальные minimalтребования memoryк spaceобъему requirementsпамяти toдля runзапуска aодного singleэкземпляра Cyclos instance isсоставляют 500 Mb.Мб. TheРуководство [http://documentation.cyclos.org/4.4/cyclos-reference/ch01.html#d0e80по installationустановке manual]проведет willвас guideчерез youпроцесс throughустановки.
Масштабируемость installation.и =Scalabilityдоступность
База availability= Theданных Cyclos databaseбыла databaseоптимизирована hasдля beenподдержки optimizedкластеризации toбаз supportданных databaseи clusteringсинхронной andрепликации. synchronousСуществуют replication.различные Thereподходы areк differentобеспечению approachesвысокой forдоступности highи availabilityрешениям andотказоустойчивости fail-over solutions forдля Cyclos.
- Синхронная
replicationрепликация - В
Weнастоящееcurrentlyвремяuseмыforиспользуемourдляhostingнашегоaхостингаsolutionрешение,thatкотороеusesиспользуетbothкакsynchronousсинхронную,andтакasynchronousиreplication.асинхроннуюItрепликацию.offersОноfailпредлагаетoverотказоустойчивость,butноnoнеloadбалансировкуbalancing,нагрузки,butноwithсaмощнымpowerfulглавнымmainсерверомdatabaseбазыserverданныхitоноcanможетserveобслуживатьhighвысокиеloads.нагрузки. - Amazon cloud
withс RDS - Cyclos может быть развернут в облачных сервисах Amazon с кластеризацией postgres.
- Docker swarm
- Мы планируем поддержку docker swarm, который предлагает встроенную кластеризацию. Начиная с версии 4.5, Cyclos
canможноbeразвернутьdeployedкакtoконтейнерAmazonдляcloudплатформыservicesDocker. - Pgpool-II
- Мы
postgresтакжеclustering]работаем над полным решением для кластеризации баз данных с pgpool.
Примечание: swarmНачиная :с Weверсии are planning to support docker swarm which offers built-in clustering. Since versionCyclos 4.5 Cyclosвсе canизображения/картинки, beдокументы deployedи asфайлы aмогут containerхраниться forна theвнешнем Dockerфайловом platform.сервере ;или Pgpool-IIв :сервисе We are also working on a full database clustering solution with [http://pgpool.net/mediawiki/index.php/Main_Page pgpool]. '''Note:''' As from Cyclos version 4.5 all images/pictures, documents and files can be stored at an external file server orхранения Amazon S3 storage(по serviceумолчанию (byони defaultхранятся theyв areбазе stored in the database)данных).