ԸՆԴՀԱՆՈՒՐ ՊԱՏԿԵՐ
Համատեքստ
Համակարգում պահվում և փոխկապակցվում էին իրավական փաստաթղթեր, հոդվածներ ու դրանց հղումները, նախադեպեր, նշումներ, բազմալեզու բովանդակություն և տվյալների ներմուծման ու թարմացման մեծ հոսքեր։
ԽՆԴԻՐ
Ինչ պետք էր լուծել
Պետք էր փոփոխել և զարգացնել արդեն գործող մեծ համակարգն ու դրա տվյալների մոդելը՝ չխախտելով ավելի քան 200 աղյուսակի միջև կապերը, գործող հարցումների աշխատանքը և իրավական տվյալների կառուցվածքը։
ՍԱՀՄԱՆԱՓԱԿՈՒՄՆԵՐ
Ինչ պետք էր հաշվի առնել
- MySQL database-ն արդեն ուներ ավելի քան 200 փոխկապակցված աղյուսակ և գործող production տվյալներ, որոնք պետք էր պահպանել փոփոխությունների ընթացքում։
- Իրավական փաստաթղթերի, հոդվածների, հղումների, նախադեպերի, նշումների և բազմալեզու տվյալների միջև կապերը պետք էր ճիշտ պահպանել նաև մեծ փոփոխությունների և տվյալների տեղափոխման ընթացքում։
ԻՄ ՊԱՏԱՍԽԱՆԱՏՎՈՒԹՅՈՒՆԸ
Back-End · Data Evolution · Integration
- Աշխատել եմ PHP/MySQL Back-End-ի, relational տվյալների կառուցվածքի, import/update գործընթացների, մեծ տվյալային փոփոխությունների և query/index խնդիրների վրա։
- Գոյություն ունեցող համակարգի կառուցվածքն ու տվյալների մոդելը հարմարեցրել եմ մեկ այլ անկախ իրավական տեղեկատվական համակարգի պահանջներին՝ փոխելով տվյալ ոլորտին հատուկ կապերն ու հղումները և պահպանելով երկու համակարգերի անկախությունը։
- Իրականացրել եմ նաև online payment-ի Bank POS ինտեգրումը՝ վճարային տվյալներն ու configuration-ը չներառելով հանրային նկարագրության մեջ։
ՃԱՐՏԱՐԱՊԵՏՈՒԹՅՈՒՆ
Համակարգի կառուցվածքը
ՏԵԽՆԻԿԱԿԱՆ ԲԱՐԴՈՒԹՅՈՒՆՆԵՐ
Որտեղ էր բարդությունը
- Գոյություն ունեցող տվյալների մոդելը մեկ այլ իրավական համակարգի համար հարմարեցնելիս պետք էր փոխել ոլորտին հատուկ կապերն ու հղումները՝ առանց երկու համակարգերն իրարից կախված դարձնելու։
- Մեծ schema և data փոփոխությունները պետք էր կատարել արդեն գոյություն ունեցող production տվյալների վրա՝ պահպանելով աղյուսակների միջև կապերը։
- Import/update գործընթացների փոփոխությունները պետք էր համադրել query-ների և index-ների աշխատանքի հետ՝ հաշվի առնելով մեծ relational model-ը։
- Bank POS ինտեգրման դեպքում վճարման հոսքը պետք էր միացնել համակարգին՝ credentials-ը, merchant configuration-ը և request signature-ները գաղտնի պահելով։
ՄՈՏԵՑՈՒՄ
Ինչպես կատարվեցին փոփոխությունները
- Գոյություն ունեցող համակարգից վերօգտագործվել են այն կառուցվածքներն ու մոտեցումները, որոնք կիրառելի էին նաև նոր իրավական համակարգում, իսկ ոլորտին հատուկ տվյալներն ու կապերը հարմարեցվել են առանձին։
- Գործող տվյալներն ու իրավական կապերը դիտարկվել են որպես հիմնական սահմանափակում յուրաքանչյուր schema կամ data փոփոխության ժամանակ։
- Bank POS ինտեգրումը պահվել է որպես առանձին վճարային workflow՝ չխառնելով vendor-ին հատուկ configuration-ը հիմնական business logic-ի հետ։
ԱՐԴՅՈՒՆՔ
Ինչ ստացվեց
- Գոյություն ունեցող մեծ իրավական տեղեկատվական համակարգի կառուցվածքն ու տվյալների մոդելը զարգացվել և հարմարեցվել են նոր պահանջներին՝ պահպանելով իրավական տվյալների հիմնական կապերն ու առանձին համակարգերի անկախությունը։
ՏԵԽՆԻԿԱԿԱՆ ՀԱՄԱՏԵՔՍՏ
Տեխնոլոգիաներ և համակարգեր
Համակարգերի անունները, private table name-երը, production տվյալները, payment credentials-ը, merchant identifier-ները, request signature-ները և ներքին իրականացման մանրամասները չեն հրապարակվում։