Uzyskiwanie tokena bezpieczeństwa z Facebooka w aplikacji Vaadin

Generalnie Vaadin strzela focha jak mu się chce majstrować przy przekierowaniach w oknie aplikacji. Nie jest to duży foch, ale wymaga od nas trochę pracy. Przygotowania Co należy mieć zanim w ogóle przejdziemy do pracy? Po pierwsze należy zarejestrować się jako deweloper do Facebooka. Następnie w zakładce „Aplikacje” tworzymy nową aplikację. Przechodzimy do jej konfiguracji […]

USOS na Javie – przemyślenia po…

Dziś na wydziale MiMUW odbyła się konferencja „USOS w Javie”. Wziąłem w niej udział z dwóch powodów. Po pierwsze jako, że zmieniam pracę to muszę jakoś opędzić urlop. Po drugie byłem ciekawy co spece od USOS chcą osiągnąć i jakie mają pomysły. Poglądowo W spotkaniu chodziło o przedstawienie osobom odpowiedzialnym za USOS pewnego stosu technologicznego, […]

Guice, Vaadin i Shiro – część 2

W drugiej części zajmiemy się obsługą uprawnień użyszkodnika. Jak sprawdzać uprawnienia? Odpowiedzi na to pytanie jest prawdopodobnie tyle ilu jest programistów +1. Generalnie większość będzie jednak zgodna, że jedną z najwygodniejszych dróg jest użycie programowania aspektowego(najlepiej z dynamicznym weaveringiem) oraz nieinwazyjnych technik takich jak XML. Jako, że konfiguracja w XML działa na mnie jak czerwona […]

Guice, Vaadin i Shiro – część 1

Mamy już skonfigurowaną aplikację Guice+Vaadin. Nawet działa 😉 Czas zatem dodać możliwość logowania się do aplikacji. W tym celu wykorzystamy Apache Shiro, które dawniej zwało się JSecurity. Uwaga! Wszelkie adnotacje związane z DI pochodzą z pakietu javax.inject. Guice od wersji 3 w pełni wspiera JSR 330. Chwila teorii i konfiguracji W poprzednim odcinku poświęconym konfiguracji […]

Guice, Vaadin i Shiro – część 0

Cały dzień mi to zajęło (jakieś 4-5 godzin pracy), ale udało mi się zintegrować Vaadin, Guice i Shiro. Oraz napisać swój własny mały silniczek do zabezpieczania aplikacji Vaadin przed niepowołanymi łapkami. Sprawa jest o tyle zabawna, że te trzy elementy dość ciężko razem spiąć. Oddzielnie każda z par działa wyśmienicie. Razem, a szczególnie jak przyjdzie […]

Przykłady z java4people

Udostępnione na githubie pod adresem git://github.com/Koziolek/java4people-vaadin-examples.git. Można ściągnąć opędzić mavenem i gotowe. vaadin-clean Zawiera kod różnych komponentów. W przypadku uruchomienia profilu gwt udostępniona zostanie funkcjonalność związana z menu kontekstowym w zakładce „własne komponenty”. Kod z dokumentacją! vaadin-guice Przykładowy projekt integracyjny Vaadin i guice. Brak komentarzy. vaadin-scala Durnostojka demonstrująca, że da się użyć scali. Brak komentarzy. […]

Vaadinowe ciasteczka

Vaadin jest to generalnie narzędzie, które służy do pisania aplikacji, a nie aplikacji webowych. Na czym polega różnica? Powiem w Szczecinie już w sobotę na konferencji java4people. Jedną z cech jest brak czegoś takiego jak ciasteczkaW w aplikacji okienkowej. Po prostu nie ma. Oczywiście w zamian dostajemy dostęp do plików i możliwość składowania informacji w […]

Dwa słowa o wydajności Vaadin

Jak rozmawiam z kimś o Vaadin to pada zazwyczaj pytanie „co z wydajnością”. Otóż odpowiedź na to pytanie jest dość dobrze znana i brzmi „to zależy”. Vaadin działa w trochę inny sposób niż typowe, nawet ajaxowe, aplikacje webowe. Ma to związek z jego architekturą i utrzymywaniem aktualnego stanu okna również po stronie serwera. Zatem każda […]

Integracja Vaadin + Guice z ICEPush

Wczoraj osiągnąłem niewielki sukces integrując zestaw Vaadin + Guice z IcePush. Celem takiego połączenia jest uzyskanie możliwości aktualizacji UI przez zdarzenia generowane na serwerze, a nie tylko dzięki interakcji po stronie klienta. Jest to o tyle ważne, że w klasycznych rozwiązaniach (nawet AJAX) można aktualizować GUI tylko w wyniku akcji po stronie klienta. Jest to […]

Vaadin + Guice + JSR-330, czyli jak nie przespałem nocy

Miało być miło, bo integracja Vaadin z Guice jest nawet opisana na wiki Vaadin… tyle tylko, że nie działa, bo nie ma prawa działać. Dlaczego, bo żaden kontener serwletów nie potrafi utworzyć instancji serwletu jeżeli ten ma konstruktor z parametrem, a nie ma bezparametrowego. Cóż… u mnie nie działa zatem trzeba znaleźć obejście. Na początek […]