Chủ Nhật, 22 tháng 6, 2014

Nghĩ về SOA ở Việt Nam

Tuần trước, trong bài giảng về SOA cho sinh viên cao học, để học viên có thể cảm nhận được tại sao lại cần SOA, tôi có một số nhận xét và liên hệ thực tế thế này:

1. Ở Việt Nam, chưa có khái niệm dịch vụ thực thụ. Thành thử, mỗi người phải biết nhiều thứ. Sống ở Việt Nam thành thử rất mệt mà vẫn bất an. Chỉ cần không đủ am hiểu về một mặt thiết yếu từ y tế, giáo dục, khai thuế, xin giấy tờ, quan hệ với công an phường, gia hạn đăng ký xe thậm chí đến cả móc cống, diệt gián, tắc nhà xí, xây nhà, sơn tường... là rầy rà ngay. Một hệ thống tổ chức như vậy hoàn toàn không có kiến trúc, rất thiếu hiệu quả,  tốn kém overhead, vì vậy chúng ta nghèo là đương nhiên.

2. Chẳng hạn, chúng ta có ngành y tế, bác sĩ có thể giỏi, nhưng khu vực y tế chưa tổ chức thành dịch vụ y tế thực sự. Bằng chứng là người bệnh luôn phải biết về bệnh của mình. Nhiều khi có bệnh, chúng ta hỏi bệnh nhân về bệnh đó sẽ được thông tin đáng tin hơn hỏi thầy thuốc. Cho dù, chúng ta tìm được thầy thuốc giỏi, chúng ta vẫn phải quan hệ với y tá, người phục vụ, nơi mua thuốc thang, các bộ phận khác như chụp, xét nghiệm,... chỉ một khâu không kiểm soát là cái sảy nẩy cái ung. Thí dụ như cậu em cọc chèo của tôi, đi khám bác sĩ, cũng có người quen giới thiệu hẳn hoi. Bị phán là ung thư, uống hàng vốc thuốc hàng tháng trời, người cứ lả đi, bắt chuồn chuồn. Một ngày đẹp trời đến kỳ kiểm tra thường xuyên, anh bác sĩ điều trị bị ốm, ông bác sĩ khác thay nói "Bậy, cậu có bị gì đâu". Thế là bỏ hết thuốc đang uống, uống 2-3 ngày loại thuốc mới, lại khỏe như vâm. Thế thì biết tin ai. Cũng trong gia đình, cô em vợ tôi bị bác sĩ phán là sẽ nhũn não trong vòng 3 tháng, khóc như mưa gió, đến nay gần 20 năm không thấy gì. Một dịch vụ chỉ thực sự là dịch vụ, nếu được chuẩn hóa, người dùng có thể tin tưởng, không cần đi sâu vào các chi tiết, mà chỉ cần quan tâm đến giao diện đầu vào và đầu ra. Dịch vụ phải được chuẩn hóa, đảm bảo sẵn sàng, dễ tìm kiếm và được đăng ký với hệ thống, đảm bảo minh bạch. Minh bạch sẽ dễ nâng cấp về chất lượng.

3. Con em chúng ta đi học. Nếu giáo dục là dịch vụ tốt, chúng ta không cần biết đến thầy cô từng môn, bác gác trường, thầy hiệu trưởng là ai. Cùng lắm chúng ta biết đến giáo viên chủ nhiệm, nhưng chủ yếu là sổ học bạ. Đằng này chúng ta phải biết rõ mọi chi tiết về nhà trường, tự lo học thêm, quản lý con cái cả trên đường về nhà. Nếu không, một ngày nào đó, bạn sẽ thấy con mình sẽ bị ai đó lượm mất. Chúng ta còn phải biết trẻ học thế nào, thi môn gì, để quản chặt con cái, biến chúng thành những mẫu hình theo chủ quan của chúng ta. Mọi sự phát triển tự do, vượt khung sẽ kèm theo hiểm họa khôn lường. Chúng ta phải đánh đổi tính sáng tạo, tâm hồn, sự hào hiệp, cá tính lấy sự ổn định, an toàn. Như vậy đâu có phải là kiến trúc hướng dịch vụ.

4. Nếu nhà của bạn cống, bồn cầu tắc, bạn có thể gọi các công ty "dịch vụ". Họ sẽ cử các kỹ thuật viên tới. Bạn sẽ phải không ngừng la hét, chổng mông chui vào gầm nhà, chúi mũi vào bồn cầu, cống thối để chỉ đạo, kiểm tra kiểm soát, hướng dẫn, thậm chí phải tham gia vào công việc mà bạn không hiểu một chút gì. Bạn mà dám giao phó cho họ, chắc chắn bạn sẽ phải hối hận, vì sẽ có những sự cố có khi còn trầm trọng hơn vấn đề của bạn. Không chỉ là bạn, chính tôi, bạn bè của tôi, anh em của tôi, hàng xóm của tôi và những người tôi biết đều vậy. Cái gọi là Kỹ thuật viên chỉ có giá trị ngang chiếc găng tay để bạn khỏi phải trực tiếp mó tay vào bẩn thỉu hôi thối. Bạn phải hướng dẫn họ, tháo chỗ nọ, lắp chỗ kia, chọc chỗ kia nữa. Đó có phải là dịch vụ không? Xin thưa không hề. Lý do ở đâu. Toàn bộ cuộc sống của chúng ta chưa được kiến trúc theo hướng dịch vụ.

5. Một lần tôi là chủ đầu tư một dự án tư vấn nhỏ. Dĩ nhiên, tư vấn dự án là nghề của tôi, nhưng chỉ có những chủ đầu tư dại dột, thiếu kinh nghiệm không biết sợ cái luật pháp thất thường của Việt Nam mới tự làm tư vấn cho mình. Tôi dù sao cũng được bạn bè anh em tư vấn, bèn gọi một công ty có tiếng, có thể nói hàng đầu trong lĩnh vực CNTT. Khi kick-off thì cả Phó Tổng, Chủ tịch sang cùng với một bộ sậu, sang chém gió nghe rất hãi, rất tin. Nếu họ không làm thì chắc chẳng ai làm được. Ấy thế mà khi ký xong hợp đồng, họ cử một đội, cầm đầu bởi một cô bé PM hoàn toàn không biết gì về CNTT. Có hỏi cũng chẳng biết được gì, thành thử chúng tôi phải chạy theo từng người trong đội, cho đến khi kết luận, họ không thể làm được. Chúng tôi bèn xin dự án về để các chuyên viên tự làm, với một giá rẻ mạt, tượng trưng. Chúng tôi vừa làm vừa nghiệm thu cơ sở, bảo vệ với cấp trên. Cơ quan của chúng tôi thì thẳng tay thu tiền vì nghe nói chúng tôi tự thực hiện, chắc ăn hết kinh phí. Cuối cùng là công sức của chúng tôi bị ăn chặn cả hai đầu. Công lý ở đâu? Đó chính là vì không có kiến trúc hướng dịch vụ.

6. Nhân tiện kể chuyện Tam Quốc: Thời đó quần hùng nổi lên như ong, nếu sống ở thời đó, nếu phải đặt cược có thể chọn sứ quân nào. Tập đoàn Lã Bố, Mã Siêu, chủ tướng đều võ nghệ siêu quần, đánh đâu được đó. Nhưng tiên phong, chém tướng phá thành, bày mưu tính kế, chỉ huy chiến dịch, làm chủ tướng cũng chỉ một người đó. Đó là tổ chức không theo SOA. Chủ tướng đi đâu các tướng cũng xúm xít đi theo mà như thừa, chẳng làm gì. Chủ tướng mà cũng hùng hục đánh nhau, mồ hôi mô kê nhễ nhại, đánh vật với mấy thằng cơ bắp vô danh tiểu tốt. Để chủ tướng địch ngồi mát, có thị tỳ bóp chân, nghĩ ra kế sai mấy thằng tướng khác lẻn qua sông cướp lương. Đó mới là SOA.

7.  Ở Việt Nam, vì vậy, chưa vội nghe người ta nói SOA cũng hô theo. Các hệ thống hiện nay của IBM, Oracle, HP, MS,.... đều đã có sẵn SOA, nhưng hệ số sử dụng chắc chắn cũng như các thiết bị, hệ thống phần mềm khác, khoảng 20% đã là cao.  Trước tiên phải, tập xây dựng các dịch vụ và chuẩn hóa chúng đã, đến một mức độ nhất định mới có thể sắp xếp vào kiến trúc hướng dịch vụ SOA.

8. Dịch vụ phải chuẩn hóa, có giao diện, trong suốt, không phải chọc vào phần implementation, chất lượng phải được kiểm thử, khi có yêu cầu thay đổi phải đảm bảo hoạt động liên tục. Thời gian nâng cấp, sửa lỗi phải nhanh nhất, vì đã được tổ chức thành các module, như các lô cốt,  nếu có tác chiến trong một lô cốt thì không thể lan rộng sang các lô cốt khác. Như thế dịch vụ có thể cung cấp, sử dụng lại được cho nhiều ứng dụng khác nhau. Đó chính là tiêu chuẩn của dịch vụ, trước khi triển khai SOA.


Không có nhận xét nào:

Đăng nhận xét