Програмиране на езика Java™ (3 модула), Графични и мрежови приложения на езика JAVA™ (2-ри и 3-ти модул),
Разработка на разпределени и мрежови приложения на езика Java™ (3-ти модул)
Курсът
осигурява практически умения за обектно-ориентирано програмиране на
езика Java™
с използване на проблемно-ориентирана методология за обучение. Той
включва следните три модула (възможни са индивидуални комбинации):
Основи
на програмирането на езика Java™
(40 учебни часа) –
запознава с принципите и понятията на обектно-ориентираното
програмиране и тяхната практическа реализация на Java™.
Разглеждат се детайлно, на базата на примери и задачи, различните
езикови конструкции, механизми за реализация и приложни класове за
основните видове структури от данни. Дискутират се още механизмите
за обработка на изключения и конвенциите при документиране на Java™
код. Модулът включва също начално запознаване с Unified Modeling Language (UML)
Use Case и Class диаграми.
Java™
API и проектиране на графичен потребителски интерфейс (40 учебни часа)
– разглеждат се Java™
класовете за осъществяване на файлови операции, сериализация и
отпечатване на принтер. На базата на практически задачи се
представят в детайли Swing библиотеката от класове и компоненти
(прозорци, панели, бутони, текстови полета, списъци, диалогови
прозорци, менюта, и др.) за изграждане на графичен потребителски
интерфейс (Graphical User Interface – GUI). Разглеждат се
събитийният модел на Swing и Model-View-Controller архитектурата от
гледна точка на тяхната практическа реализация. Дискутират се още
проектирането на Java™
аплети, Java Beans™,
реализация на паралелни
процеси с използване
на множество нишки (multi-threading)
и механизмите за синхронизация между тези процеси. Практически се демонстрира използването на средата за разработка
NetBeans
за бързо графично изграждане на GUI форми и приложения. Разглеждат се новостите при графичната визуализация със Swing в Java SE 6 Update 10 - модерния Nimbus Look and Feel, базиран на мащабируема 2D векторна графика, както и новостите при графично изграждане на desktop приложения с NetBeans 6.8/ 6.9 като Swing Application Framework (JSR 296).
Специален акцент на новото издание на курса ще бъде увод в изграждането на Rich Internet Applications (RIA) с JavaFX и интеграцията на JavaFX компоненти в Swing приложения.
Разработка
на разпределени и мрежови приложения на Java™
(40 учебни часа)
–
модулът запознава с основите на мрежовото програмиране на Java™ (разработват се чат сървъри и клиенти през TCP/UDP/Multicasting),
транзакции и връзки към бази данни през JDBC™, практическа разработка на разпределени приложения от тип клиент/сървър с Java RMI™ и многослойни софтуерни архитектури.
Специален акцент на курса е запознаването с новостите в Java 5 и 6, като декларативно програмиране с помощта на анотации в кода и
автоматизиране на достъпа до бази от данни чрез
Java Persistence API (JPA).
Курсът завършва с проект - разработка на цялостно трислойно клиент/сървър приложение с използване на Remote Method Invocation (RMI) middleware.
Сред новостите, включени в последното издание на курса са:
- основи на UML графична нотация за подобряване на комуникацията в екипа (Use Case и Class диаграми);
- новости в Java 5 и 6 – generics, enumeration types, подобрен for-цикъл за обхождане на колекции, static import, autoboxing, аргументни списъци с променлива дължина, използване на анотации в кода;
- новото за Java 5 и 6 SE Java Persistence API, което надгражда добилите популярност ORM мениджъри Hibernate/ TopLink/ EclipseLink и улеснява съхраняването на данните в база данни, като прави ненужни както писането на SQL заявки, така и на XML описания на данните, заменяйки ги с анотации в кода;
- автоматизирано създаване на Java Persistence API (JPA) entity beans и контролни класове чрез помощници директно от таблици в базата данни;
- съчетаване на JavaFX и Swing за разработка на RIA;
- бързо изграждане на потребителски интерфейси с графичен билдър;
- разбиране на предимствата и недостатъците на различните архитектурни решения и използване на най-добрите практики (Reusable Design Paterns) в зависимост от спецификата на проекта;
- практическа разработка на собствени мрежови приложения от тип клиент-сървър и peer to peer (P2P) през протоколи TCP/ UDP/ multicasting - чат-сървъри и клиенти; програма за фактуриране, включваща RMI клиенти с графичен потребителски интерфейс, централизиран сървър и база данни;
- запознаване с механизмите за сигурност в Java, декларативна сигурност, базирана на политики;
- постигане на максимална скорост и разширяемост при разработката на многослойни клиент-сървър приложения чрез съчетаване на изброените по-горе технологии и подходи.
|