PDA

View Full Version : Chọn mô hình nào cho phù hợp?



vltd
20-11-2010, 10:43
Mình đang chuẩn bị viết ứng dụng. Trường hợp thế này: Công ty này có 2 chi nhánh. Mỗi chi nhánh có mỗi KHO riêng. Bây giờ mình muốn hỏi máy bạn thế này. Làm sao mà mình viết ứng dụng WinForm để viết ứng dụng về quản lý KHO sao cho: Chi nhánh 1 và Chi nhánh 2 vẫn sử dụng 1 CSDL. Ở đây công ty nho nên ko thuê line trực tiếp thông với nhau. 2 chi nhánh là làm việc độc lập.

cao_hung
21-11-2010, 11:06
Không thuê line trực tiếp nhưng mình nghĩ là cả hai đều có internet chứ. Vậy bạn thuê 1 host để db trên đó, rùi hai chi nhánh cùng connect lên đó là được rùi.

vltd
21-11-2010, 11:34
Cách này thì mình cũng nghĩ tới nhưng mà Xếp ko chịu thuê host thì sao nhỉ!

fsviet
21-11-2010, 23:25
chung ở đây là chung về gì, chung về mặt dữ liệu hay chung về mặt vật lý

vltd
02-12-2010, 14:54
Dữ liệu....................

trinhdiep
02-12-2010, 23:06
cơ bản thì người ta muốn sử dụng cơ sở hạ tầng sẵn có. mình nghĩ là có thể sử dụng Adapter pattern để đồng bộ 2 csdl. hoặc tùy người ở chi nhánh nào mà sử dụng csdl đó.

fsviet
03-12-2010, 11:28
chung về mặt dữ liệu. Mà số liệu quả lý riêng. Hay chỉ chung phần danh mục. Và user như thế nào. Báo cáo tổng kết ra sao.
Nếu tất cả đều chung hết. User, sản phầm, kho, báo cáo kinh doanh tổng hợp chung thì bắt buộc dùng DB chung. Còn nếu không thì chỉ cần đồng bộ phần danh mục chung. Đặc biệt trong phần báo cáo, sẽ có kiểu báo cáo tổng hợp số liệu, nghĩa là dữ liệu sẽ được tổng hợp từ nhiều chi nhánh lại. Và tổng hợp như thế nào, lấy số liệu chung chung hay là lấy số liệu chi tiết. Tùy vào chung cái nào, riêng cái nào mà sẽ có cách bố trí thêm.
Chung hẳn đầu tư 1 con db. Vừa chung vừa riêng: 3DB (trường hợp 2 chi nhánh)

kennywoo
06-12-2010, 17:02
Cách này thì mình cũng nghĩ tới nhưng mà Xếp ko chịu thuê host thì sao nhỉ!
Loại sếp j thế này mua 1 cái host chỉ có 500k + 300k/1 năm mà cũng ko dám chi là sao @_@.Bạn đăng ký một cái host free nào hỗ trợ SQL Server(webng.com chẳng hạn) sau đó upload file mdf của cty mình lên=>lấy connection string=>cài đặt app của bạn cho 2 máy client từ 2 kho sau đó cho connect vào db (mình chỉ sợ 2 máy kho này ko có internet thì mình chịu @_@)
Lưu ý :db bạn nên thiết kế theo kiểu phân mảnh ngang.

lastcreate
06-12-2010, 19:43
2 máy không thể thông với nhau thì theo bạn nó kết nối chung dữ liệu thế nào, chắc là sau khi mấy này nhập dữ liệu xong sau đó úp lên Mediafire.com rồi cho máy kia down xuống làm tiếp hả, với lại là 2 chi nhánh độc lập thì mỗi chi nhánh một DB thì hợp lý hơn.

littleNeo
06-12-2010, 19:46
Loại sếp j thế này mua 1 cái host chỉ có 500k + 300k/1 năm mà cũng ko dám chi là sao @_@.Bạn đăng ký một cái host free nào hỗ trợ SQL Server(webng.com chẳng hạn) sau đó upload file mdf của cty mình lên=>lấy connection string=>cài đặt app của bạn cho 2 máy client từ 2 kho sau đó cho connect vào db (mình chỉ sợ 2 máy kho này ko có internet thì mình chịu @_@)
Lưu ý :db bạn nên thiết kế theo kiểu phân mảnh ngang.

Thường Web Hosting Service ko cho truy cập trực tiếp vào DB đâu, điển hình là PAVietnam, còn tùy Hosting Package, nhưng cái giá 500k + 300k/1 năm thì mình nghĩ ko có đâu.

Bài toán đặt ra từ vltd thuộc lĩnh vực EAI - Enterprise Application Integration. Còn phải khảo sát cơ sở hạ tầng IT của cty mới biết được cần dùng cái gì, Web Services, SOA, RDBMS Remote Access hay EAI Framework v.v...

Ví dụ Cty có IP Tĩnh, VPN thì có dùng Remote Access vào RDBMS đặt tại tổng hành dinh.
Nếu Security Policy quá cao chỉ cho phép ra vào cổng Web (80, 8080 v.v...), thì có thể dùng Web Services, SOA.

Nói chung tùy vào Cơ sở hạ tầng mà giải pháp có thể đơn giản đến phức tạp. Không có IP Tĩnh thì có thể dùng Dynamic DNS.

Về mặt Business, dữ liệu kho mà đem lên để ở 1 cái host thì sếp có điên mới dám làm như vậy, lỡ có chuyện gì mất hết dữ liệu thì khóc tiếng Lào. Kinh doanh còn phải nể mặt pháp luật chứ, các bác nghĩ cứ như đùa. Dữ liệu kho, hóa đơn, sổ sách kinh doanh mà mất sẽ là 1 thảm họa. Một cái nữa không nói ra ai cũng biết là cty nào chả có gian lận sổ sách, thậm chí là buôn lậu hàng hóa, tự nhiên ném lên 1 cái host mà còn free nữa thì khác nào vạch áo cho người xem lưng. Mấy đại ca này mà ra kinh doanh chắc đi tù sớm :D Mắc cười quá, chịu ko nổi :D :D

kennywoo
06-12-2010, 21:48
Thường Web Hosting Service ko cho truy cập trực tiếp vào DB đâu, điển hình là PAVietnam, còn tùy Hosting Package, nhưng cái giá 500k + 300k/1 năm thì mình nghĩ ko có đâu.

Bài toán đặt ra từ vltd thuộc lĩnh vực EAI - Enterprise Application Integration. Còn phải khảo sát cơ sở hạ tầng IT của cty mới biết được cần dùng cái gì, Web Services, SOA, RDBMS Remote Access hay EAI Framework v.v...

Ví dụ Cty có IP Tĩnh, VPN thì có dùng Remote Access vào RDBMS đặt tại tổng hành dinh.
Nếu Security Policy quá cao chỉ cho phép ra vào cổng Web (80, 8080 v.v...), thì có thể dùng Web Services, SOA.

Nói chung tùy vào Cơ sở hạ tầng mà giải pháp có thể đơn giản đến phức tạp. Không có IP Tĩnh thì có thể dùng Dynamic DNS.

Về mặt Business, dữ liệu kho mà đem lên để ở 1 cái host thì sếp có điên mới dám làm như vậy, lỡ có chuyện gì mất hết dữ liệu thì khóc tiếng Lào. Kinh doanh còn phải nể mặt pháp luật chứ, các bác nghĩ cứ như đùa. Dữ liệu kho, hóa đơn, sổ sách kinh doanh mà mất sẽ là 1 thảm họa. Một cái nữa không nói ra ai cũng biết là cty nào chả có gian lận sổ sách, thậm chí là buôn lậu hàng hóa, tự nhiên ném lên 1 cái host mà còn free nữa thì khác nào vạch áo cho người xem lưng. Mấy đại ca này mà ra kinh doanh chắc đi tù sớm :D Mắc cười quá, chịu ko nổi :D :D

Việc mất dữ liệu thì với tớ tớ ko sợ vì tớ đã thiết kế và cài đặt openerp trên domain của cty với store chạy mỗi ngày backup db thấy rất ổn. Mô hình bên tớ cũng giống bài toán đặt ra ở đây cty có 2 chi nhánh 2 kho riêng nhưng vấn để của chủ topic là ko có $ nên mình chỉ nghĩ ra cách đó giúp bạn ấy thôi chứ có j đâu mà xoắn tớ gê thế :D
Vấn đề là chỉ cần thông 2 cái client từ 2 kho xài chung 1 db với chi phí = 0 @_@

dammio
07-12-2010, 00:02
Theo mình phương án như sau:

Nếu không công ty bạn không bỏ tiền thì cũng khó làm gì được (ít nhất phải bỏ tiền)

1. Bỏ tiền đầu tư 1 đường dây internet Leased line với 1 IP tĩnh cố định.
2. Bỏ tiền mua 1 máy chủ server hoặc 1 máy tính Desktop ngon 1 chút làm server sau đó viết ứng dụng web + database trên máy này.
3. Truy cập web vào địa chỉ IP tĩnh (không cần domain nếu tiết kiệm) đó để tương tác với database thông qua dịch vụ database dựng sẵn trên máy hoặc viết 1 web service, kết nối VNP, ...

DVE_nc1402
07-12-2010, 00:39
Mình đang chuẩn bị viết ứng dụng. Trường hợp thế này: Công ty này có 2 chi nhánh. Mỗi chi nhánh có mỗi KHO riêng. Bây giờ mình muốn hỏi máy bạn thế này. Làm sao mà mình viết ứng dụng WinForm để viết ứng dụng về quản lý KHO sao cho: Chi nhánh 1 và Chi nhánh 2 vẫn sử dụng 1 CSDL. Ở đây công ty nho nên ko thuê line trực tiếp thông với nhau. 2 chi nhánh là làm việc độc lập.

Tóm lại mình không bàn về cách code của bạn nhưng chắc chắn phần mềm bạn chạy dạng Client/Server vời Database là SQL

Cty bạn nhỏ nhưng mình nghĩa chắc cũng có ADSL ở cả 2 chi nhánh chứ! Và cũng có khoảng 4.000.000 để mua 2 con Modem ADSL DrayTek V2700 chứ! Và nếu chạy phần mềm thì phải có 1 PC làm SQL Server rồi:

- 2 con Modem V2700 ở hai chi nhánh sẽ VPN LAN to LAN với nhau
- Lúc này 2 chi nhánh có thể "thấy" nhau như đang ở cùng một nơi
- Phần mềm chạy vô tư

Bạn yên tâm vì mình đã triển khai rất nhiều thậm chí cả ERP kìa

vltd
09-12-2010, 18:58
Thanks các ý kiến các bạn!