1. SOA và ESB
SOA là một tập hợp các khái niệm kiến trúc được sử dụng để phát triển và tích hợp các dịch vụ. SOA xử lý tính toán phân tán, trong đó, người tiêu dùng sử dụng một tập hợp các dịch vụ có thể tương tác. Nhiều người có thể tiêu dùng một dịch vụ và ngược lại. Do đó, SOA thường được sử dụng để tích hợp nhiều ứng dụng với các nền tảng khác nhau. Để SOA hoạt động tốt, các dịch vụ phải được kết hợp chặt chẽ với hệ điều hành và công nghệ của các ứng dụng. Các nhà phát triển SOA tạo ra các dịch vụ bằng cách sử dụng các đơn vị chức năng và cung cấp chúng qua Internet. Các dịch vụ web có thể để triển khai kiến trúc SOA, trở thành các đơn vị chức năng của SOA được truy cập qua mạng. Dịch vụ web có thể được sử dụng bởi bất kỳ ai mà không cần quan tâm đến nền tảng hoặc ngôn ngữ lập trình để phát triển chúng.
ESB là một phần mềm cơ sở hạ tầng cung cấp cấu trúc kiến trúc phần mềm để cung cấp các dịch vụ cơ bản cho các kiến trúc phức tạp. Nó cung cấp các dịch vụ dựa trên sự kiện và tiêu chuẩn để nhắn tin. ESB thường được thực hiện thông qua cơ sở hạ tầng phần mềm trung gian dựa trên tiêu chuẩn. Một trong những lợi thế chính của việc có ESB là khả năng giảm số lượng các điểm tiếp xúc, do đó, làm cho việc thích ứng với những thay đổi dễ dàng hơn nhiều. ESB có thể được sử dụng như một nền tảng mà trên đó SOA được thực hiện. Các khái niệm về chuyển đổi, định tuyến (liên quan đến luồng) có thể được ESB đưa đến SOA. Ưu điểm chính của ESB là:
- Khả năng gọi dịch vụ đồng bộ và bất đồng bộ. Thực tế giữa các dịch vụ khác nhau luôn được triển khai bởi các công nghệ khác nhau như Enterprise Edition, Enterprise JavaBeans, Java, IBM DB2 Queries, Java Messega Servies, Microsoft.net… Khi đó, bên yêu cầu dịch vụ sẽ gửi đi các truy vấn tới bên cung cấp dịch vụ mà mình mong muốn, không cần quan tâm đến vấn đề triển khai dịch vụ vì đã có ESB ở giữa đứng ra làm cầu nối giữa bên cung cấp và bên yêu cầu. Giúp cho hai bên hoàn toàn ăn khớp với nhau dù triển khai bởi các công nghệ khác nhau.
- Có khả năng xử lý và chuyển đổi thông tin. ESB có thể bổ sung, điều chỉnh các thông tin sau khi đã được các dịch vụ xử lý. Tại đây ESB có thể thêm bớt các thành phần điều phối hòa giải có trong ESB hoặc từ việc truy vấn cơ sở dữ liệu.
- Định tuyến tĩnh hoặc động, phân phối các thông điệp: Các bên tham gia khai báo các yêu cầu của mình, trong đó có thể bao gồm hiệu năng và độ tin cậy, mã hóa, giải mã các nội dung thông báo... ESB sẽ gửi đến các nhà cung cấp dịch vụ các yêu cầu cần thiết về chức năng và chất lượng dịch vụ. Các bên cung cấp nhận được yêu cầu và sẽ đáp ứng mà không cần biết nguồn gốc của thông báo, việc phân phối các yêu cầu và trả lời được thực hiện bởi công nghệ ESB.
- ESB có khả năng theo dõi, kiểm soát các thông điệp khi chúng chuyển đi, ESB có thể ghi nhật ký, phục vụ kiểm định hoặc khai phá dữ liệu sau này.
2. Mục tiêu nghiên cứu
Thương mại điện tử dần trở nên quan trọng trong thói quen mua sắm hằng ngày của mọi người. SMEs ngày nay đang sử dụng thương mại điện tử để thiết lập kênh kinh doanh trực tuyến bên cạnh hoạt động bán lẻ truyền thống. Sự tăng trưởng kinh tế và nhận thức của mọi người khi sử dụng Internet vào các hoạt động hằng ngày mang lại tác động tích cực, tạo cơ hội để mở rộng thị trường điện tử.
Thương mại điện tử mang lại nhiều lợi ích cho SMEs, như tăng số lượng người sử dụng dịch vụ, thâm nhập thị trường mới, giao tiếp với khách hàng, tăng lợi thế cạnh tranh, tiết kiệm chi phí và tăng lợi nhuận. Tuy nhiên, trong số tất cả các nền tảng vẫn chưa có miền thương mại điện tử nào được tích hợp, liên kết với nhau. Người bán phải duy trì sản phẩm và khách hàng của họ từ mỗi miền. Sự thiếu linh hoạt này làm mất nhiều thời gian, không đáp ứng được yêu cầu của người mua và người bán trong các lĩnh vực thương mại điện tử khác nhau để thực hiện kinh doanh và giao dịch thương mại trực tuyến.
Sự thiếu linh hoạt có thể ảnh hưởng đến giao tiếp giữa người bán và người mua. Trong khi đó, sự thâm nhập thị trường của SMEs đã tăng trưởng đáng kể thông qua bán hàng trực tuyến. Việc tích hợp phần mua hàng, phần lưu kho và phần thanh toán giữa các miền đã trở thành vấn đề về khả năng tương tác và khả năng quản lý. SOA được sử dụng để tích hợp tất cả các miền khác nhau. SOA sử dụng các module nghiệp vụ có thể tái sử dụng làm dịch vụ web và cung cấp giải pháp để phát triển ứng dụng một cách hiệu quả và nhanh chóng. ESB nổi lên như một trung gian giữa người yêu cầu dịch vụ và các nhà cung cấp. Mô hình tích hợp ESB có thể được định cấu hình nhằm nắm bắt các khía cạnh của giải pháp tổng thể có liên quan đến các công cụ và cơ sở hạ tầng ESB để tạo điều kiện tương tác giữa các điểm cuối dịch vụ được quản lý.
EBS đóng vai trò tích hợp các dịch vụ giữa các miền thương mại điện tử khác nhau và được coi là phần mềm trung gian hỗ trợ của SOA. Hiện nay, các dịch vụ web được sử dụng để hiện thực hóa kiến trúc SOA có thể cho phép các doanh nghiệp tận dụng khả năng kết nối và xử lý giao dịch cũng như hỗ trợ khả năng tương tác giữa các ứng dụng.
Mục đích bài viết đưa ra là sử dụng SOA và ESB làm hệ thống phần mềm trung gian chính để tích hợp tất cả miền thương mại điện tử vào một nền tảng duy nhất, đáp ứng nhu cầu linh hoạt từ khách hàng và SMEs.
3. Đặc điểm của hệ thống quản lý tích hợp nền tảng thương mại điện tử
Vì có quá nhiều nền tảng thương mại điện tử và phương tiện truyền thông xã hội, bên cạnh đó, các cửa hàng trực tuyến với tư cách là người bán hiện cần sử dụng nhiều nền tảng để có thêm người mua, khuyến mại và tăng quy mô thị trường. Do đó, cần thiết phải có cổng quản lý thương mại điện tử để xử lý sự phức tạp và cho phép người bán có trải nghiệm kinh doanh đa kênh.
Hình 1: Giải pháp đề xuất quản lý thương mại điện tử
Hình 1 minh họa cho các nền tảng thương mại điện tử có ứng dụng, trang web và các dịch vụ cũng khác nhau ngay cả khi hình thức kinh doanh và dữ liệu giống nhau. Do đó, có quá nhiều API (Application Programming Interface - Giao diện lập trình ứng dụng) và quy trình dự phòng. Điều này dẫn đến giao diện UI (User Interface) trở nên rối rắm và người dùng cần nhập cùng một dữ liệu cho tất cả API. Đó là lý do tại sao cổng thương mại điện tử cần phải xây dựng dựa trên SOA, cho phép quản lý các nền tảng khác nhau, cho cùng một quy trình và một nguồn dữ liệu. Ví dụ: Một trang thương mại điện tử là thị trường có dịch vụ tạo cửa hàng và họ cần hồ sơ người bán bao gồm tên, email… và dịch vụ giao hàng có quy trình định kỳ về vận chuyển. Người bán cần đăng nhập vào một vài nền tảng thương mại điện tử và kiểm tra giao dịch đặt hàng. Với hệ thống thương mại điện tử tích hợp, các công việc có thể được thực hiện từ một bảng điều khiển duy nhất. Hệ thống sẽ thông báo tất cả các giao dịch từ tất cả các sàn thương mại điện tử có liên quan. Điều này giúp đạt hiệu quả hơn trong việc thực hiện các đơn đặt hàng.
Hình 2: Kiến trúc công nghệ SOA
Trong Hình 2, bằng cách sử dụng phần mềm trung gian để kết nối các thành phần và đối tác khác nhau, đã mang lại nhiều lợi thế cho nhà phát triển như: Cá nhân hóa, mở rộng phạm vi, thích ứng, tăng hiệu quả, cải thiện tính sẵn có của dữ liệu, tự động hóa, tăng tính linh hoạt và tích hợp dễ dàng. API có thể được sửa đổi dễ dàng và thích ứng. Khi quy trình kinh doanh của đối tác thay đổi, API có thể được điều chỉnh nhanh chóng, mang lại nhiều ưu điểm như:
- Nó có thể được sử dụng để thu thập thông tin từ nhiều nguồn và giúp khách hàng truy cập dữ liệu dễ dàng hơn, do đó làm tăng sự tin tưởng và gắn bó dài lâu của khách hàng.
- Nó có thể được sử dụng để thu thập dữ liệu xã hội để có cái nhìn sâu sắc và toàn cảnh về đời sống.
- Khai thác sức mạnh xử lý từ xa và lưu trữ cho doanh nghiệp.
- Phát triển ứng dụng nhiều tính năng và phạm vi rộng.
- Tăng khả năng tự động hóa, hiệu quả, tích hợp, cá nhân hóa và thích ứng cho nhà phát triển.
Quản lý kho hàng là một hệ thống có thể hỗ trợ và tối ưu hóa trung tâm phân phối, phụ trợ nhân viên kho khi xử lý yêu cầu nhập kho và nhận hàng. Nếu nó có thể được tích hợp đầy đủ thì người bán không cần quản lý kho hàng của mình. Khi có đơn đặt hàng từ cửa hàng trên nền tảng thương mại điện tử, kho hàng được cập nhật tự động dựa trên đơn đặt hàng. Với việc triển khai thông báo, người bán có thể giảm nhu cầu liên lạc với nhân viên kho hàng, do đó giảm nguy cơ xảy ra thông tin sai.
Dịch vụ giao hàng là một hệ thống cung cấp các dịch vụ, hàng hóa từ người bán tới người mua. Hệ thống giao hàng có thể thay đổi từ giao hàng tận nơi cho đến vận chuyển quốc tế. Trong dịch vụ giao hàng này, người bán có thể kiểm soát tất cả việc theo dõi quá trình vận đơn từ các trang thương mại điện tử đã được tích hợp.
Cổng thanh toán là một hệ thống cho phép xử lý giao dịch từ người dùng cho mục đích đăng ký hằng năm, hằng tháng hoặc bất kỳ sản phẩm và dịch vụ nào được cung cấp từ hệ thống thương mại điện tử tích hợp.
Dịch vụ ngân hàng giúp người bán quản lý tất cả các tài khoản ngân hàng để thực hiện các giao dịch tại mọi nơi có Internet với các thông tin về số dư, chuyển khoản và thanh toán.
Truyền thông xã hội đã trở thành một cơ hội lớn cho SMEs sử dụng chiến lược tiếp thị số, giúp nâng cao một số hoạt động kinh doanh trên toàn cầu, mang cả thế giới lại với nhau trên một nền tảng duy nhất. Nó có thể khiến người bán tiếp cận một lượng lớn khách hàng với tốc độ nhanh đáng kể so với các phương tiện khác. Social Media API giúp tạo cầu nối giữa trang web và nền tảng truyền thông xã hội đồng thời mang đến cơ hội nâng cao hoạt động kinh doanh và tăng phạm vi tiếp thị.
Hình 3: Tích hợp các hệ thống thương mại điện tử
Hình 3 cho thấy, sự tích hợp của các trang thương mại điện tử có thể được thực hiện bằng cách sử dụng SOA.
Hình 4 là ví dụ về việc thực hiện thông báo trong hệ thống tích hợp. Hệ thống sẽ dựa theo sản phẩm và gửi tin đến người bán về đơn đặt hàng từ bất kỳ nền tảng thương mại điện tử nào mà họ có. Nếu đó là kế hoạch vận chuyển, sẽ thông báo cho người gửi hàng, người bán và người mua hoặc cả nhà cung cấp, đồng thời gửi phản hồi lại cho người gửi hàng khi đã xử lý hoặc khi đơn hàng kết thúc. Khi thông tin sản phẩm của nhà cung cấp thay đổi, thì dữ liệu kho của người gửi hàng sẽ được cập nhật tự động, giúp tăng hiệu quả và độ chính xác của dữ liệu.
Hình 4: Ví dụ về triển khai kinh doanh
Một ví dụ khác của việc triển khai là hệ thống tích hợp sẽ cập nhật thời gian giao hàng từ người vận chuyển này sang người giao hàng khác rồi đến khách hàng. Khi có sự chậm trễ của một trong các quy trình có thể ảnh hưởng đến thời gian chung, hệ thống sẽ cập nhật thời gian cho khách hàng và quy trình giao hàng tiếp theo. Mỗi khi có sự thay đổi về thời gian vận đơn một trong các quy trình, nó sẽ cập nhật tất cả thời gian giao hàng dự kiến. Hệ thống sẽ gửi thông báo để tất cả những người liên quan biết về sự thay đổi. Quá trình cập nhật và thông báo được kích hoạt bởi thông tin đầu vào từ những người tham gia vào quá trình giao hàng như nhân viên giao hàng hoặc khách hàng rồi gửi đến phần mềm trung gian, để truy cập kho dịch vụ nhằm cập nhật dữ liệu bao gồm thời gian và trạng thái giao hàng. Cuối cùng, phần mềm sẽ gửi thông tin mới nhất cho tất cả những người liên quan trong quá trình giao hàng.
Về cơ bản, việc tích hợp các sàn thương mại điện tử vào một hệ thống quản lý chung dựa trên SOA sẽ cập nhật bất kỳ dữ liệu nào ảnh hưởng tới quy trình làm việc, sau đó thông báo cho người dùng liên quan để họ biết thông tin mới nhất và có phương án xử lý kịp thời.
4. Đánh giá khả năng ứng dụng của SOA cho ngành tài chính, ngân hàng
SOA được xây dựng với giao diện đơn giản có thể được người dùng truy cập độc lập mà không cần lo lắng về việc triển khai nền tảng thực tế của dịch vụ. Ưu điểm của việc sử dụng SOA cho các ngành nghề nói chung và cho các dịch vụ tài chính, ngân hàng, thương mại điện tử nói riêng có thể kể đến:
- Cho phép tái sử dụng phần mềm. Nếu một dịch vụ có quy mô và kích thước phù hợp nó có thể được tái sử dụng cho lần kế tiếp. Điều này đồng nghĩa sẽ làm giảm công sức phát triển và chi phí về mặt tài chính cho cả hai phía: Nhà phát triển phần mềm và các khách hàng sử dụng dịch vụ tài chính - ngân hàng.
- Linh hoạt khi mở rộng, kết nối và tích hợp, cho phép hệ thống công nghệ thông tin trong ngành tài chính, ngân hàng được chỉnh sửa dễ dàng hơn.
- Tiết kiệm thời gian, tăng năng suất làm việc: Đối với một ngân hàng, tổ chức tài chính thường xuyên xây dựng những hệ thống mới dựa trên các chức năng tương đồng sẽ tiết kiệm được thời gian phát triển, kiểm thử và tích hợp vào trong các phần mềm nhỏ. Hơn nữa, hiệu suất làm việc cũng được gia tăng nếu như các lập trình viên tái sử dụng các dịch vụ của SOA.
- Mô hình SOA có nhiều ưu thế hơn so với truyền thống. Trong khi SOA chủ yếu tập trung nguồn lực để phát triển vào các chức năng và tính năng phục vụ hoạt động cũng như quy trình nghiệp vụ. Điều này cho phép nhà quản lý tài chính chỉ cần dựa trên những đặc điểm mang tính nghiệp vụ rà soát, xác định rõ ràng chi tiết, bổ sung các thành phần, sửa đổi hoặc loại bỏ chúng. Vì vậy, hệ thống phần mềm phát triển phía sau có thể được thiết kế với mục đích đáp ứng các quy trình thay đổi để tận dụng các tính năng phần mềm như trong các mô hình thường thấy ở nhiều tổ chức, ngân hàng với hạ tầng ứng dụng công nghệ thông tin đã phát triển trước đó.
- Khi sử dụng mô hình SOA, các ngân hàng cho phép hướng sự tập trung vào xây dựng các tính năng nghiệp vụ trong quá trình phát triển các phần mềm. Điều này mang lại một số lợi ích cho người dùng như: Giảm thiểu một khoản chi phí trong quá trình phát triển; giảm thiểu các yêu cầu về đào tạo và kỹ năng; khoản phí bảo hành thấp; chu trình phát triển phần mềm nhanh chóng và dễ dàng hơn.
- Định hướng kinh doanh: SOA được ví như một bức tranh lớn của toàn bộ quy trình kinh doanh và dòng dịch chuyển của một ngân hàng. Theo đó, những người làm kinh doanh đầu tiên có thể hình dung toàn bộ quy trình được xây dựng theo quan điểm của công nghệ.
- Nâng cao vị thế của ngành tài chính, ngân hàng: Với việc phát triển và tập hợp danh mục những sản phẩm, dịch vụ, các nhà phát triển có một bộ sưu tập những module phần mềm có sẵn có thể dùng để lắp ghép lên một hệ thống mới. Danh mục này sẽ nhanh chóng được gia tăng về quy mô và số lượng giúp cho việc phát triển các hệ thống mới thuận tiện và nhanh chóng hơn. Khả năng sử dụng lại dịch vụ này cũng cho phép giảm bớt chi phí phát sinh khi bổ sung thêm các tính năng mới vào hệ thống.
Tuy nhiên, SOA cũng gặp phải một số rào cản, nhược điểm ảnh hưởng đến sự phát triển đồng bộ trong triển khai các ứng dụng, dịch vụ tài chính, ngân hàng như:
- Quản lý phức tạp: Hạn chế chính của kiến trúc hướng dịch vụ là sự phức tạp của nó. Mỗi dịch vụ phải đảm bảo rằng tin nhắn được gửi kịp thời. Số lượng các tin nhắn này có thể lên tới hơn một triệu lần, khiến việc quản lý tất cả các dịch vụ trở thành một thách thức lớn.
- Chi phí đầu tư cao: Phát triển SOA đòi hỏi một sự đầu tư lớn về nguồn nhân lực, công nghệ và nguồn lập trình viên.
- Quá tải: Trong SOA, tất cả các đầu vào được xác nhận trước khi một dịch vụ tương tác với một dịch vụ khác. Khi sử dụng nhiều dịch vụ, điều này làm tăng thời gian phản hồi và giảm hiệu suất tổng thể.
Tóm lại, SOA được thiết kế để giải quyết một phần của vấn đề bằng cách giới thiệu khái niệm “Service”. Một dịch vụ là một nhóm tổng hợp các tính năng tương tự trong một ứng dụng. Do đó, trong SOA, phần mềm được thiết kế như một tổ hợp của các dịch vụ. Tuy nhiên, với SOA, giới hạn hay phạm vi của một dịch vụ khá là rộng khiến các Services cũng có thể trở nên quá to và phức tạp. Mô hình SOA phù hợp nhất cho các hệ thống doanh nghiệp phức tạp như các hệ thống dành cho ngân hàng. Một hệ thống ngân hàng cực kỳ khó để viết dạng microservice, vì nó quá lớn, quá phức tạp để triển khai thành một khối. Giải pháp tốt nhất là sử dụng cách tiếp cận SOA và tổ chức các ứng dụng phức tạp thành các dịch vụ độc lập riêng biệt, như mua sắm, thanh toán tiền điện, nước, cước viễn thông, vé máy bay, liên kết nạp tiền cho thuê bao trả trước, tạo, nạp, rút hay chuyển khoản với ví điện tử, mua các gói bảo hiểm xe máy, ô tô, nhân thọ…
Tài liệu tham khảo:
1. Fabian Aulkemeier, Milan Schramm, Maria-Eugenia Iacob & Jos van Hillegersberg “A Service-Oriented E-Commerce Reference Architecture”, 2016.
2. Evi Triandini, Arif Djunaidy & Daniel Siahaan “A Maturity Model for E-Commerce Adoption By Small And Medium Enterprise In Indonesia”, 2017.
3. Usama Abdulazim Mohamed; Galal-Edeen, Galal H; El-Zoghbi & Adel A. “Building an integrated B2B E-Commerce hub architecture based on SOA and semantic ontology”, 2010.
4. Rebhi Baraka & Yousef Alashqar “Building a SOA-Based Model for Purchase Order Management in E-Commerce Systems”, 2013.
5. Chia-Chu Chiang, “Software Development Concerns in the Building of Service-Oriented Based Enterprise Systems”, 2014.
6. Marc-Thomas Schmidt, Beth Hutchison, Peter Lambros, and Rob Phippen, “The Enterprise Service Bus: Making service-oriented architecture real”, IBM Systems Journal, Vol. 44, No. 4, 2005, pp. 781-797.
7. Rebhi Baraka, Yousef Alashwar “Building a SOA-Based Model for Purchase Order Management in E-Commerce Systems”, 2013.
8. Azubuike Ezenwoke, Sanjay Misra, Mathew Adigun “An Approach for E-Commerce
On-Demand Service-oriented Product line Development”, 2013.
9. Leonando Ismanto, Hendra Suwito AR, Ahmad Nurul Fajar “SOA Integration for E-Marketplace”, Proc. ICOMITEE 2019, October 16th-17th 2019, Jember, Indonesia.