УДК 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.