Client Side Business Application Framework

12.07.2008 Иван Давидов

На какви изисквания би трябвало да отговаря платформа за бизнес приложения, предназначена за използване от крайни клиенти, чиято цел е не да предоставя готови решения, а да да ва основи, на които вече да се градят бизнес решения?

Малкото ми проучване по въпроса не даде съществен резултат. Ето защо сам си отговарям. Списъкът не е пълен, но дава някаква насока по въпроса:

  • Системата  трябва да  бъде модулна.
  • API-то за разширяване на платформата трябва да е публично достъпно.
  • API-то за разширяване на платформата не трябва да дава никаква готова имплементация по нито един бизнес въпрос. Това е работа на софтуерни архитекти/софтуерни инженери.
  • API-то за разширяване на платформата трябва да бъде изключително лесно за боравене.
  • Добавянето/редактирането/премахването на нов модул в системата трябва да става лесно, по възможност без програмиране, а с конфигурация (XML, анотации, …).
  • Задължително трябва да се поддържт версии на модулите.
  • Задължително трябва да се поддържат зависимости между модулите.
  • Визуализацията на бизнес приложението не бива да се определя от API-то, а от конкретната му имплементация.
  • API-то трябва да работи еднакво ефективно както на десктоп среда, така и в уеб среда (това е трудно, да не кажа направо невъзможно).
  • API-то трябва да предоставя канал за комуникация между отделните модули по време на инициализация, по време на работа и преди спиране на работта с приложението.
  • API-то не трябва да е обвързано с никаква конкретна технологиза за logging, persisting, business logic и т.н. Всичко това трябва да се дефинира от конкретната имплементация. API-то трябва само да предостави адекватен интерфейс и/или адекватни канали за комуникация.
  • Национализирането (Localization) е вече толкова задължително, че според мен механизъм за това би трябвало да се предоставя от API-то под формата на добре дефиниран комуникационен канал и/или интерфейс.

Със сигурност могат да се добавят още много неща, защото всичко това го написах на прима виста и 100% не съм го обмислил добре. Ако съм прав и това като идея не е реализирано, тогава трудът си заслужава. А ако не съм прав (повечето неща в съвременния свят отдавна са измислени, това сигурно също, просто не съм го намерил), тогава трудът пак си е заслужавал, защото си поразмърдах малко мозъчните клетки.

Аз се сещам за два примера, които могат да служат за подпобни платформи. Eclipse и NetBeans. И двете платформи са модулни, и двете са с добре дефинирани API-та, но и двете са правени и продължават да се развиват като основа за RAD IDE, а не като платформа за бизнес приложения. Не че не могат да се ползват и за бизнес приложения, но не са мислени с тази цел. А и не работят през web! :)

Намира се в категории: Всичко, Размисли, Технологии | Няма коментари »

Sun Learning Connection

29.05.2008 Иван Давидов

Sun Learning Connection - това е сайт на Sun Microsystems за онлайн обучение не само по продукти на Sun. Последното онлайн обучение, коео проведох преди да се “запозная” със SLC беше в CISCO академията в град Пловдив, където карах курсове по Java и CCNA. ДО скоро мислех, че CISCO са най-добрите в областта на електронното обучение, но по лично мнение онлайн курсовете на Sun са по-добри.

С какво ме грабна Sun Learning Connection?

Първо - онлайн курсовете са представени изключително качествено. Покрива се пълния спектър на мултимедийно представяне: текст, графика/анимация и звук. Има включително и междинни “тестове”, които определят до колко човек е спал, докато е преглеждал предходните няколко слайда.

Второ - курсовете не са само по продуктите на Sun. Има общи курсове за XML, Web Services, Application Security… общо взето за всеки по нещо. Естествено, колкото и да са общи, всички курсове рано или късно “загатват”, че най-доброто, което може да се плзва в крайна сметка е някой от продуктите на Sun. Същото важи и за CISCO CCNA курсовете, където въпреки че началните модули са представени от гледната точка на мрежи, мрежови топологии и други основни понятия, по-късните курсове наблягат на предимствата на конкретни CISCO технологии. В крайна сметка всеки дърпа чергата към себе си.

Но да се върнем на Sun Learning Connection.

Трето - за всеки завършен курс се “издава” сертификат, който при добро желание може да се свали и разпечата на старомоден хартиен носител на информация. Не съм сигурен тези сертификати дали имат някаква стойност, но пък курсовете са официални, обучителните материали също, така че в крайна сметка сертификатът показва, че курсистът е завършил официален онлайн курс по еди-каква-си технология.

Четвърто - курсовете са безплатни. Поне тези, до които аз имам достъп като SDN member prez Sun Learning Connection са безплатни. Има разбира се и платени такива, безплатните са за “зарибяване”.

Въпреки всички тези “красоти” обаче, истината е, че всички тези курсове могат да служат само като един вид допълнително самообразование. Нищо в курсовете не е сложно, а и има много сериозен начин да се “лъже” системата, така че за по-малко от три минути да завърша курс, за който са предвидени четири часа например. Това е една от причините всякакви подобни онлайн курсове и издадените към тях онлайн сертификати да нямат реална стойност.

Като цяло препоръчвам на всеки, който се занимава с технологии на Sun да разгледа какви курсове се предлагат на сайта на Sun Learning Connection, тъй като те обхващат доста широк спектър от продуктовата им линия. Определено стават за въведение и “навлизане” в материята по конкретна Sun технология.

Намира се в категории: Всичко, Размисли, Технологии | Няма коментари »