Не так страшен черт, как его малюют: как мы перевели разработку ЦФТ-Банк на платформу CFT Platform IDE (Admin 2.0)
Финансовые компании находятся в поисках лучших решений, которые оптимизируют внутренние процессы разработки, разовьют IT-инфраструктуру в соответствии с требованиями бизнеса и позволят им выводить на рынок лучшие конкурентные продукты. Так, два года назад мы ступили на путь перевода разработки ЦФТ-банк на платформу CFT Platform IDE. Среди коллег по цеху ходят слухи, что это процесс невероятной сложности, ввиду чего не решаются приступить к делу. На своем примере мы докажем, что это вполне подъемный процесс и для вашей команды.
Процесс разработки ПО в НРД в большинстве случаев характерен наличием нескольких команд разработчиков, которые лавируют между проектами, занимаясь разными модулями одной или даже разных систем. В работе у нас постоянно большое количество доработок и приходится держать несколько dev и test-контуров с разными версиями системы. Таким образом, всегда есть необходимость доступа к централизованному хранилищу кода с поддержкой версионности, обеспечением автоматической сборки и установки. Для системы ЦФТ-Банк на протяжении многих лет таких возможностей не было.
ЦФТ-Банк – это автоматизированная банковская система ЗАО «Центр финансовых технологий». Она характерна использованием собственного языка программирования pl/plus и, как следствие, возможностью применения только собственных средств разработки, предлагаемых вендором системы. Код системы открытый, с ограниченными возможностями модификации дистрибутивных модулей и с широкими возможностями создания своих собственных модулей.
Это порождало лишние затраты на подготовку сборок, merge-изменений и т.д. Часто возникали случаи порчи программного кода, т.к. следить за правильностью версиии той или иной программной компоненты могли только сами разработчики в полностью ручном режиме. Однако поменять подход к разработке для системы ЦФТ-Банк было невозможно ввиду существования безальтернативной среды разработки для этой системы, по своему интерфейсу и возможностям отставшей от жизни лет на 15.
Решение наших проблем было предложено ЦФТ с выводом на рынок в 2018 г. новой платформы разработки для своих систем, которая называется CFT Platform IDE (она же Admin 2.0, или сокращённо A2).
Ключевые отличия новой платформы разработки
Внешне разработчик получает среду, реализованную на основе Eclipse Platform, которая гораздо симпатичнее архаичного Администратора словаря данных.
Для сравнения редактирование кода в старой среде (Администратор словаря данных):
Редактирование кода в Admin 2.0:
Но основным преимуществом новой платформы разработки для нас явилась возможность хранения программного кода системы, а также экранных форм, описаний типов и прочего в виде множества текстовых файлов. Именно это позволяет выгружать код в систему контроля версий (в нашем случае Git) со всеми её возможностями, которых нам так недоставало ранее при разработке для ЦФТ-Банк.
Таким образом, разработчикам ЦФТ-Банк стала доступна возможность комфортно отслеживать историю изменений каждого объекта, включая не только время редакции, но и сравнение старой и новой версий через встроенный компонент либо с помощью любого внешнего средства типа Araxis Merge. Тому, кто не знаком с ЦФТ-Банк, это покажется удивительным, но ранее о таком приходилось только мечтать, храня историю изменений лишь в виде комментариев в коде.
Приятными бонусом послужила возможность синтаксической проверки кода без соединения с БД, а также удобная навигация (переходы в вызываемые процедуры по щелчку в месте вызова), быстрый контекстный поиск по проекту.
Отмечу, что новый админ оказался в хорошем смысле более привередлив к синтаксическим конструкциям в коде. Среди наших локальных доработок были выявлены очень странные выражения, например, что-то наподобие:
Непонятно, как Администратор словаря «переваривал» подобное без ошибок. Причём, если первые 2 примера представляют собой безобидный мусор, то последнее — явная ошибка, которая приведёт к некорректной работе программы.
И ещё одной особенностью Admin 2.0 является, благодаря интеграции с Git, функционал получения списка изменений на основе сравнения 2-х веток.
Это позволяет выполнять развёртывание этих изменений в целевую БД. Затем изменения из БД можно выгрузить по тому же списку элементов, используя старый Администратор проектов, в mdb-файл, если их необходимо передать для установки в БД, куда разработчик не имеет прямого доступа. Однако более интересным вариантом является подготовка и развёртывание изменений в новом формате. Он представляет из себя zip-архив, внутри которого находятся текстовые файлы с кодом, а также некоторая метаинформация. Побочным эффектом является возможность просмотреть и даже изменить код в передаваемой поставке без установки в какую-то БД, что в случае с mdb-форматом было невозможно. Но самое основное – сохранение в этот новый формат из Git-репозитория и развёртывание в БД Admin 2.0 предусматривает делать и в безинтерфейсном режиме, что позволяет настроить автосборку и автоустановку, т.е. наконец говорить о CI/СD в применении к доработкам ЦФТ-Банк. Правда, данную тему я планирую подробно раскрыть уже в следующей статье.
Особенности перехода на новую платформу
Материальный вопрос
Первое, с чем пришлось столкнуться — получение лицензий на рабочие места. На каждое рабочее место разработчика требуется отдельная лицензия, которая привязана сразу и к железу ПК, и к учётной записи пользователя. Если у вас в компании тоже несколько изолированных сетей, где есть сервера с ЦФТ-Банк, и ведётся разработка на них, то на одного разработчика потребуется купить несколько лицензий Admin 2.0. Стоимость одной лицензии на момент написания статьи составляет 125 у.е./мес., или около 8 тыс. руб. по внутреннему курсу. За первоначальную покупку на данный момент деньги не взимаются. Лицензии распространяются в виде файлов, а не смарт-ключей, что позволяет без проблем развернуть среду даже на виртуальной станции.
До покупки можно договориться о предоставлении тестовых лицензий. В нашем случае были получены 6 лицензий со сроком действия — 4 месяца на бесплатной основе. Условия обсуждаются с персональным менеджером индивидуально.
Настройка рабочих мест и БД
Серверную часть IDE можно устанавливать и в рабочее время, но правильней будет, если в момент установки не будут открыты на редактирование программные объекты ЦФТ, т.к. основное в обновлении — это новый механизм соответствующих блокировок.
Клиентская часть — это, по сути, Eclipse с расширениями CFT Platform IDE, устанавливается без прав администратора ПК. Только заранее должна быть установлена JRE не ниже 8-й версии. Доступ к обновлениям IDE на сайте ЦФТ теперь открытый, без авторизации. Можно настроить обновления непосредственно через сайт, либо из локальной сети. Например, из сетевой папки или с использованием менджера репозиториев вроде Nexus. Мы выбрали вариант сетевой папки как самый простой в настройке, не требующий доступа в Интернет со всех рабочих мест, надёжный, что важно при настройке тяжелых обновлений, и гибкий ввиду возможности выкладывать обновления по своему расписанию.
Выгрузка кода локального приложения
Для создания проекта, с которым будет работать Admin 2.0, нам нужно выгрузить из БД в папку с набором текстовых файлов описание объектов, являющихся нашими локальными доработками, а также, условно говоря, ссылки на объекты, от которых наши доработки зависят.
Отмечу, что при большом объёме локального приложения среда разработки начинает тормозить, поэтому в такой ситуации необходимо будет деление исходников на актив и архив. К счастью, в лимит мы вписались при немалом объёме локала. Однако стоит учесть объём оперативной памяти рабочих станций. Согласно документации требуется не менее 16Гб, хотя некоторое время части наших разработчиков удавалось работать и на 8Гб памяти, надо было лишь отрегулировать объём памяти java-приложения в файле eclipse.ini.
Что касается выгрузки — процедура несложная, т.к. все необходимые скрипты, такие как для подсчёта объёма приложения, для получения списка объектов и другие входят в комплект поставки.
Адаптация кода
Адаптация заключалась в дополнении того, что не собрал скрип, например, прогрузились не все ссылки на таблицы в чистом Oracle, некоторые ТБП со сложным подчинением — в единичных случаях не подгрузились типы ссылок или массивы. Также надо было слегка подчистить код (см. примеры выше). Но самое главное — подстроить код под новые особенности:
Результат
Серьёзных проблем при адаптации не было. Нам посчастливилось «познакомиться поближе» со своим кодом. В процессе мы выявили недочёты в IDE и даже в технологическом ядре (в компиляторе), которые сейчас ЦФТ уже исправил.
Большую помощь нам оказали специалисты ЦФТ, которые оперативно реагировали на возникшие проблемы, а в случае замедления процесса внедрения с нашей стороны всячески нас стимулировали и поддерживали интерес. После всех этих подготовительных действий мы запросто настроили интеграцию Eclipse с Git и выгрузили в него код текущей версии.
Нам потребовалось создать регламент ведения разработок, т.к. разработчикам ЦФТ-Банк пришлось привыкать работать совершенно в ином стиле: правильно маркировать коммиты, работать в нужной версии и пр. Сама методика работы стала соответствовать общим стандартам разработки в IT-компании.
Несмотря на первоначальное снижение скорости разработки, Admin 2.0 был сразу встречен в нашем коллективе с большим энтузиазмом. За 1-2 месяца активной работы все привыкли к новой среде, а эффективность возросла.
Сегодня Admin 2.0 до сих пор находится на стадии активных доработок, но это гораздо менее сырой продукт, чем 2 года назад. Например, только недавно появилась поддержка работы с группами доступа, пока работающая с ошибками. Также развёртывание в безинтерфейсном режиме может завершаться с ошибками при наличии в коде макросов. Большинство недочетов, которые мы фиксируем, ЦФТ устраняет в пределах месяца. За эти 2 года мы использовали отличную возможность повлиять на развитие Admin 2.0. Сегодня компании, которые задумали подобный переход, смогут пройти этот путь ощутимо быстрее.
funds transfer
Смотреть что такое «funds transfer» в других словарях:
Funds transfer — An ISO term. Complete movement of funds between the originator and the beneficiary. A funds transfer may consist of one or more funds transfer transactions … International financial encyclopaedia
funds transfer — transfer of money from one place to another; transfer of money from one bank account to another … English contemporary dictionary
funds transfer pricing — ( FTP) An internal cost accounting system or methodology that transfers a cost of funds expense to profit centers that generate assets and a credit for funds to profit centers that provide funding. Most funds transfer pricing systems are matched… … Financial and business terms
Funds Transfer Pricing — (FTP) is a process used in banking to measure a funding source s contribution to overall profitability. An intermediary is created within the organisation (usually Treasury). External links* [http://www.findarticles.com/p/articles/mi qa3682/is… … Wikipedia
Funds transfer transaction — ISO term (commonly abbreviated to transaction). Movement of funds directly between two parties involving no intermediaries other than a payment or communications service. An ISO term. The movement of funds directly between two parties… … International financial encyclopaedia
Funds transfer message — An ISO term. A message which provides instructions for, reports on, or otherwise supports the movement of funds among banks and their customers … International financial encyclopaedia
Electronic funds transfer — or EFT refers to the computer based systems used to perform financial transactions electronically.The term is used for a number of different concepts: * Cardholder initiated transactions, where a cardholder makes use of a payment card * Direct… … Wikipedia
Electronic Funds Transfer Act — The Electronic Funds Transfer (EFT) Act, also known as Regulation E, was implemented in the US in 1978 to establish the rights and liabilities of consumers as well as the responsibilities of all participants in EFT activities… … Wikipedia
electronic funds transfer — ( EFT) An electronically based rather than paper based system of transferring funds to and from accounts. Two main EFT remittance methods are wire transfers and automated clearing house ( ACH). American Banker Glossary ( EFT) Transfer of funds… … Financial and business terms
electronic funds transfer — noun : the transfer of money from one location or account to another by computerized means * * * the use of telecommunications networks to transfer funds from one financial institution, as a bank, to another, or to withdraw funds from one s own… … Useful english dictionary
Незнакомый человек хочет перевести мне деньги. Что может пойти не так?
Две мошеннические схемы, в которых деньги сначала переводят вам, а не наоборот. Но, конечно, этим не закончится.
Есть несколько признаков, по которым можно распознать интернет-мошенников. Но самый верный из них — это просьба (а то и требование) перевести кому-то деньги с невнятной мотивировкой. Но что если не вы переводите деньги, а вам внезапно приходит входящий перевод? Звучит вроде бы безопасно — в чем подвох?
Подвох есть, и сейчас мы расскажем о двух вариантах мошеннической схемы, основанной на входящих денежных переводах.
«Привет, сделайте мне логотип»
Еще со времен работы фрилансером у Энди остался персональный сайт-портфолио. Обновления на нем появлялись нечасто, но и закрывать не хотелось. Обладать доменом имени себя любимого все-таки приятно и полезно.
Клиентов сайт давно не приносил, но в один прекрасный день Энди получил письмо следующего содержания:
«Привет, это Дейв, хотел бы узнать, делаете ли вы дизайн логотипов?»
Завязалась переписка, но с конкретикой у Дэйва было так себе. Бизнес новый, сайт в производстве, а материалы для логотипа и брошюры застряли у некоего «консультанта» — назовем его «Мистер К».
Зато в сговорчивости новому заказчику было не отказать: без какого-либо обсуждения и вопросов он принял предложенную Энди идею и дал отмашку приступать к работе. Вот только материалы для этого нужно забрать у того самого «консультанта», которому бизнесмен задолжал денег. Небольшую сумму, чуть больше тысячи долларов, и у заказчика она есть, но прямо сейчас по техническим причинам ее перевести невозможно.
Зато возможно заплатить Энди. Кстати, не мог бы он оказать небольшую услугу? Заказчик перечислит ему помимо гонорара еще и долг для консультанта, плюс немного за дополнительные хлопоты. После чего дизайнер перекинет Мистеру К положенную ему часть суммы — и все будут довольны.
Ну кто откажется от такого предложения?
Мошенническая схема с входящим переводом: как это работает
Однако Энди поступил благоразумно и решил сначала поискать в Интернете — а не случалось ли подобное еще с кем-то? Поисковик сразу признал в этой ситуации известную уже как минимум два года мошенническую схему. Согласись Энди на предложение, события развивались бы так:
Как делают в России: «ошибочные» входящие переводы
Дизайнеры и другие фрилансеры творческих профессий, как правило, люди подкованные и всякого повидавшие. Поэтому подозрительный стиль общения заказчика и необычная просьба быстро приводят их, как и в случае с Энди, к специализированным веткам Реддита или в блоги, где обсуждают подобные случаи.
Впрочем, судя по комментариям, несколько человек все-таки заглотили наживку и потеряли свои деньги. Это объясняет, почему мошенники до сих пор не отказались от подобного развода.
Хорошая новость для русскоязычной аудитории: в нашей стране конкретно эта схема популярности у мошенников не получила. Можно на нее нарваться, только если вы часто работаете на иностранных заказчиков.
Основная идея схемы: входящий перевод отзовут и деньги с вашего счета исчезнут. А вот то, что перевели вы, вернуть будет очень сложно, а то и невозможно
Зато в России в ходу немного другой обман с входящими переводами. Жертве совершенно внезапно падает на карту некоторая сумма денег — как правило, не очень большая. За этим следует звонок, взволнованный мужчина — а лучше женщина — говорит, что перечислил деньги по ошибке (чаще всего — ошибся в номере телефона), и просит их вернуть.
Дальше вы уже знаете: если жертва поддается, то деньги успешно отправляются мошенникам, а первый перевод через какое-то время аннулируется. Будто его и не было.
Что делать, если деньги уже пришли на карту?
Самый простой и эффективный ответ для большинства таких ситуаций: ничего. Это тот случай, когда бездействие лучше любого действия. Заблокировать подозрительных «заказчиков», отправить авторов ошибочных переводов в банк, в идеале — позвонить в службу безопасности вашего банка.
По российским законам отправитель платежа имеет право вернуть деньги в течение трех лет, поэтому тратить такие подозрительные средства мы тоже не советуем. Но если три года уже прошли, а за деньгами так никто и не обратился ни в банк, ни в суд — скорее всего, вы в безопасности.
Credit fund transfer что это
Смотреть что такое «CFT» в других словарях:
Cft — Cette page d’homonymie répertorie les différents sujets et articles partageant un même nom. <<
Cft — Dieser Artikel erläutert die Abkürzung cft; für CFT siehe Begriffsklärung CFT. Einheit Norm Angloamerikanisches Maßsystem Einheitenname cubic foot Einheitenzeichen cft Dimensionsname … Deutsch Wikipedia
CFT — Die Abkürzung CFT steht für: Conformal Field Theory, engl. Bezeichnung für Konforme Feldtheorie Compagnie financière Tradition, ein Schweizer Finanzunternehmen Conformal Fuel Tank, bündig mit der Außenhaut von Flugzeugen verbundenen… … Deutsch Wikipedia
CFT — The three letter abbreviation CFT may refer to: *Cross File Transfer *( ) 2β Carbomethoxy 3β (4 fluorophenyl)tropane *California Federation of Teachers *Cardholder Funds Transfer *Credit Fund Transfer *Christianity For Today *Combat Fitness Test… … Wikipedia
CFT — Cette page d’homonymie répertorie les différents sujets et articles partageant un même nom. Sigles d’une seule lettre Sigles de deux lettres > Sigles de trois lettres Sigles de quatre lettres … Wikipédia en Français
CFT — cardiolipin flocculation test; clinical full time; complement fixation test; crystal field theory * * * CFT abbr complement fixation test * * * complement fixation test; see under fixation … Medical dictionary
CFT — Med. See complement fixation test. * * * … Universalium
CFT — Child & Family Team Meeting (Community » Educational) * California Federation Of Teachers (Community » Educational) * Conformal Fuel Tank (Governmental » Transportation) * Conformal Fuel Tank (Governmental » Transportation) * Cross Functional… … Abbreviations dictionary
CFT — Common Facility Test NASA … Acronyms
CFT — Common Facility Test ( > NASA Acronym List ) … Acronyms von A bis Z
CFT — Cai filii Titi, Cai filius Titus … Abbreviations in Latin Inscriptions
Credit fund transfer что это
Citibank provides a possibility of transferring funds from a credit card account to an individual’s or entity’s Citibank or non-Citibank account in Russia (not available to corporate credit card holders). 1
! Transfers from a credit card account to an entity’s Citibank account are available through CitiPhone ® or in-branch.
!! Transfers from a credit card account are not eligible for a grace period and do not earn any miles or Select Points.
. Transfers from a credit card account to a Citibank or non-Citibank account incur a fee as set out in the Tariffs.
Transferring funds through Citibank ® Online
Go to Payments & Transfers, select your credit card account in the From account field, and choose the destination account: your current account, another individual’s Citibank account, or a non-Citibank account. Enter the amount and confirm the transaction.
Transferring funds through Citi Mobile ®
Go to Payments & Transfers and choose the destination account: your current account, another individual’s Citibank account, or a non-Citibank account. Provide your credit card number in the From account field. Enter the amount and confirm the transaction.
Payments using a phone number
You can now send payments using a phone number to Citibank or other banks-participants of IPS accounts in Russia. See more details here.
How to send a payment to other banks
1. Sign on to our updated Citi Mobile App, go to Paymentsв Instant paymentв and enter the phone number or select it from your phone book.
2. Select the payee bank.
3. Enter the amount and your comments.
4. Authenticate the transaction.
How to send a payment to Citibank
1. Sign on to our updated Citi Mobile App, go to Paymentsв Instant paymentв and enter the phone number or select it from your phone book.
3. Enter the amount and your comments.
4. Authenticate the transaction.
Important! If you have both a debit card and a credit card, money will be received in your debit card account. You can pay your credit card debt by making a transfer from your debit card account through Citibank Online or the Citi Mobile app.
Transferring funds to a non-Citibank account in Russia through CitiPhone ® or in-branch 2
+7 (495) 775-75-75 in Moscow,
+7 (812) 336-75-75 in St. Petersburg,
8 (800) 700-38-38 elsewhere in Russia,
or visit a Citibank branch and provide the following details 3 :
1 The service is available within the cash advance limit set by Citibank. You can check your cash limit by using Citibank Online, Citi Mobile, CitiPhone or a Citibank ATM, or by visiting a Citibank branch.
2 Transfers from a credit card account to a non-Citibank account in Russia are only available during Citibank’s opening hours and incur a fee as set out in the Tariffs.
3 For a transfer to a new recipient, you need to provide the details requested by Citibank Online or Citi Mobile.
Transfers in favor of budget organizations and tax payments
Guidelines for tax payments and transfers in favor of budget organizations from your credit card account are available here.
Reduced rate Loan-on-Phone transfers
You can also make a transfer from your credit card account and book it as an Equal Payment Plan (EPP) transaction at a reduced interest rate as part of the Loan on Phone service. Find out more about Loan on Phone here.






