Реферат: Що таке Mіcrosoft. Net?


Що таке 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І чи компілювати його у власний (внутрішній) код.


^ Керований код


Керований код може бути перевірений на предмет типової безпеки. Код, що задовольняє вимогам типової безпеки, зруйнувати не так легко. Наприклад, структури чи даних інші додатки, що знаходяться в пам'яті, не можуть бути ушкоджені в результаті перезапису буфера. Політику безпеки можна застосувати до коду, що задовольняє вимогам типової безпеки. Наприклад, доступ до деяких чи файлів засобам користувальницького інтерфейсу може бути дозволений чи заборонений. Виконання коду, походження якого невідомо, можна заборонити.

Однак, не всі додатки, для роботи яких потрібно загальмовне середовище виконання CLR, зобов'язані задовольняти вимогам типової безпеки. Зокрема , така ситуація реалізується для додатків, написаних на C++. Керований код, написаний на C++, може використовувати можливості, надані загальмовним середовищем виконання CLR, наприклад, зборку сміття. Але тому що на C++ може бути створений і некерований код, те немає ніяких гарантій щодо того, що додаток, написаний на C++, буде задовольняти вимогам типової безпеки. У керованому коді, написаному на C++, не можна виконувати арифметичні операції над керованими покажчиками, чи приводити тип керованого покажчика до некерованого. Тому керований код, написаний на C++, можна перевірити на безпеку. Але може случитися так, що в цьому ж додатку, написаному на C++, будуть виконуватися арифметичні операції над чи покажчиками приведення типів керованих покажчиків до некерованого. А це, по своїй суті, ненадійно.


^ Розробка програм на різних мовах


Як випливає з її назви, загальмовне середовище виконання CLR підтримують багато мов програмування. Для кожної такої мови повинний бути реалізований компілятор, що генерує "керований код". Сама компанія Mіcrosoft реалізувала компиляторы для керованого C++, Vіsual Basіc.NET, JScrіpt, а також для зовсім нової мови програмування С#.

Компілятори для більш ніж дюжини інших мов реалізуються зусиллями незалежних розроблювачів. До числа цих мов програмування належить мова COBOL (його реалізацією займається компанія Fujіtsu) і мова Perl (його реалізацією займається компанія ActіveState). Уявіть собі, що мільярди рядків коду, написаних мовою COBOL, після деяких зусиль, зв'язаних з переносом, стануть доступними в середовищі .NET. Щоб скористатися перевагами середовища .NET, програмістам, що пишуть додатка мовою COBOL, не прийдеться переучуватися і з початку вивчати зовсім нова мова програмування.


Інструментальні засоби розробки


Дійсним ключем до успіху в розробці програмного забезпечення є наявність набору ефективних інструментальних засобів розробки. Компанія Mіcrosoft уже давно пропонує чудові інструментальні засоби розробки, до числа яких належать Vіsual C++ і Vіsual Basіc. Платформа .NET поєднує засобу розробки в єдине інтегроване середовище, що має назву Vіsual Studіo.NET.


Середовище VS.NET володіє широкими функціональними можливостями, що можуть бути використані при створенні додатка на будь-якій мові, підтримуваній платформою .NET.

Платформа .NET дозволяє використовувати кілька мов програмування для написання додатків і має необхідні засоби налагодження.

Середовище VS.NET надає безліч різних конструкторів форм, баз даних і інших програмних елементів.

Незалежні розроблювачі можуть і надалі розробляти розширення середовища Vіsual Studіo.NET, а також пропонувати додаткові мови програмування і відповідні повноцінні середовища розробки, підтримувані платформою .NET. Програми на запропонованих незалежними розроблювачами мовах програмування зможуть взаємодіяти з програмами на будь-яких мовах, підтримуваних платформою .NET. Існуючий набір інструментальних засобів розробки має широкі можливості, що використовуються при створенні Web-додатків і Web-служб. Забезпечується також усебічна підтримка розробки додатків з базами даних.

Не слід недооцінювати значення інструментальних засобів розробки додатків. Гарною ілюстрацією тому може послужити випадок, що відбувся при роботі над проектом мови Ada. Метою даного проекту було створення дуже могутньої мови програмування. Частиною первісного задуму було також створення стандартизованого середовища програмування мовою Ada (Ada Programmіng Support Envіronment - APSE). Розробці мови програмування була приділена величезна увага. У той же час набагато менше уваги було приділено належній розробці середовища програмування мовою Ada (APSE). Через це в мови програмування Ada так і не з'явилося середовище розробки, що могла б зрівнятися із середовищем розробки Vіsual Studіo, Smalltalk, чи з численними інтегрованими середовищами розробки, що маються для мови Java.

Перевага середовища розробки Vіsual Studіo.NET полягає в тому, що вона є стандартом. Отже, вона буде ретельно набудована для того, щоб зробити роботу в цьому середовищі продуктивної. Увазі розроблювачів будуть запропоновані численні тренінгу, присвячені розробці додатків у даному середовищі, планується також безліч інших акцій. Компанія Mіcrosoft, у порівнянні з багатьма більш дрібними розроблювачами, що є присутнім на великому ринку інструментальних засобів, має у своєму розпорядженні набагато великі ресурси, що вона в стані виділити на підтримку середовища Vіsual Studіo.NET. Платформа Java характеризується високо стандартизованою мовою програмування й інтерфейсом прикладного програмування (APІ). У той же час, інструментальні засоби розробки, без яких написання високопродуктивних додатків немислимо, не є в ній стандартизованими.

^ Фактори, що визначають успіх Web-служб


Перспектива Іnternet-приложений, як неї бачить компанія Mіcrosoft, стала надбанням громадськості. Остаточний успіх ініціативи, з яким виступила Mіcrosoft, залежить від двох зовнішніх факторів, що не зв'язані зі сферою програмного забезпечення А саме, від ступеня розвитку інфраструктури мережі Іnternet і успіху запропонованої моделі підприємства. Питання про тім, чи придбає технологія Web-служб широке поширення, прямо залежить від наявності мереж з високою пропускною здатністю. Такі мережі вже зараз широкодоступны. І пропускна здатність їх у наступні кілька років істотно збільшиться. А от що стосується перспектив запропонованої моделі підприємства, то вони нам поки ще невідомі!

Важливо усвідомлювати тім, що технологія .NET володіє набагато більш широкими можливостями, чим голосно рекламовані можливості Іnternet. Більш стійка платформа, призначена для створення Wіndows-приложений, надзвичайно могутня бібліотека класів .NET Framework, а також інструментальні засоби розробки - це саме ті особливості технології .NET, завдяки яким вона витримає іспит часом.

Резюме

Mіcrosoft .NET - це нова платформа, побудована на верхньому шарі операційної системи. Вона має многими можливості, що дозволяють створювати і розгортати як звичайні, так і нові Web-орієнтовані додатки. Web-служби дозволяють використовувати функціональні можливості додатків у всій мережі Іnternet. Як правило, для організації взаємодії з Web-службами задіяний протокол SOAP (Sіmple Object Access Protocol - простий протокол доступу до об'єктів). Оскільки в основу протоколу SOAP покладені широко розповсюджені стандарти, зокрема мова розмітки гіпертексту HTML (Hypertext Markup Language) і мова XML (extensіble Markup Language), цей протокол характеризується високим ступенем функціональної сумісності, а виходить, і високою здатністю до взаємодії.

Платформа .NET використовує керований код, для виконання якого призначена загальмовне середовище виконання CLR. Загальмовне середовище виконання CLR використовують загальну систему типів (Common Type System). Бібліотека класів .NET Framework містить величезна кількість класів, що в однаковій мірі доступні в будь-якій мові програмування, підтримуваному платформою .NET. Ключова роль у технології .NET належить мові XML Усі функціональні можливості, який володіє платформа .NET, можуть використовуватися як для створення більш стійких Wіndows-приложений, так і для побудови Іnternet-приложений.

^ Програмування на керованому C++

В кожній новій версії Visual C++ компанія Microsoft розширює можливості мови в багатьох напрямах. Visual C++.NET не є виключенням,

підтримуючи безліч нових можливостей, для використовування яких введені нові ключові слова і атрибути. Зокрема, з'явилася

підтримка розробки коду на керованому C++ для платформи .NET. В цьому розділі представлено декілька прикладів, які допоможуть

читачу познайомитися з основними класами .NET Framework і приступити до самостійного написання коду на керованому C++.

На прикладі використовування класу Console (Консоль) продемонстровані стандартні введення і висновок, а крім того, розглянуті

надзвичайно корисні класи String (Рядок) і Array (Масив). Далі представлена програма управління системою бронювання готельних

номерів, до якої ми ще не раз повернемося в наступних розділах. Потім розглянуті важливі аспекти програмування на керованому

C++ для створення коду під платформу .NET: використовування керованих, некерованих, значущих (value), а також абстрактних

типів, інтерфейси, упаковка і розпаковування, делегати, події, властивості і керовані обробники виключень. На закінчення

розглянуті атрибути C++ в контексті створення проектів ATL СОМ.

Использование розширень керованого C++ При

розробці керованого коду на Visual C++ використовуються декілька нових ключових слів, а розширення компілятора C++, що

дозволяє створювати додатки для .NET, викликається за допомогою параметра /CLR (Компіляція для виконання в загальномовному

середовищі). Цей параметр указує компілятору, що в кінцевому файлі слід застосовувати набір інструкцій проміжної мови IL,

а не звичайний набір інструкцій процесора. Нові ключові слова використовуються при створенні керованого коду і не підтримуються

при створенні звичайного некерованого коду. Хоча наявність або відсутність параметра /CLR (Компіляція для виконання в загальномовному

середовищі) повністю визначає, чи компілятор генеруватиме керований (на проміжній мові IL) або некерований код, можна задавати

режим компіляції для окремих частин програми. Це здійснюється за допомогою прагм #pragma:

#pragma managed

// Подальший код компілюється як керований

ttpragma unmanaged

// Подальший код компілюється як некерований

Якщо заданий параметр компілятора /CLR (Компіляція для виконання в загальномовному середовищі), то за відсутності директив

#pragma початковий код за умовчанням компілюється як керований. За відсутності параметра /CLR (Компіляція для виконання

в загальномовному середовищі) прагмы #pragma компілятором ігноруються, а код компілюється як некерований. Для використовування

можливостей розширення керованості в початковий файл слід вставити директиву fusing з вказівкою збірки (assembly) mscorlib.dll,

що містить необхідну для роботи керованого коду інформацію про типи. Такі складки є розширенням для платформи .NET і звичайно

складаються з файлів DLL (або ЕХЕ). Крім того, майже завжди визначається, що буде використаний простір імен System (Системний

простір імен); це, проте, не обов'язково для застосування керованого коду. Концепція просторів імен в C++ прямо копіює

концепцію просторів імен багатомовної платформи .NET, що є ієрархією імен. Ці два аспекти розробки коду для .NET обумовлюють

необхідність включення в початок початкового файлу наступних двох рядків:

fusing

// Потрібен для керованого коду на C++

using namespace System;

// використовується простір імен Система

// Не вимагається, але звичайно використовується

Директива препроцесора fusing схожа на директиву #import в колишніх версіях Visual C++ тим, що робить доступною для компілятора

інформацію про типи. У разі директиви #import інформація про типи містилася в бібліотеках типів звичайно були файлами TLB, DLL, OCX або ЕХЕ. У разі директиви #using інформація про типи представлена у формі метаданих,

що містяться в збірці .NET. Збірка mscorlib.dll містить інформацію про типи, необхідну всім додаткам .NET включаючи інформацію про базовий клас, що є предком всіх керованих класів, — класі System: :0bject (Система::Объект). Помітимо,

що в такому записі System (Системний простір імен) позначає простір імен, а Object (Об'єкт)

^ Программа HelloWorld (Привіт, мир)

Трохи нижче

наведений приклад коду з дуже простої керованої програми, яка виводить на консоль один-єдина рядок. Ви можете відкрити

супроводжуюче рішення [Як і для всіх інших прикладів в даній книзі, реалізація програми HelloWorld доступна читачу в готовому

вигляді. Початкові файли цього проета знаходяться в теці З:\OI\NetCpp\Chap3\HelloWorld. Для того, щоб відкрити його в Visual

Studio, двічі клацніть на файлі HelloWorld.sIn в Провіднику.] або створити свій проект і ввести текст програми самостійно.

Для того, щоб це зробити, необхідно створити порожній проект HelloWorld (Привіт, мир), додати початковий код, а потім скомпілювати

і запустити проект. Як створити консольний додаток на керованому C++

Створіть порожній проект консольного додатку Managed C++, називається HelloWorld (Привіт, мир): Відкрийте Visual Studio.NET.

Виберіть пункт меню File => New => Project (Файл => Створити => Проект) для того, щоб відкрити діалог New Project (Створення

проекту). Виберіть пункт Visual C++ Projects (Проекти Visual C++) в списку Project Types (Типи проектів). Виберіть пункт

Managed C++ Empty Project (Порожній проект на керованому C++) в списку Templates (Шаблони). Введіть HelloWorld (Привіт,

мир) як назви проекту.

Задайте теку, в якій зберігатиметься проект.

Клацніть на ОК для того, щоб закрити діалог New Project (Створення проекту) і завершити створення нового проекту. Додайте

початковий код: Клацніть правою кнопкою на теці Source Files (Початкові файли) у вікні Solution Explorer (Пошук рішень).Выберите

пункт меню Add => Add New Item (Додати => Додати новий елемент) для того, щоб відкрити діалог Add New Item dialog (Додати

новий елемент).

Виберіть в списку Templates (Шаблони) пункт C++ File (Файл C++).

Вкажіть HelloWorld (Привіт, мир) як назви проекту.

Не змінюйте значення розташування (Location), прийняте за умовчанням.

Клацніть на кнопці Open (Відкрити) для того, щоб закрити діалог Add New Item dialog (Додати новий елемент) і відкрити Source

Editor (Редактор текстів програм). Введіть код прикладу HelloWorld (Привіт, мир). Скомпілюйте і запустіть проект: Виберіть

пункт меню Build => Build (Створити => Створити).

Використовуйте поєднання клавіш Ctrl-F5 для запуску програми без відладчика.


^ Директива fusing необхідна для всіх програм на керованому С++. Вона робить доступним для компілятора стандартні типи (такі,

як Console (Консоль) і Object (Об'єкт)), визначені в бібліотеці класів NET. Клас Console (Консоль) знаходиться в просторі імен System (Системний простір імен) і його повне ім'я — System: : Console (Система::Консоль) Даний

клас містить метод WnteLine, що виводить на консоль текст і додаючий до нього символ ново
еще рефераты
Еще работы по разное