Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Sb96664

.pdf
Скачиваний:
3
Добавлен:
13.02.2021
Размер:
1.08 Mб
Скачать

Скачать последнюю версию 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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]