Ընդլայնում

Բովանդակություն

Ի՞նչ է ընդլայնումը

8X ծրագրային միջավայրը հնարավոր է ընդլայնել՝ ավելացնելով նոր նկարագրություններ, ինչպես նաև փոփոխել գործող նկարագրությունների վարքը, …։

Ընդլայնման ենթակա է և՛ կիրառությունների սերվերը, և՛ 8X կլիենտը։

Ընդլայնման միջոցով 8x սերվիսում հնարավոր է՝

  1. ավելացնել նոր նկարագրություններ՝
  2. փոփոխել գործող նկարագրությունների վարքը՝ սահմանելով նկարագրությունների ընդլայնումներ՝
  3. ավելացնել Controller տեսակի դասեր:

Ընդլայնման ավելացման եղանակներ

Ընդլայնումը կարող է ավելացվել երկու եղանակով`

Ընդլայնումների ավելացում SysCon գործիքով ներմուծման միջոցով

  • Ստեղծել նկարագրության համար անհրաժեշտ ֆայլերը`
    • .as ընդլայնմամբ ֆայլ սկրիպտերում, որը պարունակում է նկարագրության մետատվյալները (ներքին անուն, հայերեն անվանում․․․),
    • .cs ընդլայնմամբ ֆայլ, որը պարունակում է սերվերում աշխատող տրամաբանությունը։
  • .as ընդլայնմամբ ֆայլում ավելացնել CSSOURCE դաշտ, որը ցույց է տալիս .cs ֆայլի հարաբերական ճանապարհը .as-ի նկատմամբ։
  • .as, .cs ֆայլերի ձևավորումից և լրացումից հետո անհրաժեշտ է .as ընդլայնմամբ ֆայլը ներմուծել տվյալների պահոց SysCon գործիքի միջոցով, որի արդյունքում կներմուծվի նաև .cs ֆայլը։
  • Դրանից հետ ծրագիրը (կիրառությունների սերվերը) անհրաժեշտ պահին կբեռնի այդ ֆայլերը, կկոմպիլացնի C# դասը և կաշխատացնի դասի տրամաբանությունը։

Կարևոր

SysCon գործիքով ներմուծվող նկարագրությունները կարող են հղվել կազմակերպության սեփական նկարագրությունները պարունակող պրոյեկտի C# դասերին։

Այս եղանակի առավելություններն են՝

  • Փոփոխությունները կատարվում են արագ՝ կիրառությունների սերվերը ճանաչում է փոփոխությունները և սկսում օգտագործել ներմուծումից հետո։
  • Հնարավոր է փոփոխել միայն մեկ կամ մի քանի ֆայլերի պարունակություններ և ներմուծել՝ առանց փոփոխելու մնացած ֆայլերը։
  • Ֆայլերում փոփոխություններ կատարելուց և ներմուծելուց հետո չկա կիրառությունների սերվերի վերագործարկման անհրաժեշտություն։

Այս եղանակի թերություններն են՝

  • Յուրաքանչյուր անգամ նկարագրությանը դիմելիս կատարվում է հարցում տվյալների պահոց, որը ըստ timestamp-ի ստուգում է նկարագրության վերջին փոփոխման ժամանակը և թարմացման դեպքում բեռնում է այն, կոմպիլացնում և գործարկում, հակառակ դեպքում օգտագործում է նախկին կոմպիլացված տարբերակը։
  • Նկարագրության յուրաքանչյուր նոր բեռնված տարբերակի համար ստեղծվում է assembly, ինչը հանգեցնում է հիշողության ավելորդ ծանրաբեռնվածության։
  • Հնարավոր չէ կազմել այնպիսի C# դասեր, որոնք գտնվում են տարբեր ֆայլերում և հղվում են մեկը մյուսի վրա (Մի ֆայլում գտնվող C# դասերը կարող են հղվել մեկը մյուսի վրա։ Տե՛ս Մեկ ֆայլում մի քանի ընդլայնում ավելացնելու ձեռնարկ

alt text
SysCon-ով ֆայլերի ներմուծում և դինամիկ կոմպիլյացիա

Ընդլայնումների ավելացում .NET գրադարանների տեղադրման միջոցով

  • Ստեղծել .cs ընդլայնմամբ ֆայլ, որը պարունակում է նկարագրության սերվերում աշխատող տրամաբանությունը:
  • ՀԾ-Բանկի հիմնական լուծման ֆայլում (ArmSoft.AS8X.Bank.sln) նախապես ստեղծված Class Library տիպի պրոյեկտում անհրաժեշտ է ավելացնել վերևում նշված ֆայլը։
  • Կոմպիլյացնել պրոյեկտը, որի արդյունքում ձևավորվում է .dll ընդլայնմամբ ֆայլ:
  • appsettings.json կոնֆիգուրացիոն ֆայլի Extensions բաժնում լրացնել առաջացած ընդլայնող dll-ի մասին ինֆորմացիան (անուն, գտնվելու ճանապարհ…) և dll-ը տեղադրել Extensions բաժնի Location դաշտում նշված հասցեում։

Կարևոր

Ընդլայնման C# դասի համապատասխան ատրիբուտում անհրաժեշտ է նշել այն նկարագրության ներքին անունը, որը ընդլայնվում է:

Օրինակ

[DocumentExtender("Cadres")]
public class CadresExtended : DocumentExtender

Տե՛ս նաև

Այս եղանակի առավելություններն են՝

  • Պրոյեկում ավելացված C# դասերը կարող են հղվել մեկը մյուսի վրա։
  • Պրոյեկտին հնարավոր է միացնել աշխատանքի համար անհրաժեշտ գրադարաններ (Library-ներ)։
  • Նկարագրություններին դիմելիս չեն կատարվում լրացուցիչ հարցումներ տվյալների պահոց և չեն ստեղծվում լրացուցիչ assembly-ներ յուրաքանչյուր նկարագրության համար։

Այս եղանակի թերություններն են՝

  • Պրոյեկտի դասերում փոփոխություններ կատարելուց հետո անհրաժեշտ է կրկին կոմպիլացնել պրոյեկտը, արդյունքում ձևավորված .dll ընդլայնմամբ ֆայլը տեղադրելով appsettings.jsonExtensions բաժնի Location դաշտում նշված հասցեում։ Արդյունքում առաջանում է կիրառությունների սերվերի վերագործարկման անհրաժեշտություն։

alt text dll-ը տեղադրված ծրագրի կողքին

Տարբերակի փոփոխումից հետո անհրաժեշտ քայլեր

ՀԾ-Բանկ համակարգի նոր տարբերակի կամ ենթատարբերակի տեղադրումից առաջ անհրաժեշտ է՝

  • get անել տարբերակի համապատասխան ՀԾ-Բանկի հիմնական լուծման կոդը։
  • Ավելացնել կազմակերպության սեփական նկարագրությունները և ընդլայնումները պարունակող պրոյեկտը։
  • Build անել պրոյեկտը, սխալների առկայության դեպքում ուղղել դրանք և կրկին build անել։
  • appsettings.json կոնֆիգուրացիոն ֆայլի Extensions բաժնում լրացնել առաջացած ընդլայնող dll-ի մասին ինֆորմացիան (անուն, գտնվելու ճանապարհ…) և dll-ը տեղադրել Extensions բաժնի Location դաշտում նշված հասցեում։