Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

InMoST Wielkopolska sieć współpracy w zakresie innowacyjnych metod wytwarzania oprogramowania Termin realizacji: 01.08.2005 – 31.07.2007 Innowacyjne metody.

Podobne prezentacje


Prezentacja na temat: "InMoST Wielkopolska sieć współpracy w zakresie innowacyjnych metod wytwarzania oprogramowania Termin realizacji: 01.08.2005 – 31.07.2007 Innowacyjne metody."— Zapis prezentacji:

1 InMoST Wielkopolska sieć współpracy w zakresie innowacyjnych metod wytwarzania oprogramowania Termin realizacji: 01.08.2005 – 31.07.2007 Innowacyjne metody monitorowania projektów informatycznych: Część 2: Apache Maven Bartosz Walter, Marcin Werla {Bartek.Walter,Marcin.Werla}@man.poznan.pl Szkolenie finansowane ze środków Europejskiego Funduszu Społecznego (75%) i budżetu państwa (25%) w ramach Zintegrowanego Programu Operacyjnego Rozwoju Regionalnego

2 Apache Maven Motywacja – problemy programistów rozwijających Jakarta Turbine  Kilka podprojektów  Każdy projekt miał własne skrypty z własnymi nazwami zadań  Każdy projekt miał podobne, ale nie identyczne zależności umieszczane w CVSie  Programiści pracujący równocześnie w kilku projektach musieli pamiętać o specyfice każdego z nich

3 Apache Maven Cel – uproszczenie pracy programistów poprzez stworzenie narzędzia, które:  Daje ustandaryzowany sposób pracy z projektem  Jasną określa strukturę i zawartość projektu  Umożliwia łatwą publikację różnych informacji na temat projektu  Pozwala na współdzielenie zewnętrznych zależności między projektami

4 Apache Maven Efekt – powstało narzędzie, które:  Daje uniwersalny interfejs do wykonywania najczęstszych zadań programisty  Dostarcza informacje jakościowe na temat projektu  Ułatwia wprowadzanie dobrych praktyk  Pozwala (?) na łatwe dodawanie nowych możliwości

5 Apache Maven Funkcjonalność Mavena to „połączenie”:  Ant, Jelly – skrypty o rozbudowanej funkcjonalności  Ivy – zarządzanie zależnościami  Forrest – generowanie i publikowanie strony  Klient VCS – korzystanie z systemów VCS  Wielu narzędzi do automatycznej inspekcji kodu, automatycznych testów, analizy historii projektu  …

6 Apache Maven Maven to narzędzie:  Open-source  Napisane w Javie  Ułatwiające  - pracę programisty  - pracę QA  - zarządzanie konfiguracją projektu

7 Apache Maven Dla programisty:  Dobrze zdefiniowana struktura dyskowa projektu  Dobrze zdefiniowany proces budowania postaci wykonywalnej  Ujednolicony interfejs, gotowe skrypty realizujące główne zadania  Możliwość rozbudowania funkcjonalności z Jelly

8 Apache Maven Dla QA:  Wsparcie dla praktyk automatycznego testowania  - włączenie testowania w proces budowania postaci wykonywalnej  Przygotowywanie raportów z wielu różnorodnych inspekcji i analiz kodu  - statycznych  - dynamicznych

9 Apache Maven Dla zarządzających (konfiguracją) projektu:  Dostarcza ogólnych informacji o projekcie  Dostarcza informacji na temat bieżących postępów w projekcie  Ułatwia podział na podprojekty  Wspomaga zarządzanie konfiguracją

10 Apache Maven Programista 1Programista 2 Serwer VCS commons-collections-1.0.jar, ver 1.1 commons-collections-2.1.jar, ver 1.1 commons-collections-3.0.jar, ver 1.1 Przykładowe zarządzanie zależnościami bez użycia Mavena

11 Apache Maven Programista 1Programista 2 Serwer VCS Przykładowe zarządzanie zależnościami bez użycia Mavena Repozytorium firmowe Repozytorium światowe project.xml, ver 1.1 project.xml, ver 1.2 project.xml, ver 1.3 commons-collections-1.0.jar + xml commons-collections-2.1.jar + xml ojdbc14.jar my-project-0.3-beta7.jar + xml http://ibiblio.org/maven http://ibiblio.org/maven2

12 Apache Maven Konfiguracja  P roject O bject M odel (project.xml)  - podstawowe informacje o projekcie (wersja, właściciel, opis,…)  - informacje o zespole projektu, repozytorium, …  - opis zewnętrznych zależności  - opis procesu tworzenia postaci wykonywalnej  - lista raportów

13 Apache Maven Konfiguracja  project.properties  - plik właściwy dla całego projektu  - konfiguracja Mavena i pluginów  build.properties  - plik właściwy dla programisty  - specyficzne ustawienia programisty, lokalne ścieżki, hasła itd.

14 Apache Maven  src/  src/java/, src/xsl/, …  src/test/  src/webapp/  xdocs/  xdocs/changes.xml  xdocs/navigation.xml  project.properties  build.properties  LICENSE.txt  target/

15 Apache Maven Podział na podprojekty  Automatyczne uwzględnianie powiązań między projektami  Dziedziczenie ustawień w hierarchii plików konfiguracyjnych  Możliwość wykonywania operacji na kilku projektach równocześnie  Analiza porównawcza projektów

16 Ciągła integracja – w praktyce Maven – wady/zalety  [+] Porządkuje wykorzystanie zewnętrznych zależności  [+] Poprzez ujednolicenie ułatwia pracę z wieloma projektami  [+] Najczęściej wykorzystywaną funkcjonalność ANTa można osiągnąć bez pisania skryptów  [+] Łączy w sobie wiele ciekawych narzędzi  [–] Permanentnie w wersji beta  [–] Problemy z migracją między wersjami Mavena i pluginów

17 Apache Maven Maven 2  Poprawiona wydajność  Zmieniona struktura katalogów  Poprawiony układ repozytorium  Przechodniość zależności  Określanie zakresu zależności

18 Apache Maven Maven 2  Zdecydowanie większe ustrukturalizowanie informacji konfiguracyjnych  Jednolity przebieg procesu uzyskania postaci wykonywalnej  Zmiana sposobu dodawania nowej funkcjonalności  Możliwość tworzenia wielojęzycznej strony projektu

19 Apache Maven Podsumowanie  Wykorzystanie Mavena ułatwia codzienną pracę i podnoszenie jakości powstającego oprogramowania  Początkowy nakład pracy może być dość duży, z czasem zmiany potrzebne są tylko przy aktualizacji Mavena lub pluginów  Z produkcyjnym wykorzystaniem Mavena 2 być może warto się jeszcze wstrzymać

20 Apache Maven Odnośniki:  Maven 1: http://maven.apache.org/maven-1.x/http://maven.apache.org/maven-1.x/  Maven 2: http://maven.apache.org/http://maven.apache.org/  Dodatkowe pluginy: http://maven- plugins.sourceforge.net/http://maven- plugins.sourceforge.net/  Maven Book: http://www.mavenbook.org/http://www.mavenbook.org/  Jelly: http://jakarta.apache.org/commons/jelly/http://jakarta.apache.org/commons/jelly/  Mavenide: http://mevenide.codehaus.org/http://mevenide.codehaus.org/

21 Apache Maven Pytania?

22 Apache Maven Dziękuję za uwagę!


Pobierz ppt "InMoST Wielkopolska sieć współpracy w zakresie innowacyjnych metod wytwarzania oprogramowania Termin realizacji: 01.08.2005 – 31.07.2007 Innowacyjne metody."

Podobne prezentacje


Reklamy Google