Tôi đang tìm một số đầu vào về kiến trúc dự án hiện tại của mình. Có ba thành phần: Máy chủ, Máy tính để bàn và Thiết bị di động.Trợ giúp thiết kế kiến trúc
tôi có 2 mục tiêu:.
1) Gửi dữ liệu (Khoảng không quá 100 KB của văn bản) từ máy tính để bàn (đa nền tảng ứng dụng client chạy trên Windows XP/Vista/7, và Mac OS X) đến một máy chủ (Windows Server 2008, IIS 7, WCF dịch vụ RESTful) để lưu trong cơ sở dữ liệu (Sql Server). Các dịch vụ cần phải có khả năng mở rộng vì số lượng thiết bị máy tính để bàn và tần suất họ gửi dữ liệu chưa được biết.
2) Dịch vụ truy xuất dữ liệu từ cơ sở dữ liệu (Sql Server) và gửi tới thiết bị di động (ứng dụng Iphone và Android. Kích thước tin nhắn không quá 100 KB văn bản). Dịch vụ cần phải có thể mở rộng vì số lượng thiết bị di động và tần suất mà chúng kết nối không xác định.
giải pháp đề xuất của tôi:
Server Side (Sql Server và Windows Server 2008): Tôi đang nhìn vào một WCF dịch vụ JSON RESTful để giao tiếp với máy tính để bàn App (s) và Mobile App (s) . Tôi thích WCF vì tôi thành thạo C#, có một số kinh nghiệm thực hiện WCF, sau khi thực hiện một số nghiên cứu, tất cả các công nghệ được sử dụng cho các nền tảng (Windows XP/Vista/7 và Mac OS X) có thể dễ dàng giao tiếp với dịch vụ WCF RESTful.
- Bất kỳ vấn đề cơ bản cấp cao nào với dịch vụ WCF trong trường hợp này?
- Tôi chỉ triển khai WCF trên máy Windows Server 2003 với ~ 800 thiết bị kết nối sau mỗi 15 phút. Máy chủ là máy chủ vật lý trong nhà chạy trên mạng riêng. Tôi cần giải pháp này để được lưu trữ và có thể mở rộng. Bất kỳ khuyến nghị nào để lưu trữ Windows Server 2008? Có công nghệ nào tốt hơn để lưu trữ dịch vụ không? (Tôi không quen với cách thức hoạt động của đám mây)
Dịch vụ sẽ lưu và truy xuất dữ liệu từ máy chủ SQL. Tôi muốn sử dụng LINQ to SQL làm lớp truy cập dữ liệu của mình. Đó là sự hiểu biết của tôi có lệ phí cấp phép lớn gắn liền với máy chủ SQL vì vậy tôi có thể cần phải đi với SQL Server Express cho bây giờ.
- Tôi muốn giữ các dịch vụ WCF và cơ sở dữ liệu được lưu trữ riêng biệt (2 máy khác nhau). Bất kỳ khuyến nghị để lưu trữ máy chủ sql (hoặc thể hiện)? Có dịch vụ lưu trữ nào có thể mở rộng tốt hơn cho cơ sở dữ liệu của tôi không? Nó có ý nghĩa để giữ chúng trên 2 máy khác nhau không?
Desktop (Client Side) Tôi cần thiết để phát triển cho Windows XP/Vista/7 và Mac OS X. tôi dự định viết một ứng dụng Net để chạy trên máy windows (s). Tôi "vẫn còn trong không khí nếu tôi sẽ viết (và tìm hiểu: P) XCode hoặc thử mono. Bất kỳ ý tưởng nền tảng nào?
- Tôi có thể gặp phải bất kỳ vấn đề cơ bản nào khi tải ứng dụng dành cho máy tính để bàn để nói chuyện với các dịch vụ RESTful WCF của tôi?
Mobile Applicaitons tôi cần thiết để phát triển cho iPhone và Android. có rất nhiều ví dụ về làm dịch vụ RESTful WCF cuộc gọi sử dụng Objective C và Android SDK. tôi' m xem xét việc thử một nền tảng chéo (ví dụ: Appcelerator).Từ một mức độ cao, nó xuất hiện những nền tảng di động chéo này đã xây dựng một lớp kịch bản Java hoạt động với cả iPhone và Android!
Bất kỳ suy nghĩ nào về việc sử dụng công nghệ nền tảng để viết MỘT ứng dụng di động chạy trên iPhone và Android?
Bất kỳ vấn đề cơ bản nào gọi dịch vụ WCF RESTful trong javascript?
Xin lỗi vì bài đăng hơi dài. Tôi chưa bao giờ thiết kế một giải pháp có kích thước này. Tất cả phản hồi đều được đánh giá cao.
Cảm ơn bạn!
[Làm thế nào để suy nghĩ một thiết kế thống nhất cho kiến trúc đa thiết bị?] (Http://izlooite.blogspot.com/2011/07/how-to-think-unified-design-for-multi.html) –