Sb96664
.pdfСкачать последнюю версию SQLite JDBC Driver с сайта https://bitbucket.org/xerial/sqlite-jdbc/downloads/. Поместить данный файл в папку проекта C:\Users\<User Name> \workspace\Lab_6_ DB.
Добавить библиотеку (JAR-файл) к пути к классу проекта. В Eclipse щелкнуть правой кнопкой мыши на имени проекта и из раскрывающегося списка выбрать Build Path=>Configure Build Path. В открывшемся окне справа перейти на вкладку Libraries и нажать на Add External JARs. Выбрать ранее скачанный файл и нажать на OK.
Для создания GUI-сервера с целью просмотра и управления содержимым таблицы из БД необходимо выполнить следующие действия. Щелкнуть правой кнопкой мыши на пакет ru.eltech.db и выбрать New > Class. Задать имя класса – Server. В данном классе представлена реализация методов для подключения к БД, получения содержимого таблицы из БД, поиска содержимого одного из столбцов таблицы по известному значению из другого столбца данной таблицы:
package ru.eltech.db; import java.sql.*; import javafx.*;
public class Server extends Application {
private final static String URL = "jdbc:sqlite:D:/SQLite/db/huawei.db"; private final String SERVER_TITLE = "Server";
private final static String SQL_SELECT_SERVERS = "SELECT * from FusionServers";
private final static String TAB_SERVERS = "Fusion Servers"; private TableView tableViewServers;
private ObservableList<ObservableList> data; public static Connection connect() { Connection conn = null;
try {
conn = DriverManager.getConnection(URL); } catch (SQLException e) { e.printStackTrace();
}
return conn;
}
public static void main(String[] args) {
41
launch(args);
}
private void initialize(Stage stage) { stage.setTitle(SERVER_TITLE); Group root = new Group();
Scene scene = new Scene(root); TabPane tabPane = new TabPane();
tabPane.setTabClosingPolicy(TabClosingPolicy.UNAVAILABLE); BorderPane mainPane = new BorderPane();
Tab tabServers = new Tab(); tabServers.setText(TAB_SERVERS); VBox vBoxServers = new VBox(); tableViewServers = new TableView();
buildData(SQL_SELECT_SERVERS, tableViewServers); vBoxServers.getChildren().add(tableViewServers); tabServers.setContent(vBoxServers); tabPane.getTabs().add(tabServers); mainPane.setCenter(tabPane); mainPane.prefHeightProperty().bind(scene.heightProperty()); mainPane.prefWidthProperty().bind(scene.widthProperty()); root.getChildren().add(mainPane);
stage.setScene(scene);
stage.show();
}
public void buildData(String sql, TableView tableView) { Connection c;
data = FXCollections.observableArrayList(); ResultSet rs = null;
try {
c = connect();
rs = c.createStatement().executeQuery(sql);
for (int i=0; i<rs.getMetaData().getColumnCount(); i++) { final int j = i;
TableColumn col = new TableColumn(rs.getMetaData(). getColumnName(i+1));
col.setCellValueFactory(new Callback<CellDataFeatures
42
<ObservableList,String>,ObservableValue<String>>() { public ObservableValue<String> call(CellDataFeatures <ObservableList, String> param) {
return new SimpleStringProperty(param.getValue().get(j).toString()); } });
tableView.getColumns().addAll(col);
}
while(rs.next()) {
ObservableList<String> row = FXCollections.observableArrayList(); for(int i=1 ; i<=rs.getMetaData().getColumnCount(); i++) { row.add(rs.getString(i));
}
data.add(row);
}
tableView.setItems(data);
}
catch(Exception e) { e.printStackTrace();
System.out.println("Error on Building Data");
}
}
public String selectProcessors(String model){
String sql = "select Processors from FusionServers where Model=\""+ model + "\"";
String processors = null;
try (Connection conn = Test.connect(); Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery(sql)) { while (rs.next()) {
processors = rs.getString("Processors");
}
} catch (SQLException e) { e.printStackTrace();
}
return processors;
}
43
@Override
public void start(Stage stage) { initialize(stage);
} }
6.4. Содержание отчета
Отчет должен содержать: титульный лист; указание цели работы; основные теоретические положения; вариант задания; краткое описание выполнения работы, сопровождаемое рисунками; полученные результаты; выводы.
6.5.Контрольные вопросы
1.Что представляет собой SQLite?
2.Почему выбор SQLite является предпочтительным для устройств с ограниченным объемом памяти?
3.Перечислить несколько функций из международного стандарта ANSI SQL-92, которые поддерживает SQLite.
4.Перечислить несколько функций, которые имеются в реляционных БД и поддерживаются SQLite.
5.Для чего используется SQLite JDBC?
44
СПИСОК ЛИТЕРАТУРЫ
1.Brown C. L. T. Computer evidence: Collection and preservation. 2nd edition. Canada, Toronto: Nelson Education, 2010.
2.Vadala D. Managing RAID on Linux. USA, Sebastopol: O’Reilly Media, Inc., 2003.
3.Carpenter T. Microsoft Windows Server administration essentials. USA, Indianapolis: John Wiley & Sons, 2011.
4. От хранения данных к управлению информацией / пер. Н. Вильчинского. 2-е изд. СПб.: Питер, 2016.
5.Paulsen K. Moving media storage technologies applications & workflows for video end media server platforms. USA, Burlington: Elsevier, 2011.
6.Vengurlekar N., Vallath M., Long R. Oracle automatic storage management: Under-the-hood & practical deployment guide. USA, NY: McGraw-Hill, 2007.
7.Schulz G. Cloud and virtual data storage networking. UK, Milton: Taylor
&Francis Group, LLC, 2012.
8. Magic quadrant for general-purpose disk arrays / S. Zaffos, R. W. Cox, V. Filks, S. Rao // Gartner. 2016. URL: https://www.gartner.com/doc/reprints?id= 1-3L2T1ZY&ct=161101&st=sb (дата обращения: 04.07.2017).
9.Huawei OceanStor 5300, 5500, 5600, and 5800 V3 storage systems: technical white paper // Huawei Technologies Co., Ltd. 2017. Системные требования: Adobe Acrobat Reader DC. URL: http://e.huawei.com/ru/marketing-material (дата обращения: 10.07.2017).
10.HUAWEI OceanStor Enterprise unified storage system RAID 2.0+: technical white paper // Huawei Technologies Co., Ltd. 2017. Системные требования: Adobe Acrobat Reader DC. URL: http://huawei.com/ilink/ enenterprise/download/HW_345515 (дата обращения: 10.07.2017).
11.Ciubotaru B., Muntean G. M. Advanced network programming – principles and techniques: network application programming with Java. UK, London: Springer Science & Business Media, 2013.
12.Graba, J. An Introduction to network programming with Java. USA, New
York: Springer, 2006.
13. An Overview of RMI applications // Oracle and/or its affiliates. 2015. URL: https://docs.oracle.com/javase/tutorial/rmi/overview.html (дата обращения: 12.07.2017).
45
14.Sharan K. Beginning Java 8 APIs, extensions and libraries: Swing, JavaFX, JavaScript, JDBC and network programming APIs. USA, New York: Apress, 2014.
15.Writing an RMI server // Oracle and/or its affiliates. 2015. URL: https://docs.oracle.com/javase/tutorial/rmi/server.html (дата обращения: 12.07.2017).
16.Дубаков А. А. Сетевое программирование: учеб. пособие. СПб: НИУ ИТМО, 2013.
17.Lesson: all about sockets // Oracle and/or its affiliates. 2015. URL: https://docs.oracle.com/javase/tutorial/networking/sockets/index.html (дата обращения: 17.07.2017).
18.What is a socket? // Oracle and/or its affiliates. 2015. URL: https://docs.oracle.com/javase/tutorial/networking/sockets/definition.html (дата обращения: 17.07.2017).
19.Таненбаум Э., ван Стеен М. Распределенные системы. Принципы и парадигмы. СПб.: Питер, 2003.
20.JavaFX overview // Oracle and/or its affiliates. 2015. URL: http://docs.oracle.com/javase/8/javafx/get-started-tutorial/jfx-overview.htm#JFXS T784 (дата обращения: 22.07.2017).
21.Sharan K. Learn JavaFX 8: Building user experience and interfaces with Java 8. USA, New York: Apress, 2015.
22.Schildt H. Introducing JavaFX 8 programming. USA, New York: McGraw-Hill Education, 2015.
23.DiMarzio J. F. JavaFX. A beginners guide. USA, New York: McGraw Hill Professional, 2011.
24.E(fx)clipse. JavaFX tooling and runtime for Eclipse and OSGi // The Eclipse Foundation. 2017. URL: http://www.eclipse.org/efxclipse/install.html#for- the-ambitious (дата обращения: 22.07.2017).
25.About SQLite. URL: http://sqlite.org/about.html (дата обращения: 25.07.2017).
26.Owens M., Allen G. The definitive guide to SQLite, Second edition. USA, New York: Apress, 2010.
27.Kreibich J. Using SQLite. USA, CA, Sebastopol: O'Reilly Media, Inc.,
2010.
46
CОДЕРЖАНИЕ |
|
1. СОЗДАНИЕ ПРОГРАММНОГО RAID-МАССИВА ............................................................. |
3 |
1.1. Общие сведения .................................................................................................................. |
3 |
1.2. Задание ................................................................................................................................. |
4 |
1.3. Порядок выполнения работы............................................................................................. |
5 |
1.3.1. Создание виртуальной машины в программе VirtualBox ........................................ |
5 |
1.3.2. Установка операционной системы Ubuntu на виртуальную машину ..................... |
5 |
1.3.3. Работа с утилитой fdisk в операционной системе Ubuntu ........................................ |
5 |
1.3.4. Создание разделов на виртуальных жестких дисках с помощью утилиты fdisk ... |
6 |
1.3.5. Создание программного RAID-массива в операционной системе Ubuntu ............. |
7 |
1.4. Содержание отчета ............................................................................................................. |
8 |
1.5. Контрольные вопросы ........................................................................................................ |
8 |
2. КОНФИГУРИРОВАНИЕ СИСТЕМЫ ХРАНЕНИЯ ДАННЫХ КОМПАНИИ HUAWEI .9 |
|
2.1. Общие сведения .................................................................................................................. |
9 |
2.2. Задание ............................................................................................................................... |
12 |
2.3. Порядок выполнения работы........................................................................................... |
15 |
2.3.1. Установка и запуск OceanStor DeviceManager ........................................................ |
15 |
2.3.2. Конфигурирование системы хранения данных ....................................................... |
15 |
2.3.3. Файловое хранение данных....................................................................................... |
17 |
2.4. Содержание отчета ........................................................................................................... |
17 |
2.5. Контрольные вопросы ...................................................................................................... |
17 |
3. РАЗРАБОТКА РАСПРЕДЕЛЕННОГО ПРИЛОЖЕНИЯ С ИСПОЛЬЗОВАНИЕМ |
|
ТЕХНОЛОГИИ УДАЛЕННОГО ВЫЗОВА МЕТОДОВ ......................................................... |
18 |
3.1. Общие сведения ................................................................................................................ |
18 |
3.2. Задание ............................................................................................................................... |
20 |
3.3. Порядок выполнения работы........................................................................................... |
21 |
3.3.1. Создание нового Java-проекта .................................................................................. |
21 |
3.3.2. Создание RMI-сервера ............................................................................................... |
21 |
3.3.3. Создание программы клиента ................................................................................... |
22 |
3.3.4. Компиляция и выполнение примера ........................................................................ |
23 |
3.4. Содержание отчета ........................................................................................................... |
24 |
3.5. Контрольные вопросы ...................................................................................................... |
24 |
4. РАЗРАБОТКА КОНСОЛЬНОГО КЛИЕНТ-СЕРВЕРНОГО ПРИЛОЖЕНИЯ.................. |
24 |
4.1. Общие сведения ................................................................................................................ |
24 |
4.2. Задание ............................................................................................................................... |
26 |
4.3. Порядок выполнения работы........................................................................................... |
27 |
4.3.1. Создание программы сервера ................................................................................... |
27 |
4.3.2. Создание программы клиента ................................................................................... |
29 |
4.3.3. Компиляция и запуск примера.................................................................................. |
30 |
4.4. Содержание отчета ........................................................................................................... |
31 |
47
4.5. Контрольные вопросы...................................................................................................... |
31 |
5. РАЗРАБОТКА КЛИЕНТ-СЕРВЕРНОГО ПРИЛОЖЕНИЯ С ГРАФИЧЕСКИМ |
|
ПОЛЬЗОВАТЕЛЬСКИМ ИНТЕРФЕЙСОМ ............................................................................ |
31 |
5.1. Общие сведения ................................................................................................................ |
31 |
5.2. Задание............................................................................................................................... |
32 |
5.3. Порядок выполнения работы .......................................................................................... |
33 |
5.3.1. Создание GUI-сервера ............................................................................................... |
34 |
5.3.2. Создание GUI-клиента .............................................................................................. |
35 |
5.3.3. Создание css-файла .................................................................................................... |
37 |
5.4. Содержание отчета ........................................................................................................... |
38 |
5.5. Контрольные вопросы...................................................................................................... |
38 |
6. РАЗРАБОТКА КЛИЕНТ-СЕРВЕРНОГО ПРИЛОЖЕНИЯ С ГРАФИЧЕСКИМ |
|
ПОЛЬЗОВАТЕЛЬСКИМ ИНТЕРФЕЙСОМ ДЛЯ ДОСТУПА К БАЗЕ ДАННЫХ .............. |
38 |
6.1. Общие сведения ................................................................................................................ |
38 |
6.2. Задание............................................................................................................................... |
39 |
6.3. Порядок выполнения работы .......................................................................................... |
40 |
6.4. Содержание отчета ........................................................................................................... |
44 |
6.5. Контрольные вопросы...................................................................................................... |
44 |
СПИСОК ЛИТЕРАТУРЫ........................................................................................................... |
45 |
Белова Елена Юрьевна
Распределенные программные системы и технологии
Учебно-методическое пособие
Редакторы: Е. О. Веревкина, Н. Ю. Меньшенина
––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
Подписано в печать 00.00.00. Формат 60×84 1/16. Бумага офсетная. Печать цифровая. Печ. л. 3,0.
Гарнитура «Times New Roman». Тираж 43 экз. Заказ 70.
––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
Издательство СПбГЭТУ «ЛЭТИ» 197376, С.-Петербург, ул. Проф. Попова, 5