Skip to main content

Công Cụ Tích Hợp Nào Dùng Để Phát Triển Web Hay Nhất Hiện Nay?

Từ khi Internet bùng nổ từ năm 1995 đến nay, các ngôn ngữ và siêu văn bản dùng để thiết lập trang Web và hỗ trợ xây dựng cấu trúc hạ tầng cho Web đã ra đời rất nhiều. Cái khó nhất hiện nay của một công ty IT là chọn ngôn ngữ và mô hình framework nào được dùng như là bàn đạp để triển khai các đề án cho các đối tác của mình.  Để chọn đúng một mô hình framework và ngôn ngữ web cho đối tác, nó phụ thuộc vào nhiều yếu tố như: đề án lớn hay nhỏ, điều đòi hỏi từ khách hàng về cách truy cập, khách có thể thay đổi giao diện web không, bảo mật của thông tin, thành phần cơ cấu hạ tầng của Web được triển khai như thế nào, cơ sở dữ liệu, và vân vân. 

Thông thường, thì hãng cần có một IT Architect (kiến trúc sư), dùng để hoạch định cấu trúc hạ tầng.  Một IT Architect "mẫu mực" luôn là người có kinh nghiệm đi từ thời lập trình trở lên sau đó mới chuyển thành IT Architect. Sở dĩ tôi dài dòng, là vì có rất nhiều IT Architect chuyên tìm hiểu nhiều ngôn ngữ và Framework, nhưng khi tích hợp chúng lại với nhau thì không hoàn thiện lắm vì những IT Architect này thiếu kinh nghiệm.  Khi những IT Architect này không phải là lập trình viên sâu sắc thường đưa ra những mô hình dựa vào thông tin từ internet mà chưa được thực hành.  Tới khi hãng triển khai nó ở giai đoạn giữa hay giai đoạn cuối, thì vấn đề lại đẻ ra muôn vàn cái "không thể làm được".  Tiếp đến sẽ  nảy sinh ra vấn đề "vá víu" và làm sao để cho công việc "chạy đều", và dẫn đến sản phẩm bị "yếu" khi đưa nó vào giai đoạn sản xuất.  Cuối cùng là đề án bị loại bỏ, đối tác của họ mất tiền, uy tín của hãng tan theo mây khói!  Tai hại của những IT Architect thiếu kinh nghiệm là thế đấy. 

Để tìm một IT Architect hoàn hảo thì không phải dễ kiếm trong bối cảnh hiện nay vì ngành IT phát triển nhanh như vũ bão và không một IT Architect nào theo kịp để hiểu toát yếu của ngôn ngữ lập trình cũng như frameworks cần dùng.  Một IT Architect có khả năng thì phải hiểu sâu sắc những toát yếu và những chức năng của framework và ngôn ngữ lập trình thì mới đảm bảo được cái hoạch định cho cơ sở hạ tầng do IT Architect đưa ra.  Nếu hãng không tìm được IT Architect có khả năng, thì hãy chọn cách khác.  Đó là đi tìm sản phẩm và thành phần IT mà đã được tích hợp từ hãng lớn khác.  Các hãng lớn đó là Microsoft, Oracle, IBM, vân vân, họ luôn có những sản phẩm tích hợp được nghiên cứu bởi hàng ngàn chuyên viên của họ, và vì vậy sản phẩm của họ đáng tin cậy.  Dĩ nhiên là sản phẩm tích hợp của họ cho phép ta dùng hay chèn các thành phần mã nguồn mở (nếu ta thật sự cần) khác để cho Framework của ta thêm đa dạng và hoạt động tốt đúng theo yêu cầu từ đối tác.  Nhưng vấn đề là đối tác của mình có chịu chi tiền để mua các sản phẩm từ hãng lớn dùng như là bàn đạp để triển khai hay không, thì đó là chuyện khác.  Đây là điểm chính mà người viết bài này muốn bàn đến công cụ tích hợp nào dùng để phát triển Web nhanh chóng và kết quả sẽ làm đối tác của mình không bao giờ thất vọng!   Vậy, nó là công cụ nào ?  Ta hãy xét hai khía cạnh: Chi tiền và không chi tiền.

Chi Nhiều Tiền Để Mua Công Cụ Tích Hợp
Đối tác của ta là đề án lớn từ chính phủ (bảo hiểm sức khoẻ, an sinh xã hội, thuế, các bộ trong chính phủ, vân vân), đề án cho nhà băng cho các hãng tư có liên kết quốc tế, và vân vân.


1. Bạn hãy chọn công cụ tích hợp của IBM như Rational Software Architect, IBM Web Content Management, các máy chủ WebSphere Portal server, WebSphere Application Server, cơ sở dữ liệu DB2 (có thể thay Oracle hoặc tương đương) cùng với các mã nguồn mở như JSF, Spring, Hibernate và IBatis.  Nền tảng cho các công cụ này hoạt động sẽ là AIX, Solaris hoặc Unix và Microsoft Windows. Bạn sẽ không thất vọng!  Chọn công cụ IBM này thì chỉ có khách hàng sộp hay khách hàng từ chính phủ mới chịu nổi vì tiền chi mua công cụ tích hợp lên tới nhiều triệu Mỹ kim.  Bạn biết rằng công cụ tích hợp chạy trên máy chủ WebLogic hay JBoss cũng đang phát triển theo dạng Portal, nhưng khi so sánh với công cụ của IBM, thì vẫn còn thua xa.  Bất kỳ đề án nào cũng cần phải xây dựng cấu trúc hạ tầng trước, vì vậy công cụ tích hợp và máy chủ của IBM cho bạn cấu trúc hạ tầng vững chắc, và nhiều người làm việc song song cùng một lúc được.  Do nhiều người viết và trình độ của mỗi lập trình viên có khác nhau, do đó số cấu trúc hạ tầng phải được soạn sẵn (điều này, sản phẩm của IBM's đã làm cho bạn), và nhiều người thành viên trong nhóm từ đó có thể tiếp thu và triển khai rộng thêm.  Điều đó sẽ giúp mã nguồn và các thành phần cho cấu trúc hạ tầng của đề án được đồng nhất và nhất quán, dễ quản lý sau này.  Ngoài ra, IBM còn cho thêm một sản phẩm có tên gọi WebSphere Portal Content Management Software, luôn cho những nhà quản lý bao gồm Admin hay Giám đốc (manager) tạo những trang web rất chuyên nghiệp để giới thiệu đến khách hàng trực tuyến mà họ không cần phải biết hay viết mã làm web.  Các sản phẩm tích hợp của IBM cho bạn liên kết với các máy chủ dữ liệu khác như Siebel (xây phiá trên của Oracle) hoặc SAP (của Đức) hoặc máy chủ Documentum dùng để lưu trữ các tập tin lớn.  Các tín hiệu hay đường truyền dữ liệu giữa các sản phẩm IBM, Oracle hay của SAP hoặc Documentum này được điều hành bởi máy chủ TIBCO Iprocess server (hoạt động na ná giống JMS).  Tất cả tạo cho bạn một tác phẩm nghệ thuật phần mềm vĩ đại trong ngành công nghệ IT hiện nay.  Công cụ tích hợp đa dạng này giúp đề án của bạn cùng với hàng trăm lập trình viên ở mọi trình độ đều làm việc song song với nhau và nhất quán theo mô hình chung có nền tảng vững chắc theo từng giai đoạn của đề án. Một khi mà mô hình và frameworks đã đi vào hoạt động vững rồi thì đề án của bạn sẽ ít gặp những trở ngại hóc búa trong việc quản lý cho dù đề án của bạn đã triển khai rộng lớn.  Lúc đó bạn và đồng nghiệp chỉ tập chung vào các đòi hỏi thương mại của đối tác mà không còn để ý đến kỹ thuật nữa.  Đây chính là điểm toát yếu của các công cụ tích hợp mà các nhà phát minh ra nó đã an bài.


2. Bạn chọn công cụ tích hợp của Microsoft .NET.  Nền tảng cho các công cụ này hoạt động chỉ trên Microsoft thôi.  Các đối tác của các hãng ở Việt Nam thường là theo xu hướng này.  Người viết miễn bàn công cụ tích hợp này vì nó đã có những sách vở nằm đầy dãy trên mặt internet đã bàn nhiều rồi.  Công cụ tích hợp này chỉ phù hợp với các đề án trung hay nhỏ.

 
Không Chi Tiền Để Mua Công Cụ Tích Hợp (Miễn Phí)
Đối tác của bạn là những doanh nghiệp nhỏ như trang web cá nhân, luật sư, bác sĩ, nhà hàng, doanh nghiệp nhỏ, ..., bạn hãy chọn framework có tên là Drupal với chủ trương: Lấy công làm lời.  Drupal là một mô hình có mã nguồn mở theo ngôn ngữ PHP.  Xu hướng của nó giống như Portal của IBM (nhưng không phải là Portal thật sự), nó giúp bạn quản lý trang web rất dễ dàng, cập nhật thông tin khá nhanh, và cho nhiều người làm việc chung trên internet cùng một lúc được. Đặc biệt là trang những trang web do Drupal tạo ra rất chuyên nghiệp, và có rất nhiều themes và modules được nhiều người trên thế giới phát
 triển và ban phát miền phí, giúp người lập trình hay quản lý viên thay đổi trang web của mình rất đa dạng và dễ dàng. Hiện nay đối với Drupal, khi bạn dùng nó, bạn chỉ có thao tác "bấm, kéo và nhả", và không cần viết thảo chương dù chỉ là một hàng!  Nhưng khi bạn muốn có những trang đặc biệt theo ý của khách hàng, bản có thể tự phát triển các module riêng, và bạn phải biết ngôn ngữ PHP.  Tương lai, mọi người (dù là lập trình chuyên nghiệp hay không chuyên nghiệp) đều có thể tự tạo cho mình một trang web rất chuyên mà không cần phải biết về kỹ thuật làm web.   Đó là mục đích chính của những nhà phát minh Drupal.   Xin chớ hiểu lầm coi Drupal là những trang web mẫu (templates). Nó là một Content Management Software đấy.  Nó giúp bạn quản lý về an ninh, quyền gán cho người dùng truy cập ở giới hạn nào, và tạo nhiều nhóm và người dùng có các bậc truy cập khác nhau, và từ đó trang web của bạn có đầy đủ về cách phân chia tác quyền trên từng trang cho từng người truy cập hay sử dụng.  Tất cả cách quản lý và thao tác đó đều gói ghém trong ba chữ: "Bấm, Kéo, Nhả" mà bạn không cần quan tâm đến cách thiết kế kho dữ liệu (database) vì các bảng lưu trữ được tạo ra tự động khi bạn cài Drupal hoặc thêm các phần modules.  Đến với Drupal, nói một cách khách quan, bạn không còn quan tâm đến phần sau (back-end), trừ phi bạn thật sự muốn sửa đổi, thì bạn có thể sửa hay thay đổi.  Bạn dùng những sản phẩm khác như PHPMyAdmin để quản lý kho dữ liệu trong vấn đề chèn, thêm dữ liệu hoặc làm back-up, vân vân.  Bạn dùng sản phẩm PHPMyAdmin rất có lợi khi toàn bộ trang web của bạn đang ở trên máy chủ Hosting xa nào đó (remote server).

 
Để kết thúc bài viết này, người viết cho rằng: Đối với công cụ tích hợp IBM thì khó có thể bàn trong một trang giấy hay cả một cuốn sách.  Còn phần mã nguồn mở, thì có rất nhiều công cụ mã nguồn mở mà người viết đã tham khảo, nhưng chưa thấy framework nào tiện lợi và hay như Drupal. Ngay cả cha đẻ ngôn ngữ Java ông James Gosling cũng ngả mũ bái phục những cái hay cái đẹp của Drupal mang lại.  Bạn không tin phải không ?  Bạn hãy tìm hiểu, rồi thực hành và sẽ thấy.

Phương Tân Biên
(Ngày 19 tháng 4 năm 2010)
 
Đường dẫn cho bài viết này: http://viet.seriesmathstudy.com/node/76