Отчет по технологической практике в ООО Солвежен

Автор работы: Пользователь скрыл имя, 09 Декабря 2014 в 20:23, отчет по практике

Описание работы

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

Файлы: 1 файл

111.doc

— 604.00 Кб (Скачать файл)
  • Файл - страницу может поддерживать только человек, хорошо владеющий как 
    программированием, так и HTML, что требует повышенной квалификации.
  • Один файл, в конкретный момент времени, может править только один человек. 
    Это означает, что работает либо программист, либо дизайнер. Т.е. наблюдается 
    невозможность разделения труда там, где она потенциально возможна.
    • Хранение бизнес логики в файлах - страницах в распределенном по управляющим элементам виде приводит к затруднению ее вынесения в объекты второго уровня.
  • Как общий итог рассмотрения платформы можно заключить, что, благодаря простоте использования, наличию большого числа функций и библиотек, распространенности и поддержке большинства существующих Web - серверов и платформ, РНР является очень удобным средством разработки небольших систем. В то же время ограничения по производительности, масштабируемости, языку программирования и возможностям расширения и интеграции препятствуют использованию платформы при разработке масштабных систем.

Технология Java Servlets

Технология Java Servlets (сервлеты) была разработана компанией Sun Microsystems, чтобы использовать преимущества платформы Java для решения проблем технологии CGI и API расширений сервера. Технология решает проблему производительности, выполняя все запросы как нити в одном процессе. Сервлеты также могут легко разделять ресурсы, и не зависят от платформы, поскольку выполняются внутри Java Virtual Machine (JVM).

Технология обладает широкими функциональными возможностями. Большое количество библиотек предоставляет самые разнообразные средства, необходимые в разработке. Модель безопасности Java делает возможным точное управление уровнем доступа, например позволяя доступ только к определенной части файловой системы. Обработка исключений Java делает сервлеты более надежным средством, чем расширения серверов на C/C++.

Любой сервлет является классом Java, и, поэтому, должен быть выполнен внутри Java VM так называемым сервлет - контейнером (servlet container, servlet engine). Сервлет - контейнер загружает класс сервлета при первом обращении к нему, либо сразу при запуске сервера при специальном указании. Далее сервлет остается загруженным для обработки запросов, пока он не выгружается явным образом, либо до остановки контейнера.

Технология является распространенной, и может быть использована со всеми популярными Web - серверами (Enterprise Server от Netscape, Microsoft Internet Information Server (IIS), Apache, Java Web Server от Sun).

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

Поскольку сервлеты обрабатываются в одном процессе с помощью создания потоков внутри него, программный код сервлетов должен быть потоке - безопасным. Это накладывает определенную ответственность на программиста, но с помощью стандартных приемов, таких как отказ от использования полей в классах сервлетов, и хранение необходимых данных в контексте или внешнем хранилище такие свойства кода легко достигаются. При этом сервлеты приобретают такое неоценимое преимущество как масштабируемость.

Итак, сервлеты обеспечивают компонентный, платформе - независимый метод для построения web-приложений без ограничений производительности CGI программ. Они имеют широкий диапазон доступных прикладных API, позволяют использовать все преимущества Java, легко расширяются и масштабируются, поддерживаются всеми популярными Web - серверами. Все это делает их отличным средством разработки крупных Web - систем.

Технология Java Server Pages

Технология Java Server Pages (JSP) от компании Sun Microsystems явилась надстройкой над технологией Java Servlets, обеспечивающей более быструю и простую разработку web - приложений с помощью применения шаблонного подхода.

Для понимания архитектуры и преимуществ JSP необходимо знать технологию Java Servlets, поскольку они тесно связаны. Страницы Java Server Pages представляют из себя шаблоны страниц HTML, схожие с шаблонами РНР и ASP. Основным отличием от других подобных технологий является то, что код, находящийся внутри специальных тэгов не интерпретируется при обращении к странице, а предварительно компилируется в Java Servlet. Статические участки шаблона преобразуются в вызовы к функциям для их помещения в поток вывода. Код компилируется так, как если бы он находился внутри сервлета. Компиляция JSP страниц в сервлеты является трудоемкой, но проводится один раз - либо при первом обращении к странице, либо при запуске сервлет - контейнера.

Технология JSP удачно объединяет шаблонный подход к построению сайтов и все преимущества Java платформы. Благодаря этому технология получила широкое распространение как среди профессиональных коммерческих разработчиков, так и

при создании открытых бесплатных проектов. Важным шагом к расширению шаблонного подхода стали так называемые библиотеки тэгов (tag libraries). Это гибкая возможность интегрировать стандартные, сторонние, или собственные программные компоненты в страницы. Простота создания и использования привели к большой популярности библиотек тэгов.

Благодаря работе на основе Java технология JSP не привязана к конкретной аппаратной или программной платформе. Таким образом JSP являются отличным решением для использования в гетерогенных средах.

Производительность технологии ограничена объективными особенностями архитектуры. Во-первых, страницы должны быть откомпилированы в сервлеты, что занимает значительное время. Во-вторых сервлеты выполняются в среде выполнения Java, т.е. в режиме интерпретации. Однако эти ограничения компенсируются дополнительными возможностями. Современные контейнеры поддерживают кластеризацию серверов, что перекладывает нагрузку на аппаратное обеспечение. Это является экономически оправданным и простым решением. Задача же компиляции в сервлеты является разовой и производится либо при первом обращении, либо при запуске сервлет - контейнера. Таким образом это не сказывается на общей производительности системы при рассмотрении за достаточный период времени.

Основными достоинствами JSP является простота разработки, характерная для шаблонного подхода, наличие большого количества сторонних библиотек, легкость их использования, мощные и разнообразные среды разработки. Благодаря всем этим факторам JSP является наиболее перспективной базовой технологией разработки при создании Web - сайтов. Однако при создании сложных Web - систем ограничения, накладываемые шаблонным подходом становятся серьезным препятствием к развитию.

Технология Microsoft .NET и среда ASP .NET

Технология .NET является новейшей разработкой компании Microsoft и заявлена как новый этап в развитии средств взаимодействия между приложениями. В настоящий момент она доступна в качестве дополнения .NET Framework к семейству операционных систем Microsoft Windows, а также в новом продукте Windows Server 2003. Также ведутся работы по созданию .NET Framework на других операционных системах. Платформа .NET упрощает разработку приложений и повышает надежность кода. В частности, она обеспечивает автоматическое управление временем жизни объектов, нейтральные к языкам библиотеки классов и пересекающие границы языков наследование, обработку исключений и отладку.

Основа .NET - Common Language Runtime (общая среда исполнения языков) опирается на системные службы операционной системы и управляет выполнением кода, написанного на любом современном языке программирования. Набор базовых классов дает доступ к сервисам платформы, которые разработчики могут использовать из любого языка программирования. Common Language Runtime и базовые классы вместе составляют основу .NET платформы. NET предлагает также высокоуровневые сервисы:

  • ADO .NET - новое поколение ADO, которое использует XML и SOAP для 
    обмена данными;
  • ASP .NET - новая версия ASP, позволяющая использовать любой (.NET 
    совместимый) язык для программирования Web страниц;
  • Windows Forms и Web Forms - набор классов для построения пользовательского 
    интерфейса локальных и Web-ориентированны приложений.

Развертывание систем на платформе .NET осуществляется особым образом. Исходные коды компилируются не в команды процессора х86 или другие машинные коды. Вместо этого компилятор создает код на Промежуточном Языке Microsoft (Microsoft intermediate language - MSIL). Файл, содержащий MSIL, может выполняться на платформе любого процессора, если операционная система, предоставляет .NET CLR.

Важной составляющей частью платформы .NET является новая среда ASP.NET (ранее использовалось название ASP+). Возможности ASP.NET настолько велики, что ее сложно назвать следующей версией ASP. В ее основе лежит другая платформа, и основными языками программирования для нее выбраны С# и Visual Basic, вместо бывших скриптинг языков. В то же время, новая технология позволяет писать ASP страницы на любом подходящем языке.

В ASP.NET заложено все, для того, чтобы сделать весь цикл разработки web -приложения более быстрым, а поддержку проще. Ниже приведены основные возможности и принципы работы ASP.NET.

  • Компилирование кода при первом обращении.
  • Широкий выбор библиотек компонентов, поставляемых с .NET.
  • Поддержка мощного средства разработки - Visual Studio. NET.
  • Языковая независимость в пределах платформ для которых реализована общая 
    языковая среда исполнения CLR.
  • Возможности расширения с помощью мультипроцессорных и кластерных 
    решений.
  • Новые возможности по обработке ошибок.
  • Объектно-ориентированные языки разработки (новый язык С#).
  • Расширенные возможности повторного использования компонент.

Очевидно, что платформа .NET и ASP.NET предоставили новые возможности по разработке Web - систем. Они отвечают всем современным требованиям и позволяют значительно ускорить и упростить разработку сложных приложений. Однако, на данный момент, .NET в полном объеме существует только для платформы Windows. Разработки по переносу на другие системы ведутся, но еще не завершены и их будущие результаты трудно оценить. Что касается разработки сайтов, то ASP.NET

сильно привязана к серверу IIS, и, хотя архитектура .NET позволяет перенести приложения ASP.NET на другую платформу, на данный момент реальная возможность отсутствует. Таким образом важнейшее - многоплатформенность пока еще не может быть удовлетворено платформой .NET, а значит ее использование для такой системы пока не оправдано. Однако необходимо отметить, что такая система должна иметь возможности интеграции с платформой .NET (особенно Web -сервисы), поскольку ее будущее широкое использование не вызывает сомнений.

Анализ существующих базовых технологий

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

  1. Отдельное выполнение запросов. При каждом запросе динамического 
    содержимого, запускается отдельная программа для обработки запросов. 
    Программа генерирует содержимое, передаваемое клиенту. Этот подход 
    используется в классических CGI-скриптах.
  2. Накопление исполняемых процессов. Подход аналогичен предыдущему, но при 
    этом если запрос выполняется повторно, нового запуска программы не 
    происходит, а обработка передается существующему процессу. Данный подход 
    применяется в технологиях Java Servlets, Fast CGI.
  3. Шаблоны страниц. При запросе шаблоны заполняются динамическим 
    содержимым, обычно, но необязательно, создаваемым интерпретируемым 
    языком сценариев. Подход применяется в технологиях ASP, JSP, PHP.
  4. Расширения Web - сервера. Web - сервер обращается к особым расширениям 
    для обработки динамического содержания. Расширения специфичны для Web - 
    сервера. Этот подход используется в IS API, NSAPI, mod_perl.

Каждый из указанных подходов имеет свои возможности и ограничения, и, соответственно, свою область применения. Модель отдельного выполнения запросов существенно ограничивает производительность. Вариант накопления процессов является развитием этой технологии, повышает производительность, при этом сохраняя максимальную гибкость разработки. Шаблонный подход чрезвычайно удобен при разработке небольших систем, однако при увеличении сложности он начинает тормозить процесс разработки и не является подходящим для крупных систем. Он также отличается невысокой производительностью, хотя исследования [1] показывают, что в определенных условиях могут демонстрировать достаточно высокие показатели и конкурировать с подходом 2). Расширения Web - сервера не являются самым удобным средством разработки, жестко привязывают систему к определенному Web - серверу, но демонстрируют максимальную производительность и дают наибольшую гибкость в разработке.

Рассмотрим платформы по требованиям, определенным ранее. CGI не входит в обзор, поскольку является неудобной в использовании, и имеющей низкую эффективность, а расширения серверов слишком сильно привязаны к конкретным программным продуктам. По схеме обработки запросов платформы распределяются следующим образом:

Информация о работе Отчет по технологической практике в ООО Солвежен