*

Kiến trúc hướng dịch vụ là gì? Kiến trúc hướng dịch vụ – Service Oriented Architecture – là một thuật ngữ khó hiểu bởi vì nó miêu tả hai thứ hoàn toàn khác nhau. Hai từ đầu tiên (Service Oriented) miêu tả phương pháp luận của việc phát triển phần mềm. Từ thứ ba (Architecture), kiến trúc là một bức tranh của tất cả các tài sản phần mềm trong một công ty, khá giống như một bản vẽ kiến trúc là một màn trình diễn tất cả các mảnh ghép nhỏ với nhau để tạo nên một toà nhà. Do vậy, kiến trúc hướng dịch vụ là một chiến dịch cho biết dự định xây dựng tất cả các tài sản phần mềm của công ty đó bằng cách sử dụng phương pháp luận lập trình hướng dịch vụ.

Bạn đang xem: Soa là gì

Dịch vụ là gì?

Dịch vụ là khúc dữ liệu phần mềm hoặc các cấu phần được cấu trúc để chúng có thể liên kết với các cấu phần phần mềm khác một cách dễ dàng. Ý tưởng đằng sau các phần mềm này thật đơn giản: Công nghệ nên được diễn tả thành từng đoạn dữ liệu mà người kinh doanh có thể hiểu được hơn là một phần mềm ứng dụng ít người hiểu như ERP hoặc CRM.

Sự trừu tượng là cốt lõi của khái niệm dịch vụ, ý tưởng mà bạn có thể hợp dịch code phần mềm vào trong một đoạn dữ liệu có ý nghĩa mà nó có thể được chia sẻ hoặc tái sử dụng trong nhiều lĩnh vực khác nhau của công ty đó.

Đây là một khái niệm cổ lỗ quay trở lại thập niên 80, khi mà lập trình hướng đối tượng xuất hiện lần đầu tiên, sự khác biệt duy nhất đó là hiện nay tham vọng về quy mô và tính tinh sảo của các đối tượng phần mềm này lớn hơn trước rất nhiều.

Có nhiều cách khác nhau để kết nối các dịch vụ chẳng hạn các liên kết lập trình tuỳ chọn hoặc các phần mềm tích hợp từ các nhà cung cấp nhưng từ năm 2001, một loạt các cơ chế giao tiếp phần mềm được biết đến như là các dịch vụ web được xây dựng dựa trên nền tảng web toàn cầu, bất cứ nơi nào cũng có, đã trở thành một phương pháp phổ biến cho việc kết nối các cấu phần phần mềm với nhau.

Sự khác nhau giữa kiến trúc hướng dịch vụ (SOA) và các dịch vụ web là gì?

Kiến trúc hướng dịch vụ là chiến dịch bao quát toàn bộ việc xây dựng các ứng dụng phần mềm trong một công ty – nghĩ về một thiết kế kiến trúc – ngoại trừ trường hợp này, kiến trúc này cần phải làm cho tất cả các chi tiết của phần mềm được xây dựng trên cơ sở dùng một phương pháp luận phát triển phần mềm cụ thể được biết đến như là việc lập trình hướng dịch vụ. Trong khi đó, dịch vụ web là một tập hợp các cơ chế giao tiếp chuẩn được xây dựng trên nền tẳng web toàn cầu. Các dịch vụ web là một phương pháp giao tiếp và kết nối. SOA là một chiến dịch CNTT toàn diện.

Làm thế nào để biết được liệu tôi có nên chấp nhận SOA như là một chiến dịch hay không?

Bởi vì nó là một chiến dịch kiến trúc, SOA liên quan đến nhiều thứ hơn chứ không phải chỉ đơn giản là xây dựng phần mềm. Thiết lập một kiến trúc trên nền tảng một danh mục đầu tư các dịch vụ yêu cầu các giám đốc CNTT của doanh nghiệp đó phải làm một vụ hấp dẫn cho kiến trúc doanh nghiệp, một phương pháp luận phát triển tập trung và một đội ngũ nhân lực tập trung gồm các giám đốc, kiến trúc sư và lập trình viên dự án. Điều đó cũng yêu cầu một giám đốc điều hành và nhân viên hành chính luôn sẵn lòng mở đường cho CNTT để ngụp lặn trong quá trình kinh doanh chủ đạo của công ty đó. Hiểu được các quy trình đó và việc nhận được các đơn hàng mua dự trữ trên cơ sở chia sẻ của doanh nghiệp là những viên đá quan trọng của việc chuyển đổi kinh doanh dựa trên kiến trúc hướng dịch vụ – SOA.

Xem thêm: Rf Là Gì – Công Nghệ Sóng

Đối với các dịch vụ được tái sử dụng khắp công ty đó, thì phải có một phương pháp luận phát triển phần mềm tập trung để các lĩnh vực khác nhau của doanh nghiệp đó không xây dựng dịch vụ giống hệt theo những cách thức khác nhau hay sử dụng những sự liên kết không tương thích. Phải có một kho dữ liệu tập trung hoặc chỗ chứa để các lập trình viên sẽ biết được tìm kiếm dịch vụ ở đâu và vì vậy CNTT sẽ biết ai đang sử dụng chúng. Các dịch vụ này sẽ được chuyển hoá thành tài liệu để các lập trình viên biết được các thông tin hay dữ liệu đó dùng để làm gì, liên kết tới chúng như thế nào và những quy tắc để sử dụng chúng.

Hầu hết các công ty mà gặt hái được nhiều thành công dọc theo chặng đường đi tới SOA đã tạo ra một nhóm kiến trúc tập trung để chọn các quy trình sẽ là dịch vụ được kích hoạt và để tham khảo với những lĩnh vực khác nhau của công ty đó để xây dựng các dịch vụ cụ thể. Nhóm tập trung đó cũng tạo ra một cơ chế thuận tiện cho việc quản lý. Nếu tất cả các yêu cầu dịch vụ phải đi qua nhóm kiến trúc đó, các phương pháp luận phát triển dịch vụ ấy và dự án và những thoả thuận thực hiện có thể được quản lý dễ dàng hơn.

Các công ty đã có nhiều thành công nhất với SOA cho đến tận bây giờ là những công ty mà luôn gặt hái thành công với công nghệ: Các công ty lớn với những nguồn ngân sách lớn có nhiều hoạt động kinh doanh được dựa trên nền tảng công nghệ. Họ cũng có xu hướng có những nhà lãnh đạo kinh doanh sành sỏi về công nghệ và có khả năng hỗ trợ công việc trong công ty. Đối với các công ty không có những thành tựu này, SOA đang được làm ra không thể là “thần dược”.

Đối với các công ty nhỏ hơn, đối với những công ty mà có những sự cá cược lớn vào những phần mềm ứng dụng tích hợp và đối với những công ty đã chuẩn bị sẵn các chiến dịch tích hợp phần mềm ứng dụng chắc chắn tại chỗ thì SOA không phải là “khi nào” mà là “nếu”. Các giám đốc CNTT cần theo đuổi một chiến dịch SOA một cách cẩn thận bởi vì những phần lập kế hoạch kiến trúc và phát triển dịch vụ đó của SOA là khác biệt nhưng không phải độc lập – chúng cần được xem xét kỹ và triển khai song song. Các dịch vụ được xây dựng biệt lập không để lưu tâm đến các mục tiêu kinh doanh và kiến trúc của công ty đó thì có thể có khả năng tái sử dụng (một trong số những lợi ích quan trọng nhất của SOA) hoặc có thể thất bại hoàn toàn.

Lợi ích của SOA là gì?

Đầu tiên hãy đặt lợi ích của SOA trong triển vọng. SOA là một lưỡi hái mà nó lát mỏng sự phức tạp và sự dư thừa. Nếu công ty của bạn không lớn hay phức tạp, ví dụ hơn 2 hệ thống cơ bản đòi hỏi vài cấp tích hợp – không có vẻ như SOA sẽ mang lại nhiều lợi ích. Thất bại trong tất cả các quảng cáo thổi phổng sự thật về SOA hiện nay là thực tế mà phương pháp luận phát triển này bản thân nó không đem lại lợi ích thực – đó là những tác động mà nó có được trên một cơ sở hạ tầng dư thừa và phức tạp, cái cơ sở mà đem lại phần thưởng. Các kiến trúc sư nói có nhiều công việc có liên quan đến việc tạo một ứng dụng hướng dịch vụ tốt hơn là có một sự tích hợp phần mềm ứng dụng truyền thống hiện có. (Các cuộc điều tra cho thấy SOA đang được sử dụng cho việc tích hợp ứng dụng truyền thống ở hầu hết các công ty). Vì vậy thực tế có một chi phí bổ sung sinh ra do việc phát triển SOA trả trước. Vì có một lợi ích từ công việc đó nên nó phải loại bỏ công việc ở nơi nào khác bởi vì phương pháp luận này trong nội tại bản thân nó không hề tạo lợi ích kinh doanh. Trước khi xem xét xem liệu SOA có lợi ích hay không, đầu tiên bạn phải quyết định xem liệu có sự dư thừa nào không, thật tồi tệ nếu các ứng dịng được tích hợp mà có thể được cố kết hay bị loại bỏ là kết quả của việc chấp nhận SOA. Trong trường hợp này thì có vài lợi ích tiềm năng.

Xem thêm: Gia đình Là Gì – ý Nghĩa Của Gia đình

Để nhận được bức tranh toàn cảnh những lợi ích được bán kèm với SOA, bạn phải quan sát nó ở 2 mức: đầu tiên, là những ưu điểm (lợi ích) sách lược của sự phát triển hướng dịch vụ và thứ hau đó là những ưu điểm của SOA như là một chiến dịch kiến trúc tổng thể.

Chuyên mục: Hỏi Đáp