2012-11-15 29 views
6

Tôi đang cố triển khai một luồng trang phức tạp (hơn 100 trang) làm ứng dụng web truyền thống. Tôi tìm thấy một vài lựa chọn, nhưng không ai trong số đó là 100% thuyết phụcCách triển khai luồng trang phức tạp trong ứng dụng Web Java

  1. đang cầm tay dòng chảy vào các bộ điều khiển, làm chuyển hướng, vv Điều này là rõ ràng không phải là điều tốt nhất để bảo trì
  2. JSF không chỉ xử lý các dòng chảy, nhưng cũng yêu cầu sử dụng JSF làm công nghệ xem. Tôi không thích khóa này trong số
  3. Luồng web mùa xuân. Phiên bản hiện tại 2.3.1 định nghĩa các luồng trong XML không dễ bảo trì. Bản phát hành sắp tới 3.0 hứa hẹn sẽ xác định các luồng với chú thích bằng java thuần túy, nhưng nó thậm chí không có dòng thời gian. Ngoài ra, dự án phát triển chậm lại đáng kể trong những năm qua.
  4. GWT và khái niệm của Vaadin gần gũi hơn với ứng dụng máy tính để bàn truyền thống, sau đó đến một ứng dụng web, thực sự thuận tiện khi sử dụng, nhưng nó không phù hợp với dự án của tôi.

Ngoài ra tôi thấy hàng chục dự án bị bỏ rơi như thế này: http://javasteps.sourceforge.net/

tôi tự hỏi tại sao tất cả các dự án này đang bị bỏ rơi, cách để thực hiện một dòng trang phức tạp trong năm 2012 là gì?

+0

Cách sử dụng BPM để xác định luồng? Dựa trên đó bạn có thể sử dụng các công cụ mô hình-2-văn bản khác nhau để tạo bộ điều khiển mvc web mùa xuân cho ví dụ. – SpaceTrucker

+0

@SpaceTrucker BPM có thể thực hiện rất nhiều thứ, nhưng khá phức tạp và không thực sự cho luồng trang. Trong tâm trí của tôi Spring Web Flow giống như một BPM nhỏ nhưng chỉ dành cho lưu lượng trang, vì vậy tôi thà sử dụng nó hơn nếu tôi phải ... –

+1

Tôi thực sự thích cách tiếp cận tệp XML của Spring WebFlow hiện tại. Tôi có thể thấy toàn bộ dòng chảy ở một nơi. Đó là những gì đã làm tôi băn khoăn về cách tiếp cận dựa trên chú thích tất cả cùng; bạn phải đi đào trong mỗi tập tin để xem toàn bộ cấu trúc. Điều đó nói rằng, có lẽ tôi chỉ là không biết gì và thời gian sẽ thuyết phục tôi :-) Tôi đã thích chú thích "dịch vụ", nhưng họ không có xu hướng cần phải được đặt trong một dòng máy chủ lớn phía. – dbreaux

Trả lời

1

Cá nhân, tôi khuyên bạn nên Single Page Kiến trúc:

Architecture of a single-page JavaScript web application?

Tôi không chắc chắn nếu điều đó là khả thi hay không với ứng dụng của bạn. Tôi đã sử dụng tất cả các luồng bạn đã đề cập ở trên và hiện đang làm việc trên một ứng dụng một trang và tôi thích nó. Chúng tôi đang sử dụng Dojo ở phía máy khách, nó gọi một API REST trên máy chủ. Nó khá là đẹp.

Vaadin cũng khá chắc chắn và dễ thiết lập hơn GWT xương trần. Nếu bạn có rất nhiều người dùng giao diện người dùng trên dự án của bạn thích viết mã bằng CSS và Javascript, họ sẽ ghét cách tiếp cận đó.

Spring Webflow thực sự khá chắc chắn. Tôi đã không xem xét nó trong một thời gian, nhưng khi tôi đã sử dụng nó, nó đã nhận được công việc làm cho những gì tôi đã làm việc trên vào thời điểm đó.

+0

Btw, tôi biết bạn đã đề cập đến nó là một ứng dụng Java, nhưng tôi đoán tôi chỉ giả định rằng bạn có thể viết Java phía máy chủ như là một API REST và sau đó mã giao diện người dùng bằng cách sử dụng Javascript. Một lần nữa, có thể không khả thi cho bạn. – sma

+0

câu trả lời mà bạn tham chiếu đề nghị sử dụng PureMVC, tôi chỉ xem nhanh nó, nhưng có vẻ như nó khá giống với những gì Vaadin và GWT làm, vì vậy không chắc chắn đó sẽ là lợi thế gì. Tôi khá thích cả Vaading và GWT, nhưng tôi cảm thấy nó không thực sự phù hợp với dự án của tôi vì tôi cần kiểm soát tốt hơn đối với HTML được tạo ra. Bạn đã đề cập đến bạn hiện đang làm việc trên một ứng dụng trang đơn, bạn có sử dụng Pure MVC hay cái gì khác không? –

+0

Chúng tôi đang sử dụng các tiện ích và mẫu Dojo cho ứng dụng của mình. Chúng tôi cũng sử dụng một chút khuôn mẫu bằng cách sử dụng tính năng lang.replace của Dojo, tính năng này xử lý cơ bản loại HTML giống như Mustache.js. Nếu bạn cần kiểm soát chi tiết hơn đối với HTML, thì khung công tác JS có thể phù hợp với bạn. JSF tạo ra rác và Vaadin và GWT cũng tạo ra HTML. Với một khung như Dojo, Backbone hoặc PureMVC, bạn có thể tự viết HTML. – sma

0

Có một MVC mới khuôn khổ và dòng chảy web thực hiện cho mô hình thành phần Vaadin gọi Lexaden Web Flow

Bạn có thể thử nó ra cho các ứng dụng của bạn càng tốt thay thế.

Các vấn đề liên quan