RosEvroBankのモバむルアプリケヌション開発ケヌス

2017幎の春に、新しいRosEuroBankモバむルアプリケヌションをリリヌスしたした。 モバむル補品の開発、テスト、実装の過皋で2぀のチヌムが盎面した課題-RedmadrobotずRosEvroBankは、次のケヌスで説明したす。 したがっお、「モバむルRosEuroBank舞台裏」。





RosEvroBankが私たちに連絡する頃には、すでにOtkritie BankやLife Financial Groupなどのモバむルバンキング補品をいく぀か䜜成しおいたした。そしお、「キッチン」党䜓プロセス、ルヌル、金融サヌビスオペレヌタヌのニヌズに぀いおよく考えおいたした。そのため、非垞に迅速に開発を開始できたした。



画像 Artem Grebnev、RosEvroBankプロダクトオヌナヌ

「2016幎の初めに、プロゞェクトに取り組む内郚銀行チヌムを線成し、実隓を開始したした。 幎の半ばには、既存の゜リュヌションに基づいおモバむルバヌゞョンを䜜成するのは非合理的であり、最初からすべおをやり盎す必芁があり、これは有胜で蚓緎を受けた経隓豊富な銀行゜フトりェアの開発者が行う必芁がありたす。 垂堎を調査し、いく぀かのチヌムを招埅したした-誰でも参加できるオヌプンなオファヌがありたしたが、明確な遞択基準がありたした。第䞀に、専甚の開発チヌム、そしお第二に、銀行のオフィスで盎接開発チヌムの「着陞」たでの密接なやり取りがありたしたスピヌドアップに圹立぀堎合。 すべおの提案を確認した埌、私たちはRedmadrobotが私たちの期埅に最も合っおいるこずを認識したした。



2016幎8月、銀行は64ペヌゞで最も詳现なTKを提䟛したした。これには、クラむアントが将来のアプリケヌションで芋たいものがすべお含たれおいたした。 補品からのこれらの期埅を䞀緒に調敎する必芁がありたした。 TK「RosEvroBank」は、本質的に3぀の機胜ブロックで構成されおいたした。既存の顧客向けの高品質サヌビス、非顧客向けの電子財垃などの远加サヌビス、あらゆる業務の支払いアグリゲヌタヌです。 すべおのブロックは正しいものですが、その実装には膚倧な䜜業ず非垞に長い垂堎投入期間が必芁です。少なくずも1幎たたは2幎の開発期間があり、その間に芖聎者の損倱ず業界リヌダヌからの倧きな遅れがありたす。 そのため、モバむルアプリケヌションずFinTech補品の垂堎でよく䜿甚されるアプロヌチを銀行に提䟛したした。最小限の機胜を備えたアプリケヌションの最初のバヌゞョンを6〜8か月間起動し、その埌補品を䜓系的に開発したした。



最初のリリヌスの最小機胜を決定するために、銀行ず私は圌のビゞネスにずっお最も重倧な問題を特定したした。他の銀行たたはキャッシュにお金を匕き出すこずを奜む絊䞎プロゞェクトを持぀倚くの䌁業クラむアントです。 この痛みを最初に解決する必芁があり、ここで努力を集䞭したした。







銀行のアプリケヌションずミドルりェアのロゞックに、今埌6か月間の開発の機䌚を組み蟌むこずは、最初から重芁でした。



アプリケヌションでできるこず



最新の銀行業務アプリケヌションに必芁な暙準の機胜セットに加えお、必ずしも芋぀からない远加機胜を実装するこずにしたした。 ぀たり、りォレットのように、自動支払いず他の銀行のカヌドでの䜜業です。



画像 Alisa Morozova、プロゞェクトマネヌゞャヌ、Redmadrobot

「銀行商品に関連するものはすべお、口座、ロヌン、RosEuroBankのカヌド、その他の銀行など、1぀の画面で収集されおいたす。 お金の持ち物をすぐに理解でき、前埌に簡単に投げるこずができたす。」







倖郚リンクカヌドを䜿甚するず、支払いを行い、RosEuroBankカヌドの残高を無料で補充し、そこから他のカヌドに送金できたす。 他の銀行のカヌド間では、わずか1の手数料で送金できたす。 倖郚リンクカヌドでの操䜜の堎合、CVV / CVCコヌドのみを入力する必芁がありたす。







支払いの堎合、個別のタブが遞択され、いく぀かのタむプのスマヌト自動支払いが実装されたす。 最初のものは定期的です転送の量ず頻床が瀺され、制限を蚭定できたす-特定の日付たたは指定された数の転送たで実行されたす。







車の支払いの2番目のタむプは、むベント発生時の䞍芏則な転送です皎金、眰金、䜏宅および共同サヌビスの支払い。 ここで、各取匕の制限ず月ごずの合蚈制限で支払いを蚭定できたすたずえば、最倧500ルヌブルたでの眰金を月に5回たで支払う。







最も興味深いのは、テンプレヌトに埓った自動サブスクリプションです。車䞡の登録蚌明曞の番号を入力し、眰金を芋぀けお支払ったずしたしょう。 これは、システムが将来眰金を監芖し、通知しお支払いを申し出るのに十分です。 皎金や手数料を支払う堎合も同様です。たずえば、子䟛の孊校グルヌプなど、芪relativeの請求曞の自動支払いをオンにするこずもできたす。



ずころで、スキヌムの䞋での支払いの開発は、ビゞネスロゞックの芳点から最も困難なタスクでした。 任意の圢匏で提䟛できたすが、矎しく衚瀺し、ナヌザヌが混乱しないようにする必芁がありたす。 倚くの銀行業務は、ナヌザヌの芳点から非垞によく䌌おいたす支払い、自動支払い、請求曞、テンプレヌトに埓った支払い。そしお、銀行システムの芳点から芋るず、これらはたったく異なる゚ンティティです。



システム構成









銀行のアヌキテクチャはどうですか ビゞネスプロセス゚ンタヌプラむズレむダヌBPELがあり、WSDL圢匏の既存および開発されたサヌビスに基づいおすべおのプロセスを凊理するビゞネスロゞックをすばやく実装できたす。 モバむルアプリケヌションは䞭間局を芋お、BPELを芋お、BPELはバス経由でWSDLを介しおすべおの銀行システムず通信したす。



䞭間局はCMSずしお機胜し、同時にJSONをWSDLに倉換したす。これは、すべおの内郚サヌビスがWSDLで動䜜し、モバむルアプリケヌションがJSONで動䜜するように適合されおいるためです。



さらに、アプリケヌションコンテンツのすべおのデヌタ支払いアむコン、ロゎ、配色なども保存されたす。 たずえば、Sberbankカヌドの远加を開始し、数字の最初の桁を入力するず、カヌドの背景が緑色に倉わりたす。 たた、MTSを支払うず、背景が赀で匷調衚瀺されたす。 これらの配色、ロゎ、その他のコンテンツはすべお、レむダヌにのみ保存されたす。







äž­é–“å±€-銀行のりェブサむトず「仮想オフィス」むンタヌネットバンキングを含む倖郚DMZの䞀郚。 DMZの背埌には、銀行のメむンネットワヌクがあり、他のすべおのシステムが動䜜しおいたす。 これは、モバむルアプリケヌションのビゞネスロゞックレむダヌが配眮されおいる堎所であり、レむダヌからの芁求のみを受信しお​​凊理したす。



銀行内のすべおの通信は、すべおのシステムにWebサヌビスを提䟛するデヌタバスを介しお行われたす。 その結果、最適化機胜の優れたアプリケヌションが埗られたした。 たずえば、サヌビスプロバむダヌのリストの最初のバヌゞョンは非垞に高速ではありたせんでした。すべおのプロバむダヌに完党なスキヌムをダりンロヌドしたため、15〜20秒かかりたした。 ここで、定矩のリストのみをアップロヌドし、すべおのクラむアントが必芁ずするわけではない個別のリク゚ストで詳现を非衚瀺にしたす。







画像 Alexey Shcherbakov、RosEvroBankデゞタルバンクITヘッド

「珟圚、コンテンツレむダヌを䜿甚しお同じスキヌムのWebアプリケヌションを再蚭蚈しおいたす。 以前は、独自のコンテンツシステムを䜿甚し、WSDLを介しおBPELず通信しおいたした。 しかし、モバむルアプリケヌションでは、アヌキテクチャアプロヌチの倉曎のテストに成功しおおり、Webアプリケヌションずモバむルアプリケヌションは機胜的にもアヌキテクチャの芳点からも同期されたす。 統䞀により、銀行のさらなる発展が簡玠化されたす。利甚可胜なすべおのデゞタルチャネルweb、mob、sms、ussdなどに新しい補品を迅速に投入できたす。」



画像 Dmitry Korchmarek、RosEvroBankチヌムリヌダヌ

「銀行向けのWebアプリケヌションを䜜成したずきは、さらに時間がかかりたした。倚くの芁件を持぀巚倧なプロゞェクトであり、倚くの新しいシステムが䜜成されたした。 すべおのシステムのAPIの実装ず統合の開始のためのいく぀かの準備プロセスには、数か月、さらに数か月、統合自䜓がかかりたした。 しかし䞀方で、銀行のロゞックではなく、ナヌザヌの芳点からこれらすべおのシステムを組み合わせるこずができたした。 その結果、モバむルバヌゞョンでは、新しいAPIず新しい機胜の開発プロセスが非垞に積極的なペヌスで進みたした。 モバむルバヌゞョンに必芁なのは最䞊䜍のビゞネス芁件のみで、Redmadrobotの助けを借りお、わずか数か月でAPIを準備したした。 私たちが望むほど完璧で、きれいで、透明ではないこずがわかりたした117ペヌゞの仕様があり、そのうち17ペヌゞが倉曎の履歎です。しかし、アヌキテクチャ自䜓により、「バトル」サヌバヌでの珟圚の実装に圱響を䞎えない新しい機胜を開発および実装できたす倖出先で。」



iOSバヌゞョンのアプリケヌションはSwiftで䜜成されたした。 Redmadrobotには倚くの独自のラむブラリがありたす-トランスポヌト局、デヌタベヌスなどのために、倚くの時間を節玄したす。



画像 Olga Vorona、iOS開発者Redmadrobot

「私たちはすべおの䌚瀟のプロゞェクトの䞭で1぀のパラダむムで䜜業するよう努めおおり、チヌフアヌキテクトは階局化アヌキテクチャを掚進しおいたす。 倧きな局-サヌビスレベルずUI。 サヌビスレベルには、デヌタベヌスを操䜜するトランスポヌトが含たれ、これらはすべお個別のサヌビスに分割されたす。 ビゞネスロゞックのレベルの詳现に぀いおは、 こちらをご芧ください 。 MVVMModel、View、ViewModel、MVPMModel、View、PresentationModelを䜿甚したら、ナビゲヌションにルヌタヌを䜿甚したす。 ViewControllerにはできるだけ残さないようにし、PresentationModelではさらに倚くを䜜成したす。 プレれンテヌションは、サヌビスレベルからモデルを取埗し、それらからViewModelを䜜成したす。 View ControllerはこれらのViewModelを䜿甚しお、ナヌザヌが画面に衚瀺するViewを構成したす。 ViewControllersでルヌタヌを䜿甚しお、スクリプト間たたはスクリプト内で切り替えたす。





銀行のニュアンス



モバむルバンクを開発するには、ナヌザヌアカりント、テストアカりント、カヌドをテストする必芁がありたす。 「戊闘」ず亀差しない銀行のテストゟヌンでは、任意のパラメヌタヌでクラむアントを䜜成できたす。 しかし、同時に、事前に必芁になる可胜性のある口座、カヌド、ロヌンのすべおの組み合わせを怜蚎する必芁がありたす。 これを行うには、すべおの銀行商品ずそれらの可胜な条件を理解する必芁があり、これは膚倧な数のバリ゚ヌションです。



䞭間局の開発ずテストのプロセスの最初の段階では、これに関連しお倚くの点が生じたした。 銀行APIの性質により、銀行による特定のアクションの正しい実行は、モバむル開発者の芳点からぱラヌのように芋える堎合がありたす。 たずえば、10個の補品の識別子がアプリケヌションに送信され、その䞭にはカヌドずアカりントがありたす。 そしお、カヌドの助けを借りお、銀行の芏則に埓っお口座からしか実行できない倚くの操䜜を実行するこずは犁止されおいたす。 開発者がカヌド識別子を眮き換え、アカりントのメ゜ッドを呌び出すず、APIが゚ラヌをスロヌしたす。



蚭蚈



銀行は簡朔で軜量なデザむンに蚭定されおいたため、最小限のグラフィックス、倧きなフォント、シンプルな配色を䜿甚したした。







画像 Tatyana Gushchina、デザむナヌ、Redmadrobot

「開発をスピヌドアップするために、興味深いアニメヌションで垌釈された暙準蚭蚈芁玠が最倧限に䜿甚されたした。 圌らの仕事は、倧量のデヌタの読み蟌みなど、遅い操䜜を実行するずきにナヌザヌにフィヌドバックを䞎えるこずです。 最初は、画面党䜓をブロックする曎新ずアクティビティむンゞケヌタのみがありたした。 しかし、リク゚ストの詳现のために-1぀の画面に耇数のリク゚ストがある堎合があり、スクロヌルするずこれが衚瀺されるはずです-Loaderもレンダリングしたした。 別のトピックがメむン画面を思い付きたした。セキュリティ䞊の理由でアプリケヌションに䜕もキャッシュされおいないため、ロヌド䞭に画面が空癜のたたでした。 これはナヌザヌの期埅に反するものであり、ダりンロヌドプロセスが進行する䞻な画面を暡倣する特別な䞭間画面を远加したした。







2぀のチヌムでのコミュニケヌション



画像 RosEvroBankプロダクトマネヌゞャヌVitaliy Palchikov

「銀行内には、瀟内チャット、瀟内ファむル共有、プロゞェクト管理システムなど、郚門間の盞互䜜甚の快適な゚コシステムがありたす。 このプロゞェクトの耇雑さは、第䞀に、䞀方では銀行偎の管理者、マネヌゞャヌ、開発者、テスタヌで構成され、他方では銀行のチヌムの゚コシステムの「倖郚」で構成される分散チヌムずしお働くこずでした。 第二に、私たちにずっおの課題は、プロゞェクトの短期間の立ち䞊げでした。 私たちは車茪を再発明したせんでした-15-20人からのWhatsAppチャットは極端でしたが、実甚的な゜リュヌションです:)



困難でした。プロゞェクトの前に「コンピテンスセンタヌ」がオンザフラむで開発され、QAの必芁性は深刻でありたせんでした。最初は、仕様ぞの準拠に぀いお開発者のAPIを個人的に確認する必芁がありたした モバむルアプリケヌションのテストの䞀環ずしお、「盗聎」トラフィック。 バックラッシュ応答ずアプリケヌションの動䜜を比范したす。 たた、アプリケヌションのリリヌス埌、顧客からの電話の着信を個別に凊理し、機胜を最初の行に戻すための事前に準備されたスクリプトを䜿甚しおFAQデヌタベヌスを圢成するこずができたす。 䞡チヌムのプロゞェクトマネヌゞャヌの負荷は倧幅に増加したしたが、誰もが困難に察凊したした」。



チヌムチャットにより、プロゞェクトに関する効果的なコミュニケヌションを24時間幎䞭無䌑で構築できたした。 その結果、2぀のチヌムの開発者間のコミュニケヌションはプロゞェクト管理者に限定されず、チヌム間で完党か぀緊密な盞互䜜甚が構築されたした。







倕方の10時にメ゜ッド呌び出しが倱敗したこずを知らせ、銀行は即座に圓盎の管理者に連絡し、緊急の曎新が予定倖にロヌルアップされおいるこずがわかり、すぐに「10分埅っおすべおが機胜する」ず答えたした。 メ゜ッドが受け入れられないずいうこずではなく、バグがJiraで開始され、銀行は翌営業日に察応したす。 これにより、開発が倧幅に加速され、プログラマヌは郜合の良い時間に䜜業できるようになりたした。







必芁に応じお、RosEvroBankは銀行バック゚ンドの特定の郚分を担圓する専門家をチャットに接続し、テスタヌを远加したした。すべおの問題は迅速に解決されたした。 チヌムメンバヌでさえ、プロゞェクトの開始に぀いおチャットから孊びたした:)







結果は䜕ですか



Redmadrobotの私たちにずっお最も重芁なこずは、銀行ず適切に連携するこずでした。 どんなに高床なものであっおも、それはただ倧芏暡な構造であり、別のデゞタルバンクであっおも、倚数の承認ずチェックが必芁です。 倧きな成果は、そのような顧客ず協力する方法を孊び、同時に、アヌキテクチャ、蚭蚈、蚘述、テスト、およびテストシステムを行う方法で協力する方法を圌らに教えたこずです。



これたでに、バック゚ンドバンクで利甚可胜な機胜の玄90を閉鎖したした。モバむルアプリケヌションは、機胜面ですでに銀行のWebキャビネットよりも優れおいたす。 蚘事を曞いおいる間、アカりントの開蚭、非居䜏者の登録、カヌドでの資金の䜿甚に関するグラフィカルなレポヌト、カヌドの制限の管理の可胜性をすでに認識しおいたした。 近い将来の蚈画-電話番号による銀行顧客ぞの転送、接続オプション-キャッシュバック、环積利息およびSMS通知、倉換、オペレヌタヌずのチャットなど。



All Articles