Pokazywanie postów oznaczonych etykietą WAS. Pokaż wszystkie posty
Pokazywanie postów oznaczonych etykietą WAS. Pokaż wszystkie posty

środa, 14 kwietnia 2010

Tutorial jak uruchomić projekt Seam (bazujący na JPA) w Websphere Application Server v 7

Moim głównym zadaniem było, uruchomienie projektu Seam, korzystającego z zewnętrznej bazy danych na WPS'ie, biorąc pod uwagę fakt, że WPS jest nakładką na WAS'a, oraz to że na początku nie mogłem uruchomić profilu WPS'owskiego, napisałem (łącznie z tym) 3 tutrialne potrzebne do uruchominia Seam'a na WAS'ie. Jednakże tutoriale te są w równym stopniu poprawne w przypadku uruchomienia Seam na WPS'ie, jedyna różnica jest taka, że konsola administratora WPS posiada trochę więcej opcji niż ta WAS'owska.

Co potrzebujemy?
1. Seam w wersji 2.1.2.GA: link  - jest to nowsza wersja Seam'a, w poprzednich tutorialach używałem wersji 2.0, jednakże różnice związane z tym tutorialem są tylko takie, że seam-gen zada o kilka pytań więcej, na które odpowiadamy domyślnymi odpowiedziami.
2. Projekt wygenerowany przez seam-gen, na podstawie bazy danych, patrz: link
3. Zapoznanie się oraz wykonanie wcześniejszego tutoriala dotyczącego brakujących bibliotek: link
4. Zapoznanie się oraz wykonanie wcześniejszego tutoriala dotyczącego utworzenia data source: link


Uruchomienie projektu Seam na WAS'ie:
1. Punktem wyjściowym jest projekt wygenerowany przez Seam-gen, najlepiej wcześniej sprawdzony na JBoss'ie. Projekt bazujący na JPA, czyli typu war.
2. Edytujemy plik resources/META-INF/persistence-dev.xml:
 - zmieniamy wartość między tagami < jta-data-source> i wpisujemy tam nazwę JNDI data source, którego wcześniej utworzyliśmy w moim przypadku jdbc/MySql_cms
< jta-data-source>jdbc/MySql_cms< /jta-data-source>
 - dodajemy / edytujemy właściwości hibernate, tak aby otwrzymać:
< properties>
         < property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect"/>
         < property name="hibernate.hbm2ddl.auto" value="update"/>
         < property name="hibernate.show_sql" value="true"/>
         < property name="hibernate.format_sql" value="true"/>
         < !-- Only relevant if Seam is loading the persistence unit (Java SE bootstrap) -->
         < property name="hibernate.transaction.manager_lookup_class"            value="org.hibernate.transaction.WebSphereExtendedJTATransactionLookup"/>
< /properties>
- UWAGA!! W kodzie powyżej są spacje w tagach XML, należy je usunąć, jeśli chcemy wkleić do pliku.
3. Używając polecania "ant archive" w katalogu głównym projektu, kompilujemy projekt i tworzymy m.in. plik .war.
4. Uruchamiamy WAS'a /WPS'a i przechodzimy do konsoli administratora, wybieramy Application>App Types> Websphere E A, oraz wybieramy Install.







5. W następnym oknie wybieramy plik .war który utworzyliśmy (znajduje się on w katalogu dist naszego projektu). Klikamy next, w następnym oknie wybieramy Fast path i dajemy również next.
6. Kreator instalacji zostawiamy bez zmian, tylko w przedostatnim oknie dodajemy nazwę naszego projektu, klikany next, a następnie finish, na końcu zapisujemy zmiany na serwerze:







7. Wybieramy nasz projekt z listy zainstalowanych projektów, wybieramy "Manage modules", następnie klikamy na nazwę naszego projektu z zmieniamy ustawienia class loadera na: "Classes loaded with local class loader first (parent last)"
















8. Podobnie jak w punkcie 7. postępujemy po wyborze "Class loading and update detection".










9. Dodajemy przygotowane wcześniej Shared libraries do naszego projektu. Wybieramy "Shared library references", następnie zaznaczamy nazwę naszej aplikacji i klikamy na "Reference shared libraries", dodajemy "Jboss_libs" do okna po prawej i dajemy OK.









10. Zapisujemy wszystkie zmiany na serwerze. Zaznaczamy nasz projekt na liście i klikamy na start.








11. Projekt powinien się poprawnie uruchomić i jest dostępny pod adresem:
http://localhost:9080/websphere_war_test/index.html
Wymienione wcześniej 2 tutoriale, czyli http://aludwikowski.blogspot.com/2010/04/tutorial-jak-dodac-shared-libraries-do.html, http://aludwikowski.blogspot.com/2010/04/tutorial-jak-dodac-baze-danych-mysql-do.html, razem z tym, tworzą tak na prawdę jeden tutorial, pokazujący jak od początku do końca uruchomić projekt wygenerowany przez seam-gen (używający JPA) na Websphere Application Server.

poniedziałek, 12 kwietnia 2010

Tutorial jak dodać bazę danych Mysql do DataSource w Websphere Application Server v 7 ?

  Krótki tutorial jak dodać bazę danych MySql, do WAS'a.

Co potrzebujemy?
1. Sterownik JDBC do MySql'a: link.
2. Zainstalowany serwer MySql z utworzoną bazą danych, ten punkt pozostawiam czytelnikowi.

Dodajemy sterownik do "JDBC providers".
1. Uruchamiamy WAS'a, następnie przechodzimy do Resources>JDBC>JDBC providers i wybieramy New.








2. Uzupełniamy odpowiednio formularz. W "Implementation class name" powinniśmy wpisać:
 com.mysql.jdbc.jdbc2.optional.MysqlConnectionPoolDataSource









3. W następnym oknie podajemy ścieżkę do sterownika JDBC, czyli w moim przypadku.
 /home/andrzej/Desktop/tools/mysql-connector-java-5.1.12/mysql-connector-java-5.1.12-bin.jar
4. Kończymy pracę z kreatorem klikając Finish, oraz zapisujemy zamiany w konfiguracji serwera.

Dodajemy bazę danych do "Data Source".

1. Mając dodany sterownik JDBC, możemy przystąpić do dodania bazy danych. Przechodzimy do Resources>Data source i klikamy New








2. Wypełniamy odpowiednio pola, w moim przypadku nazwa bazy danych to "cms", stąd takie końcówki, oczywiście możemy wypełnić te pola wedle uznania.







3. Wybieramy naszego dostawcę JDBC







4. W następnym oknie wartość dla "Data store helper class name" powinna być ustawiona na:
com.ibm.websphere.rsadapter.ConnectJDBCDataStoreHelper
5. Następne okno pozastawiamy bez zmian, kończymy pracę z kreatorem i zapisujemy zmiany na serwerze.
6. Klikamy na "MySql_cms" na liście "Data source", następnie z podmenu "Additional properties" po prawej stronie wybieramy "Custom properties". Musimy znaleźć i zedytować kilka zmiennych, tj.
databaseName = cms?autoReconnect=true
user = admin
password = admin
port = 3306
serverName = localhost
Wszystkie wartości powinny być typu: java.lang.String. oraz dostosowane do odpowiedniej konfiguracji bazy danych. Jeśli port jest defaultowy to chyba można pominąć tą wartość.









7. Zapisujemy zmiany na serwerze i testujemy połączenie:









Jest to kolejny tutorial będący przygotowaniem do uruchomienia aplikacji Seam na WAS'ie

Tutorial jak dodać "Shared Libraries" do Websphere Application Server v 7

Szybki tutorial jak dodać "Shared Libraries" do WAS'a, dodawane biblioteki będą potrzebne do uruchamiania aplikacji Seam'owskich na WAS'ie, używając JBoss'a nie musimy martwić się o te biblioteki, natomiast w WAS'ie musimy je ręcznie dodać do serwera, lub do samej aplikacji. Tutorial jest oczywiście uniwersalny i możemy dodać inne biblioteki, jednak moim głównym celem jest przystosowanie WAS'a do aplikacji Seam'owskich.

Lista potrzebnych bibliotek, których wymaga projekt Seam używający JPA (!):
  • hibernate.jar
  • hibernate-annotations.jar
  • hibernate-commons-annotations.jar
  • hibernate-entitymanager.jar
  • hibernate-validator.jar
  • commons-collections.jar
  • jboss-common-core.jar
  • antlr.jar
  • cglib.jar
  • asm.jar
  • dom4j.jar
  • javassist.jar
  • concurrent.jar
1. Uruchamiamy WAS'a i przychodzimy do konsoli administratora.
2. Wybieramy Environment>Shared Libraries, oraz klikamy New






3. Wybieramy nazwę, oraz dodajemy ścieżki do poszczególnych .jar'ów, oddzielając je enterem. UWAGA nie możemy oddzielać bibliotek znakami ";" lub ":".









4. Zapisujemy zmiany w konfiguracji serwera.









5. Gotowe ! Oczywiście aby korzystać z tych bibliotek musimy je jeszcze dodać do wdrażanej aplikacji, ale o tym za jakiś czas.