УДК 004.424

 

Э. А. Абдыкеримова1, Д. Р. Абилхан2

1п.ғ.к., доцент, 2магистрант, Ш. Есенов атындағы Каспий мемлекеттік технологиялар және инжиниринг университеті, Ақтау қ.

 

ASP.NET ТЕХНОЛОГИЯСЫНЫҢ ЕРЕКШЕЛІКТЕРІ

 

Алғашқы .NET технологиясымен бірге бағдарламалық жасақтама саласында жаңа бағыт пайда болды. Java, COM және веб-технологияларының үздік ерекшеліктерімен шабыттанып, алдыңғы технологиялардың қателіктері мен шектеулерінен Microsoft корпорациясының қызметкерлері өз даму платформасын толығымен жаңартуға шешім қабылдады. Нәтижесінде, Windows қосымшаларын құрудан бастап, дерекқорларға сұратым жасауға дейінгі ASP.NET деп аталатын веб-бағдарламаларын құратын құрал және т.б. таңғажайып озық технологиялар пайда болды.

Бүгінде ASP.NET танымалдылыққа ие. ASP.NET негізінде құрылған бастапқы функционалдық мүмкіндіктер он жыл бұрынғыдай көрінгенімен, Microsoft қызметкерлері оған қосымша деңгейдегі құралдарды және жоғары деңгейдегі кодтаудың абстракциясын енгізді.

ASP.NET .NET Framework-пен интеграцияланады. ASP.NET .NET Framework инфрақұрылымының бір бөлігі болып табылады. Бұл архитектура Windows ортасында жұмыс жасауға бағытталған заманауи қолданбаларды құру үшін негіз болып табылады және бағдарламалық кодты жазу үшін үйлесімді келетін бағдарламалау тілінің кез келгенін қолдана алады. .NET Framework-тің ерекшелігі, бір бағдарламалық жүйенің әр модулі әр түрлі бағдарламалау тілінде жазылуы мүмкін.

.NET Framework платформасы қайталанбайтын бірнеше функционалдық бөлімдер мен он мыңдаған түрлерге (класстар, құрылымдар, интерфейстер және басқа да негізгі бағдарламалау элементтері) бөлінеді. Кез-келген .NET қосымшасын жасамас бұрын, ең алдымен, осы бөліктердің жалпы түсінігін және олардың неге осындай түрде ұйымдастырылғаны туралы жалпы ұғымды алу қажет.

Дәстүрлі Windows-қосымшаларының бағдарламашыларына .NET Framework бағдарламасында ұсынылған функционалдылықтың жиынтығы жүйелі түрде орналасқаны, осы технологияның дамуының сөзсіз жақсарылып келгендігі көрінеді. .NET Framework бағдарламасында қол жетімді мыңдаған класстардың әрқайсысы аттар кеңістігі (ағыл. namespace) деп аталатын логикалық иерархиялық контейнерде орналасқан.

Әртүрлі аттар кеңістігі әртүрлі функцияларды қамтамасыз етеді, бірақ бірлесе келе олар бөлінген жасақтама саласының барлық аспектілері үшін функционалдылықты ұсынады, хаттама кезегін ұйымдастырудан бастап, қауіпсіздікке дейін ұйымдастыру. Осы ауқымды құрал жиынтығын кітапханалар класы (ағыл. class library) деп атайды.

.NET Framework класстарының ASP.NET-де қолданылатын әдісі кез-келген басқа түрдегі .NET қосымшаларына қолданылатыннан өзгешелігі жоқ (соның ішінде автономды Windows-қосымшалары, Windows-қызметтері, утилиталары және т.б.).

.NET Windows және веб-қосымшалар үшін арнайы жасалған пайдаланушы интерфейстерін құруға арналған класстарды ұсынғанымен, көптеген .NET Framework мүмкіншіліктері (дерекқорларға қол жеткізуден бастап және көп ағынды өңдеу үшін қолдауға дейін) кез келген түрді қосымшаларда пайдалануға мүмкіндік береді. Басқаша айтқанда, .NET-те веб-қосымшаларды жасақтаушыларға клиенттік қосымшаларды әзірлеушілерге арналған құралдарды ұсынады [1].

ASP.NET коды компиляциядан өтеді. Жалпы веб-қосымшалары мен веб-сайт кодтары интерпретациядан өткенімен, барлық .NET қосымшалары сияқты ASP.NET бағдарламалары әрқашан компиляциядан өтеді және осы өзгешелік  ASP.NET ерекшеліктерінің бірі болып табылады. Шын мәнінде C # немесе Visual Basic бағдарламасында кодты алдын-ала компиляциясыз орындау мүмкін емес.

ASP.NET бағдарламалары екі компиляция кезеңдерінен өтеді. Бірінші кезеңде C # бағдарламалау тілінде жазылған код MSIL (Microsoft Intermediate Language) немесе жай IL тілінде аралық тілдегі кодқа жазылады. Бұл бірінші кезең - .NET тілінің әртүрлі тілдерді пайдаланудың негізгі себептерінің бірі ғана.

Негізінде барлық .NET тілдері (соның ішінде C #, Visual Basic және т.б.) іс жүзінде IL кодымен бірдей кодқа айналатын компиляциядан өтеді. Бұл компиляцияның бірінші кезеңі автоматты түрде парақтың бірінші сұрауы бойынша да орындалуы мүмкін және ол алдын-ала орындалу мүмкін (бұл алдын-ала компиляция деп аталады). IL коды бар компиляциядан өткен файлды жинақ деп атайды.

Компиляцияның екінші кезеңі беттің нақты орындалуына дейін жүреді. Осы сәтте IL коды төмен деңгейлі машина тіліндегі кодқа айналады. Бұл кезең Just-In-Time (JIT) компиляциясы деп аталады және барлық .NET бағдарламалары үшін бірдей көрінеді (мысалы, Windows бағдарламалары).

.NET-тағы компиляция процесі бағдарлама жасаушыларға барынша ыңғайлылық пен икемділікті қамтамасыз ету үшін екі кезеңге бөлінген. Кодты төмен деңгейлі машина тілінде жасамас бұрын, компилятор қай операциялық жүйеде және бағдарламаның негізгі құрылғысы іске қосылатынын білуі керек (мысалы, бұл 32 биттік немесе 64 биттік Windows амалдық жүйесі болады). Бұл екі компиляция қадамдарын орындау арқылы компиляциядан өткен .NET жинағын жасай және оны бірнеше платформаға таратуды жалғастыра аласыз.

Тез компиляциядан өту кезеңі веб-сайттың кез-келген парағына әрқашан сұратым жасалса пайдасыз болар еді. Бірақ, ASP.NET қосымшалары әр уақытта веб-парақ сұралса, компиляцияны орындауды қажет етпейді. Оның орнына IL коды бір рет жасалады және бастапқы код өзгертілген жағдайда ғана қайта жасалады және машиналық кодты қамтитын файлдар жүйелік каталогта кэш түрінде сақталады.

Веб-қосымша коды IL тіліне ауысу уақыты, веб-қосымшаның қалай құрылғандығы және орналастырылғандығына байланысты. Егер веб-бағдарламаны Visual Studio бағдарламасында веб-жоба ретінде жасасаңыз, жоба жасаған кезде коды IL-ге жасалады. Егер ол жоба жоқ жеңіл веб-сайт ретінде жасалса, оның әр парағының коды тиісті беттің бірінші сұратымында жазылады. Бірақ осы және өзге жағдайда да, компиляцияның екінші кезеңі арқылы (IL-дан машиналық кодқа дейін) код тек бірінші рет іске қосылады .

ASP.NET-та, алдын-ала компиляция өткізуге арналған құралдар бар, олармен өндіріс веб-серверінде веб-қосымша өңделгеннен кейін дереу машина кодына бағдарламаны құрастыруға болады. Бұл аяқталған қосымшаны орналастырған кезде компиляцияның бірінші кезеңін орындауға байланысты кететін шығындарды болдырмайды (басқа адамдардың кодты өзгерту мүмкіндігін болдырмайды).

ASP.NET CLR ортасы арқылы орындалады. ASP.NET механизмінің ең маңызды аспектілерінің бірі - CLR орындалу ортасында жұмыс істеуі болып табылады. .NET Framework барлық бөліктері, яғни  барлық аттар кеңістіктері, қосымшалар мен класстар басқарылатын код деп аталады. Төменде осындай өзгешіліктердің кейбірі келтірілген.

Жадты және қоқысты жинауды автоматты түрде басқару. Автоматты қоқыс жинаушы дегеніміз бағдарлама орындалу барысында пайда болған, өз қызметін орындаған, бірақ бағдарламаға пайдасы жоқ, жадта орын алып тұрған объектілерді өшіретін CLR ортасының механизмі. Қосымшаға сілтеме түрінің нысанының данасы жасалса, CLR оған жадта басқарылатын қабаттағы сәйкес кеңістікті бөледі. Бұл жад кеңістігін бағдарламалау коды арқылы тазалау қажет емес. Объект жұмысы сілтеме деңгейінен шыққан кезде (немесе бағдарлама жұмысы аяқталғанда), объект бірден автоматты қоқыс жинаушыға қол жетімді болады. Қоқыс жинағыш белгілі бір мезгілде CLR ішінде іске қосылады және пайдаланылмайтын жадты автоматты түрде қалпына келтіреді, ол неғұрлым қол жетпейтін объекттермен жұмыс істейді. Бұл модель C++-дегі жадтың манипуляциясының төмен деңгейлі мәліметтерімен және COM-дағы сілтемелерді күрделі санаумен күресу қажеттігін жоққа шығарады [2].

Түрлер қауіпсіздігі. Бағдарлама компиляциядан өткен кезде, .NET қолжетімді класстар, олардың мүшелері, деректер түрлері және т.б. туралы мәліметтерді жинағышқа қосады. Бұл оларға қосымша қолдау файлдарын қоспай, басқа қосымшаларда және компилятордың орындалуы дұрыс екеніне көз жеткізу үшін пайдалануға мүмкіндік береді. Бұл қосымша қауіпсіздік төмен деңгейдегі бірқатар қателіктердің пайда болу мүмкіндігін толығымен жояды.

Кеңейтілмелі метамәліметтер. Класстар мен мүшелер туралы ақпарат құрастырылған жинақта .NET сақтай алатын метамәліметтердің бір түрі ғана. Метамәліметтер кодты сипаттайды және орындаушы ортамен басқа қызметтерді қосымша ақпаратпен қамтамасыз етуге мүмкіндік береді. Мысалы, бұл метамәліметтер кодты бақылау әдісін қалай орындауға болатынын немесе Visual Studio бағдарламасына жобалау уақытында арнайы басқаруды тағайындау туралы нұсқау беруі мүмкін. Олар сондай-ақ, басқа да қызметтерді орындалу уақытында іске қосады, мысалы, транзакцияларды немесе объект жиынтығын іске қосу үшін пайдалануға болады.

Қателерді құрылымдық өңдеу. .NET тілдерінде қателерді өңдеу кодын логикалық және дәйекті түрде ұйымдастыру мүмкіндігін беретін құрылымдық ерекшеліктерді өңдеуді қолдана аласыз. Әр түрлі қателер үшін бөлек код блоктарды жасай аласыз, сондай-ақ бірнеше деңгейдегі тереңдікте ерекше жағдайларды өңдегіштерді орналастыруға болады.

Бағдарламаның көпағынды орындалуы. CLR ортасы көптеген класстар пайдалана алатын жиынтық ағындарын ұсынады. Мысалы, методтарды шақыру, файлдарды оқуға және кез келген жаңа ағындарды жасамай, асинхронды түрде веб-қызметтерімен әрекеттесуге болады.

ASP.NET – объектілі-бағытталған технология. ASP технологиясы өте әлсіз объект моделін ұсынады. Ол HTTP және HTML мәліметтерін жасырып жатқан өте әлсіз деңгейдегі азғана объектілерге ие. Соның өзінде ASP.NET нағыз объектілі-бағдарланған технология болып табылады. .NET Framework қосымшалар кодына өзінің барлық объектілеріне толық қолжетімділікті қамтамасыз етумен қатар, объектілі-бағытталған бағдарламалаудың барлық тұжырымдамаларын пайдалануға мүмкіндік береді. Мысалы, ол қайта пайдалануға болатын класстарды жасауға, интерфейстерді пайдаланып, кодты стандарттауға, бар класстарды мұралану арқылы кеңейтуге және пайдалы қызметті таратылған компиляциядан өткен құрамдасқа біріктіруге мүмкіндік береді.

ASP.NET-де объектілі-бағдарланған әрекеттерді қолдайтын ең жақсы мысалдардың бірі - сервер басқару элементтері. Бұл басқару элементтері миниатюралық инкапсуляция болып табылады. Жасақтаушылар басқару элементтерін өздерінің сыртқы көрінісін баптауға, бейнелеу деректерін қамтамасыз етуге және оқиғаларға тіпті жауап беру үшін кодты пайдалану арқылы басқара алады.

Басқару элементтері көрсететін барлық төмен деңгейлі HTML түзетуі көріністен жасырылады. Жасақтаушыны төмен деңгейлі HTML түзету кодын қолмен жазудың орнына, осы басқару элементтері өздері веб-сервер бетті клиентке жібермес бұрын тиісті HTML элементтеріне түрлендіреді. Осылайша, ASP.NET серверінің басқару элементтері HTML және HTTP бағдарламалауының төмен деңгейлі мәліметтерінен дерексіз дерек береді. Төменде ASP.NET веб-бетінде анықталу мүмкіндігі бар стандартты HTML мәтіндік өрісі бар шағын мысал келтірілген:

<input type="text" id="myText" runat="server" />

«runat =» атрибутын қосқаннан кейін, бұл статикалық HTML код үзіндісі басқаруға болатын толық функционалды сервер басқаруына айналады. Осыдан кейін, сіз жасаған оқиғалармен жұмыс істей аласыз, атрибуттар орнатасыз және оны деректер көзіне байланыстыра аласыз. Мысалға, келесі өрістерді пайдаланып бетті бірінші рет салған кезде осы өріске арналған мәтінді C# коды арқылы орнатуға болады:

void Page_Load(object sender, EventArgs e)

{

      myText.Value = "Hello World!";

}

Бұл кодта HtmlInputText объектісіне мән қасиет орнатылады. Нәтижесінде, көрсетілген жол HTML-беттегі мәтін өрісінде көрсетіледі және клиентке жіберіледі [3].

ASP.NET негізінде құрастырылатын әрбір қолданба ақпараттық бөліктен, бағдарламалық кодтан және конфигурация туралы мәліметтерден тұрады.

ПАЙДАЛАНҒАН ӘДЕБИЕТТЕР

1. Столбовский Д.Н. Основы разработки Web-приложений на основе ASP.NET. Издательство  «БИНОМ. Лаборатория знаний», 2008. – 312 c.

2. Фримен А. ASP.NET MVC 4 с примерами на C# 5.0. - Издательство: Вильямс, 2014. – 688 с.

3. Рихтер Дж. CLR via C#: Программирование на платформе Microsoft .NET Framework 4.5 на языке C#. - СПб.: Питер, 2013. - 896 с.

 

 

 

 

 

 

Э. А. Абдыкеримова, Д. Р. Абилхан

Особенности технологии ASP.NET

Каспийский государственный университет технологий

и инжиниринга имШ.Есенова, г. Актау

 

В данной статье были рассмотрены особенности технологии ASP.NET. Статья затрагивает такие особенности, как интеграция ASP.NET с .NET Framework, компиляция кода в ASP.NET, принцип работы ASP.NET в среде CLR, ООП подход в ASP.NET и  интегрированная среда разработки Microsoft Visual Studio, как главный интрумент проектирования для ASP.NET.

 

Features of ASP.NET technology

Caspian state university of technologies

and engineering named after Sh. Yessenov, Aktau

 

In this article, we examined the features of ASP.NET technology. The article addresses such features as the integration of ASP.NET with the .NET Framework, the compilation of code in ASP.NET, the operation of ASP.NET in a CLR environment, the OOP approach in ASP.NET, and the Microsoft Visual Studio integrated development environment, as the main design tool for ASP.NET.