Анализ и выбор технологий для реализации серверной части 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Анализ и выбор технологий для реализации серверной части



 

Серверные скрипты выполняются сервером по запросу, посылаемому клиентским приложением (браузером). Без этих скриптов невозможно представить себе гостевые книги, опросы или другие программные компоненты, которые активно взаимодействуют с базами данных. В настоящее время существует много скриптов, с использованием которых можно написать современное приложение[8]. Рассмотрим основные из них: Python, Perl, PHP, ASP. NET, их преимущества и недостатки.

Python — это высокоуровневый язык программирования общего назначения с акцентом на производительность разработчика и читаемость кода. Синтаксис ядра Питона минималистичен. В то же время стандартная библиотека включает большой объём полезных функций. Python поддерживает несколько парадигм программирования, в том числе структурное, объектно-ориентированное, функциональное, императивное и аспектно-ориентированное. Основные архитектурные черты — динамическая типизация, автоматическое управление памятью, полная интроспекция, механизм обработки исключений, поддержка многопоточных вычислений и удобные высокоуровневые структуры данных. Код в Python организовывается в функции и классы, которые могут объединяться в модули (которые в свою очередь могут быть объединены в пакеты). Python — активно развивающийся язык программирования, новые версии (с добавлением/изменением языковых свойств) выходят примерно раз в два с половиной года. Вследствие этого и некоторых других причин на Python отсутствуют ANSI, ISO или другие официальные стандарты, их роль выполняет CPython, который является эталонной реализацией языка Python. Этот язык идеально подходит для написания веб-серверных приложений на стороне сервера, он содержит хорошо структурированные и документированные заготовки, и стандартные решения. И к тому же он абсолютно бесплатен. Таким образом, Python хорошо подходит для реализации серверной части, но у него присутствует единственный, но очень серьезный недостаток – отсутствие широкой поддержки со стороны хостеров, предоставляющих веб-сервера в аренду.

Perl — высокоуровневый интерпретируемый динамический язык программирования общего назначения, созданный Ларри Уоллом. Название языка представляет собой аббревиатуру, которая расшифровывается как Practical Extraction and Report Language «практический язык для извлечения данных и составления отчётов». Не смотря на свой «возраст» Perl по-прежнему является современным, быстрым, надежным и часто используемым языком, используемым в веб-приложениях. К тому же он абсолютно бесплатен для использования, что делает его еще более привлекательным. Удобство, понятность и простота программирования – вот основные плюсы использования данного языка в качестве серверной части любой программы, к тому же Perl очень расширяемый язык за счет самой большой в мире библиотеки дополнений CPAN, в которой можно найти большинство необходимых дополнений для реализации любого взаимодействия с любыми технологиями современными и не очень. Однако Perl имеет тот же минус, что и Python – слабая поддержка со стороны хостинговых компаний.

PHP (англ. PHP: Hypertext Preprocessor — «PHP: препроцессор гипертекста», англ. Personal Home Page Tools (устар.) — «Инструменты для создания персональных веб-страниц») — язык программирования, созданный для генерирования HTML-страниц на веб-сервере и работы с базами данных. В настоящее время поддерживается подавляющим большинством хостинг-провайдеров. В области программирования для Сети, PHP — один из популярнейших скриптовых языков (наряду с JSP, Perl и языками, используемыми в ASP.NET) благодаря своей простоте, скорости выполнения, богатой функциональности и распространению исходных кодов на основе лицензии PHP. Он отличается наличием ядра и подключаемых модулей, «расширений»: для работы с базами данных, сокетами, динамической графикой, криптографическими библиотеками, документами формата PDF, XML, JSON, SOAP. Для PHP существуют сотни расширений. Так же PHP начиная с версии 5.0 поддерживает все технологии объектно-ориентированного программирования. И работа с объектами в нем реализована на достаточно большом уровне абстракции, это делает его хорошим кандидатом для реализации проекта. К тому же, в настоящее время PHP используется сотнями тысяч разработчиков. Порядка 20 миллионов сайтов сообщают о работе с PHP, что составляет более пятой доли доменов Интернета.

ASP.NET — технология создания веб-приложений и веб-сервисов от компании Майкрософт. Она является составной частью платформы Microsoft.NET и развитием более старой технологии Microsoft ASP, что позволяет разработчикам относительно легко перейти на использование этой технологии. В то же время внутреннее устройство ASP.NET существенно отличается от ASP, поскольку она основана на платформе.NET и, следовательно, использует все новые возможности, предоставляемые этой платформой. Microsoft полностью перестроила ASP.NET, основываясь на Common Language Runtime (CLR), который является основой всех приложений Microsoft.NET. Разработчики могут писать код для ASP.NET, используя практически любые языки программирования, в том числе, и входящие в комплект.NET Framework (C#, Visual Basic.NET, и JScript.NET). ASP.NET имеет преимущество в скорости по сравнению со скриптовыми технологиями, так как при первом обращении код компилируется и помещается в специальный кеш, и впоследствии только исполняется, не требуя затрат времени на парсинг, оптимизацию. Так же как и все продукты корпорации Microsoft ASP.NET замечательно совместима с технологией Silverlight, что дает связке этих технологий некоторое преимущество прямого общения друг с другом на основе стандартов Microsoft. Используя один из языков программирования, входящих в комплект.NET Framework, легко написать приложения для взаимодействия с базами данных, при этом дополнительный уровень абстракции даёт новая технология для работы с базами данных от Microsoft – LINQ. Изначально поддерживая механизм запросов для коллекций объектов в памяти, реляционных баз данных и данных в формате XML, LINQ обладает расширяемой архитектурой, которая позволяет сторонним разработчикам реализовать доступ к их хранилищам данных через механизм LINQ [10]. Для этого необходимо реализовать стандартные операторы запросов, используя методы расширения, или реализовать интерфейс IQueryable, позволяющий разбирать дерево выражения во время выполнения, транслируя его в свой язык запросов. А работать с выражениями LINQ также удобно, как и с другими функциями и операторами языков платформы.NET. Это будет отличный выбор для написания безопасной и эффективной логики работы приложения с базой данных. Единственный недостаток данной технологии: платность и необходимость лицензирования сред разработки и серверной операционной системы.

Для снижения стоимости и сроков разработки системы рассмотрим возможность использования CMF.

Использование CMF предоставляет следующие преимущества:

1. Оперативное обновление информации – информацию публикует сотрудник, владеющий данными, без дополнительных посредников в виде технических специалистов.

2. Снижение стоимости поддержки – обновление информация может производится самостоятельно, нет необходимости оплачивать труд собственного или внешнего веб-мастера.

3. Уменьшение сроков и стоимости разработки – наиболее востребованная функциональность уже реализована в CMF и может быть сразу использована.

4. Повышение качества разработки – полностью или частично используются готовые модули, которые уже прошли неоднократное тестирование.

5. Снижение стоимости дальнейших модификаций – CMF. позволяют разделить данные и их представление. Это позволяет гораздо проще изменить внешний вид сайта.

 

MODx CMF – это профессиональный инструмент разработки сайтов, позволяющий управлять контентом, да и самим сайтом абсолютно на все 100%! Эта система с открытым кодом (open source), а поэтому бесплатна. На MODx можно построить сайт любой сложности, практически с любым набором функций, при этом система не будет никоим образом влиять на ваш html-код.

Мощные API-функции и обработчик событий позволяет четко и гладко создавать практически любые веб-приложения, а также изменять работу ядра MODx не вмешиваясь в исходный код. И еще, обновлять систему с выходом новых версий также легко и просто, даже если вы успели создать массу собственных настроек или изменить код каких-либо модулей.

MODx отлично справляется с обеими своими основными задачами — посетители видят чистые, логичные и очень быстрые сайты, в то время как разработчики имеют в распоряжении множество бесплатных дополнительных модулей и огромное, растущее с каждым днем, сообщество.

Основные преимущества:

1. Бесплатная лицензия.

2. Модульность.

3. Быстродействие.

4. Кэширование страниц и отдельных фрагментов.

5. Многосайтовость.

6. Совмещение функций CMS.

7. Прост в освоении.

Явных недостатков не обнаружено.

Yii — это высокоэффективный основанный на компонентной структуре PHP-фреймворк для разработки масштабных веб-приложений. Он позволяет максимально применить концепцию повторного использования кода и может существенно ускорить процесс веб-разработки. Название Yii (произносится как Yee или [ji:]) означает простой (easy), эффективный (efficient) и расширяемый (extensible).

Основные преимущества:

1. MVC-архитектура.

2. Поддержка кэширования на разных уровнях.

3. Большое количество встроенных компонентов.

4. Возможность простого подключения сторонних библиотек.

5. Интеграция с jQuery.

Основные недостатки:

1. Сложен в освоении.

2. Маленькое сообщество по поддержке и развитию.

Таким образом, проведя анализ выбранных технологий, проанализировав плюсы и минусы каждой из технологий и объективно выбирая из представленных вариантов реализации клиентской и серверной части проекта, можно сказать, что нам потребуются такие технологии как DHTML +AJAX, а также PHP+ MODx CMF, использование которых в данном проекте будет оправдано в соответствии с требованиями обработки и представления информации на страницах сайта.

 


СИСТЕМНОЕ ПРОЕКТИРОВАНИЕ

 



Поделиться:


Последнее изменение этой страницы: 2016-09-19; просмотров: 627; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.21.76.0 (0.015 с.)