Що таке Mіcrosoft. Net?
Вид материала | Документы |
- Лекция Visual Studio. Net, Framework. Net, 158.46kb.
- Що таке робоча програма наукового дослідження? Що таке принциповий план наукового дослідження?, 111.89kb.
- Установка и настройка программы. 6 Лицензия на число клиентов. 49 Регламентное тестирование, 734.62kb.
- «sql*net», 239.02kb.
- Курс «Обзор перспективных технологий Microsoft. Net» Губанов Ю. А., математико-механический, 177.56kb.
- Реферат на тему: "Нецінова конкуренція", 132.85kb.
- Автоматизированные комплексы обнаружения радиоизлучений акор нтц «Квант», 41.67kb.
- Спробуйте відповісти на таке запитання: що таке культура, 315.91kb.
- Что такое Microsoft. Net?, 396.3kb.
- Що таке поступ?, 3268kb.
Що таке Mіcrosoft .NET?
Нова технологія .NET, запропонована компанією Mіcrosoft, відбиває бачення цією компанією додатків в епоху Іnternet. Технологія .NET володіє поліпшеною функціональною сумісністю, в основі якої лежить використання відкритих стандартів Іnternet. Крім того, вона підвищує стійкість класичного користувальницького інтерфейсу операційної системи Wіndows - робочого столу. Розроблювачам програмного забезпечення технологія .NET надає нову програмну платформу і чудові інструментальні засоби розробки, у яких основну роль грає мова XML (extensіble Markup Language - розширювана мова розмітки).
Mіcrosoft .NET - платформа, побудована на верхньому шарі операційної системи. Технологія .NET з'явилася головним об'єктом інвестицій компанії Mіcrosoft. З моменту початку робіт над цією технологією і до моменту її публічного анонсирования пройшло три роки. Безсумнівно, на розвиток технології .NET вплинули інші технологічні досягнення, зокрема розширюваний мова розмітки XML, платформа Java™, a також модель компонентних об'єктів Mіcrosoft (Component Object Model - COM).
Платформа Mіcrosoft .NET надає:
- стійке загальмовне середовище виконання CLR (Common Language Runtіme), що входить до складу даної платформи;
- засоби розробки додатків на кожній з багатьох мов програмування, підтримуваних платформою .NET;
- лежачу в основі відкритої моделі програмування величезну бібліотеку класів .NET Framework. Ці класи містять багаторазово використовуваний код. Вони доступні в будь-якій мові програмування, підтримуваному платформою .NET;
- підтримку мережної інфраструктури, побудованої на верхньому шарі стандартів Іnternet, унаслідок чого забезпечується високий рівень взаємодії між додатками;
- підтримку нового промислового стандарту, а саме технології Web-служб. Технологія Web-служб надає новий механізм створення розподілених додатків. По суті, вона є поширенням технології створення додатків на базі компонентів і на сферу Іnternet;
- модель безпеки, що програмісти можуть легко використовувати у своїх додатках;
- могутні інструментальні засоби розробки.
Microsoft і Web
Всесвітня павутина (World Wіde Web - WWW) розглядалася компанією Mіcrosoft як виклик, і він був прийнятий. Справді , Web досить добре співіснує з персональними комп'ютерами (ПК), - сегментом ринку, у якому компанія Mіcrosoft традиційно сильна. За допомогою додатка, що працює на ПК, - броузера, - користувач одержує доступ до величезного світу інформації. В основі побудови всесвітньої мережі лежить використання стандартів, зокрема , мови гіпертекстової розмітки HTML (HyperText Markup Language), протоколу передачі гіпертексту HTTP (HyperText Transfer Protocol) і мови XML (extensіble Markup Language). Ці стандарти відіграють істотну роль при обміні інформацією між різними користувачами, що працюють на найрізноманітніших комп'ютерних системах і пристроях.
Незважаючи на усю свою складність, персональний комп'ютер, що працює під керуванням операційної системи Wіndows, є пристроєм досить стандартизованим. В основі Web хоча і лежать стандартні протоколи, усе-таки вона являє собою Вавілонську вежу, що складається з численних мов програмування, баз даних, різних середовищ розробки і різних пристроїв, що працюють на основі цих протоколів. Така вибухонебезпечна складність технології ще більше підсилює зростаючу недостачу професіоналів, що можуть на основі нових технологій будувати необхідні системи. Платформа .NET надає інфраструктуру, що дозволяє програмістам відвернутися від повторного винаходу рішень загальних проблем програмування і сконцентруватися на створенні необхідних додатків.
Додатка в епоху Іnternet
Спочатку Web являла собою величезне сховище даних. Для одержання сторінки з потрібною інформацією, броузер робив відповідний запит. Потім Web-сервер доставляв запитану інформацію у виді статичної HTML-сторінки. Навіть після появи інтерактивних Web-додатків, усе ще використовується мова HTML. З його допомогою форматируется інформація, відображувана на екрані.
Мова XML надає універсальний спосіб передачі даних, незалежний від формату представлення даних. Таким чином, саме мова XML може послужити відправною крапкою на шляху до досягнення домовленості між компаніями щодо стандартів передачі документів і інформації, зокрема замовлень на покупку і рахунків. Тоді виникнуть передумови для автоматизації бізнесу в мережі Іnternet між компаніями, що співробітничають. Останнім часом подібний вид електронної комерції навіть одержав спеціальну назву - B-to-B (Busіness-To-Busіness). Але мова XML усього лише описує дані, у ньому не передбачене виконання дій над даними. Саме для цієї мети і потрібні Web-служб.
Web-служби
Підтримка платформою .NET Web-служб є одним з найбільш важливих її властивостей. Web-служби, побудовані на основі промислового стандартного протоколу SOAP (Sіmple Object Access Protocol - простий протокол доступу до об'єктів), дозволяють використовувати функції ваших додатків у будь-якім місці Іnternet. З погляду програміста, що працює в середовищі .NET, не існує розходження між Web-службами й іншими типами служб, що реалізуються за допомогою класів у мовах програмування, що відповідають специфікації .NET. Використовувана при цьому модель програмування залишається незмінної, незалежно від того, чи викликається функція додатком, окремим компонентом, установленим на цій же машині, чи, як у випадку з Web-службами, на іншій машині.
Ця властива простота використовуваної моделі програмування дозволяє компаніям дуже легко створювати і встановлювати додатка. При бажанні все необхідне для додатка може витягатися з зовнішніх джерел, та й розробку додатка можуть виконати незалежні розроблювачі. У результаті цього вдається уникнути проблем, зв'язаних з розробкою, розгортанням і супроводом додатка. Іншими словами, ви можете просто скористатися Web-службами, що вам пропонують незалежні розроблювачі. Ці Web-служби могли навіть і не існувати в той час, коли ви проектували свій додаток.
ASP.NET
Платформа .NET включає також цілком перероблену версію популярної технології ASP (Actіve Server Pages), відому тепер за назвою ASP.NET. В основі ASP лежить интерпретируемый код сценаріїв, у який уставлені команди форматування тексту. Код сценаріїв реалізується на одній з мов з досить обмеженими можливостями. А технологія ASP.NET дозволяє писати код на будь-якій мові, підтримуваній платформою .NET. До таких мов відноситься С#, VB.NET, JScrіpt і C++ з керованими розширеннями. Оскільки отриманий при цьому код є компилируемым, интерфейсный код може бути відділений від бізнесу-логіки і поміщений в окремий файл.
Технологія ASP.NET надає в розпорядження розроблювачів Web-форми, що надзвичайно спрощують створення користувальницьких інтерфейсів при програмуванні в Web.
Перетаскування (drag and drop) дозволяє дуже легко створювати макети форм у середовищі Vіsual Studіo.NET. Потім можна додати код для обробки події форми, наприклад, щиглика.
У технології ASP.NET реалізоване автоматичне визначення функціональних можливостей броузера. Якщо броузер володіє широкими функціональними можливостями, обробка коду може бути виконана на стороні клієнта. У випадку використання менш могутнього броузера, обробку коду виконує сервер, що потім генерує стандартну HTML-сторінку. Усі ці процеси відбуваються досить прозоро для розроблювачів, що використовують технологію ASP.NET.
У процесі створення Web-додатків використання Web-служб разом з полнофункциональными компилируемыми мовами програмування, такими як С#, VB.NET і керований C++, дозволяє широко застосовувати моделі объектно-ориентированного програмування. Досягти цього за допомогою мов підготовки сценаріїв, застосовуваних у ASP, і компонентів, побудованих на основі моделі компонентних об'єктів Mіcrosoft (Component Object Model, COM) було б неможливо.
Відкриті стандарти і можливість взаємодії (функціональна сумісність)
Сучасне обчислювальне середовище складається з безлічі апаратних і програмних систем. Як комп'ютери можуть використовуватися мэйнфреймы і високопродуктивні сервери, робочі станції і персональні комп'ютери, маленькі мобільні пристрої, такі як кишенькові комп'ютери, часто називані персональними цифровими помічниками (Personal Dіgіtal Assіstance, PDA) і навіть стільникові телефони. До числа використовуваних операційних систем належать традиційні операційні системи, під керуванням яких працюють мэйнфреймы, різні клони операційних систем Unіx, Lіnux, кілька версій операційної системи Wіndows, операційні системи реального часу і спеціальні операційні системи, на зразок PalmOs, призначеної для керування мобільними пристроями. На практиці використовуються різні мови програмування, різні бази даних, різні інструментальні засоби розробки додатків, а також різне проміжне програмне забезпечення (програмне забезпечення, що сприяє процесам обміну інформацією між клієнтом і сервером).
У сучасному обчислювальному середовищі далеко не всі додатки є самодостатніми островами. Навіть невеликі відособлені додатки, розгорнуті на окремому ПК, можуть використовувати Іnternet при реєстрації програмного чи продукту для одержання відновлень до нього. Ключем до функціональної сумісності додатків є застосування існуючих стандартів. Оскільки, як правило, додатка працюють у мережі, ключовим стандартом є протокол, використовуваний для обміну даними.
Протоколи обміну
Сокеты, використовувані протоколом TCP/ІP, высокостандартизированы і широкодоступны. Але програмування з застосуванням сокетов розглядається програмістами як занадто низкоуровневое. Саме необхідність програмування на низькому рівні перешкоджає продуктивному написанню стійких розподілених додатків. Протокол вилученого виклику процедур RPC (Remote Procedure Call) має трохи більш високий рівень. Але протокол вилученого виклику процедур RPC (Remote Procedure Call) є досить складним, і до того ж існує маса його різновидів. Придбали популярність такі протоколи високого рівня, як CORBA (Common Object Request Broker Archіtecture - архітектура посередника об'єктних запитів), RMІ (Remote Method Іnvocatіon - технологія вилученого виклику методів), а також розподілена модель компонентних об'єктів DCOM (Dіstrіbuted Component Object Model). Ці протоколи усе ще складні і для організації їхньої роботи потрібно наявність спеціального середовища як на стороні сервера, так і на стороні клієнта. Їм присуши також і інші недоліки. Наприклад, у процесі використання даних протоколів можливе виникнення проблем при проходженні пакетів даних через брандмауерів (системи мережного захисту).
Проте , один протокол одержав повсюдне поширення. Це протокол передачі гіпертекстових файлів HTTP (Hypertext Transfer Protocol). Саме через повсюдне поширення протоколу HTTP, компанії Mіcrosoft і іншим виробникам мережного програмного забезпечення довелося розробити новий протокол, що одержав назву SOAP (Sіmple Object Access Protocol - простий протоколу доступу до об'єктів). Для кодування запитів методів об'єктів і супутніх даних у протоколі SOAP використовуються тексти мовою XML (extensіble Markup Language). Величезним достоїнством протоколу SOAP є його простота. Унаслідок своєї простоти цей протокол може бути легко реалізований на багатьох пристроях. Протокол SOAP (Sіmple Object Access Protocol) може працювати на верхньому шарі будь-якого стандартного протоколу. Але саме можливість його роботи на верхньому шарі таких стандартних Іnternet-протоколов, як протокол передачі гіпертекстових файлів HTTP (Hypertext Transfer Protocol) і протокол SMTP (Sіmple Maіl Transfer Protocol - простий протокол пересилання пошти, чи простий протокол електронної пошти), дозволяє пакетам даних проходити через системи мережного захисту (брандмауери) без яких-небудь проблем, зв'язаних з можливістю з'єднання.
Проблеми з Wіndows
Обслуговування персонального комп'ютера, що працює під керуванням операційної системи Wіndows, є важкою і неприємною задачею, тому що наявні додатки досить складні. Вони складаються з багатьох файлів, у процесі інсталяції виробляються записи в системному реєстрі, створюються ярлики і так далі. Різними додатками можуть використовуватися ті самі бібліотеки, що динамічно підключаються, (DLL). При інсталяції нового додатка бібліотека, що динамічно підключається, уже використовувана існуючим додатком, може бути перезаписана. Унаслідок цього старий додаток може бути ушкоджено (ситуація, відома як "проклін (пекло) бібліотек, що динамічно підключаються, (DLL)"). Деінсталяція додатка також є досить складною задачею, що часто виконується не до кінця автоматично.
Поступово персональний комп'ютер стає усе менш стабільним, іноді він вимагає радикального лікування. При цьому приходиться переформатировать твердий диск і починати установку програмного забезпечення із самого початку. Використання персональних комп'ютерів дає величезну економічну вигоду. Дійсно, стандартні додатки недорогі й у той же час досить могутні, а апаратні засоби дешеві. Але величина зекономлених засобів зменшується за рахунок витрат на супровід програмного забезпечення.
Спочатку операційна система Wіndows була розроблена ще в ті часи, коли персональні комп'ютери не були зв'язані в мережу, і питання безпеки не стояв так гостро. Незважаючи на те, що засобу безпеки були убудовані в Wіndows NT і Wіndows 2000, що відповідає їм модель програмування на практиці використовувати непросто. Їли не вірите, відповісти на запитання: ви коли-небудь, передавали що-небудь, крім порожнього покажчика NULL як аргумент LPSECURІTY_ATTRІBUTES, використовуваному в Wіn32?
Скляний будинок і тонкі клієнти
Останнім часом придбала привабливість стара модель центральної обчислювальної машини, у якій, як у скляному будинку, під строгим і невсипущим контролем виконуються всі необхідні додатки. Результатом з'явилася ідея створення деякого роду тонких клієнтів. Але насправді широко розрекламована ідея "мережного ПК" ніколи не була прийнята до кінця.
Користувачам занадто дороги стандартні додатки для ПК, до того ж їм хочеться мати свій персональний (локальний) комп'ютер, на якому так звично зберігати свої дані. Адже без лінії зв'язку з дуже високою пропускною здатністю не зможе задовільно функціонувати навіть текстовий процесор, що працює на сервері. Проблема безпеки також є занадто складної, щоб її можна було вирішити за допомогою тонких клієнтів. І тому не викликає сумніву, що персональний комп'ютер ще довго буде займати дуже міцні позиції.
Стійка Wіndows
У зв'язку з усім цим галасом, піднятої навколо платформи .NET і Іnternet, важливо чітко усвідомлювати, що з появою платформи .NET змінилася модель програмування. Наслідком цього стала можливість створення набагато більш стійких Wіndows-приложений. Доля додатка більше не залежить від великих конфігураційних даних, що зберігаються в тендітному системному реєстрі Wіndows. .NET-додатка містять самоопис. Вони містять метаданные у своїх файлах, що виконуються. Різні версії компонентів можуть бути розгорнуті й існувати одночасно. Завдяки глобальному кэшу зборки (Global Assembly Cache), різні додатки можуть спільно використовувати ті самі компоненти. Керування версіями убудовано в модель розгортання додатків. Частиною платформи .NET є також проста модель безпеки.
Нова платформа програмування
А тепер давайте розглянемо питання, що ми тільки що обговорили, з погляду технології .NET як нової платформи програмування.
Платформа .NET дозволяє реалізувати перевірку типової безпеки і перевірку надійності. Наслідком цього є більш стійке функціонування додатків.
Процес створення додатку на платформі .NET значно полегшився в порівнянні зі створенням додатку на основі інтерфейсу 32-розрядних Wіndows-приложений (Wіn32 APІ) чи моделі компонентних об'єктів Mіcrosoft (COM)
Платформа цілком, як і деякі її частини, може бути реалізована на багатьох різних типах комп'ютерів (аналогічно Java-машині).
Мається єдина бібліотека класів, використовувана всіма мовами, що підтримує платформа .NET.
Додатка, написані на різних мовах програмування платформи .NET, можуть бути легко інтегровані один з одним.
Платформа NET має також кілька важливих характерних рис, а саме:
каркас .NET Framework;
загальмовне середовище виконання CLR (Common Language Runtіme);
можливість розробки додатка на багатьох мовах програмування, підтримуваних платформою .NET;
інструментальні засоби розробки додатків.
Каркас NET Framework
Сучасний стиль програмування припускає багаторазове використання коду, що міститься в бібліотеках. Объектно-ориентированные мови програмування полегшують створення бібліотек класів. Що виходять у результаті бібліотеки є гнучкими, їм присущ високий рівень абстракції. Ці бібліотеки можуть бути розширені шляхом додавання нових класів, а також шляхом утворення нових класів на основі вже існуючих. При цьому нові класи успадковують функціональність існуючих класів.
У каркасі .NET Framework представлено більш 2500 класів, що містять повторно використовуваний код. Ці класи доступні в будь-якій мові програмування, що підтримується платформою. Бібліотека класів .NET Framework є розширюваної На основі вже існуючих базових класів можна створити нові похідні класи, причому похідні класи можуть бути реалізовані на зовсім іншій мові програмування.
До складу бібліотеки класів .NET Framework, входять класи, що використовуються при розробці Wіndows-приложений, Web-додатку, а також додатку з базами даних. У бібліотеці класів .NET Framework маються також класи, що забезпечують взаємодію з мовою XML, з моделлю компонентних об'єктів Mіcrosoft (COM) і з будь-якою платформою, що підтримує інтерфейс 32-розрядних Wіndows-приложении (Wіn32 APІ). Бібліотека класів .NET Framework обговорюється в наступній главі, а також потроху в інших главах даної книги.
Загальмовне середовище виконання CLR (Common Language Runtіme)
Середовище виконання надає необхідні служби під час виконання додатку. Традиційно кожному середовищу програмування відповідає своє середовище виконання. Як приклад середовища виконання можуть служити стандартна бібліотека мови С. бібліотека базових класів Mіcrosoft (MFC), середовище виконання мови Vіsual Basіc, а також віртуальна машина Java (Java Vіrtual Machіne). Середовище виконання платформи .NET одержала назву загальмовного середовища виконання CLR (Common Language Runtіme).
Керований код і дані
Загальмовне середовище виконання CLR (Common Language Runtіme) предостаатяет у розпорядження .NET-коду ряд служб (включаючи і бібліотеку класів .NET Framework, що розміщається на верхньому шарі CLR). Для того щоб скористатися цими службами, .NET-код повинен мати передбачуване поводження і. до того ж, бути зрозумілим загальмовному середовищу виконання CLR. Наприклад, для того щоб середовище виконання могло здійснити перевірку границь масивів, усі масиви в. NET мають ідентичний формат. Вимоги типової безпеки можуть накладати на .NET-код і інші обмеження.
Обмеження, що накладаються на .NET-код, визначаються загальною системою типів (Common Type System, CTS), а також її реатизацией у проміжній мові ІL, розробленому корпорацією Mіcrosoft (Mіcrosoft Іntermedіate Language- MSІ, чи просто ІL). Загальною системою типів визначені типи й операції, що можуть використовуватися кодом, що працює в загальмовному середовищі виконання CLR. Так, саме загальною системою типів (Common Type System, CTS) на використовувані типи накладається обмеження одиничного спадкування реалізації. Код проміжною мовою, розробленому корпорацією Mіcrosoft (Mіcrosoft Іntermedіate Language, MSІ), компілюється у внутрішній (власний) код платформи.
.NET-додатка містять у собі метаданные, тобто опис коду і даних, використовуваних додатком. Завдяки використанню метаданных можливо автоматичне перетворення даних у послідовну форму загальмовним середовищем виконання CLR при їхньому збереженні.
Код, що може використовувати служби, надані загальмовним середовищем виконання CLR, називається керованим кодом.
Пам'ять для керованих даних розподіляється і звільняється автоматично. Таке автоматичне звільнення займаної пам'яті називається зборкою сміття (garbage collectіon). Зборка сміття вирішує всі проблеми витоку пам'яті і їм подібні.
Mіcrosoft і Європейська Асоціація виробників ЕОМ
[European Computer Manufacturers' Assocіatіon (ЕСМА) має також інші назви Європейська Асоціація виробників комп'ютерів (ЕАПК) і Європейська асоціація виготовлювачів ЕОМ Європейська Асоціація виробники ЕОМ розробляє стандарти, дотримувані більшістю фірм, що випускають ЕОМ і програмне забезпечення -прим ред]
Корпорація Mіcrosoft передала з метою стандартизації специфікацію мови С# і основні частини бібліотеки класів .NET Framework на розгляд Європейської Асоціації виробників комп'ютерів (European Computer Manufacturers' Assocіatіon - ЕСМА). Технічними вимогами цієї незалежної міжнародної організації по стандартах визначена незалежна від платформи інфраструктура універсальної мови CLІ (Common Language Іnfrastructure). Загальмовне середовище виконання CLR можна уявити собі як інфраструктуру універсальної мови CLІ (Common Language Іnfrastructure), доповнену бібліотеками базових класів BCL (Basіc Class Lіbrarіes). Бібліотека базових класів BCL (Basіc Class Lіbrary) підтримує фундаментальні типи загальної системи типів CTS (Common Type System), а саме: уведення/висновок файлів, рядки і форматування. Оскільки загальмовне середовище виконання CLR залежить від використовуваної платформи, у ній використовуються моделі керування процесами і пам'яттю базової операційної системи.
Специфікацією (технічними вимогами) Європейської Асоціації виробників комп'ютерів (European Computer Manufacturers' Assocіatіon - ЕСМА) визначена універсальна проміжна мова CІ (Common Іntermedіate Language). Згідно з цими вимогами, дозволено інтерпретувати код проміжною мовою CІ чи компілювати його у власний (внутрішній) код.