Lektura strony domowej projektu JBoss Seam - http://seamframework.org - nie pozostawia złudzeń wyboru szkieletu aplikacyjnego:
Seam is a powerful open source development platform for building rich Internet applications in Java. Seam integrates technologies such as Asynchronous JavaScript and XML (AJAX), JavaServer Faces (JSF), Java Persistence (JPA), Enterprise Java Beans (EJB 3.0) and Business Process Management (BPM) into a unified full-stack solution, complete with sophisticated tooling.
To jest dokładnie to, czego potrzebowałem do zbudowania mojej nowej aplikacji.
Początkowo próbowałem się z archetypem JSF+Facelets+Seam Archetype, ale już po chwili widać było, że nie tędy droga. Po poprawnym zestawieniu projektu z archetypem mavenowym softeu-archetype-seam:
$ mvn archetype:create \jego uruchomienie zakończyło się błędem.
-DarchetypeArtifactId=softeu-archetype-seam \
-DremoteRepositories=http://maven.softeu.cz/ \
-DgroupId=pl.jaceklaskowski.seam \
-DartifactId=seam-facelets-witajswiecie
...
[INFO] ----------------------------------------------------------------------------
[INFO] Using following parameters for creating OldArchetype: softeu-archetype-seam:RELEASE
[INFO] ----------------------------------------------------------------------------
[INFO] Parameter: groupId, Value: pl.jaceklaskowski.seam
[INFO] Parameter: packageName, Value: pl.jaceklaskowski.seam
[INFO] Parameter: basedir, Value: c:\projs\sandbox
[INFO] Parameter: package, Value: pl.jaceklaskowski.seam
[INFO] Parameter: version, Value: 1.0-SNAPSHOT
[INFO] Parameter: artifactId, Value: seam-facelets-witajswiecie
[INFO] ********************* End of debug info from resources from generated POM ***********************
[INFO] OldArchetype created in dir: c:\projs\sandbox\seam-facelets-witajswiecie
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Jetty server exiting.Tyle było z mojego wykorzystania Seama z pomocą archetypu softeu-archetype-seam. Kasuję projekt seam-facelets-witajswiecie.
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] Failure
Embedded error: Could not create Component: org.jboss.seam.security.identity
No converter for type: org.drools.RuleBase
Oparcie się o skrypt seam (aka seam-gen) szczęśliwie dało oczekiwany skutek - utworzenie aplikacji seamowej. Mimo konieczności wskazania katalogu domowego JBoss AS, którego nie miałem (i na chwilę obecną nie planuję mieć), uruchomienie projektu z Apache Geronimo sprowadziło się do pewnych zmian w dostępności bibliotek, utworzenia planu i instalacji modułu wspierającego pracę Hibernate z JTA w Geronimo i tyle. Moje doświadczenia spisałem w postaci kolejnego artykułu Pierwsze kroki z JBoss Seam i Apache Geronimo. Jutro popróbuję się z tworzeniem akcji z pomocą skryptu seam.
Ciekawym Twoich doświadczeń z JBoss Seam i zestawianiem środowiska do tworzenia aplikacji z nim. Każde uproszczenia mile widziane, więc jak masz jakieś, koniecznie pozwól mi je poznać.
Pytanie konkursowe: Jakie polecenie skryptu seam stworzy projekt seamowy?
Ruby on Rails to jednak znacznie wiecej niz generowany automatycznie CRUD.... Porownanie RoR i Seam Framework to spore naduzycie :P
OdpowiedzUsuńCześć Paweł,
OdpowiedzUsuńNie znam RoR poza kilkoma reklamowanymi jego cechami, jak wspomniana szybkość tworzenia aplikacji przez dostosowanie się do pewnych reguł nazewniczych. Zapewne to nie wszystko, co oferuje RoR, ale pod tym kątem bardzo przypomina mi Seama, który próbuje (realizuje) ten paradygmat.
Możesz napisać, co wyróżnia RoR od innych szkieletów webowych? Co więcej mógłbym oczekiwać od RoR, czego nie znajdę w innych podobnych rozwiązaniach (jak wspomniany JBoss Seam)? Chętnie sprawdziłbym Seama pod tym kątem i zweryfikował pogłoski, aby Seam i RoR były podobnymi rozwiązania tylko opartymi na innych językach, więc ich możliwości "językowe" są odmienne (pomijam milczeniem JRoR).
Jacek
Czesc,
OdpowiedzUsuńAkurat tydzien temu przechodzilem w trybie pilnym (oddanie projektu we Wtorek, a w Sobote Oracle ADF przestal mi sie podobac :) ) kurs Seam by dorobic interfejs z odrobina logiki do bazy na Oracle.
seam-gen mnie zawiodl. Generuje duzo mniej niz oczekiwalem. Wygenerowanie czegos na produkcyjnej bazie danych na poczatku sie sypie, bo... pewnie sam zobaczysz, ale da sie to obejsc recznie.
Za to sam framework bardzo mi sie spodobal, dokumentacja jest swietna, wyglada to na bardzo przemyslane, zintegrowane i rozsadnie rozszerzone o wlasne koncepcje. Poza tym wspiera Groovy :), a dokumentacja RichFaces to dzielo sztuki.
Do tego plugin:
http://www.jboss.org/tools/download/index.html#stable
Pozdrawiam,
Krzysiek