Специальность / Speciality: 7-06-0533-04 Математика и компьютерные науки / Mathematics and computer science
Профилизация / Profiling: Веб-программирование и интернет-технологии / Web Development and Internet Technologies
Учебная дисциплина, модуль / Academic discipline, module: Технологии Java EE / Technology Java EE
Краткое содержание учебной дисциплины, модуля / Brief summary |
Обзор технологий Java EE от Oracle Предлагаемый фирмой Oracle подход по Web-программированию, а именно система кодирования распределенных систем на основе языка Java™ обладает следующими характеристиками: язык программирования объектно-ориентирован, в то же время довольно прост для освоения; цикл разработки приложений сокращен за счет того, что система построена на основе интерпретатора; приложение получается автоматически переносимым между множеством платформ и операционных систем; за счет встроенной системы сборки мусора программист освобождается от необходимости явного управления памятью; в интерактивном графическом приложении удается достичь высокой производительности (быстрого отклика на ввод пользователя) за счет встроенной в систему многопоточности; приложение легко сопровождается и модифицируется, т.к. модули могут быть загружены с сети; в приложения встроена система безопасности, не допускающая незаконного доступа и проникновения вирусов Основы клиент-серверных систем Принципы и приемы объектно-ориентированного проектирования в отношении распределенных систем. Среды профессиональной разработки Eclipse и NetBeans. Разработка, размещение и запуск клиент-серверного приложения. Паттерны проектирования Идеология распределенных систем. Трехуровневая архитектура. Шаблон MVC. Сервлеты Принципы построения сервлета. Запуск сервлета. Параметры сервлета и параметры инициализации. Жизненный цикл сервлета. Обработка HTTP-запросов. Данные формы. Чтение параметров. Каналы. Сервлет. Генерация ответа сервера. Использование тэгов HTML и разработка собственных тегов. Методы service(), doGet(), doPost(). Persistent объекты. Многозадачность. Cookie API. Класс HTTPSession. ORM-технологии доступа к базами данных (JPA, JDBC) Основные операторы и принципы программирования запросов на языке SQL. Драйвера JDBC. Утилиты. Соединение с базой данных. Пул соединений. Выделение ресурсов соединениям. Компилированные запросы. Хранимые процедуры. Транзакции. HTTP-запросы. Компиляция SQL-запросов к базе данных через сервлет. Обработка результатов. JSP и технология JSF Сценарии и директивы серверной страницы. Простейшая серверная страница. Неявные объекты. Использование методов, полей и тэгов. Сервлеты и JSP. Создание и обработка собственных JSP-тэгов. Включение внешних элементов. Директивы. Элемент plugin, param, useBean. Загрузка и задание bean-компонентов. Технология Struts Архитектура Struts. Взаимодействие и взаимозаменяемость сервлетов и JSP. Перенаправление запросов. Статическое и динамическое содержимое. Технологии EJB Отделение данные от их представления. Упорядочение данных. POJO-объекты Описание запросов на метаязыке. Реализация принципа: “Данные должны управлять программами, а не наоборот”. Разработка собственных тегов. |
Oracle’s Java EE Technology Overview The approach to Web-programming offered by Oracle, namely the system of coding distributed systems based on the language Java has the following characteristics: — the programming language is object-oriented, at the same time quite simple to master; — the application development cycle is shortened due to the fact that the system is based on an interpreter; — the application is automatically portable between multiple platforms and operating systems; — the built-in garbage collection system frees the programmer from the need for explicit memory management; — the interactive graphical application achieves high performance (fast response to user input) due to the multithreading built into the system; — the application is easy to maintain and modify as modules can be downloaded from the network; — the application has a built-in security system that prevents illegal access and virus penetration. Fundamentals of client-server systems Principles and techniques of object-oriented design in relation to distributed systems. Eclipse and NetBeans professional development environments. Designing, deploying and running a client-server application. Design patterns Ideology of distributed systems. Three-tier architecture. MVC pattern. Servlets Principles of building a servlet. Starting a servlet. Servlet parameters and initialization parameters. Servlet life cycle. HTTP-requests processing. Generating a server response. Using HTML tags and developing your own tags. Methods service(), doGet(), doPost(). Persistent objects. Multitasking. Cookie API. HTTPSession class. ORM-technologies of database access (JPA, JDBC). Basic operators and principles of SQL query programming. JDBC drivers. Utilities. Connection to the database. Connection pool. Allocation of resources to connections. Compiled queries. Stored procedures. Transactions. HTTP-requests. Compilation of SQL queries to the database via servlet. Results processing. JSP and JSF technology Server page scripts and directives. The simplest server page. Implicit objects. Use of methods, fields and tags. Servlets and JSP. Creating and handling custom JSP tags. Incorporating external elements. Directives. Plugin element, param, useBean. Loading and defining bean components. Struts technology Struts architecture. Interaction and interchangeability of servlets and JSP. Request redirection. Static and dynamic content. EJB technologies Separating data from its representation. Data organization. POJO-objects Description of queries in a meta-language. Implementation of the principle: «Data should drive programs, not vice versa». Development of custom tags. |
Формируемые компетенции / The formed competences |
Быть способным применять современные технологии для разработки программного обеспечения |
Be able to apply modern technologies for software development. |
Результаты обучения (знать, уметь, владеть) / Learning outcomes (know, can, be able) |
В результате изучения дисциплины обучающийся должен: знать: основные этапы построения информационных систем. принципы функционирования и взаимодействия распределенных систем на платформе JЕE. передовые технологии разработки в области веб-программирования правила использования документации и учебных материалов от авторов языка Java. уметь: программировать информационные системы на языке Java. создавать веб-приложения, взаимодействующие с базами данных. устанавливать и настраивать программное обеспечение сервера. создавать программы для клиент-серверных приложений в сети интернет. владеть: методами разработки, отладки и тестирования веб-приложений. |
As a result of studying the discipline the student should: know: — the main stages of building information systems. — principles of functioning and interaction of distributed systems on the JEE platform. — advanced development technologies in the field of web programming — rules of using documentation and training materials from the authors of the Java language. be able to: — program information systems in the Java language. — create web applications that interact with databases. — install and customize server software. — create programs for client-server applications on the Internet. possess: — methods of developing, debugging and testing web applications. |
Семестр изучения учебной дисциплины, модуля / Semester of study |
2 |
2 |
Пререквизиты / Prerequisites |
Анализ и проектирование информационных систем |
Analysis and design of information systems |
Трудоемкость в зачетных единицах (кредитах) / Credit units |
3 |
3 Credit units |
Количество аудиторных часов и часов самостоятельной работы / Academic hour of students’ class work, hours of self-directed learning |
Всего 108 часов, из них 36 аудиторных часа и 72 часа самостоятельной работы. |
A total of 108 hours, of which 36 academic hours of students’ class work and 72 hours of self-directed learning. |
Требования и формы текущей и промежуточной аттестации / Requirements and forms of current and interim certification |
Опрос, решение кейсов, защита лабораторной работы, контрольная работа. Экзамен. |
Survey, case solving, defense of laboratory work, control work. Exam. |