Nowe projekty

W momencie gdy projekt uzyskuje stadium zaawansowania, gdzie można go pokazać szerokiemu światu możliwe jest jego uruchomienie na serwerach Katedralnych. Jest on wtedy publicznie dostępny jako podkatalog względem adresu strony laboratorium (http://kask.eti.pg.gda.pl) lub, w indywidualnych przypadkach, jako osobna witryna w domenie eti.pg.gda.pl.

Jako, że zasoby sprzętowe i programowe mają swoje granice, w obu tych przypadkach konieczne jest spełnienie następujących warunków:

  • wdrożeniu podlegają tylko aplikacje umieszczone wcześniej w repozytorium dostarczonym przez katedrę KASK,
  • aplikacja musi być stabilna – serwery są wykorzystywane przez wiele projektów, działanie aplikacji nie może zagrażać stabilności samych serwerów czy innych usług,
  • aplikacja musi być w miarę kompletna – ze względu na współistnienie wielu projektów na jednej maszynie, nie ma możliwości udostępnienia jakichkolwiek praw administracyjnych osobom realizującym projekty. Wdrożenie aplikacji odbywa się więc za pośrednictwem Administratora i pod jego nadzorem,
  • aplikacja musi działać w oparciu o dostępne na serwerach katedralnych systemy i usługi,
Serwer wbudowany w nodejs czy inne podobne rozwiązania wbudowane NIE będzie akceptowany, nawet jako serwer działający w tle.
  • nazwy wszystkich zasobów związanych z aplikacją muszą posiadać tą samą nazwę bazową. Niedopuszczalne jest tworzenie np. baz danych o nazwie pliku innym niż aplikacja a co gorsza sama baza danych. Np. w MSSQL możliwe jest utworzenie bazy o nazwie A, zapisanej w plikach B.mdf oraz B.log. Taka działalność wprowadza bałagan i uniemożliwia sprawne utrzymanie aplikacji. Bardzo proszę o dbanie o spójność nazewnictwa pomiędzy poszczególnymi elementami implementowanych systemów,
  • jeżeli to tylko możliwe baza danych powinna być dostarczona w postaci tekstowego pliku sql tworzącego bazę, użytkownika wraz z hasłem, tablice i wypełniający je danymi,
  • wszelkie parametry konfiguracyjne aplikacji zawarte powinny być w jednym, łatwo dostępnym miejscu. Proszę nie umieszczać np. danych niezbędnych do połączenia z bazą w kilku miejscach w kodzie itp.,
  • kod musi działać zarówno jako aplikacja główna (z dedykowaną domeną) jak i z poziomu podkatalogu, oraz nie może wykonywać żadnych wewnętrznych przekierowań utrudniających taką konfigurację. Pomiędzy siecią Internet a serwerem udostępniającym daną usługę zawsze występuje RevereseProxy – proszę brać to pod uwagę przy tworzeniu przekierowań, odnośników do innych części aplikacji itp.,
  • aplikacja nie może mieć zaszytych w środku żadnych adresów do siebie samej – musi działać na dowolnym adresie i w dowolnym podkatalogu bez jakichkolwiek modyfikacji. Jeżeli takie zapisy są konieczne muszą one być zawarte w jednym, dobrze udokumentowanym miejscu,
  • aplikacja napisana w Java i PHP musi dać się uruchomić zarówno na systemach Windows jak i Linux. Proszę zwracać szczególną uwagę na wielkość liter – Windows nie jest case sensitive, Linux jest. Polecenie mysqldump wykonane pod Windows zamieni wszystkie litery nazw baz, tabel i kolumn na małe – to powoduje, że aplikacja oparta o JPA czy Hibernate może przestać działać, jeżeli oczekuje nazw z wielkich liter itp. Proszę zwrócić uwagę na wielkość znaków w rozszerzeniach plików, Windows często lubi nazywać plik np. logo.JPG,
  • przed przekazaniem aplikacji do wdrożenia należy ją przetestować za pomocą niezależnego od środowiska wytwórczego serwera, np. osobnego serwera Glassfish, a nie wbudowanego w Netbeans i upewnić się, czy jej uruchomienie nie wymaga dodania do serwera dodatkowych bibliotek,
  • wraz z aplikacją musi być udostępniona kompletna instrukcja wdrożenia opisująca krok po kroku wszystkie czynności jakie należy wykonać by wdrożyć aplikację.

Aktualizacja i rozbudowa już wdrożonych projektów

Przed wykonaniem jakichkolwiek zmian należy uzyskać dostęp do repozytorium zawierającego wersję już uruchomioną. Zazwyczaj będzie to najświeższa wersja aplikacji z repozytorium katedralnego. Po dokonaniu zmian i ich przetestowaniu należy zmiany wraz z ew. instrukcją aktualizacji umieścić w repozytorium i zgłosić ten fakt do administratora. Aktualizacje baz danych powinny być dostępne w postaci plików różnicowych dostosowujących poprzednią zawartość bazy do nowych wymagań czy treści. Można również dostarczyć zmodyfikowaną bazę na zasadach jak przy wdrożeniu nowych aplikacji.