ПЕРЕЛІК ДИСЦИПЛІН:
  • Адміністративне право
  • Арбітражний процес
  • Архітектура
  • Астрологія
  • Астрономія
  • Банківська справа
  • Безпека життєдіяльності
  • Біографії
  • Біологія
  • Біологія і хімія
  • Ботаніка та сільське гос-во
  • Бухгалтерський облік і аудит
  • Валютні відносини
  • Ветеринарія
  • Військова кафедра
  • Географія
  • Геодезія
  • Геологія
  • Етика
  • Держава і право
  • Цивільне право і процес
  • Діловодство
  • Гроші та кредит
  • Природничі науки
  • Журналістика
  • Екологія
  • Видавнича справа та поліграфія
  • Інвестиції
  • Іноземна мова
  • Інформатика
  • Інформатика, програмування
  • Юрист по наследству
  • Історичні особистості
  • Історія
  • Історія техніки
  • Кибернетика
  • Комунікації і зв'язок
  • Комп'ютерні науки
  • Косметологія
  • Короткий зміст творів
  • Криміналістика
  • Кримінологія
  • Криптология
  • Кулінарія
  • Культура і мистецтво
  • Культурологія
  • Російська література
  • Література і російська мова
  • Логіка
  • Логістика
  • Маркетинг
  • Математика
  • Медицина, здоров'я
  • Медичні науки
  • Міжнародне публічне право
  • Міжнародне приватне право
  • Міжнародні відносини
  • Менеджмент
  • Металургія
  • Москвоведение
  • Мовознавство
  • Музика
  • Муніципальне право
  • Податки, оподаткування
  •  
    Бесплатные рефераты
     

     

     

     

     

     

         
     
    Огляд і класифікація систем управління сайтами
         

     

    Інформатика, програмування

    Огляд і класифікація систем управління сайтами

    Биков Михайло Юрійович

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

    Вступ

    Недоліки платформ додатків серверної сторони, такі як низька функціональність, відсутність візуальних засобів управління, труднощі з масштабуванням призвели до того, що практично кожна компанія створює свій інструментарій для отримання більш ефективного середовища розробки. Також існує достатня кількість вільно розповсюджуваних розробок і опублікованих досліджень [1-5]. Всі подібні системи спроектовані для полегшення управління і зміни сайту (або сайтів, в залежності від архітектури системи), оперативного внесення змін до змісту і дизайн, тобто те, чого не вистачає базових технологій, хоча можна виділити два основних напрямки розвитку таких систем: просте побудова сайту для непрофесійних користувачів, і надання платформи для побудови складних Web - систем. Нижче розглядаються існуючі моделі систем створення та управління сайтами, а також реалізації таких систем.

    Інтерактивні форми

    Дана модель системи дає можливість візуального управління сторінками сайту без знання мови HTML за допомогою спеціальних редакторів сторінок. Додатково надаються можливості щодо створення інтерактивних форм, зазвичай працюють з базою даних. Такі системи дозволяють швидко скомпонувати і розмістити на сервер додаток, заснований на статичних сторінках, формах зміни інформації в базі даних і звітах. Яскравим представником такого підходу є система Cold Fusion [6] від компанії Allaire, Inc. Система існує під платформи Windows і Linux, використовує базу даних і пропонує розробникам розробляти власні сторінки в середовищі розробки Cold Fusion Studio. Вона побудована на принципах CGI. Основною перевагою системи є легкість створення Web - форм, пов'язаних з базою даних. Це зручний засіб швидкого створення сайтів, проте, воно жорстко прив'язане до своєї ідеології та середовищі розробки. Виключено також оперативне виправлення сайту, для цього необхідно з'єднання з сервером за допомогою спеціального ПЗ. Платформа ASP.NET також пропонує такі можливості, але в більш гнучкою формі [7]. Недолік систем такого роду зумовлений жорсткою прив'язкою до визначеної бази даних, труднощами з розробкою нестандартних модулів, не пов'язаних з СУБД. Також ускладнена процедура оновлення сайтів, оскільки доводиться оновлювати базу даних. Тим не менше, підхід є досить високорівневим і дозволяє значно прискорити розробку простих програм, пов'язаних з СУБД.

    Системи оперативного управління сайтом

    Під системами оперативного управління сайтом (управління в оперативному режимі -- online) ми маємо на увазі системи, що дозволяють змінювати зміст сайту, управляти його модулями безпосередньо в браузері в оперативному режимі. Такий підхід є найбільш зручним з точки зору оперативності й зручності управління сайтом, оскільки не вимагає встановлення додаткового ПЗ, зміни можуть проводиться з будь-якого комп'ютера, підключеного до мережі Інтернет і будуть доступні користувачам відразу після оновлення. Труднощі такого підходу полягають в складності розробки Web - інтерфейсу управління сайтом, додатковими вимогами з безпеки.

    Найбільш старою системою управління сайтом з систем подібного типу є WikiWikiWeb. Ця система з'явилася більше 10 років тому для полегшення підтримки сайтів різних спільнот користувачів. Система дозволяє будь-якому користувачеві редагувати зміст будь-якої сторінки сайту безпосередньо в браузері. Процес редагування відрізняється простотою, але і обмеженими можливостями. Для форматування використовується особливий символьний мова, яка дозволяє виділяти текст, створювати посилання і т.д. Реалізується система за допомогою ядра, яке витягує вміст сторінок з бази даних, і дозволяє інтерактивно міняти його. На даний момент існує маса реалізацій системи практично на всіх платформах розробки від Perl до. NET. Кожна з реалізацій має свої додаткові модулі, наприклад зі списком останніх змінених сторінок, інтерактивним календарем, графічним редактором у вигляді Java applet і т.д. Можливості всіх реалізацій дуже обмежені, спрямовані в основному на зміна текстової частини сторінок, а для зміни зовнішнього вигляду потрібно створення так званих "тем", тобто базових шаблонів. Однак технологія заслуговує на увагу, тому що в ній вперше була запропонована можливість міняти вміст сайту в інтерактивному режимі за допомогою браузера. Це важливе розвиток в ідеології систем управління сайтами.

    В Останнім часом все більшої популярності набувають засоби побудови і управління сайтом в оперативному режимі, засновані на PHP: Php-Nuke і PostNuke. Це споріднені системи, що є різними гілками розвитку одного проекту. Дані системи використовують всі можливості, що надаються шаблонами PHP і базу даних (MySQL, mSQL, PostgreSQL, ODBC, Sybase або Interbase), надають масу стандартних функціональних модулів для побудови сайту: новини, статті, опитування, голосування, файловий менеджер, форум, пошуковий модуль, каталогізатор посилань, поштове розсилання, і т.д. Системи з'явилися порівняно недавно і відповідають потребам розробників. Вони дозволяють підключати до сайту модулі інших виробників, створювати свої власні, і, що дуже важливо, адмініструвати систему за допомогою Web - інтерфейсу. Адміністративний інтерфейс дозволяє легко і оперативно керувати сайтом. Для його використання не вимагається знання HTML або інших Web - технологій, оскільки дизайн знаходиться в шаблонах, а бізнес логіка в PHP файлах. При необхідності створення спеціалізованої системи, а не просто компонування існуючих модулів необхідно створювати власні PHP модулі, що пов'язано з усіма перевагами та недоліками розробки на PHP, яка погано підходить для розробки великих проектів. Однак крім недоліків PHP в системах недостатньо розвинені можливості управління дизайном. Будучи орієнтована на непрофесійних користувачів, компонуються готові модулі і тих, хто обирає одну з існуючих "тим" дизайну, система не надає зручних засобів управління дизайном, не кажучи вже про віддалений зміну шаблонів. Для редагування дизайну необхідно мати доступ на сервер і редагувати шаблони там, так само як і PHP файли. Таким чином оперативність управління є часткової і відноситься тільки до змісту сайту, набору і налаштувань модулів, але не до дизайну. Також побудова складних систем утруднено через обмеження PHP (недостатня підтримка об'єктно-орієнтованого підходу, компонентних технологій).

    Очевидно, що системи такого роду є наступним рівнем розвитку систем управління сайтами, мають великі перспективи, але існуючі на даний момент реалізації не надають усіх можливостей управління сайтом через браузер (особливо це відноситься до дизайну), грунтуються на не досить потужних платформах Web -- додатків (у більшості випадків це PHP), а також володіють слабкою підтримкою можливостей розширення та інтеграції (компонентна архітектура, підтримка кластеризації). Все це перешкоджає універсального застосування подібних систем, і в особливості їх використання для побудови складних, розподілених Web -- систем.

    Системи типу Модель - Вид -- Управління (Модель 2)

    Схема роботи Web - додатків накладає свої обмеження на архітектуру систем управління сайтами. Під час роботи в режимі "запит-відповідь" без збереження стану стандартні моделі побудови призначених для користувача систем (якими звичайно є Web - системи) не можуть застосовуватися. Однак, з деякими обмеженнями, ці моделі можуть бути адаптовані. Найбільш поширеною, зручною, і визнаною архітектурою призначених для користувача систем є архітектура Модель - Вид - Управління (Model - View - Controller або MVC) [8], [9], [10] також звана для Web - додатків в деяких джерелах Модель 2 (як розвиток концепції шаблонів - Моделі 1).

    В даної архітектурі виділяються три основні підсистеми:

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

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

    Підсистема управління - обробляє події, що отримуються від користувачів та інших частин системи, ініціює дії і зміни в моделі.

    Архітектура широко поширена і застосовується в таких популярних системах побудови призначеного для користувача інтерфейсу як Microsoft Foundation Classes (MFC) і Windows Forms для операційних систем Windows, Java Swing для Java платформи, X Window System і Motif для UNIX систем. Незважаючи на безперечні переваги архітектури, такі як поділ даних та їх подання, зручність у розробці та можливості зміни окремих частин системи без зміни інших, вона є непростим для реалізації в Web - системах, по згаданим вище причин. Особливу складність представляє система управління, оскільки ініціатором і одержувачем подій і команд є різні програми, з'єднані негарантованій ліній зв'язку. Проте зручність даної архітектури змушує шукати шляхи її найкращою адаптації до розробки Web додатків.

    В якість реалізації підсистем моделі і відображення зазвичай пропонується поєднання шаблонів сторінок з окремим програмним кодом, при якому робота програміста і дизайнера може бути максимально розділена. При побудові на шаблонної технології, наприклад PHP, вони дозволяють компонувати на одній сторінці різні шаблонні блоки, а також вводити їх вміст в адміністративному інтерфейсі. При цьому взаємне розташування блоків, основний дизайн закладені в так званих темах сайту і не можуть бути гнучко змінені, хоча і дозволяють проводити самостійну розробку. При використанні більш гнучких технологій (в основному, за викладеними вище причин, вибирається Java Servlets) ядро системи дозволяє визначати шаблони і програмні компоненти, що заповнюють вміст, забезпечує їх взаємодію. У найбільш високорівневих моделях будується об'єктна модель сайту, його сторінок, ділянок сторінок. На жаль в подібних системах візуальне побудова сторінок і оперативне управління через Web -- інтерфейс відсутні, оскільки системи орієнтовані на розробку на сервер. Як підсистеми управління присутній об'єктна модель, що дозволяє взаємодіяти з користувачем у режимі, що нагадує звичайну інтерактивну модель з подіями, обробник, передачею управління, і т.д.

    Через згаданих вище переваг основою для потужних систем побудови та управління сайтами часто служить платформа Java Servlets, іноді в поєднанні з можливістю використовувати сторінки JSP. Прикладами таких технологій служать Turbine [5], Velocity [4], Struts [3]. Відзначимо, що всі вони розробляються в рамках проекту Jakarta розробників Apache's Group, мають відкритим вихідним кодом і є безкоштовними.

    Розглянемо в першу чергу Velocity і Turbine. Необхідно зауважити, що це не взаємовиключні, а доповнюють один одного технології, і їх спільне використання є ефективним. Velocity - це система побудови текстів на основі шаблонів. Вона може застосовуватися не тільки для створення Web - сайтів, але й інших подібних завдань, наприклад автоматичної генерації програмної документації. Velocity дозволяє створювати шаблони сторінок і заповнювати їх автоматично за допомогою поняття контексту - об'єкта, спільного для всієї середовища виконання і несе всі дані, що використовуються зразком. Нововведенням технології Velocity з'явилося поняття контексту, пізніше увійшло до специфікацію сервлетів. Таким чином Velocity є потужною реалізацією підсистеми відображення, надаючи можливості взаємодії із зовнішніми підсистемами моделі даних. Технологія Turbine є реалізацією архітектури Модель - Вид - Управління, розширюючи її до наступних сутностей: Дія (Action), Розміщення (Layout), Навигация (Navigation), Екран (Screen), Сторінка (Page). Структура сутностей Turbine.

    В ролі керуючого елементу служить сервлет Turbine, який проводить обробку запитів і звертається до інших сутностей. Об'єкт Action є зазначенням на клас, що обробляє форму. Якщо отримано запит від такої форми Turbine робить виклик відповідного класу. Побудова сторінок потім робиться на основі об'єкта Page, що містить необхідну інформацію про сторінку, таку як Layout - розташування елементів на сторінці, шаблон високого рівня, Navigation - Блоки навігації по сайту, що включаються в сторінку, Screen - основне тіло сторінки, що містить інформаційну частину. Очевидно, що використання Velocity доречно при генерації коду, тобто в об'єкті Screen. Така комбінація систем дозволяє зберігати шаблони сторінок і динамічно заповнювати їх при обробці запиту за допомогою контексту. Модель, яка використовується Turbine, має значною гнучкістю, оскільки припускає поділ обробників даних і генераторів сторінок. Тим не менше, пропонована архітектура не є логічно обгрунтованою. Виділення блоку навігації в окрему сутність не представляється доцільним, оскільки таких блоків може існувати велика кількість, як типових, так і специфічних для сайту. А його відділення від об'єкта подання Screen накладає істотні обмеження на дизайн. Система є технологією, яка призначена для розробників, але не має середовища для розробки, пропонуючи використовувати стандартні засоби розробки на мові Java. В цілому можна відзначити досить вдалу просту архітектуру системи, але відсутність зручних засобів розробки і будь-якої візуалізації.

    Ще однією системою управління сайтами, заснованої на Java Servlets і розробляється в рамках проекту Jakarta, є популярна система розробки Struts. Технологія Struts не вимагає повного підпорядкування сайту, вона може використовуватися разом з іншими сторінками. У цілому Struts складається з двох основних частин - обробника запитів, що використовується разом з Struts API, і бібліотек тегів JSP. Сайт може бути побудований, використовуючи класичний підхід JSP, з використанням тегів Struts в якості корисних утиліт. Однак при написанні серйозних Web - систем стає необхідним використовувати диспетчер запитів. Це сервлет - обробник, який аналізує вступники запити, і на підставі цих даних і конфігурації Struts передає запит вже конкретному обробнику. Правила конфігурації досить гнучкі, і запити можуть передаватися сторінках, виконаним в ідеології Struts або стороннім. Для полегшення роботи з важливою частиною Web - додатків - формами Struts підтримує спеціальний Form Bean, що дозволяє легко писати оброблювач форм, а також наповнювати їх змістом. Реалізація адаптованого підходу Модель - Вид - Управління) здійснюється таким чином: в якості керуючого компонента працює сервлет - диспетчер Struts, що здійснює необхідні виклики. Як модель і для реалізації бізнес логіки використовуються класи дій (Action classes), що викликаються диспетчером. Для подання даних використовуються сторінки JSP, виклик яких передається від диспетчера, і які використовують бібліотеки тегів. Також особливу увагу в Struts приділяється використанню JavaBeans для відділення дизайну від логіки. Незважаючи на те, що, багато в чому Struts є більш набором взаємозалежних утиліт, ніж цілісної системою не можна не визнати її вдалу архітектуру і величезну гнучкість у використанні. Технологія надає масу корисних інструментів для розробника, але не має свого середовища розробки і засобів візуалізації. Таким чином, вона стає вдалим сполучною ланкою між необхідними диспетчерськими обробками сервлетів і шаблонами JSP, реалізовуючи архітектуру Модель - Вид - Управління.

    Таким чином, пошук оптим?? льно реалізації архітектури Модель - Вид - Управління для систем управління сайтами є актуальним і знаходить своє застосування в різних існуючих системах побудови сайтів.

    Висновок

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

    Список літератури

    Fernandez M, Florescu D., Kang J., Levy A., Siciu D. STRUDEL: A Web Site Management System. AT & T Labs

    Mendelzon A., Milo T. Formal Models of Web Queries. Information Systems, Vol. 23, No.8, pp. 615-637, 1998  

    Holloway T. Struts: a Solid Web-App Framework.

    (http://www.fawcette.com/javapro/2002_04/magazine/features/tholloway/default_pf.asp)

    Керівництво розробника Velocity. (http://jakarta.apache.org/velocity/developer-guide.html)  

    Специфікація технології Turbine. ( http://jakarta.apache.org/turbine/fsd.html)

    Buraglia Angela C., Chalnick Leon, Forta Ben, Weiss Nate. ColdFusion MX Web Application Construction Kit, Fifth Edition. Macromedia Press; 5 edition, 2002.  

    Брукс К., Басбі С., Джезірскі Е., Макмен А. Посібник з архітектурі доступу до даних на платформі. NET (http://www.microsoft.com/rus/msdn/activ/article/dot_net_data_access_architecture/)

    Johnson M., Singh I., Stearns B. Designing Enterprise Applications with the J2EE Platform, Second Edition. Sun Microsystems, 2002.  

    Model-View-Controller. Microsoft Patterns & Practices. (http://msdn.microsoft.com/library/en-us/dnpatterns/html/DesMVC.asp)

    Gamma Erich, Helm Richard, Johnson Ralph, Vlissides John. Design Patterns. Addison-Wesley Professional, 1995.  

    Для підготовки даної роботи були використані матеріали з сайту http://www.sciteclibrary.ru

         
     
         
    Реферат Банк
     
    Рефераты
     
    Бесплатные рефераты
     

     

     

     

     

     

     

     
     
     
      Все права защищены. Reff.net.ua - українські реферати ! DMCA.com Protection Status