Информациони системи 1 — разлика између измена

Извор: SI Wiki
Пређи на навигацију Пређи на претрагу
м (+izlistavanje rokova)
м (Pomeren sadržaj o alatima na podstranice)
Ред 18: Ред 18:
| noresultsheader = Тренутно нема лабораториских вежби.
| noresultsheader = Тренутно нема лабораториских вежби.
}}
}}
'''Препоручено је да прочитате наредне водиче за поставку алата, са корисним саветима и идејама шта је могло да пође по злу уколико добијете неку грешку:'''
* [[Информациони системи 1/JMS|JMS]]
* [[Информациони системи 1/JPA и REST|JPA и REST]]


== Испитни рокови ==
== Испитни рокови ==
Ред 31: Ред 34:
| noresultsheader = Тренутно нема испитних рокова.
| noresultsheader = Тренутно нема испитних рокова.
}}
}}
== Алати ==
=== Л1 ===
На првој лабораторијској вежби ради се ''Java Message Service'' (JMS). Следећи поступак би требало да вас доведе до успешне поставке како бисте били спремни за покретање пројеката са странице предмета.
# Инсталирајте JDK (''Java Development Kit'') 8. [https://www.oracle.com/java/technologies/javase/javase8u211-later-archive-downloads.html Званични сајт за инсталацију] тражи пријављивање пре преузимања, па можете преузети и са [https://studentetfbgacrs-my.sharepoint.com/:f:/g/personal/sa190595d_student_etf_bg_ac_rs/ErCx9XwbDm1Mii8hJtYSjn0BUP9_HL1PKQeoyry16kLseg следећег студентског драјва.] Препоручује се да осим ове верзије немате друге верзије JDK инсталиране на рачунару, или да вам (уколико вам то оперативни систем дозвољава) JDK 8 буде постављен као подразумевани (<code>java -version</code> команда би требало да помиње 1.8.0).
# [https://netbeans.apache.org/download/ Преузмите] ''Apache NetBeans'' са њиховог сајта. Можете преузети најновију или LTS (''Long Term Support'') верзију.
# При инсталирању ''NetBeans'', '''обавезно га инсталирајте у директоријуму без размака у путањи.''' На ''Windows'', ''NetBeans'' се подразумевано инсталира у <code>Program Files</code> директоријуму, па неке библиотеке неће моћи да се успешно увезу. Зато морате променити подразумевану путању инсталације на, на пример, <code>C:\NetBeans</code>. Путања до JDK не би требало да има ових проблема.
# Када укључите ''NetBeans'', десним кликом на одељак ''Services'' → ''Servers'' и бирањем опције ''Add Server'' можете додати ''GlassFish Server''. При додавању ће вас питати за верзију, где можете изабрати 5.1.0 или 5.0 (која има једну зачкољицу при бирању класе драјвера у трећем блоку предавања, видљиву на вежбама Стефана Тубића из 2020. године).
#* Уколико вам се овде деси грешка "''Not a valid GlassFish Server installation.''", погледајте да вам нису остале прошле инсталације ''GlassFish Server'', на пример у вашем корисничком директоријуму. Такође можете да пробате са другом верзијом ''GlassFish''.
# Уколико вам се деси да не можете да видите пројекте у ''Projects'' одељку, пробајте са [https://cdn.discordapp.com/attachments/725099951511568387/911019632436084766/unknown.png овим упутствима.]
# Уколико вам се деси да не може да се увезе пакет <code>javax.jms</code> или његови потпакети, у ''Properties'' тог пројекта, под одељком ''Libraries'', можете изабрати ''Add Library'' а затим изабрати ''Java EE 8 API Library''.
# Након што сте успешно отворили пројекат, у њему можете видети <code>@Resource</code> декларације са именима JMS ''Connection Factory'', ''Topic'' или ''Queue'' које треба да направите на ''GlassFish'' серверу. Сервер прво треба да покренете десним кликом на њега и бирањем опције ''Start'', конзола за управљање се налази на http://localhost:4848, а ресурсе можете правити под ''Resources'' → ''JMS Resources'' у левој траци.
#* Уколико сте правили више ''GlassFish'' сервера, порт можда није 4848. То можете да видите у ''DAS Port'' одељку када изаберете ''Properties'' на серверу након десног клика.
#* Не заборавите да поруке могу да остају у ''Queue'' и ''Topic'' и након гашења вашег програма. Понекад може да се деси да ваш програм чита из реда у који су послате поруке из неког од претходних пројеката или из тог истог пројекта али са неком грешком. У том случају најлакше је направити нови ''Queue'' или ''Topic'' и променити име ресурса у пројекту. Брисање и прављење ресурса са истим именом на серверу понекад може да не ради.
#* Понекад при прављењу ресурса ''GlassFish'' може да баци неочекивану серверску грешку. У том случају само се вратите на контролну таблу а ресурс би требало да остане ту.
# Уколико вам се деси грешка "''The module has not been deployed.''" праву грешку можете видети у ''GlassFish Server'' табу. Нису све грешке означене црвеном бојом.
#* Уколико тамо пише "''Specified library jar javaee-api-8.0.jar does not exist''", прочитајте корак 3.
Уколико покрећете нови пројекат, изаберите ''Java with Ant'' → ''Java EE'' → ''Enterprise Application Client''.
=== Л2 ===
На другој лабораторијској вежби ради се JPA (''Java Persistence API'') и REST. Следећи поступак би требало да вас доведе до успешне поставке како бисте били спремни за покретање неког REST пројекта са странице предмета. Инструкције за прву лабораторијску вежбу су и даље потребне.
# Инсталирајте [https://dev.mysql.com/downloads/workbench/ ''MySQL Workbench''.] Алтернативно, покретање било каквог ''MySQL'' сервера на рачунару ће радити. На пример, можете инсталирати [https://www.apachefriends.org/ ''XAMPP''], покренути ''MySQL'' сервер на њему и користити ''phpMyAdmin'' као интерфејс.
# Преузмите [https://dev.mysql.com/downloads/connector/j/ ''Connector/J''.] Када вас пита за верзију, изаберите ''Platform Independent'', и требало би да добијете један JAR фајл. Након тога, тај фајл можете убацити у директоријум са вашом инсталацијом ''GlassFish'' сервера, у директоријум <code>glassfish/lib</code>.
# Покрените ''NetBeans'' и ''GlassFish'' сервер. Уколико је био покренут пре него што сте убацили ''Connector/J'', зауставите га и поново покрените.
# Направите нови ''JDBC Connection Pool''. Параметри су следећи:
#* ''Resource Type:'' <code>javax.sql.DataSource</code>
#* ''Database Driver Vendor:'' MySql
#** Уколико сте на ''GlassFish'' 5.0 и пређете преко текстуалног поља након ''Database Driver Vendor'', вредност ће бити избрисана.
#* ''Datasource Classname:'' <code>com.mysql.cj.jdbc.MysqlDataSource</code>
#* У додатним својствима конекције подесити:
#** <code>password</code>: Лозинка вашег MySQL корисника, не сме да буде празна и можете је променити из ''MySQL Workbench'' → ''Admnistration'' → ''Users And Privileges'' (или користећи [https://dev.mysql.com/doc/refman/8.0/en/alter-user.html <code>ALTER USER</code>])
#** <code>databaseName</code>: Назив ваше MySQL базе
#** <code>serverName</code>: <code>localhost</code>
#** <code>user</code>: Назив вашег MySQL корисника, подразумевано постоји корисник са називом <code>root</code>.
#** <code>portNumber</code>: Подразумевано 3306, али понекад ''MySQL Workbench'' може да постави на 3308.
# Тестирати ''Connection Pool'' користећи ''Ping'' дугме.
# Направити ''JDBC Resource'' са новонаправљеним ''Connection Pool'' као конекцијом.
# Унутар ''NetBeans'' у ''Services'' → ''Databases'' кликните десним кликом на ''Drivers'' и изаберите ''New Driver''.
# Код ''Driver File(s)'' изаберите ''Add'' и онда изаберите ''Connector/J'' JAR фајл који сте убацили у <code>glassfish/lib</code> директоријум, па додајте драјвер.
# Требало би да вам постане доступна опција ''Register MySQL server'' при десном клику на ''Services'' → ''Databases''. Када то изаберете, можете додати параметре вашег ''MySQL'' сервера сличне онима које сте додавали за ''JDBC Connection Pool''.
#* Овај корак вам омогућава да изаберете ову конекцију када радите ''New'' → ''Entity Classes from Database''.
# У вашем <code>persistence.xml</code> фајлу, у ''Source'' табу, сада можете заменити садржај <code>&lt;jta-data-source></code> тага са називом вашег JDBC ресурса.
# Као додатан алат за тестирање ваше REST апликације можете преузети [https://postman.com/downloads/ ''Postman''.]
Уколико покрећете нови REST пројекат, изаберите ''Java with Maven'' → ''Web Application''. Обавезно гледајте ''GlassFish Server'' таб како бисте уочили грешке које се јављају током извршавања.


== Начин оцењивања ==
== Начин оцењивања ==

Верзија на датум 6. јануар 2022. у 22:45

Информациони системи 1 је обавезан предмет из петог семестра.

Странице

Корисне везе

Шаблон:Материјали

Лабораторијске вежбе

Од школске 2020/2021. године на предмету више не постоји лабораторијска вежба са функционалном декомпозицијом, већ само JMS (прва лабораторијска вежба), JPA и REST (друга лабораторијска вежба). Испод су излистане лабораторијске вежбе за које су сачуване поставке.

Препоручено је да прочитате наредне водиче за поставку алата, са корисним саветима и идејама шта је могло да пође по злу уколико добијете неку грешку:

Испитни рокови

Начин оцењивања

  • — Бодови са колоквијума (0-15). На сваки колоквијум је могуће изаћи само једном.
  • — Бодови са прве лабораторијске вежбе (0-8). Могуће је изаћи само једном.
  • — Бодови са друге лабораторијске вежбе (0-12). Могуће је изаћи само једном.
  • — Бодови са пројекта (0-20). Пројекат се може бранити само једном.
  • — Бодови са испита (0-30)
  • Укупни бодови:
Бодови
Оцена 5 6 7 8 9 10

Рачунање

  • :
  • :
  • :
  • :
  • :
  • :
  • :
  • Оцена:

Потребна помоћ

  • На овом предмету фале поставке рокова. Помозите викију памћењем/преписивањем рокова и постављањем на вики.