2012-11-15 10 views
6

Próbuję zaimplementować rozsądnie złożony przepływ stron (ponad 100 stron) jako tradycyjną aplikację internetową. Znalazłem kilka opcji, ale żaden z nich nie są w 100% przekonywującyJak zaimplementować złożony przepływ stron w aplikacji WWW Java

  1. kod ręcznie przepływ do kontrolerów, czy przekierowania, itd. To oczywiście nie jest najlepszym rozwiązaniem dla utrzymania
  2. JSF nie tylko uchwyty przepływ, ale także wymaga użycia JSF jako technologii widoku. Nie podoba mi się ten blokujący
  3. Sprężysty wstęga. Obecna wersja 2.3.1 definiuje przepływy w formacie XML, które nie są łatwe do utrzymania. Nadchodzące wydanie 3.0 obiecuje zdefiniować przepływy z adnotacjami w czystej java, ale nie ma nawet osi czasu. Dodatkowo w ostatnich latach nastąpiło znaczne spowolnienie rozwoju projektu.
  4. Koncepcja GWT i Vaadin jest bliższa tradycyjnej aplikacji komputerowej niż aplikacji internetowej, która jest naprawdę wygodna w użyciu, ale nie pasuje do mojego projektu.

Dodatkowo znalazłem dziesiątki porzuconych projektów tak: http://javasteps.sourceforge.net/

Zastanawiam się, dlaczego wszystkie te projekty są opuszczone, co jest sposobem na wdrożenie kompleksowego przepływ strony w 2012 roku?

+0

Co powiesz na używanie BPM do definiowania przepływu? Na tej podstawie można użyć różnych narzędzi do tworzenia modeli tekstowych w celu generowania na przykład kontrolerów mVC. – SpaceTrucker

+0

@SpaceTrucker BPM może zrobić wiele rzeczy, ale dość skomplikowane, a nie tak naprawdę dla przepływu strony. Moim zdaniem Spring Web Flow jest jak mini BPM, ale tylko dla przepływu stron, więc wolałbym go użyć, gdybym musiał ... –

+1

Rzeczywiście podoba mi się podejście do pliku XML z aktualnego Spring WebFlow. Widzę cały przepływ w jednym miejscu. Właśnie to mnie podsłuchiwało w związku z podejściami opartymi na adnotacjach; musisz kopać w każdym pliku, aby zobaczyć całą strukturę. To powiedziawszy, być może jestem po prostu ignorantem i czas mnie przekonać :-) Podobały mi się adnotowane "usługi", ale nie muszą być one zlokalizowane w ramach dużego przepływu po stronie serwera. – dbreaux

Odpowiedz

1

Osobiście polecam pojedyncza strona Architektura:

Architecture of a single-page JavaScript web application?

Nie jestem pewien, czy to jest wykonalne czy nie ze swojej aplikacji. Użyłem wszystkich przepływów, o których wspomniałeś powyżej i obecnie pracuję nad aplikacją na jedną stronę i bardzo mi się podoba. Używamy Dojo po stronie klienta, która wywołuje API REST na serwerze. To było całkiem miłe.

Vaadin jest również dość trwały i jest o wiele łatwiejszy w konfiguracji niż tylko GWT o gołych kościach. Jeśli masz wielu użytkowników interfejsu w swoim projekcie, którzy lubią kodować w CSS i Javascript, nie będą tego chcieli.

Wiosenny przepływ w sieci Web jest dość stabilny. Nie patrzyłem na to od jakiegoś czasu, ale kiedy go używałem, dostałem pracę za to, nad czym pracowałem w tym czasie.

+0

Btw, wiem, że wspomniałeś, że to była aplikacja Java, ale domyślam się, że zakładam, że możesz napisać Javę po stronie serwera jako API REST, a następnie zakodować front-end używając Javascript. Ponownie, może nie być wykonalne dla ciebie. – sma

+0

odpowiedź, o której wspomniałeś, sugeruje użycie PureMVC, po prostu szybko na nią spojrzałam, ale wydaje mi się, że jest całkiem podobny do tego, co robią Vaadin i GWT, więc nie jestem pewien, co byłoby zaletą. Podobają mi się zarówno Vaading, jak i GWT, ale uważam, że nie jest to dokładne dopasowanie do mojego projektu, ponieważ potrzebuję bardziej precyzyjnej kontroli nad wygenerowanym HTML. Wspomniałeś, że obecnie pracujesz nad pojedynczą aplikacją strony, czy używasz Pure MVC lub czegoś innego? –

+0

Używamy widgetów Dojo i szablonów do naszej aplikacji. Używamy też trochę szablonów przy użyciu funkcji lang.replace Dojo, która w zasadzie traktuje HTML w rodzaju Mustache.js. Jeśli potrzebujesz bardziej szczegółowej kontroli nad HTML, framework JS może być dla Ciebie odpowiedni. JSF generuje śmieci, a Vaadin i GWT generują również HTML. W środowisku takim jak Dojo, Backbone lub PureMVC możesz samemu napisać kod HTML. – sma

0

Jest nowy framework i przepływ internetowej implementacja MVC dla modelu komponentowego Vaadin nazywa Lexaden Web Flow

Można go wypróbować na swojej aplikacji jako możliwą alternatywę.

Powiązane problemy