Разработка приложения на платформе Java
Создание веб-сервера программным путем с помощью разнообразных фреймворков. Разработка и конфигурация для современных бизнес-приложений на Java. Разные реализации JPA. Тестирование веб-сервера. Проверка функциональности сервера с помощью JUnit тестов.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 10.02.2019 |
Размер файла | 251,2 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Федеральное агентство железнодорожного транспорта
Омский государственный университет путей сообщения
Кафедра «Автоматика и системы управления»
К ЗАЩИТЕ ДОПУСТИТЬ
____________Е.А. Альтман
разработка приложения на платформе java
Пояснительная записка к курсовой работе
ИНМВ.400000.000 ПЗ
Студент гр. 23 - и
____________А. А. Молчанов
Руководитель - доцент кафедры АиСУ
____________Е.А. Альтман
Омск 2017
Реферат
УДК 681.3.06
Пояснительная записка к курсовой работе содержит 17 страниц, 8 рисунков, 5 использованных источников, 4 приложения.
Spring, JUnit, Mock-объект, Spring Boot, Maven, Kotlin, data-class, веб-сервер.
Объектом курсовой работы является веб-сервер.
Цель курсовой работы - реализовать веб-сервер с JPA с помощью фреймворка Spring.
Результатом курсовой работы является рабочий веб-сервер с базой данных.
Веб-сервер разработан с использованием среды программирования IntelliJ IDEA Communiy Edition 2016.3. Исходный код программы написан на языке Java v.8 и Kotlin v.1.1.0. Пояснительная записка выполнена в текстовом редакторе Microsoft Word 2007.
Содержание
Введение
1. Spring Framework
1.1 Spring MVC
1.2 Maven
2. JPA
3. Kotlin
4. Запуск и тестирование веб-сервера
4.1 Запуск веб-сервера
4.2 Тестирование веб-сервера
Заключение
Библиографический список
Приложение А. Содержимое файла pom.xml
Приложение Б. Листинги класса и интерфейса для JPA
Приложение В. Листинги класса контроллера и точки запуска сервера
Приложение Г. Листинг класса тестирования
Введение
В настоящее время особой ценностью является информация, доступ к которой можно получить с помощью сети интернет. Интернет представляет собой совокупность веб-серверов, которые отвечают на запросы пользователя и предоставляют необходимую информацию.
Веб-сервер -- сервер, принимающий HTTP-запросы от клиентов, обычно веб-браузеров, и выдающий им HTTP-ответы, как правило, вместе с HTML-страницей, изображением, файлом, медиа-потоком или другими данными.
Клиент, которым обычно является веб-браузер, передаёт веб-серверу запросы на получение ресурсов, обозначенных URL-адресами.
Веб-сервер можно создать программным путем с помощью разнообразных фреймоворков.
Фреймворк - это программный код, предназначенный для решения типичной задачи. В отличии от библиотечного метода, работа фреймворка зависит не от переданных методу агрументов, а модифицируется изменением участвующих в работе классов и объектов.
Целью данной работы является создание REST-сервера с JPA, который бы выполнял набор CRUD команд. Сервер должен создаваться с помощью фреймворка Spring, включать в себя класс на языке Kotlin и компоноваться системой сборки Maven. Сервер должен быть протестирован с помощью mock-объектов JUnit тестами.
1. Spring Framework
Spring Framework обеспечивает комплексную модель разработки и конфигурации для современных бизнес-приложений на Java - на любых платформах. Ключевой элемент Spring - поддержка инфраструктуры на уровне приложения: основное внимание уделяется "водопроводу" бизнес-приложений, поэтому разработчики могут сосредоточиться на бизнес-логике без лишних настроек в зависимости от среды исполнения.
1.1 Spring MVC
Один из самых главных разделов фреймворка Spring -- Spring MVC. Фреймворк Spring Web model-view-controller (MVC) работает вокруг DispatcherServlet, который распределяет запросы по обработчикам. В нём настраивается мэппинг запросов, локали, временные зоны и многое другое. Обработчик по умолчанию строится на аннотациях @Controller и @RequestMapping, которые предоставляют широкий набор гибких методов для обработки запросов. После версии Spring 3.0. механизм @Controller так же позволяет создавать RESTful веб сайты и приложения, используя аннотацию @PathVariable и другие возможности.
В Spring Web MVC есть возможность использовать любой объект в качестве команды или объекта с обратной связью; нет необходимости реализовывать какой-либо специальный интерфейс фреймворка или базовый класс. Связывание данных в Spring является очень гибким: например, оно рассматривает несоответствие типов как ошибки валидации и поэтому это может быть обработано в приложении, а не в качестве системных ошибок. Таким образом, вам не нужно дублировать свойства бизнес-объектов, в качестве простых нетипизированных строк для ваших объектов форм. Поэтому можно легко обрабатывать неправильные подтверждения или правильно конвертировать их в строки. Вместо этого, желательно связывать такие объекты напрямую с объектами бизнес логики.
1.2 Maven
Maven - это фреймворк для автоматизации сборки проектов специфицированных на XML-языке. Сборка происходит по установленным зависимостям в файле pom.xml. Чтобы добавить или исключить какие-либо библиотеки или плагины в сборке проекта, достаточно просто указать зависимость в файле pom.xml и Maven автоматически его подключит и встроит в проект. Также в .xml файле указываются зависимости Spring Boot.
В Spring Boot уже включена Spring-платформа и сторонние библиотеки, для более простого запуска приложений. Пример файла pom.xml из проекта веб-сервера можно увидеть в приложении А.
2. JPA
JPA - это технология, обеспечивающая объектно-реляционное отображение простых JAVA объектов и предоставляющая API для сохранения, получения и управления такими объектами.
Сам JPA не умеет ни сохранять, ни управлять объектами, JPA только определяет правила: как что-то будет действовать. JPA также определяет интерфейсы, которые должны будут быть реализованы провайдерами. Плюс к этому JPA определяет правила о том, как должны описываться метаданные отображения и о том, как должны работать провайдеры. Дальше, каждый провайдер, реализуя JPA определяет получение, сохранение и управление объектами. У каждого провайдера реализация разная.
У JPA существуют разные реализации:
- Hibernate
- Oracle TopLink
- Apache OpenJPA
Наиболее высокую популярность среди этих реализаций завоевала Hibernate. Эта технология является ORM-решением для языка Java. ORM - это отображение объектов какого-либо объектно-ориентированного языка в структуры реляционных баз данных. Hibernate не только создает связи между Java классами и таблицами баз данных, но также предоставляет средства для автоматического построения запросов и извлечения данных и может значительно уменьшить время разработки. Hibernate генерирует SQL вызовы и освобождает разработчика от ручной обработки результирующего набора данных и конвертации объектов, сохраняя приложение портируемым во все SQL базы данных.
В самом проекте объекты для JPA помечаются аннотациями. Класс, который будет являться сущностью в базе данных, отмечается аннотацией @Entity. Так как этот класс является сущностью для базы данных, в нем должен быть указан ключ, в нашем случае это ID. Интерфейс репозитория - @Repository. Этот интерфейс наследуется от интерфейса JpaRepository<T,F>, где T - объект нашей сущности (класс с пометкой @Entity), а F - должен быть того же типа, что и ID из класса-сущности. При правильном наследовании Spring предоставит реализованные методы указанные в интерфейсе. Пример реализации сущности и репозитория представлен в приложении Б.
3. Kotlin
Kotlin - язык программирования, разработанный компанией JetBrains, работающий на платформе Java. Он использует JDK, как и сама Java, но имеет другой синтаксис. Решение не ново - уже существуют языки, которые так делают: Scala и Closure, например. Появились они, в основном, из-за проблем с самой Java в плане синтаксиса. То есть, Java - язык надежный, хороший, добротный, на нём можно писать серверные приложения, но синтаксис у него, скажем так, излишне многословный. Kotlin помог разработчикам писать программы с меньшим количеством кода. Помимо всего того, что есть в Java, он добавляет вещи из мира функционального программирования. Это значительно облегчает написание кода - делает его короче и выразительнее. Чем меньше кода мы пишем, тем меньше кода нужно поддерживать, писать меньше тестов. Собственно, большинство языков появилось по этой самой причине - поменять синтаксис Java, сделать его более удобным, более прагматичным.
В реализованном проекте используется такая возможность языка как data-class (синтаксис представлен на рисунке 1). Это класс с единственным назначением - хранение данных. Функционал этого класса, зависит от самих данных, которые в нем хранятся. Data-class позволяет избавиться от большого количества шаблонного кода, который используется при создании аналогичного класса на языке Java. Для автоматической генерации конструктора со всеми аргументами нужно задать начальные значения всех полей. А перед тем как добавить объект на постоянное хранение, его также нужно создать в памяти, для этого создается вторичный конструктор с двумя параметрами. Пример выполнения данных действий представлен в приложении Б.
Рисунок 1 - Создание data-class на языке Kotlin
4 Запуск и тестирование веб-сервера
4.1 Запуск веб-сервера
Для запуска веб-сервера необходимо создать контроллер, который будет реагировать на определенные действия пользователя. Так как реализуется REST-сервер, то необходимо создать основные команды сервера: GET, POST, DELETE, PUT. Контроллер будет реагировать на введенный адрес, находить его на своей карте запросов и выполнять нужное действие. Например, при введении в строку веб-браузера значения «/expenses», то контроллер среди всех своих команд, найдет именно его, увидит, что здесь присутствует реализация запроса GET и данные находятся в формате json. Затем выполнит метод указанный для этого запроса, в нашем случае это метод getExpenses(), который в своем теле вызывает функцию из JpaRepository (рисунок 2). Результат выполнения можно увидеть на рисунке 3.
Рисунок 2 - Реализация реакции контроллера на запрос GET
Рисунок 3 - Ответ на запрос GET
Также существует «точечный» вариант запроса GET, который возвращает только 1 элемент из всех на сервере. Метод запроса и ответ сервера можно увидеть на рисунках 4 и 5 соответственно.
Рисунок 4 - Реализация реакции на контроллера на запрос GET по ID
Рисунок 5 - Ответ на запрос GET по ID
4.2 Тестирование веб-сервера
Spring test позволяет писать JUnit тесты для сервера. Для этого создается mock-объект (объект-имитация), который будет симулировать действия клиента. Объекты этого класса умеют делать запросы к серверу, получать и анализировать ответы. Для создания mock-объекта в Spring требуется объект типа WebApplicationContext, который создается при запуске сервера. Аннотация @Autowired указывает Spring инициализировать ссылку на соответствующий объект. Аннотация @Before, указывает на метод, который будет запускаться перед всеми тестами и создавать Mock-объект (рисунок 6).
Рисунок 6 - Создание Mock-объекта для тестирования сервера
Функции тестирования помечаются аннотацией @Test и выглядят следующим образом. Создается объект класса ResultActions, который может проверить правильность ответа, полученного запросом от Mock-объекта. Например, на рисунке 7, показана функция тестирования запроса DELETE. С помощью Mock-объекта отправляется запрос на сервер и результат сохраняется в объекте perform типа ResultActions. С помощью функции andExpect(status().isOk) проходит проверка правильно ли выполнился запрос и какой статус вернул сервер. Затем создается новы объект типа ResultActions, чтобы проверить метод DELETE, путем просмотра данных с сервера. Если элементов стало на единицу меньше чем было, проверка происходит с помощью jsonPath, значит тест пройден успешно (рисунок 8). Листинг класса тестирования находится в приложении Г.
Рисунок 7 - Пример функции тестирования
Рисунок 8 - Результаты тестирования веб-сервера
Заключение
В данной работе был рассмотрен базовый функционал фреймворка Spring и JPA. Произведено знакомство с современным языком программирования Kotlin и реализация класса на нем.
Полученный веб-сервер полностью функционирует, корректно отвечает на все запросы и хранит в себе базу данных.
Функциональность сервера проверена с помощью JUnit тестов и использованием Mock-объектов.
веб сервер фреймворк java
Библиографический список
1 Spring MVC [Электронный ресурс] / Режим доступа: http://javastudy.ru/spring-mvc/spring-mvc-basic/
2 JUnit [Электронный ресурс] / Режим доступа: https://habrahabr.ru/post/120101/
3 Классы данных [Электронный ресурс] / Режим доступа: https://kotlinlang.ru/docs/reference/data-classes.html
4 Maven [Электронный ресурс] / Режим доступа: http://www.apache-maven.ru/
5 СТП ОмГУПС-1.2-2005. Работы студенческие учебные и выпускные квалификационные: общие требования и правила оформления текстовых документов. - Омский Государственный Университет Путей Сообщения, Омск, 2005. 28с.
Приложение А
Содержимое файла pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>Jpa</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>Jpa</name>
<description>Demo project for Spring Boot</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.2.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
<kotlin.version>1.1.0</kotlin.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-stdlib-jre8</artifactId>
<version>${kotlin.version}</version>
</dependency>
<dependency>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-test</artifactId>
<version>${kotlin.version}</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-maven-plugin</artifactId>
<version>${kotlin.version}</version>
<executions>
<execution>
<id>compile</id>
<phase>compile</phase>
<goals>
<goal>compile</goal>
</goals>
</execution>
<execution>
<id>test-compile</id>
<phase>test-compile</phase>
<goals>
<goal>test-compile</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<executions>
<execution>
<id>compile</id>
<phase>compile</phase>
<goals>
<goal>compile</goal>
</goals>
</execution>
<execution>
<id>testCompile</id>
<phase>test-compile</phase>
<goals>
<goal>testCompile</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
Приложение Б
Листинги класса и интерфейса для JPA
@Entity
data class Expense (
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
val Id:Long? = null,
val name: String = "Название",
var cost:Float = (-1.0).toFloat(),
val category:String = "Категория"){
constructor(_name:String, _cost:Float, _category:String) : this(
name = _name,
cost = _cost,
category = _category
) {}
}
@Repository
public interface ExpenseRepository extends JpaRepository<Expense, Long> {
Expense findByName(String name);
}
Приложение В
Листинги класса контроллера и точки запуска сервера
@RestController
public class ExpenseController {
private ExpenseRepository expenseRepository;
@Autowired
public ExpenseController (ExpenseRepository expenseRepository) {
this.expenseRepository = expenseRepository;
expenseRepository.save(new Expense("Хлеб", 100, "Еда"));
expenseRepository.save(new Expense("Масло", 10, "Жидкость"));
expenseRepository.save(new Expense("Вода", 70, "Вода"));
}
@RequestMapping(value = "/expenses", method = RequestMethod.GET, headers = "Accept=application/json")
public List<Expense> getExpenses(){
return expenseRepository.findAll();
}
@RequestMapping(value = "/expenses/{id}", method = RequestMethod.GET, headers = "Accept=application/json")
public Expense getExpensesId(@PathVariable Long id){
return expenseRepository.findOne(id);
}
@RequestMapping(value = "/expenses/{id}", method = RequestMethod.DELETE, headers = "Accept=application/json")
public void deleteExpense (@PathVariable Long id){
expenseRepository.delete(id);
}
@RequestMapping(value = "/expenses", method = RequestMethod.POST, headers = "Accept=application/json")
public void postExpense(@RequestBody Expense expense){
expenseRepository.save(expense);
}
@RequestMapping(value = "/expenses", method = RequestMethod.PUT, headers = "Accept=application/json")
public void updateExpense (@RequestBody Expense expense){ expenseRepository.findByName(expense.getName()).setCost(expense.getCost());
Expense exp = expenseRepository.findByName(expense.getName());
expenseRepository.save(exp);
System.out.println(exp);
}
}
@SpringBootApplication
public class JpaApplication {
public static void main(String[] args) {
SpringApplication.run(JpaApplication.class, args);
}
}
Приложение Г
Листинг класса тестирования
@RunWith(SpringRunner.class)
@SpringBootTest
public class JpaApplicationTests {
private MockMvc mockMvc;
private ExpenseController expenseController;
private ExpenseRepository expenseRepository;
@Autowired
private WebApplicationContext webApplicationContext;
@Before
public void setup() throws Exception {
mockMvc = webAppContextSetup(webApplicationContext).build();
}
@Test
public void contextLoads() {
}
@Test
public void getExpenses() throws Exception {
ResultActions perform = mockMvc.perform(get("/expenses"));
perform .andExpect(status().isOk())
.andExpect(jsonPath("$.[1].name", is("Масло")))
.andExpect(jsonPath("$.[1].cost", is(10.)))
.andExpect(jsonPath("$.[1].category", is("Жидкость")));
}
@Test
public void addExpense() throws Exception {
String expens = new ObjectMapper().writeValueAsString(new Expense("Лук", 100, "Растения"));
ResultActions perform = mockMvc.perform(post("/expenses").accept(MediaType.APPLICATION_JSON).contentType(MediaType.APPLICATION_JSON).content(expens));
perform .andExpect(status().isOk());
ResultActions performm = mockMvc.perform(get("/expenses/4"));
performm.andExpect(status().isOk())
.andExpect(jsonPath("$.name", is("Лук")))
.andExpect(jsonPath("$.cost", is(100.)))
.andExpect(jsonPath("$.category", is("Растения")));
}
@Test
public void updateCountry() throws Exception {
String expens = new ObjectMapper().writeValueAsString(new Expense("Хлеб",500, "Еда"));
ResultActions perform = mockMvc.perform(put("/expenses").accept(MediaType.APPLICATION_JSON).contentType(MediaType.APPLICATION_JSON).content(expens));
perform .andExpect(status().isOk());
ResultActions performm = mockMvc.perform(get("/expenses/1"));
performm.andExpect(status().isOk())
.andExpect(jsonPath("$.name", is("Хлеб")))
.andExpect(jsonPath("$.cost", is(500.)))
.andExpect(jsonPath("$.category", is("Еда")));
}
Листинг Г, лист 1
@Test
public void getExpensebyId() throws Exception {
ResultActions perform = mockMvc.perform(get("/expenses/2"));
perform.andExpect(status().isOk())
.andExpect(jsonPath("$.name", is("Масло")))
.andExpect(jsonPath("$.cost", is(10.)))
.andExpect(jsonPath("$.category", is("Жидкость")));
}
@Test
public void deleteExpenses() throws Exception {
ResultActions perform = mockMvc.perform(delete("/expenses/1"));
perform.andExpect(status().isOk());
ResultActions performm = mockMvc.perform(get("/expenses"));
performm.andExpect(jsonPath("$.length()", is(2)));
}
}
Размещено на Allbest.ru
...Подобные документы
Описание и установка интегрированной среды разработки Eclipse. Описание языка Java. Описание классов и методов, пакетов, использованных в программе, сервера и клиента. Разработка руководства пользователя для клиента и сервера. Пример работы чата.
курсовая работа [443,5 K], добавлен 18.05.2015Проверка работоспособности и производительности стандартно настроенного web-сервера в условиях нагрузочного тестирования. Определение критического количества одновременных запросов для данной конфигурации сервера. Нагрузка на скриптовой язык PHP.
лабораторная работа [1,6 M], добавлен 23.03.2015Создание языка программирования с помощью приложения "Java". История названия и эмблемы Java. Обзор многообразия современных текстовых редакторов. Обработка строки. Методы в классе String. Java: задачи по обработке текста. Примеры программирования.
курсовая работа [276,1 K], добавлен 19.07.2014Изучение объектно-ориентированного языка программирования Java, его функциональные возможности. Создание программного кода. Описание классов и методов, использованных в программе. Руководство пользователя, запуск сервера и клиентского приложения.
курсовая работа [1,8 M], добавлен 16.09.2015Организация корпоративного файлового сервера, выполняющего функции прокси-сервера на базе ОС Linux. Процесс его реализации. Выбор оптимальной аппаратно-программной платформы. Расчёт сметы затрат на выполнение объёма работ по созданию FTP-сервера.
дипломная работа [2,0 M], добавлен 06.07.2012Комплексный подход к организации ИТ-операций. Упрощение ИТ-инфраструктуры и сокращение расходов. Повышение производительности приложений. Конфигурации серверов IBM, их характеристика. Дополнительное оборудование для сервера, программное обеспечение.
курсовая работа [1,4 M], добавлен 25.03.2015Система доменных имен. Регистрация доменов и обратное преобразование имен. Схема работы DNS сервера. Конфигурация BIND сервера. Расшифровка полей файлов зон. Программное обеспечение, настройка DNS сервера BIND. Проверка работоспособности системы.
курсовая работа [1,6 M], добавлен 20.09.2013Разработка клиент-серверного приложения, позволяющего взаимодействовать друг с другом с использованием доступа к базам данных. Проектирование связи сервера с базой данных с помощью технологии ODBC. Разработка интерфейса программы, ее тестирование.
курсовая работа [352,0 K], добавлен 24.08.2016Разработка и создание игры "Змейка". Использование динамически-активных принципов языка Java. Графические объекты программы. Описание игры, правила, теоретические сведения. Классы приложения. Типы данных. Реализация. Метод. Объект. Блок-схема игры.
курсовая работа [12,4 K], добавлен 18.06.2008Требования, предъявленные к полноценному локальному чату. Протокол передачи данных TCP. Описание программы сервера. Этапы разработки программного продукта. Функция приема сообщений от сервера. Принятие и отправка сообщений всем пользователям чата.
курсовая работа [447,0 K], добавлен 21.01.2016Разработка графического редактора для рисования двухмерной и трехмерной графики, используя язык программирования Java и интерфейсы прикладного программирования Java 2D и Java 3D. Создание графического редактора 3D Paint. Основные методы класса Graphics.
курсовая работа [197,5 K], добавлен 19.11.2009Разработка технологии и средств реализации Java-приложения, сокращающих трудоемкость создания и гибкость модификации интерфейса пользователя. Использование XML-документов для описания внешнего представления, элементов управления и событий экранных форм.
дипломная работа [2,8 M], добавлен 19.08.2011Преимущество использования программ, написанных на Java, требования к ним и настройки на клиентском ПК. Развертывание и последующее "автоматическое" обновление версий GUI клиента с помощью использования технологии Java Web Start в среде Windows.
реферат [33,2 K], добавлен 16.05.2011Сетевые возможности языков программирования. Преимущества использования Java-апплетов. Классы, входящие в состав библиотеки java.awt. Создание пользовательского интерфейса. Сокетное соединение с сервером. Графика в Java. Значения составляющих цвета.
курсовая работа [508,1 K], добавлен 10.11.2014История и основные сведения о сервере. Классификация и ресурсы серверов. Важность системы охлаждения для сервера. Выбор компонентов для сборки сервера. Основные неисправности и способы их устранения. Проведение технического обслуживания и ремонта сервера.
дипломная работа [2,1 M], добавлен 24.06.2015История развития языка программирования Java. История тетриса - культовой компьютерной игры, изобретённой в СССР. Правила проведения игры, особенности начисления очков. Создание интерфейса программы, ее реализация в среде Java, кодирование, тестирование.
курсовая работа [168,1 K], добавлен 27.09.2013Характеристики распределенных систем баз данных, формируемые путем "интеграции" разнородных аппаратных и программных средств. Концепция дифференциального файла для различных приложений. Сравнение разных технологий файлового сервера и "клиент-сервера".
курсовая работа [411,9 K], добавлен 28.05.2015Кратка историческая справка развития языка Java. Анализ предметной области. Java platform, enterprise and standart edition. Апплеты, сервлеты, gui-приложения. Розработка программного кода, консольное приложение. Результаты работы апплета, сервлета.
курсовая работа [549,2 K], добавлен 23.12.2015Принципы написания консольных приложений на языке Java в среде Eclipse. Составление программы завтрака на основе списка продуктов, передаваемых в качестве параметров в командной строке. Создание пакета для классов, интерфейса, базового класса иерархии.
лабораторная работа [1,2 M], добавлен 01.05.2014Архитектура Java и Java RMI, их основные свойства, базовая система и элементы. Безопасность и виртуальная Java-машина. Интерфейс Java API. Пример использования приложения RMI. Работа с программой "Calculator". Универсальность, портативность платформ.
курсовая работа [208,6 K], добавлен 03.12.2013