To jest stara wersja strony!


CasesJ2EE

Autorzy

  • Grzegorz Leśniakiewicz
  • Tomasz Maruszak

Opis projektu

Projekt polega na wyszukaniu aplikacji napisanej w technologii j2ee, zrealizowanej zgodnie z modelem MVC oraz na zapisaniu logiki biznesowej w postaci reguł.

Sprint - e-Protokół

Wykorzystanie biznesowe

Sprint jest to aplikacja stworzona na potrzeby wydziału EAIIE. Umożliwia obsługę rejestracji użytkowników, tworzenia newsów, zarządzania artykułami, zarządzania kalendarzem. Dodatkowo został stworzony moduł e-Protokół, umożliwiający automatyzację procesu obsługi protokołów w obrębie wydziału Eaiie. E-protokół, obsługuje przepływ e-protokołów od momentu stworzenia, lub importu poprzez obsługę w dziekanacie, dziekanatach katedr, przez prowadzących zajęcia do momentu zamknięcia, wydruku i eksportu e-protokołu.

Poniżej zaprezentowany jest przepływ biznesowy e-protokołu.

Aplikacja obecnie jest wdrożona na środowisku developerskim. Główne funkcjonalności systemu zostaną wdrożone produkcyjnie w najbliższym czasie, natomiast wdrożenie produkcyjne modułu e-Protokołu przewidziane jest na wrzesień bieżącego roku.

Obecny adres serwisu na środowisku developerskim (dostępny z wewnątrz sieci AGH, bez modułu e-Protokół)

Adres środowiska testowego (zawiera moduł e-Protokół)

Technologia

Aplikacja jest napisana w technologii j2ee. Model MVC został zaimplementowany za pomocą komponentów:

  • Model - logika biznesowa, wykorzystane zostały sesyjne, stanowe beany
  • View - warstwa prezentacji została stworzona w oparciu o technologie facelets
  • Controller - za kontrole i obsługę działania aplikacji odpowiedzialny jest framework Seam

Aplikacja jest uruchamiana na serwerze aplikacji JBoss 4.2.2.

Opisanie modułu e-Protokół w postaci reguł

Rule 1:
EProtocolEditForSecretariatBean.editEProtocol.rule1(EProtocolEditForSecretariatBean bean, Boolean isEditingEnabled)
if isEditingEnabled = true
then bean.cancelEditingEProtocol().
Rule 2:
EProtocolEditForSecretariatBean.enableEditingEProtocol.rule1(List assignedLecturersList, Boolean isEditingEnabled)
if assignedLecturersList.length > 0
then isEditingEnabled is false.
Rule 3:
EProtocolEditForSecretariatBean.enableEditingEProtocol.rule2(List assignedLecturersList, Boolean isEditingEnabled)
if assignedLecturersList.length = 0
then isEditingEnabled is true.
Rule 4:
EProtocolEditForSecretariatBean.chooseTheLecturer.rule1(EProtocol selectedEProtocol)
if selectedEProtocol.state = ACCEPTED
then selectedEProtocol.state is NEW.
Rule 5:
EProtocolEditForSecretariatBean.prepareToDeleteTheAssigment.rule1(List lecturersMark, Boolean deletingEnabled)
if markToDelete.length > 0
then deletingEnabled is false.
Rule 6:
EProtocolEditForSecretariatBean.prepareToDeleteTheAssigment.rule2(List lecturersMark, Boolean deletingEnabled)
if markToDelete.length = 0
then deletingEnabled is true.
Rule 7:
EProtocolEditForSecretariatBean.deleteTheAssigment.rule2(List courseUserRels, EProtocol selectedEProtocol)
if courseUserRel.length = 0 and
if selectedEProtocol.state = ACCEPTED
then selectedEProtocol.state is NEW.
Rule 8:
EProtocolEditForSecretariatBean.deleteTheAssigment.rule3(List courseUserRels, List courseUserRelsNotAccepted, EProtocol selectedEProtocol)
if courseUserRel.length > 0 and
if courseUserRelsNotAccepted.length = 0 and
if selectedEProtocol.state = NEW
then selectedEProtocol.state is ACCEPTED.
Rule 9:
EProtocolEditForSecretariatBean.isChangingEnabled.rule1(EProtocol selectedEProtocol, Boolean changing)
if selectedEProtocol.state = CLOSED
then changing is true.
Rule 10:
EProtocolEditForSecretariatBean.isChangingEnabled.rule2(EProtocol selectedEProtocol, Boolean changing)
if selectedEProtocol.state != CLOSED
then changing is false.
Rule 11:
EProtocolEditForLecturerBean.acceptEProtocol.rule1(CourseUserRel rel, Boolean isAcceptedByLecturer)
if rel.state != ACCEPTED 
then rel.state is ACCEPTED, isAcceptedByLecturer is true.
Rule 12:
EProtocolEditForLecturerBean.acceptEProtocol.rule1(CourseUserRel rel, Boolean isAcceptedByLecturer)
if rel.state = ACCEPTED 
then isAcceptedByLecturer is true.
Rule 13:
EProtocolEditForLecturerBean.acceptEProtocol.rule2(List courseUserRels, EProtocol selectedEProtocol)
if courseUserRel = 0 
then selectedEProtocol.state is ACCEPTED.
Rule 14:
EProtocolEditForLecturerBean.acceptEProtocol.rule3(List courseUserRels, List courseUserRelsNotAccepted, EProtocol selectedEProtocol)
if courseUserRel.length > 0 and
if courseUserRelsNotAccepted.length = 0 
then selectedEProtocol.state is ACCEPTED.
Rule 15:
EProtocolEditForLecturerBean.unAcceptEProtocol.rule1(CourseUserRel rel, Boolean isAcceptedByLecturer, EProtocol selectedEProtocol)
if selectedEProtocol.state = ACCEPTED
then selectedEProtocol.state is NEW, rel.state is NEW, isAcceptedByLecturer is false.
Rule 16:
EProtocolEditForLecturerBean.addMarkDateType.rule1(Mark addingMark, Utils util)
if addingMark.date.isSet() = false
then addingMark.date is util.getFormattedNowDate().
Rule 17:
EProtocolPrintBean.unlockEProtocol.rule1(EProtocol eProtocol, List courseUserRelsNotAccepted)
if eProtocol.state = CLOSED and
if courseUserRelsNotAccepted = 0
then eProtocol.state is ACCEPTED.
Rule 18:
EProtocolPrintBean.unlockEProtocol.rule2(EProtocol eProtocol, List courseUserRelsNotAccepted)
if eProtocol.state = CLOSED and
if courseUserRelsNotAccepted > 0
then eProtocol.state is NEW.
Rule 19:
EProtocolPrintBean.isClosed.rule1(EProtocol eProtocol, Boolean isClosed)
if eProtocol.state = CLOSED 
then isClosed is true.
Rule 20:
EProtocolPrintBean.isClosed.rule2(EProtocol eProtocol, Boolean isClosed)
if eProtocol.state != CLOSED 
then isClosed is false.
Rule 21:
EProtocolStudentListBean.prepareToDeleteStudent.rule1(List studentMarks, Boolean isDeleteEnabled)
if studentMarks.length > 0
then isDeleteEnabled is false.
Rule 22:
EProtocolStudentListBean.prepareToDeleteStudent.rule2(List studentMarks, Boolean isDeleteEnabled)
if studentMarks.length = 0
then isDeleteEnabled is true.
Rule 23:
EProtocolStudentListForCourseBean.prepareToDeleteStudent.rule1(List studentMarksForCourse, Boolean isDeleteEnabled)
if studentMarksForCourse.length > 0
then isDeleteEnabled is false.
Rule 24:
EProtocolStudentListForCourseBean.prepareToDeleteStudent.rule2(List studentMarksForCourse, Boolean isDeleteEnabled)
if studentMarksForCourse.length = 0
then isDeleteEnabled is true.

Duke's Bank

Jest to case study zastosowania technologii Java EE 5 do stworzenia przykładowego systemu bankowości elektronicznej.

Kod źródłowy jest do pobrania ze strony producenta Java EE Downloads - należy wybrać „Java EE 5 Samples”. Dokumentacja dostępna jest tu Java EE 5 Tutorial.

Podsumowanie

pl/miw/2009/piw09_j2eecases.1245595591.txt.gz · ostatnio zmienione: 2019/06/27 15:58 (edycja zewnętrzna)
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0