Trên trang web http://msdnvietnam.net có một câu hỏi như sau:
Duwamish 7.0 hay Fitch and Mather 7.0 ?
- Xin đánh giá của mọi người về 2 ứng dụng này.
- Ngoài 2 ứng dụng trên của microsoft cung cấp thì mọi người thấy có ứng dụng nào khác hay hơn chỉ em với ?
Hiện tại em đang dùng Duwamish 7.0 để phát triển ứng dụng web.
thanks ...!
Mình xin phép được trả lời như sau: Duwamish 7.0 (mới nhất là 7.1), và Fitch and Mather 7.0 là hai ứng dụng dạng Proof of Concept được viết bởi hãng Vertigo Software để demo công nghệ cho ASP.net ADO.net ra đời cách đây khoảng 2003. Về kiến trúc, chúng sử dụng mô hình đa lớp, multi-layer

Kiến trúc 3 lớp của Fitch & Mather
Nếu công ty bạn có đội ngũ lập trình viên quá quen với ASP.net, không cần chia xẻ, hay sử dụng web service, ... thì có thể dùng kiến trúc này. Không quá mới nhưng dễ hiểu, dễ lập trình. Các vấn đề bất cập của kiến trúc này là hơi khó bảo trì, nâng cấp. Nếu cứ mải mê viết không để ý, nhiều khả năng lớp DAL sẽ chốt cứng cho duy nhất một kiểu CSDL thường là MS-SQL. Mình khuyên nghị nên dùng nHibernate, SubSonic hoặc một ORM.net nào đó tốt để viết lớp DAL.
Còn đây là một vài gợi ý của tôi về nên chọn mô hình nào:
Bạn cần phát triển ứng dụng web hướng dịch vụ, khả năng mở rộng tốt, chịu tải lớn ?
Cách đây 2 năm, một nhóm kiến trúc sư phần mềm trong Microsoft có phát triển một ví dụ mẫu có tên là StockTrader.net. Đặc điểm chính của StockTrader đó là thiết kế hướng dịch vụ (SOA), khả năng mở rộng tốt, cấu hình mềm dẻo. StockTrader tận dụng sức mạnh của .NET 3.5 WCF.
StocTrader cho phép từ một server admin chúng ta có thể cấu hình các server khác trong server farm. Cấu hình các server được lưu trong CSDL trung tâm và được cung cấp cho các yêu cầu hợp lệ qua web service --> Configuration Service.

Đầu tư phần cứng của ứng dụng .NET khoảng 50,000 USD trong khi cho ứng dụng WebSphere là khoảng 260,000 USD.
Mình đã cài thử trên 3 máy tính khác nhau và thử bật tắt từng máy chủ trong farm, thấy hệ thống hoạt động vẫn ổn định.
Trang chủ của StockTrader.net này
Forum hỗ trợ kỹ thuật
Bạn cần ứng dụng nhỏ-vừa phải, phát triển nhanh, tiết kiệm chi phí ?
Nếu bạn chỉ cần tạo một ứng dụng web cho khoảng 200-300 người truy cập thì mô hình client-server ASP.net Web Form 3.5. Việc học lập trình cũng rất đơn giản, bạn vào trang web này xem hướng dẫn lập trình từng bước http://www.asp.net/learn/videos/.
Lưu ý tận dụng AJAX Control ToolKit, JavaScript, cùng các tip trick để tăng tốc, tăng khả năng tương tác của ứng dụng web.
Như vậy chúng ta tránh tình trạng "dùng dao mổ trâu đi cắt tiết gà".
Bạn cần ứng dụng web tương tác rất cao, linh hoạt, phát triển nhanh?
ASP.net MVC là một lựa chọn rất tốt. So sánh Web Form với MVC
Bạn có thể xem series các video, bài giảng trực tuyến về MVC ở đây http://www.asp.net/learn/mvc-videos/.
ASP.net MVC có nhiều điểm rất hay. Kể ra ở đây thì dài dòng nên các bạn có thể tham khảo thêm
Mã nguồn demo chương trình CRM viết bằng ASP.net MVC
Khi cần sự hỗ trợ khi lập trình ASP.net MVC, bạn có thể vào trang này http://stackoverflow.com/
Ví dụ một web app kết hợp ASP.net MVC với nHibernate
The Beer House, ví dụ trang web bán bia, viết bằng ASP.net MVC
Ứng dụng blog kiểu WordPress viết bằng ASP.net MVC
Có quá nhiều ví dụ về ASP.net MVC ở CodePlex, các bạn có thể tìm thêm.
Các ví dụ, mẫu lập trình ASP.net đáng xem khác
DotNetNuke: trang tin, forum...
Blog
ASP.NET Portal Starter Kit
ASP.NET Extended Club Site Starter Kit
Bạn chỉ có duy nhất một máy chủ Windows Server, bạn chỉ lập trình PHP ?
Bạn có thể cài Apache 2.x for Windows, hoặc dùng IIS7 cùng với FastCGI. Thử nghiệm cho thấy, IIS7+FastCGI chạy nhanh hơn Apache 2.x + PHP module for Windows.
Để viết PHP trong sáng, bạn dùng Zend FrameWork hoặc CakePHP...
Còn rất nhiều những ví dụ mẫu ASP.net để lập trình viên có thể tham khảo, nhanh chóng xây dựng dự án, mọi người ai biết hãy cùng đóng góp.
Dependency Injection là cách thức để các thành phần trong software giảm bớt mức độ phụ thuộc vào nhau. Sự phụ thuộc vào nhau của các thành phần trong phần mềm thể hiện ở nhiều điểm như: định kiểu chặt chẽ, đối tượng A chứa đối tượng B, rồi B chứa C, C chứa D, D chưa E, hoặc đối tượng A có kiểu hay interface là XYZ. Độ phụ thuộc càng cao, chương trìnhc càng khó bảo trì nâng cấp. Một chiếc máy phức tạp nếu quá phụ thuộc vào từng bộ phận, bộ phận khó thay thế, bulông, ốc vít không hợp chuẩn. Một bộ phận hỏng -> chiếc máy cũng vứt đi.
Dependency Inject ra đời để tách bách, đơn giản hóa, dễ dàng cấu hình từng bộ phận. Khi các bộ phận ít ràng buộc nhau, mà vẫn vận hành được thì ta sẽ dễ nâng cấp, sửa đổi từng bộ phận, thậm chí cấu hình lại các các mối quan hệ.
Không biết cái này có áp dụng cho thiết kế vi xử lý không nhỉ. ???
Xem thêm thảo luận của các lập trình viên đã từng lập trình DI tại đây
http://www.facebook.com/minhcuong?ref=name#/notes.php?id=647059494
Câu chuyện bắt đầu vào cuối năm 1999, lúc đó Internet đã vào Việt nam được 2 năm. Người Việt nam ta lúc đó vẫn dùng modem Hayes, Robotics 14K, 28K, 56K để vào Internet qua đường điện thoại. Lúc đó, Internet cũng khá đắt, vào Internet qua đường cơ quan là tiện nhất. Còn ở nhà, thì vào Internet lúc ban đêm thật khuya ít bị nghen mạng mà không ảnh hưởng đến đến cuộc gọi điện thoại đến của gia đình.
"Thời đó các chú khổ lắm chứ sướng như các cháu 9X bây giờ đâu, dùng đường ADSL tốc độ cao, xem phim, vào RapidShare down film HD rầm rầm." He he, kẻ cả một tý.
Lúc đó, thị trường tìm kiếm (site search), chưa ngã ngũ như bây giờ, các ông lớn như Yahoo, InfoSeek, LyCos, AOL, Altavista (không phải Altalavista.box.sk để tìm phần mềm bẻ khóa đâu nhé) đều đua nhau giành giật thị phần tìm kiếm về mình.
Trang chủ của mấy site này trang trí rất cầu kỳ, nào là cột tin nóng, nào là quảng cáo bắt mắt bằng gif động chạy rần rật, nào là bói toán tử vi, tìm bạn qua mạng, tìm nhà hàng rẻ nhất, tìm mua vé phim rẻ nhất, tìm bạn học cũ, tìm việc, bất động sản, ô tô.... rồi thậm chí địa chỉ mua Viagra tin cậy, giá rẻ. Chưa kể có trang, vừa vào quảng cáo đã bật ra bôm bốp, click chuột đóng mỏi tay mới yên thân.
Mỗi lần tìm kiếm, ra kết quả, lại phải chờ để trang load xong các loại banner trên cùng, load xong, mỗi lần kéo trang xuống thì cột quảng cáo bên phải cũng tụt theo. Nói chung quảng cáo đi cùng người dùng ở bất kỳ chỗ nào không buông tha.
Rồi một hôm, tình cờ đọc bản tin về hai sinh viên ở Standford đang phát triển một trang tìm kiếm theo mức độ phù hợp ngữ nghĩa dựa trên thuật toán có tên là BackScrub gì đó, mình tò mò vào Google.com thử tìm kiếm. Kết quả tìm được ít hơn và không bằng Yahoo, Lycos, Infoseek nhưng bù lại chạy rất nhanh, và không có một dòng quảng cáo, không banner, không popup. Quá tuyệt, bookmark lại luôn vào cả Netscape và IE. Càng dùng Google càng thấy nghiện vì sự đơn giản, tốc độ của nó, nhất là vào lúc cước Internet cao nhất nhì thế giới.

Google những năm 99. Giao diện bây giờ vẫn vậy, nhưng nội dung và công lực đã tăng lên rất nhiều.
Rồi tôi trở thành một tình nguyện viên quảng bá cho Google. Đi đến đâu, gặp ai, tôi cũng giới thiệu về Google, sự đơn giản, tiện lợi của nó. Cần thì demo luôn, cần tìm gì cũng có, vấn đế biết cách gõ từ tìm kiếm vừa đủ thông tin, lại ngắn gọn.
Thời kỳ đầu, Google chỉ tìm kiếm tốt trên tiếng Anh, tiếng Việt Unicode chưa phải chuẩn lắm, nhưng các site tìm kiếm khác cũng chả hơn gì, họ mải mê bán quảng cáo banner quá mất rồi. Vài năm sau, đặc biệt là sau DotCom xì hơi năm 2000-2001, Google thực sự tạo nên một cơn sốt. Bởi đơn giản, trong khi các site tìm kiếm như Yahoo, Lycos, Infoseek, AOL, MySimon lao vào đầu tư những dự án thương mại điện tử B2B, B2C, quảng cáo trực tuyến..... thì Google vẫn kiên trung đi theo con đường riêng đã chọn của mình. Đó là làm sao đánh địa chỉ kịp thời, tìm kiếm nhanh, chính xác và thân thiện, không quảng cáo xô bồ, rẻ tiền.
Kết quả ai thắng ai bại, mọi người cũng rõ.
Cách đây chưa đến nữa năm, tôi nghe phong phanh về một trang tìm kiếm xây dựng hoàn toàn công nghệ, thuật toán hoàn toàn mới có mã hiệu Kumo. Rồi cách đây khoảng nửa tháng, Bing.com chính thức được ra mắt. Giao diện đơn giản, nhẹ nhõm. Trang chủ cứ mỗi ngày lại thay đổi một ảnh nền, trong ảnh nền có một số điểm nóng (hot spot), ấn vào hiện ra lời chú thích gợi mở đến những thông tin thú vị liên quan.
Mục tin tức http://www.bing.com/news sẽ rất tuyệt nếu bạn là người sử dụng tốt tiếng Anh. Cột tin thế giới ngắn gọn, với ảnh phóng sự rất dễ đọc. Khoảng vài phút lại tự động cập nhật tin mới. Hy vọng trong tương lai Bing sẽ làm việc với các trang tin nội địa từng quốc gia để cho phép hiển thị tin tức theo vùng miền quan tâm của người đọc.

Bing News. Nơi tôi đọc tin nóng mỗi buổi sáng
Bing Images có nhiều điểm cải tiến so với Google Images. Dưới mỗi ảnh nhỏ tìm được, lại có liên kết "Show Similar Images" để tìm thêm các ảnh tương tự hoặc có liên quan. Ví dụ nếu tìm từ khóa "Titanic" để lấy ảnh tư liệu về con tàu này, chúng ta sẽ tìm được rất nhiều bức ảnh phong phú theo chủ đề cần tìm. Điểm mạnh thứ 2 nữa, ví dụ tìm từ khóa "Labrador", tên một giống chó săn tha mồi thông minh xuất xứ từ Canada, Bing sẽ gợi ý một số chủ đề liên quan như: Breeders = nhà nhân giống, Rescue , Adoption = nhận nuôi chăm sóc, Training = huấn luyện, ... rồi còn có cả Related Animals, những giòng chó liên quan đến Labrador.

Bing Images có chức năng Find similar images và gợi ý những chủ đề liên quan
Bing Videos cho phép xem video tìm được ở chế độ preview thumbnail, mà không cần phải mở từng video ra xem. Khung hình nhỏ hơn, tốc độ xem nhanh hơn, không phải chuyển tới chuyển lui để xem được video cần tìm.
Bing Shopping hiện giờ chưa được bản địa hóa cho thị trường Việt nam, nên mình không bình luận nhiều. Các mục Map, Travel mình chưa dùng nhiều, mình không bàn nhiều. Hơn nữa 2 chức năng này cũng chưa bản địa hóa mạnh cho các khu vực trên thế giới do đó cần thêm thời gian để Bing hoàn thiện.
Kết:
Bing vẫn là đứa trẻ so với chàng thanh niên đang độ thanh xuân Google. Thị trường tìm kiếm vẫn còn rất rộng lớn, còn nhiều đất cho dịch vụ sáng tạo, thân thiện, có tính kết nối, mở cao. Google có định hướng của Google, Bing có những bước tiến riêng của Bing. Hãy dùng thử Bing để đôi mắt của bạn có 1 giây thư thái khi nhìn vào hình nền của Bing. Bing sẽ là site tìm kiếm sẽ còn được nhắc rất nhiều trong thời gian tới...
Đặt Bing thành công cụ tìm kiếm trong FireFox ---> xem video hướng dẫn