Неоднорідність перемагає

Едвард Гарсон

Природна еволюція компютерних технологій привела до важливих змін в тих інструментах, які використовують архітектори для створення компютерних систем Ці зміни воскресили інтерес до Багатомовна програмування, тобто до використання декількох мов в якості основних при реалізації програмної системи

Концепція багатомовного програмування не нова характерним прикладом з минулого служать системи, в яких клієнтська частина написана на Visual Basic і використовує серверну частину на базі обєктів СОМ, написаних на C + + По суті справи ця архітектура ефективно використовувала сильні сторони кожного зі згаданих мов в зеніті їх популярності

Які ж зміни відродили інтерес до багатомовна програмування

Нові технічні стандарти у поєднанні з постійним зростанням ресурсів – пропускної здатності каналів і обчислювальних потужностей – зробили можливим реальне використання текстових протоколів Ті часи, коли ефективні розподілені системи були можливі лише при використанні хитромудрих довічних протоколів, залишилися в минулому Можливість віддаленого взаємодії на текстовому рівні зявилася разом з веб-службами на базі XML / SOAP і продовжує розвиватися в напрямку архітектурних стилів REST та інших допоміжних (але не менш важливих) протоколів типу Atom і ХМРР

Завдяки цьому новому поколінню технологій у нас є набагато більше можливостей для гетерогенної розробки, ніж будь-коли раніше, просто тому, що корисна інформація тепер являє собою відформатований текст, який можна генерувати і обробляти універсальними засобами Гетерогенна розробка дозволяє для кожного конкретного завдання вибирати найбільш підходящий інструмент, а здатність систем взаємодіяти на текстовому рівні змітає багато колишні перепони

Тепер архітектори можуть обєднувати спеціалізовані потужні інструменти, що дозволяють вести мову вже не про здатність застосувати відповідний мову, а про здатність застосувати правильну парадигму Мови програмування підтримують різні парадигми, деякі з яких обєктно-орієнтовані, а інші функціональні або орієнтовані на паралельне програмування Для конкретних завдань або предметних областей одні з цих парадигм підійдуть ідеально, а інші виявляться невідповідними Однак у наші дні ці нетрадиційні (і на перший погляд різнорідні) інструменти обєднуються в елегантні гібридні рішення набагато легше, ніж раніше

Ефект цих змін вже видно в комбинаторном збільшенні складності архітектурної топології сучасних програмних систем Цей аспект – не стільки відображення притаманною їм різнорідності, скільки ознака нових можливостей

Наявність вибору не завжди корисно, але в даному випадку воно є «меншим із зол» в контексті сучасних програмних архітектур Наша галузь має справу з дуже серйозними завданнями1, Тому нам необхідні всі можливості взаємодії, які тільки Можьо забезпечити, особливо якщо задіяні зараз платформи не дуже добре підходять для вирішення цих завдань2

У наші дні робота архітектора стала ще більш складною через те, що кордони технологій тріщать під натиском нових можливостей Прийміть цей виклик, вчіться мислити широко і зверніть багатство можливостей на свою користь: неоднорідність перемагає

Едвард Гарсон (Edward Garson) став пристрасним ентузіастом програмування ще з тих часів, коли навчався програмувати на Logo на компютері Apple II В даний час він працює архітектором програмного забезпечення в Центрі гнучких методологій програмування в Zuhlke Engineering – однієї з провідних швейцарських технологічних компаній

Джерело: Форд Н, Найгард М, де Ора Б, 97 етюдів для архітекторів програмних систем – Пер з англ – СПб: Сим-вол-Плюс, 2010 – 224 с, Мул

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*