2012-01-28 42 views
5

Tôi có một ứng dụng web chạy dưới Apache Wicket (một khung công tác Java EE MVC). Bây giờ nó là một trang web. Tôi cũng đang nghĩ đến kiến ​​trúc để sử dụng để xây dựng ứng dụng dành cho thiết bị di động. Các ứng dụng dành cho thiết bị di động sẽ chỉ hiển thị thông tin và tham gia vào các mục nhập của người dùng (ví dụ như cấu hình hồ sơ).Kiến trúc cho ứng dụng web với ứng dụng dành cho thiết bị di động là gì?

Tôi có một kiến ​​trúc N-tier trong tâm trí nơi:

  • Các DB là giống như một sử dụng bởi các ứng dụng web hiện nay.
  • Tạo một lớp logic nghiệp vụ sẽ là một dịch vụ web hiển thị tất cả thông tin tôi cần từ DB và cũng xử lý các đầu vào của người dùng. Đây là phía máy chủ.
  • Dịch vụ web thẩm vấn lớp logic nghiệp vụ và hiển thị thông tin qua XML hoặc JSON
  • Lớp giao diện người dùng về cơ bản là ứng dụng dành cho thiết bị di động của tôi (iOS, Android, ...). Các truy vấn này gửi tới lớp doanh nghiệp thông qua dịch vụ web. Các truy vấn trả về dữ liệu được hiển thị hoặc gửi thông tin giao diện người dùng.

Tôi đã nghĩ rằng lớp dịch vụ web sau đó có thể phục vụ trang web cũng như các ứng dụng dành cho thiết bị di động.

Kiến trúc này có hợp lý không? Nếu có, đề xuất cuối cùng của tôi có phá vỡ cấu trúc MVC đã có tại chỗ không?

+0

Noone có ý tưởng? – nche

+0

Tôi muốn biết bạn đã làm như thế nào? Tôi có cùng một vấn đề và tôi đang strugling với cùng một trường hợp. Tôi đã có kiến ​​trúc n lớp Java EE + JPA + Mysql và tôi đã sử dụng Primefaces và tôi muốn có được đi xe của nó với webservices + một cái gì đó. Bất kỳ bình luận? – Sami

Trả lời

1

Tôi sẽ không bận tâm viết lại ứng dụng web hiện tại, có lẽ không đáng để thử.

Trực giác của bạn (IMHO) là chính xác. Việc tạo khuôn mẫu HTML phía máy chủ như một phần của kiến ​​trúc web phía máy chủ MVC đơn giản là không phù hợp với web và đặc biệt không phù hợp với các ứng dụng web di động.

Đối với trang web dành cho thiết bị di động của bạn, hãy bỏ hoàn toàn ý tưởng này. Hiển thị một số dịch vụ web bằng JSON trên máy chủ chỉ cần trả về dữ liệu (không có giao diện người dùng) và cho phép ứng dụng di động của bạn thực hiện tất cả giao diện người dùng và web. Bạn thậm chí có thể sử dụng một kiến ​​trúc kiểu MVC trong javascript của bạn nếu bạn thích nghĩ theo cách đó.

0

Có thể bạn có thể xem các khuôn khổ có thể xây dựng các ứng dụng di động chỉ với HTML, CSS, JavaScript. Họ có thể cung cấp một bộ API JavaScript kết nối với các chức năng gốc của thiết bị như Máy ảnh, La bàn, Danh sách liên hệ và Vị trí địa lý. Họ cung cấp cho bạn khả năng xây dựng các ứng dụng cho iOS, Android, Blackberry, WebOS, Symbian và Windows Mobile. Tất cả những gì bạn cần là kiến ​​thức phát triển web và tất nhiên là HTML, CSS và JavaScript. Dưới đây là danh sách các khung như vậy: http://www.hongkiat.com/blog/mobile-frameworks/. Nổi tiếng nhất là PhoneGap, tôi nghĩ vậy. Hy vọng điều này sẽ giúp.

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