2008-12-12 21 views
9

Tôi cần triển khai ứng dụng Delphi trong môi trường cần dữ liệu tập trung và hệ thống lưu trữ tệp (để chụp ảnh tài liệu) nhưng có nhiều văn phòng chi nhánh có kết nối tương đối kém. Tôi tin rằng một ứng dụng cơ sở dữ liệu 3 tầng là cách tốt nhất để tôi có thể cung cấp trải nghiệm máy tính để bàn phong phú với nhu cầu truyền dữ liệu tương đối nhẹ. Cho đến nay tôi đã xem xét một thời gian ngắn tại Delphi Datasnap, kbmMW và Remobjects SDK. Có vẻ như SDK kbmMW và Remobjects sử dụng ít băng thông nhất. Có ai có kinh nghiệm trong việc triển khai bất kỳ công nghệ nào trong các môi trường đầy thách thức này với số lượng người dùng đáng kể (tôi cần hỗ trợ 700+) không? Cảm ơn!Công nghệ băng thông thấp cấp thấp nhất của Delphi n-tier là gì?

Trả lời

5

Phụ thuộc nếu bạn được gắn với bộ dữ liệu từ xa. Nếu bạn không phải là tập dữ liệu bị ràng buộc thì SOAP có thể sẽ là một lựa chọn tốt. Hoặc, những gì tôi đã làm là viết giao thức của riêng tôi tương tự như SOAP trong tự nhiên. Điều này đã được thực hiện trước khi SOAP là tiêu chuẩn và tôi vui vì tôi đã làm - điều này mang đến cho bạn khả năng kiểm soát nhiều luồng dữ liệu hơn. Nó cho rằng nếu bạn có kết nối kém thì bạn sẽ dành thời gian hỗ trợ nó. Nó rất tốt đẹp nếu đó là mã của riêng bạn mà bạn đang hỗ trợ so với việc phải chờ một nhà cung cấp. (Mặc dù KBM và REM được biết đến là các nhà cung cấp khá tốt.)

Lưu ý cá nhân: 700 người dùng trong ứng dụng hình ảnh tài liệu qua kết nối kém có vẻ như một mớ hỗn độn. Chi tiêu tiền vào việc nâng cấp kết nối vì nó sẽ rẻ hơn về lâu dài.

4

Cả kbmMW và RO SDK đều cung cấp định dạng nhị phân, nhỏ gọn hơn định dạng SOAP, đặc biệt bạn đang làm việc với tài liệu.

RO sdk dường như cung cấp nhiều công cụ GUI hơn để giúp bạn thực hiện các dịch vụ của mình.

Cũng cung cấp cho một cái nhìn RealThinClient SDK, đó là một khung làm từ xa nhẹ.

Nhưng thiết kế công việc của bạn sẽ nhanh hay chậm, tôi có một số ứng dụng hoạt động trên các dòng 128kb chậm và nó hoạt động hoàn hảo mà không có bất kỳ người dùng nào phàn nàn, nhưng tôi không làm chuyển cho các tập tin.

2

Tôi không biết nếu nó là tốt nhất/hiệu quả nhất (vui lòng bạn đã hỏi câu hỏi này!), Nhưng tôi đã có kết quả tốt w/RemObjects SDK + DataAbstract. Sau này thực hiện nhiều chi tiết hệ thống ống nước ít tham gia, đó là hữu ích. Vẫn đang thực hiện, nhưng cho đến nay rất tốt.

5

Một điều cần nhớ ... không phải số lượng người dùng, nhưng số lượng người dùng sử dụng tài nguyên cùng một lúc sẽ là vấn đề. Cố gắng phát triển ứng dụng của bạn "máy chủ không quốc tịch" nếu có thể, điều này sẽ cho phép linh hoạt hơn trong dài hạn nếu bạn thấy bạn phải thêm nhiều máy chủ hơn vào hồ bơi để hỗ trợ cơ sở khách hàng của mình. Điều khó khăn nhất về n-tier là mở rộng quy mô vượt ra ngoài máy chủ đầu tiên ... lên kế hoạch ngay từ đầu. Mỗi yêu cầu không nên biết bất cứ điều gì về một yêu cầu trước đó ... hoặc ít nhất là yêu cầu phải có một cách để vượt qua bối cảnh để máy chủ có thể tra cứu nó trong một bảng phiên hoặc một thứ gì đó.

Cá nhân, tôi muốn giới thiệu RemObjects. Tôi đã sử dụng nó với kết quả tốt.

1

Nếu bạn thực sự muốn "băng thông thấp", hãy sử dụng API ổ cắm BSD - điều đó sẽ cho bạn toàn quyền kiểm soát nội dung đang được gửi và bạn có thể gửi ít thông tin tùy thích. Tất nhiên, bạn sẽ phải tự mình triển khai tất cả các tầng, nhưng hey - vẫn còn một tùy chọn: D