этот блог в своё время здорово мне помог. жду цикл статей. хотя сам я уже благополучно слез с IIB (переводим интеграционные приложения на Java/Spring Boot), почитать всё равно будет интересно.
Ошибки на стороне сервера можно разделить (как минимум) на 2 типа:
1. Бизнес ошибка. Например вы пытаетесь выполнить какое-то действие с объектом, а он имеет не подходящий статус. Вполне логично вернуть код 200 с описанием ошибки согласно контракту, т.к. на стороне сервера ничего не поломалось.
2. Собственно ошибка на стороне сервера. Например deadlock на БД. Тут логично вернуть 500.
sql error в этом случае вылазит, как правило, уже при запуске (spring boot и т. п.) или деплое приложения на сервер и выявляется разработчиком. до продакшена такое приложение не дойдёт.
Смущает возрастная граница молодого специалиста — до 30 лет. Большинство к этому возрасту имеют опыт работы 5+ лет и успевают переболеть описанными в статье «детскими болезнями».
Удивлён. А ещё удивлён, что здесь вообще используются понятия «паттерн» и «антипаттерн». В моём понимании паттерн — готовое решение для какой-то проблемы, которое можно вписать в любую архитектуру, решение более высокого уровня. Так что впору вводить понятие «антиархитектура»)
Если часть логики поместить в сущности, а часть в сервисы, можно запутаться. Удобнее когда вся логика одного уровня находится в одном месте — в сервисах. В сущностях видел только что-то очень простое, типа валидации. Сам пишу на java, но сомневаюсь, что в других ОО языках это будет сильно отличаться.
А конфигурацию и не нужно размазывать по куче файлов. Это уже ошибка в архитектуре проекта и она не имеет отношения к конкретной реализации, будь то конфигурирование с помощью аннотаций или xml.
Не знаю, есть ли это в jee 6, но в jee 7 в web.xml сервлеты можно вообще не прописывать, у меня, например, в одном из тестовых проектов в web.xml заполнено только название проекта. Сами сервлеты в коде помечаются аннотацией WebServlet.
На прошлом месте работы это называли "работой по специальности"
сильно!
А зачем писать свой велосипед, если в последних версиях Java появился HTTP-клиент?
никогда не используйте это, т.к. оно не отлаживается (в отличие от ESQL)
в ссылочки можно добавить ещё sharavara.com/category/iib и developer.ibm.com/integration/docs/ibm-integration-bus/self-study-labs
маппинг делается в интерфейсах, для которых генерируются реализации. в реализациях маппинг прописан явно, проблема с поиском отпадает
если что-то пойдёт не так, приложение просто не соберётся
1. Бизнес ошибка. Например вы пытаетесь выполнить какое-то действие с объектом, а он имеет не подходящий статус. Вполне логично вернуть код 200 с описанием ошибки согласно контракту, т.к. на стороне сервера ничего не поломалось.
2. Собственно ошибка на стороне сервера. Например deadlock на БД. Тут логично вернуть 500.
а какой поисковик используют разработчики яндекс, когда им нужно что-то загуглить?)