VMForce
27 апреля 2010
VMWare только что показали презентацию своего VMForce, платформу для приложений внутри SalesForce, на основе Spring Framework.
Презентация была, к сожалению, совсем не бизнесовая, а техническая. Зачем то показывали примеры кода и пр., но не рассказали зачем это. Но общую идею, конечно, можно понять. VMForce это PaaS для реализации своих приложений, интегрированных в инфраструктуру Salesforce, работающую на их серверах, с их базой данных и их клиентами. Видимо деньги за использование будут будут тоже как-то пилиться между вендорами и salesforce, но вот эту часть вообще мимо обошли, как и много другое.
А вообще вот презентация (это не то что было на официальном представлении, но суть передает):
Да, все идет к этому, к SaaS, PaaS, Enterpise 2.0, интеграции приложений под одним зонтом и пр. Мы собственно сейчас занимаемся тем же самым, посмотрим кто кого
VMForce что-то реальное собирается показать во второй половине года, мы надесь тоже.
P.S. Но суть презентации я не понимаю, хоть убей, что они хотели сказать то? Все сводилось к лозунгу что «Java может работать в облаке». И чо? Кто-то разве сомневался? Не объяснили ни зачем это нужно бизнесу, ни зачем это нужно вендорам, ни что вообще хотят сделать. И вообще трансляция была полуработающая
Такое ощущение что им срочно нужно было хоть что-то сказать, но времени на полноценную подготовку не было.
Spring + VMWare
14 августа 2009
Наверное все в курсе произошедшей на этой недели покупки SpringSource компанией VMWare. Меня, например, это сильно удивило, совсем не ожидал. Судя по прессрелизу все ради того чтобы обосноваться в нише cloud computing. Ну в общем да, на уровне инфраструктуры виртуализации у VMWare все хорошо, даже очень, а вот в остальном видимо решили докупиться (к тому же виртуализацией как таковой сейчас занялись очень многие, надо идти дальше, предлагать платформу).
И я их наверное начинаю понимать, cloud computing это довольно специфичная область. Читать далее »»
Я не знаю EJB и JSF
6 августа 2008
Как то так сложилось что при моем примерно 7-летнем опыте коммерческой разработки на Java я почти не имею опыта в EJB. Хотя это первое что спрашивают на собеседовании, я ведь проверял не так давно. Самое интересное, кстати, в том что многие собеседователи после кучи вопросов по опыту в EJB/WebSphere/JMS/пр., о том как это все им важно и пр., рассказывая о своих проектах, говорят что на практике все их проекты разрабатываются без какого либо EJB и прекрасно работают по Tomcat, а WebSphere получается лишь для веса. Возможно и потому что не серьезно сейчас предлагать решение без WebSphere/WebLogic + Oracle.
А мне всегда как то хватало связки Spring + Hibernate + Tomcat/JBoss, что в сущности дает тоже самое, но удобнее. Список можно продолжить добавив еще как минимум Acegi, AspectJ, и прочие решения умеющие хорошо и удобно решать свою отдельную задачу, многие легко взаимозаменяемы и дают очень неплохой синергетический эффект.
Читать далее »»
Указываем редактируемые поля
21 февраля 2008
При редактировании объекта через форму есть потенциальная уязвимость в системе, т.е. даже если мы в самой форме не указали внутренние поля (id, role, и пр) то хакер всегда может передать их в запросе сам. Конечно ему нужно знать какие поля есть в объекте, что бы передать для них значения, но это отнюдь нас не защищает. Некоторые интересные поля можно найти перебором по словарю.
Так вот, я к тому что Spring предоставляет возможность указать какие поля позволено менять извне. И при формировании объекта, из переданных в POST значений, будут заполненны лишь определенные поля.
Указывается все очень просто:
protected void initBinder(HttpServletRequest request, ServletRequestDataBinder binder) throws Exception {
super.initBinder(request, binder);
binder.setAllowedFields(new String[] {"title", "content"});
}
По хорошему, в зависимости от ролей пользователя, нужно менять список доступных для редактирования полей. Админу разрешить менять вообще все (это по умолчанию), а остальным указать что можно.
Использование Struts Tiles + Spring Framework
18 июня 2007
Одной из фич Struts Framework, помимо MVC для веба, была библиотека тегов Tiles, идущая с ним. Тайлы много что могут, но главное что они помогают сделать наследования страниц. Да, так же как объекты, в корневом определяем базовые методы, а в предках что то переопределяем и добавляем новое.
При этом эта библиотека может использоваться и отдельно от Struts, она прекрасно интегрируется в Spring Framework.
Вот без тайлов как может выглядеть структура JSP страницы?
[инклюд хидера]
[тело страницы]
[инклюд футера]
Ну вроде так ничего сложного, типичный PHP стиль. А теперь допустим в хидере у нас что то меняется, например картинка раздела, подключается дополнительный css, JavaScript или еще что то. Вот тут все и начинается: в хидере пишется страшная логика охватывающая весь проект, которая, в зависимости от адреса, начинает что то включать/выключать, при инклюде передаются различные параметры, чтобы все это работало и т.д. Немного неудобно получается.
Читать далее »»
Spring в «не Web» приложениях
29 января 2007
Большинство статей/туториалов по Spring Framework заостряют внимание на использовнии его в web приложении, и многие даже не задумываются что можно его использовать по иному. Я несколько раз сталкивался с удивлением других разработчиков, когда они слышали от меня что спринг прекрасно работает в большинстве других случаев, и знаю что иногда его отвергали, несмотря на все его удобства, считая что он не походит для разработки, к примеру, десктопного приложения.
На самом деле контекст приложения очень просто подключается к любому приложению, к примеру через класс FileSystemXmlApplicationContext. При этом всю структуру можно описать в Spring, а далее написать загрузчик типа такого:
public final class Boot {
public static void main(String[] args) throws Exception {
ApplicationContext ctx = new FileSystemXmlApplicationContext("config/main.xml");
App app = (App) ctx.getBean("main.app");
app.run();
}
}
где App это класс приложения (не важно какого, десктоп или просто консоль), который описан бином main.app"" в контексте config/main.xml, и у него есть метод run запускающий это приложение.
HandlerInterceptor в Spring
27 марта 2006
Иногда нужно чтобы на каждый запрос происходила одна и также определенная операция, как например выдернуть количество записей в базе для размещения на странице, или проверка прав доступа, или еще куча вариантов.
Я видел приложение написанное на Spring, в котором для всех контроллеров был один базовый класс, который и выполнял такую функциональность. Но на самом деле в Spring для этого есть такая вещь как HandlerInterceptor.
Читать далее »»
Простое приложение на Spring
15 марта 2006
Теперь попробую показать на простейшем примере Web-приложения что такое Spring. Для простоты сделаем калькулятор, который лишь умеет складывать два числа
Под катом всякий код и коментарии, лишь для тех кто не видел спринга.
