В магистратурата по "Софтуерни технологии" на ПУ "Паисий Хилендарски" когато се стигне до курсови проекти, независимо дали става въпрос за направата на уеб сайт/онлайн магазин или приложение за бази данни, темата обикновено е свързана с книгите - библиотека или книжарница. Този триместър заданието е комплексно - изисква да се приложат знания и по трите изучавани дисциплини. Иначе казано в онлайн книжарницата (или кой каквото сътвори, защото книжарницата е само кнотролен пример) трябва да е уеб базирано Java приложение, в което да присъстват в една или друга степен следните технологии:
- HTML + CSS - като представителен слой;
- JavaScript - най-малкото за валидация на формите;
- XML - като персистентен механизъм (вместо база данни);
- JSP и Servlet-и - отново за представителния слой и за изграждане на логиката на приложението;
- MVC (Model, View, Controller design pattern) - цялостната архитектура на програмата трябва да отговаря на този шаблон за дизайн.
На пръв поглед възможността за създаване на пълна бъркотия изглежда доста реална. Всъщност в наши дни изброените технологии никак не са много, защото реалнте прокети, с които се сблъскват професионалните прогамисти са доста по-сложни и като архитектура (MVC е само част от картинката), и като изисквани технологии. Все пак за начинаещите това е едно доста добро начало и не би било излишно едно рамо в правилната посока. Според мен верния подход не е само един, но няма да разисквам повече. Най-близка до мисловната ми настройка е следната схема:
- Стартиране на нов проект като уеб приложение.
- Изграждане на механизма за съхранение на данните - оформяне на хранилището за данните в XML файл. Стуктурата му може да се установи в DTD или XML Schema файл, достъпен при необходимост от валидация.
- Като добавка може да се напишат Java Beans обектите, който ще подпомагат съхраняването на данните.
- Оформяне на вида на приложението (като се започне от индексната страница) - статичните страници могат да са в HTML формат, но динамичните е необходимо да бъдат JSP.
- Свързване на страниците и реализиране на функционалностите - разширяване на JSP и HTML страниците, чрез свързването им с реализираните на тази стъпка Servlet обекти. Последните трябва да могат да съхраняват данните в XML с помощта на Java Beans обектите.
- Дооформяне на външния вид на страниците посредством CSS, който е приложим както към HTML, така и към JSP файловете.
- Довършване на функционалността на страниците, чрез добавяне на JavaScript валидация на полетата за въвеждане на данните.