Kiến thức hướng dịch vụ và ứng dụng phát triển phần mềm chứng khoán

  • Số trang: 76 |
  • Loại file: PDF |
  • Lượt xem: 23 |
  • Lượt tải: 0
nhattuvisu

Đã đăng 26946 tài liệu

Mô tả:

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ• • • TRẦN ĐÌNH CHÍ K IÉ N T R Ú C H Ư ỞN G D ỊC H • vụ VÀ ỨNG • DỤNG P H Á T T R IỂ N PHẦN • M È M C H Ứ N G KHOÁN Ngành: CÔNG NGHỆ THÔNG TIN Chuyên ngành: CÔNG NGHỆ PHÀN MÈM Mã số: 60 48 10 LUẬN VĂN THẠC sĩ NGƯỜI HƯỚNG DẲN KHOA HỌC: TS. TRÀN THỊ MINH CHÂU Hà N ộ i-2011 4 MỤC LỤC CHƯƠNG 1 - TÓNG QUAN VỀ SOA........................................................................... 1-. 1 Một số mô hình kiến trúc phân tán hiện tại và sự ra đời của SOA.......................... 1.1.1 D CO M .......................................................... ......................................................... 1.1.2 .NET Remoting...................................................................................................... 1.1.3 RMI....... ....... ....................................... ........................... ...................................... 1 . 1 . 4 . C O R B A . . . . ................................................................................. 12 12 12 13 14 .................................................................................. 15 11.2 Kiến trúc hướng dịch v ụ ................................................................................................ 16 1.2.1 Kiến trúc hướng dịch vụ là g ì?............................................................................. 16 1.2.2 Mô hình cơ bản của SO A ...................................................................................... 16 1.2.3 Kiến trúc phân tầng chi tiết của SOA.................................................................. 16 1.3 Các nguyên tắc thiết kế hệ thống SOA........................................................................ 18 1.3.1 Khớp nối lỏng lẻo dịch vụ (Service Loose Coupling)........................................ 18 1.3.2 Sự trừu tượng hóa dịch vụ (Service Abstraction).............................................. 19 1.3.3 Tái sử dụng dịch vụ (Service Reusability).......................................................... 19 1.3.4 Khả năng tự phục hồi (Self-healing).................................................................... ] 9 1.3.5 Sự tự trị cùa dịch vụ (Service Autonomy)........................................................... 20 1.3.6 Giảm thiếu tiêu thụ tài nguyên dịch vụ (Service Statelessness).........................20 1.3.7 Khả năng dò tìm dịch vụ (Service Discoverability)............................................ 20 1.3.8 Khả năng tổng hợp (Composite)............................................................................20 1.4 Các đặc điểm cúa SO A ....................................................................................................21 1.4.1 Hướng nghiệp vụ (Business-Driven)......................................................................21 1.4.2 Trung lập nhà cung cấp (Vendor-Neutral)............................................................ 21 1.4.3 Trung tâm doanh nghiệp (Enterprise-Centric)......................................................21 1.4.4 Trung tâm tổng hợp (Composition-Centric)......................................................... 21 1.5 Quy trình xây dựng một hệ thống SOA......................................................................... 21 1.6 Các chiến lược thiết kế hệ thống S O A ..........................................................................23 1.6.1 Chiến lược thiết kế top-down................................................................................. 23 1.6.2 Chiến lược thiết kế bottom-up................................................................................24 1.7 SOA và vấn đề tích hợp.................................................................................................. 26 1.7.1 Nhu cầu giải quyết bài toán tích họp..................................................................... 26 1.7.2 Chuyển đổi sang ứng dụng dịch v ụ ....................................................................... 27 1.8 SOA và hiệu năng............................................................................................................ 27 1.8.1 Phân tích vấn đề hiệu năng trong hệ thống S O A .................................................27 1.8.2 Các ràng buộc lời g ọ i..............................................................................................29 1.9 SOA và bảo mật............................................................................................................... 29 1.9.1 Các yêu cầu bảo mật................................................................................................ 29 1.9.2 Sự thỏa thuận với các yêu cầu bảo m ật.................................................................30 1.9.3 Bảo mật, hiệu năng và trạng thái............................................................................34 1.9.4 Bảo mật trong thực t ế ..............................................................................................35 1.9.5 Bảo mật với XML và Web Service....................................................................... 36 1.9.6 Khi nào vấn đề bảo mật cần được xem x é t.......................................................... 40 5 CHƯƠNG 2 - VAI TRÒ CỦA ENTERPRISE SERVICE BUS TRONG SOA........ 41 2.1 Khái niệm Enterprise Service Bus................................................................................. 41 2.2 Vai trò cùa ESB trong SOA............................................................................................ 41 2.3 Các mẫu Enterprise Service B u s ...................................................................................42 2.3.1 Kết nối điểm tới điểm..............................................................................................42 2.3.2 Kiểu lá chắn (Interceptors).....................................................................................44 CHƯƠNG 3 - ỨNG DỤNG WCF VÀO SOA...................................................................47 3.1 Giới thiệu về WCF...........................................................................................................47 3.2 Kiến trúc WCF................................................................................................................. 48 3.2.1. Hợp đồng (Contracts)......................................................................................... 48 3.3.2. Dịch vụ Runtime (Service Runtime)................................................................ 49 3.2.3. Thông điệp (Message)....................................................................................... 49 3.2.4. Kích hoạt và Chứa (Activation and Hosting )............................................... 49 CHƯƠNG 4 - NGHIỆP v ụ PHÀN M ÈM ...................................................................... 51 4.1 Quy trình nhập lệnh môi giới....................................................................................... 5 1 4.1.1 Mô tả khái quát.......................................................................................................5 1 4.1.2 Sơ đồ nghiệp vụ..................................................................................................... 51 4.1.3 Các bước thực hiện................................................................................................ 52 4. 2 Quy trình hủy lệnh........................................................................................................54 4.2.1 Mô tả khái quát......................................................................................................54 4.2.2 Sơ đồ nghiệp vụ......................................................................................................54 4.2.3 Mô tả chi tiết các bước..........................................................................................54 4.3 Quy trình sửa lện h .........................................................................................................55 4.3.1 Mô tả khái quát.......................................................................................................55 4.3.2 Sơ đồ nghiệp vụ......................................................................................................56 4.3.3 Các bước thực hiện................................................................................................ 56 CHƯƠNG 5 - THIẾT KẾ VÀ CÀI ĐẶT HỆ T H Ố N G ..................................................58 5.1 Lý do lựa chọn SOA cho việc phát triển phần mềm chứng khoán..........................58 5.2 Thực trạng của hệ thống phần mềm công ty chứng khoán StockMart Việt N am .. 58 5.3 Thiết kế hệ thống phần mềm mới theo kiến trúc SO A ............................................. 61 5.3.1 Phân tích dịch v ụ ................................................................................................... 61 5.3.2 Thiết kế các thành phần dịch vụ ...........................................................................63 5.3.3 Phát triển các dịch v ụ ............................................................................................68 5.4 Một sổ bảng chính trong cơ sở dữ liệu....................................................................... 68 5.5 Giới thiệu một số màn hình giao diện chính...............................................................73 KẺT L U Ậ N .......................................................................................................................... 77 TÀI LIỆU THAM K HẢ O .................................................................................................. 78 6 DANH M Ụ C HÌNH VẼ Hình 1.1: DCOM mở rộng COM bằng cách cho phép các thành phần COM giao tiếp thông qua các đường biên vật lý.......................................................................................... 12 Hình 1.2: Kiến trúc phân tầng của .NET Remoting......................................................... 13 Hình 1.3: Mô hình cơ bản của S O A ................................................................................... 16 Hình 1.4: Mô hình logic các thành phần của hệ thống SO A ........................................ 17 Hình 1.5: Các bước xây dựng một hệ thống SOA........................................................ 2 1 Hình 1.6: Các bước xây dựng hệ thống theo chiến lược top-down........................23 Hình 1.7: Các bước xây dựng hệ thống theo chiến lược bottom-up....................... 25 Hình 1.8: Biểu đồ tuần tự của một cuộc gọi dịch v ụ ........................................................27 Hình 1.9: Nhiều bước nhảy ngắn giữa người dùng cuối và các hệ thống backend..... 32 Hình 1.10: Các tầng bảo mật cho XML và các web service........................................... 36 Hình 2.1: Một Enterprise Service Bus................................................................................. 42 Hình Hình Hình Hình Hình Hình 2.2: 2.3: 2.4: 2.5: 3.1: 3.2: Một ESB cung cấp các kết nối điểm tới điểm ..................................................43 Một kết nối hòa giải của ESB [SOA in Practice]..............................................43 Một ESB với một bộ cân bằng tải cho các dịch vụ được cung cấp................ 45 Một ESB sử dụng các bộ chắn............................................................................. 46 Mô hình chương trình thống nhất đã được thiết lập bởi W CF........................ 47 Kiến trúc của W CF............................................................................................... 48 Hình Hình Hình Hình Hình Hình 4.1: 4.2: 4.3: 5.1: 5.2: 5.3: Sơ đồ quy trình nhập lệnh môi giới.....................................................................52 Sơ đồ quy trình hủy lệnh môi giới.......................................................................54 Sơ đồ nghiệp vụ quy trình sửa lệnh môi g iớ i.................................................... 56 Mô hình các thành phần của hệ thống phần mềm hiện tạ i...............................59 Các thành phần phần mềm được thiết kế theo kiến trúc S O A ........................ 62 ESB được triển khai để hỗ trợ cơ chế cân bằng tải và khắcphục lỗi...............67 Hình Hình Hình Hình 5.4: 5.5: 5.6: 5.7: Màn hình Màn hình Giao diện Giao diện giao diện đặt lệnh cho khách hàng.....................................................74 giao diện vấn tin lệnh đặt của khách hàng........................................74 vấn tin tổng hợp tài khoản khách hàng............................................. 75 mở tài khoản khách hàng....................................................................75 Hình 5.8: Giao diện quản lý nhóm người dùng và phân quyền.........................................76 Hình 5.9: Giao diện quản lý người dùng............................................................................. 76 7 DANH M Ụ C BẢNG BIÉƯ Bang 4.1: Mô tả chi tiết các bước của quy trình nhập lệnh............................................... 54 Bang 4.2: Mô tả chi tiết các bước của quy trình hủy lệnh................................................. 55 Báng 4.3: Mô tả chi tiết các bước của quy trình sửa lệnh................................................. 57 Bang 5.1: Danh sách các hàm chức năng cho dịch vụ TradingService........................... 64 Báng 5.2: Danh sách các hàm chức năng cho dịch vụ CoreService................................. 66 Bàng Bảng Bảng Bảng 5.3: 5.4: 5.5: 5.6: Mô Mô Mô Mô tả tả tả tả thông thông thông thông tin tin tin tin cho bảng Customers................................................................. 69 bảng GlStockCode.....................................................................69 bảng StockPrice......................................................................... 70 bảng StockOrder........................................................................70 Bảng 5.7: Mô tả thông tin bảng TradingOrder.................................................................... 71 Bảng 5.8: Mô tả thông tin bảng TradingResult...................................................................72 Bảng 5.9: Mô tả thông tin bảng Balance..............................................................................73 Bảng 5.10: Mô tả thông tin bảng Securities......................................................................73 8 BẢNG CÁC KÝ HIỆU V IẾT TẮT X t7 • Diên giai r \ • Ký hiệu viết tắt CK Chứng khoán CORBA Common Object Request Broker Architecture DCOM Distributed Component Object Model DMZ Demilitarized Zone Dos Denial-of-Service - Tấn công từ chối dịch vụ EAI Enterprise Application Integration - Tích hợp ứng dụng doanh nghiệp ESB Enterprise Service Bus HNX Sở giao dịch chứng khoán Hà Nội HSX Sở giao dịch chứng khoán thành phố Hồ Chí Minh IIS Internet Information Services KH Khách hàng RMI Remote Method Invocation SMS Short Message Services - Dịch vụ tin nhắn ngắn SOA Service Oriented Architecture - Kiến trúc hướng dịch vụ SOAP Simple Object Access Protocol SSL Secure Sockets Layer TK Tài khoản TTGD Trung tâm giao dịch WAS Windows Activation Service W CF Windows Communication Foundation ws Web Service WSDL Web Service Definition Language XML Extensible Markup Language 9 TÙ ĐIÉN THUẬT NGŨ s ử DỤNG TRO N G LUẬN VĂN • • • Coarse­ grained Mô tả mức độ gom nhóm xử lý của một thành phân xử lý thông tin. Các thành phần có tính coarse-grained thường truyền nhận và xử lý theo tùng khối dữ liệu có thông tin ngừ cảnh lớn và số lần trao đổi thông tin trong một giao tác là ít. Enterprise application Một sản phâm phân mêm được thiêt kê đê tích hợp các phân mêm con bên trong doanh nghiệp lại với nhau. Mục tiêu là để tích hợp các xử lý nghiệp vụ chính. Fine-grained Các thành phân có tính fine-grained truyên nhận và xử lý theo từng đon vị nhỏ và có ngữ cảnh ngầm định, cần nhiều lần trao đổi thông tin trong một giao tác dẫn đến tăng băng thông sử dụng và kéo dài thời gian hồi đáp. Granularity Khái niệm mô tả độ phức tạp của tiên trình hoặc dịch vụ. Granularity được chia làm hai loại là “fine-grained” và “coarse-grained” . Khái niệm granularity được hiểu một cách trừu tượng không phân biệt hai loại trên và tùy ngữ cảnh mà có cách hiếu khác nhau. Legacy system Hệ thông ứng dụng được cài đặt từ trước nhưng vân còn được sử dụng. Thông thường dây là những hệ thống sử dụng công nghệ đã lỗi thời nhưng vẫn quan trọng và còn hoạt động tốt. Đây là thành phần nền tảng cung câp xử lý cho các dịch vụ hoạt động ở câp cao hơn. Loose coupling Một sản phâm phân mêm được thiêt kê đê tích hợp các phân mêm con bên trong doanh nghiệp lại với nhau. Mục tiêu là đế tích hợp các xử lý Middleware nghiệp vụ chính. Là thành phân trung tâm liên kêt các phân mêm khác lại. Orchestration Sự sắp xếp tự động, điều phối và quản lý hệ thống máy tính phức tạp, lớp giữa và các dịch vụ. Service Consumer Người sử dụng dịch vụ ở đây có thê là một ứng dụng, một dịch vụ hoặc là các module phần mềm khác yêu cầu sử dụng dịch vụ. Service contract Một hợp đông (contract) là một đặc tả vê cách thức bên sử dụng dịch vụ trao đổi liên lạc với bên cung cấp dịch vụ. Nó chỉ rõ ra định dạng yêu cầu và đáp trả của dịch vụ. Service provider Nhà cung câp dịch vụ là một dịch vụ châp nhận và xử lý những yêu cầu từ người sử dụng dịch vụ. Tight coupling Ngược lại vói Loose coupling. 10 LÒÌ M Ở ĐẦU Trong thập kỷ qua, kiến trúc hướng dịch vụ đã chuyển từ sơ khai đến phổ biến trong thế giới phần mềm và bằng nhiều cách nó cho phép các mô hình thông tin tiếp theo cua công nghệ điện toán đám mây. Mô hình “Phần mềm + Dịch vụ” đã trở thành chuẩn mực, các doanh nghiệp định hướng theo kiến trúc SOA sẽ có một cách dễ dàng đê chuyến đối sang điện toán đám mây, SOA cho phép mở rộng quy mô tốt hơn và tiết kiệm chi phí do các tính chất của nó đem lại. Kiến trúc hướng dịch vụ là sự kỳ diệu đàng sau rất nhiều ứng dụng dựa trên Internet và các dịch vụ tích họp thông tin và dừ liệu từ nhiều nguồn thành một nguồn duy nhất. Việc thiết kế một cách lỏng léo của SOA cho phép các nhà phát triển tái sử dụng các dịch vụ hiện có để xây dựng các ứng dụng của họ, tự động thích ứng với thay đối trong những dịch vụ, và cung cấp các dịch vụ riêng của họ đế phát triển ứng dụng khác. Triết lý của SOA là “Đừng tốn công chế tạo lại bánh xe, hãy kết hợp những linh kiện (dịch vụ) có sẵn và bổ sung nhũng gì cần thiết để lắp ráp nhanh chóng chiếc xe đưa bạn đến đích”. SOA phép các nhà phát triên để làm điều đó bởi sự tập trung vào xây dựng các bộ phận duy nhất của các ứng dụng cua họ bằng cách cho phép họ sử dụng lại các dịch vụ hiện có của những người khác đã viết để giải quyết các vấn đề chung. Để phát triển, định hướng dịch vụ cung cấp một mô hình công nghệ có tiềm năng cho việc tạo ra và duy trì có hiệu quả sự tiến hóa của các ứng dụng, các ứng dụng có thề được thay đổi tốt hơn và được mở rộng hơn với các nghiệp vụ. Nhờ ứng dụng SOA, ta có thể định hướng dịch vụ để cung cấp các chiến lược và các công cụ đế phát triển các ứng dụng công nghệ thông tin hiện có và trong khi đồng thời đẩy mạnh phát triển các chức năng mới. Chiến thuật “Trích xuất và thay thế” của quá khứ để đối phó với việc thay đổi các công nghệ và nhu cầu nghiệp vụ đã không còn thích ứng với sự phát triển mạnh mẽ về hạ tầng công nghệ thông tin cũng như các yêu cầu của khách hàng. Như vậy SOA là một kiến trúc khá phổ biến hiện tại, vậy thật sự SOA là gì? Một hệ thống SOA có các tính chất gì?, Kiến trúc của nó ra sao và các mẫu thiết kế nó như thế nào,...? Đó chính là các câu hỏi mà đề tài nghiên cứu và trả lời. 11 Kết cấu của Luận văn, ngoài phần mở đầu và kết luận bao gồm 5 chương: Chuoìig 1 - Tổng quan về SOA Nội dung: Chương này trình bày khái niệm về SOA, mô hình kiến trúc SOA, các nguyên tắc thiết kế hệ thống SOA, quy trình xây dựng hệ thống SOA, đồng thời tìm hiểu một số vấn đề về hiệu năng và bảo mật của hệ thống SOA. C huong 2 - Vai trò của Enterprise service bus (ESB) trong SOA Nội dung: Chương này tìm hiểu khái niệm về ESB, vai trò của ESB trong SOA và một số mẫu thiết kế ESB phổ biến. Chưoìig 3 - ủ n g dụng Windows Communication Foundation (WCF) vào SOA Nội dung: Chương này giới thiệu về công nghệ WCF trong .NET Framework, như khái niệm WCF, mô hình kiến trúc WCF C huong 4 - Nghiệp vụ phần mềm Nội dung: Chương này trình bày một số quy trình nghiệp vụ trong giao dịch chứng khoán như quy trình đặt lệnh, sửa lệnh, hủy lệnh. Chương 5 - Thiết kế và cài đặt hệ thống Nội dung: Chương này trình bày việc phân tích hệ thống phần mềm cũ và xây dụng lại phần mềm theo kiến trúc hướng dịch vụ. 12 C H Ư Ơ N G 1 - TÓNG QUAN VỀ SOA ỈSI Nội dung của chương I trình bày về lý do lựa chọn kiến trúc hướng dịch vụ, từ đỏ đi vào tìm hiểu các nội dung chi tiết về kiến trúc hướng dịch vụ như: Mỏ hình kiên trúc hướng dịch vụ, quy trình thiết kế của kiến trúc hướng dịch vụ, vấn đề tích hợp, vấn đe về hiệu năng và bào mật trong hệ thong hướng dịch vụ. 1.1 Một số mô hình kiến trúc phân tán hiện tại và sự ra đòi của SOA 1.1.1 DCOM COM (Component Object Model) hỗ trợ việc đóng gói các hệ thống hướng đối tượng thành các thành phần nhị phân, nó hồ trợ đóng gói bằng cách ngăn chặn việc lộ ra các chi tiết thực hiện, và đóng gói logic trong các thành phần COM để nó chỉ có thê truy cập được nếu nó đã được lộ ra thông qua một interface chung. DCOM mơ rộng COM để cho phép giao tiếp giữa các máy tính khác nhau. DCOM đã thiết lập một giao thức bảo mật từ xa qua đó thúc đẩy framework báo mật đã được cung cấp bởi hệ điều hành của Windows. Ví dụ, nó được sử dụng danh sách điều khiển truy cập để các thành phần bảo mật mà sau đó có thể được cấu hình bằng cách sử dụng các công cụ DCOMCNFG. c o r/ ỉLrtirre p ro to col s ta c k c o r / r u r t ir r e c o r/ t corrporert p ro to c o l s ta c k ♦ DCOM r e t w o rk p ro to c o l 'Hình 1.1: DCOM mở rộng COM bằng cách cho phép các thành phần COM giao tiếp thông qua các đường biên vật lý Ưu điểm của DCOM: - Dcom là một mô hình phân tán dễ triển khai, chi phí thấp. - Quản lý kết nối hiệu quả và dễ dàng mở rộng. Nhu’O’c điểm của DCOM: [SO A With .NET and w indow s Azure] 13 - Phụ thuộc vào nền tảng Window do đó chỉ sử dụng được với các máy tính cùng sử dụng hệ điều hành Window. - DCOM có một sổ nhược điểm, bao gồm cả việc sử dụng cách ping “keep-alive” (còn được gọi là bộ thu gom rác phân tán), nó yêu cầu client định kỳ ping đối tượng phân tán. Nếu đối tượng phân tán không nhận được một thông điệp trong một khoảng thời gian xác định, nó bị ngừng hoạt động và cuối cùng bị phá hủy. Bộ thu gom rác phân tán là dễ bị lỗi, tăng lưu lượng mạng, và quy mô không vượt ra ngoài mạng nội bộ. DCOM do đó không thích hợp cho mạng WAN. - DCOM thông qua trực tiếp kết nổi TCP trên cổng cụ thể, làm cho nó phức tạp đế cấu hình trên nhiều máy tính và tường lửa, và thậm chí kém thích hợp cho truyền thông qua Internet. -.NET Enterprise Services có một vài giới hạn khi thiết kế dịch vụ với DCOM. Ví dụ, giao tiếp là phụ thuộc vào DCOM và proxy của client bị gắn chặt với server. Điều này gây khó khăn để thiết kế theo nguyên tắc chuẩn hóa các hợp đồng dịch vụ và tính loose coupling của dịch vụ. ỉ . 1.2 .N E T Remoting Tương tự như các công nghệ phân tán khác, .NET Remoting sử dụng một đối tượng proxy cho giao tiếp. Lớp proxy đóng vai đối tượng từ xa tại nội bộ và trừu tượng hóa ra bên ngoài cho quá trình giao tiếp, về bản chất, các lớp proxy chặn cuộc gọi và giao tiếp với đối tượng từ xa trên đại diện cho client. 2Hình 1.2: Kiến trúc phản tầng của .NET Remoting 2 [SOA With .NET and w indow s Azure] 14 Gói đối tượng giao tiếp với bộ định dạng đế các gói mà client yêu cầu và server đáp ứng được định dạng phù hợp. Bộ định dạng chuyển các thông điệp tới SOAP hoặc định dạng nhị phân. Bộ định dạng sau đó giao tiếp với các kênh truyền vận nhàm sử dụng thích hợp giao thức truyền vận để truyền tải dữ liệu. Kiến trúc phân tầng của •NET Remoting này được mở rộng và cho phép các định dạng mới và các kênh được giới thiệu. Kênh này và bộ định dạng cho một ứng dụng .NET hiện tại có thể được thay đối tập tin cấu hình ứng dụng mà không cần biên dịch lại mã. Khả năng cấu hình một ứng dụng phân tán bằng cách sử dụng một file cấu hình rất hiệu quả. Điều này đã được áp dụng sau đó với ASP.NET web service và sau đó là WCF. Ưu điểm của .NET Remoting: - .NET Remoting đã được giới thiệu chủ yếu để giải quyết những hạn chế trong COM và DCOM. Như với DCOM, nó cung cấp một cơ chế phân tán giữa các máy tính cho phép các client nhanh chóng cấu hình trên máy tính từ xa. Tuy nhiên, nó cho phép các thành phần client và server được cấu hình bằng cách sử dụng một file cấu hình XML, về cơ bản cho phép. NET Remoting đề thực hiện giao tiếp từ xa bằng cách gưi thông điệp nhị phân và thông điệp XML dựa trên SOAP. Nhược điểm của .NET Remoting: - .NET Remoting là công nghệ độc quyền của .NET, nó chỉ được sử dụng trong các hệ thống .NET và do đó không được thiết kế để hỗ trợ khả năng tương tác giữa các dịch vụ. Đối tượng .NET Remoting chỉ có thể được sử dụng với các client .NET khác và chủ yếu được sử dụng như là một phần của giải pháp phân tán đóng rằng không cần phải công bổ các hợp đồng hoặc các API. Nó chủ yếu được thiết kế để phù hợp giao tiếp trong các hệ thống . NET với nhau. - .NET Remoting thiếu khả năng chia sẻ hợp đồng vì nó không viện dẫn một cơ chế cho sự khám phá interface. - Nó không tương thích với Web Service và WCF ngay cả khi cấu hình để sử dụng định dạng SOAP và HTTP như một giao thức truyền vận. Điều này là bới vì .NET Remoting dựa vào RPC/Encoded SOAP, trong khi WCF và Web Service sử dụng các thông tin cơ bản trên Web Service. - Nó hạn chế việc áp dụng nguyên tắc tự trị dịch vụ. Với .NET remoting, người tiêu dùng kết hợp chặt chẽ với dịch vụ và tham chiếu với giao diện hoàn thành đã được chuyển đến người tiêu dùng dịch vụ để nó có thể được sử dụng. Việc gắn kết chặt này dẫn đến một sự mất mát đáng kể của tiềm năng tự trị dịch vụ. - Nó có một số giới hạn về hosting và không đưa ra một mô hình bảo mật. 1.1.3 RMI RMI là một phương pháp tiếp cận nơi mà một phương thức trên một máy từ xa viện dẫn một phương thức khác trên một máy tính khác để thực hiện một vài tính toán và trả về kết quả tới lời gọi phương thức, RMI được sử dụng để tương tác với các phương thức của những đối tượng trong những máy từ xa khác sử dụng JVM. 15 ư u điểm RMI: - Dễ dàng cài đặt dẫn tới các ứng dụng mạnh mẽ, dễ báo trì và mềm déo hơn. Nhược điểm RMI: - Kém hiệu quả hơn các đối tượng socket. - Không thể sử dụng mã ra khỏi phạm vi của Java. - Các vấn đề về an ninh cần được theo dõi một cách chặt chẽ hơn. - Không hồ trợ cho việc tái sử dụng các hệ thống cũ. 1.1.4. CORBA CORBA là một chuẩn được định nghĩa bởi Object Management Group (OMG) I1Ó cho phép các thành phần phần mềm được viết với nhiều ngôn ngừ và chạy trên nhiều máy tính đe làm việc cùng nhau, CORBA hồ trợ nhiều nền tảng. CORBA nằm ớ tầng giữa cho các đối tượng phân tán Ưu điểm: - Hướng đối tượng. - Định vị/truy cập trong suốt. - Độc lập ngôn ngữ. - Độc lập phần cứng. - Độc lập hệ điều hành. - Chuẩn mở, kiến trúc độc lập với nhà cung cấp. - Đa dạng trong việc thiết lập các dịch vụ. - HỖ trợ nhiều ngôn ngữ lập trình, nền tảng phần cứng, giao thức mạng và công nghệ để phát triển mà vẫn thoả các tính chất của CORBA. - Có thể tích hợp với các hệ thống cũ viết bằng các ngôn ngữ khác nhau nhưng cùng tuân theo kiến trúc của CORBA. Nhưọc điểm: - CORBA là ngôn ngừ lập trình cấp thấp, rất phức tạp, khó học và cần có một đội ngũ phát triển có kinh nghiệm. - Các đối tượng CORBA khó có thể tái sử dụng. Nhận xét chung: Các kiến trúc phân tán như RMI, DCOM,.Net Remoting, CORBA đa phần là các chuẩn đóng, chúng hầu như không thể kết họp với các chuẩn khác dẫn tới việc khó có thế tích hợp và tái sử dụng lại các hệ thống khác chuẩn với nhau. Ví dụ như bắt đối tượng Java trao đổi dừ liệu trực tiếp với một đối tượng DCOM là không thể. Như vậy bài toán đặt ra đối với các nhà phát triển phần mềm là phải tạo ra được một kiến trúc mới nhằm có thể tận dụng được các ưu điểm của các kiến trúc phân tán trôn đồng thời còn có khả năng dễ dàng tích họp với các hệ thống khác, dễ dàng m ở rộng, nâng cấp,...và các nhà phát triển phần mềm đã tạo ra một kiến trúc mới thỏa mãn các tính chất trên đó là kiến trúc hướng dịch vụ (SOA). 16 1.2 Kiến trúc hướng dịch vụ 1.2.1 Kiến trúc hướng dịch vụ là gì? Kiến trúc hướng dịch vụ (SOA) là một phương pháp luận được sứ dụng trong phát triển phần mềm để xây dựng các hệ thống phân tán. Phân phát các chức năng dưới dạng các dịch vụ và các dịch vụ được người dùng cuối sử dụng vào ứng dụng cùa mình hoặc được sử dụng để xây dựng một dịch vụ khác. Giống như khái niệm đổi tượng là trung tâm của kiến trúc hướng đối tượng thì khái niệm dịch vụ là trung tàm của SOA. Dịch vụ (Service) là các hàm chức năng, mô đun phần mềm thực hiện một qui trình nghiệp vụ nào đó. 1.2.2 Mô hình cơ bản của SOA Service p ro v id e r service request service response Hình 1.3: Mô hình cơ bản của SOA Trong đó: Service provider Một service provider cung cấp các dịch vụ phục vụ cho một nhu cầu nào đó. Người dùng (service consumer) không cần quan tâm đến vị trí thực sự mà service họ cần sử dụng đang hoạt động, họ chỉ cần quan tâm dịch vụ đó là gì. Service consumer Người dùng sử dụng dịch vụ được cung cấp bởi Service Provider 1.2.3 Kiến trúc phân tầng chỉ tiết của SOA Hiện tại không có một mô hình thống nhất cho các thành phần của hệ thống SOA, mồi công ty khác nhau khi phát triển một hệ thống SOA có thể đưa ra mô hình các thành phần của SOA khác nhau, đây là mô hình các thành phần của hệ thống SOA theo quan điểm của công ty IBM và đây cũng là một mô hình khá phổ biến cho kiến trúc cùa hệ thống SOA. 1 [B u ild in g S O A -b a se d S o lu tio n s for IB M S y ste m i P latform ] 4 [h ttp ://w w w .ser v ice -a rc h ite c tu r e .c o m ] 17 H u sin ess services h x p lo il the S O A fo u n d a tio n ta d e live r a c o m p o rte n i b u s in e s s m o d e l Bus n e s s inn ovation & o p tim iza tio n s e rvices Provifle for better decision-m aking with real-tim e business Interaction services Vi X UfQb'e COỈÍQÙoîûtfon t'.eî'A'fî f?/i peopfe a; Ẹ *-> ựi Ui ■n Œ c ai ị re u — ttî E n terprise s ervice bus Enable inter-conneclivỉty betw een services ° a r r e r s e 'V ices CỉMnect with tỉrìrtm <7 partners B u sin ess application s e rvices Biiiỉơ Of? (i robu st A c c e s s s e 'Vi ces lí> u l 0 Ư) T' c Tỉ ) . Cl aj Facibt&iv mtuructiofis v*ầttt: existing information -3/10 upphcutiotf assets scafabie. and secure set Vices títỉv/ĩotỉ(ĨW Ỉ \ĩ infrastru ctu re s e rvices O ptim ize throughput, availability and utilization r y r Hình 1.4: Mô hình logic các thành phân của hệ thông SOA Trong đó: Enterprise Service Bus (ESB): Là thành phần cơ bản của SOA cung cấp khà năng kết nối cần thiết cho những dịch vụ trong toàn bộ hệ thống, bao gồm cả dịch vụ liên quan tới thực hiện giao vận (transport), quản lý tình huống (event) và điều phối (mediation). ESB cho phép nhà phát triển tận dụng giá trị của phương thức giao tiếp qua gửi nhận thcng điệp mà không phải thực hiện viết những đoạn mã chuyên biệt. Dịch vụ tương tác (interaction services) có trách nhiệm trình bày các mô hình nghiệp vụ Nói cách khác, đây là những thành phần giúp các ứng dụng và người dùng cuối giao tiếp với nhau, ở đây người dùng cuối (enduser) không chỉ là con người, mà cũng có thể là cảm biến, robot,... Dịch vụ quy trình (Process services) chịu trách nhiệm cho logic thành phần. Thành phin là tập hợp các dịch vụ mà được tạo một luồng tiến trình nghiệp vụ. Và các dịch vụ quy trình tạo ra các cơ chế thành phần. Dịch vụ thông tin (Information services) chịu trách nhiệm về tính logic của dừ liệu, dịch vụ này cung cấp các chức năng tập hợp, thay thế và chuyển đổi nhiều nguồn dừ liệi khác nhau được thực hiện bởi nhiều cách thức khác nhau. Những dịch vụ này có mệt ở hai cấp độ: cấp độ bên ngoài đảm bảo việc cung cấp truy cập vào các dừ liệu cùa doinh nghiệp và cấp độ bên trong đảm bảo luồng dữ liệu trong tổ chức. ĐAI HỌC QUỐC GIA HẢ NỘI ■TRUNG TẤM THÔNG ỈIN THƯ VIẺ N I o o o ap o o o w - 18 Dịch vụ đôi tác (Partner services) có trách nhiệm thu thập thông tin về đối tác (ví dụ như các chính sách và hạn chế) và cung cấp tài liệu, giao thức, các chức năng quản lý đối tác cho những quy trình nghiệp vụ có yêu cầu tương tác với đối tác bên ngoài và nhà cung cấp. Dịch vụ ứng dụng nghiệp vụ (Business application services) chịu trách nhiệm về logic nghiệp vụ cốt lõi. Đây là những dịch vụ được tạo ra đặc biệt để thực hiện các mô hình nghiệp vụ. Chúng đại diện cho các khối xây dựng cơ bản cho việc thiết kế quy trình nghiệp vụ . Những dịch vụ này không thể bị phân hủy, thay vì kết nối với các dịch vụ khác để tạo thành một quy trình nghiệp vụ. Dịch vụ truy cập (Access services) có trách nhiệm để kết nối các ứng dụng và chức năng vào kiến trúc hướng dịch vụ. Cung cấp các chức năng bắc cầu cho những ứng dụng cũ (legacy applications), kho dừ liệu chính, và ESB nhằm kết họp dịch vụ có trong những ứng dụng hiện tại vào hệ thống SOA. Dịch vụ đoi mới và tối ưu hóa nghiệp vụ (Business innovation and optimization services) có trách nhiệm cung cấp các công cụ và các cấu trúc siêu dữ liệu đê đại diện cho thiết kế nghiệp vụ, bao gồm cả chính sách và mục tiêu nghiệp vụ. Dịch vụ phát triển (Development services) cung cấp môi trường tích hợp cho thiết kế và tạo ra giải pháp. Dịch vụ cơ sở hạ tầng (Infrastructure services) Những dịch vụ này có trách nhiệm để lưu trữ các ứng dụng SOA và giúp cung cấp sử dụng hiệu quả các nguồn tài nguyên đế tối ưu băng thông, sẵn sàng và hiệu năng. Đây chỉ là một tổng quan về các thành phần chính của mô hình SOA. Như đã đề cập, các công ty khác nhau cung cấp cách nhìn khác nhau trên cùng một vấn đề. Tuy nhiên, các nguyên tắc chính vẫn như cũ. SOA là một kiến trúc đó là dựa trên dịch vụ, đóng gói, tái sử dụng và khớp nối lỏng lẻo. Đây là dịch vụ tạo ra giá trị kinh doanh, hỗ trợ tin học và thế giới nghiệp vụ để giao tiếp một cách thích hợp. Dịch vụ có thế được truy cập và sử dụng từ bên trong tổ chức với sự giúp đỡ của dịch vụ ESB. 61.3 Các nguyên tắc thiết kế hệ thống SOA 1.3.1 Khớp nối lỏng lẻo dịch vụ (Service Loose Coupling) Coupling đề cập đển một kết nối hay mối quan hệ giữa hai thành phần. Một biện pháp của các khớp nối có thể so sánh được với một mức độ phụ thuộc. Nguyên tắc này ủng hộ việc tạo ra một loại hình cụ thể của mối quan hệ bên trong và bên ngoài địa giới dịch vụ, với sự nhấn mạnh liên tục giảm sự phụ thuộc giữa các hợp đồng dịch vụ, sự thi hành, và người tiêu dùng dịch vụ của nó. Nguyên tắc của dịch vụ “Loose coupling” thúc đẩy thiết kế và đánh giá độc lập logic của một dịch vụ và thực hiện trong khi vẫn đảm bảo khả năng tương tác với người tiêu dùng. Có rất nhiều loại cua các khớp nối có liên quan đến trong thiết kế của một dịch vụ, mỗi trong số đó có thể ảnh hưởng đến nội dung và chi tiết các hợp đồng của nó. Để đạt được mức độ thích 6 [SOA Principles o f Service D esign] 19 hợp của các khớp nối yêu cầu xem xét thực tế được cân đối với các ưu đãi dịch vụ thiết kế khác nhau. 1.3.2 Sự trừu tượng hóa dịch vụ (Service Abstraction) Các hợp đồng dịch vụ chỉ chứa đựng thông tin cần thiết và các thông tin về dịch vụ được giới hạn bởi những gì đã được công bố trong các hợp đồng dịch vụ. Mối quan hệ trừu tượng vào nhiều khía cạnh của định hướng dịch vụ. Ở mức độ cơ bản, nguyên tắc này nhấn mạnh sự cần thiết phải ẩn càng nhiều các chi tiết cơ bản của một dịch vụ càng tốt. Làm như vậy trực tiếp cho phép và duy trì mối quan hệ “loose coupling” như phần mô tá trước. Sự trừu tượng hóa dịch vụ cũng đóng một vai trò quan trọng trong việc định vị và thiết kế các thành phần dịch vụ, các hình thức khác nhau của siêu dừ liệu vào hình ảnh khi đánh giá mức độ trừu tượng thích hợp. Mức độ trừu tưọng áp dụng có thể ảnh hưởng đến tính granularity của hợp đồng dịch vụ và tiếp tục có thê ảnh hưởng đến chi phí và nỗ lực cuối cùng của quản lý dịch vụ. 1.3.3 Tái sử dụng dịch vụ (Service Reusability) Tái sử dụng dịch vụ là nhấn mạnh trong định hướng dịch vụ, vì thế nó sẽ trở thành một phần cốt lõi của phân tích dịch vụ, các quá trình thiết kể, và cũng tạo cơ sở CỈ10 các mô hình dịch vụ quan trọng. Sự tiến triển của công nghệ dịch vụ đã cung cấp co hội đế tối đa hóa tiềm năng tái sử dụng dịch vụ đa mục đích trên một mức độ chưa từng có. Tái sử dụng lại các dịch vụ còn giúp loại bỏ những thành phần trùng lặp và tăng tốc độ vững chắc trong cài đặt, nó còn giúp đơn giản hóa việc quản trị. 1.3.4 Khả năng tự phục hồi (Self-healing) Với kích cỡ và độ phức tạp của những ứng dụng phân tán ngày nay, khả năng phục hồi của một hệ thống sau khi bị lỗi trở thành một yếu tố quan trọng. Một hệ thống tự hồi phục (self-healing) là một hệ thống có khả năng tự hồi phục sau khi bị lỗi mà không cần sự can thiệp của con người. Độ tin cậy (reliability) là mức độ đo khả năng một hệ thống xử lý tốt như thế nào trong tình trạng hỗn loạn. Trong kiến trúc hướng dịch vụ, các dịch vụ luôn có thể hoạt động hay ngừng bất kỳ lúc nào, nhất là đối với những ứng dụng tồng hợp từ nhiều dịch vụ của nhiều tổ chức khác nhau. Độ tin cậy phụ thuộc vào khả năng phục hồi của phần cứng sau khi bị lỗi. Hạ tầng mạng phải cho phép các kết nối động từ nhiều hệ thống khác nhau kết nối đến trong khi chạy. Một khía cạnh khác ảnh hưởng đến độ tin cậy là kiến trúc mà dựa trên để xây dựng ứng dụng. Một kiến trúc hỗ trợ kết nối và thực thi động khi chạy sẽ có khả năng tự phục hồi hơn một hệ thống không hỗ trợ những tính năng trên. Thêm vào đó, bởi vì những hệ thống dựa trên dịch vụ yêu cầu sự tách biệt giữa giao diện (interface) và cài đặt nèn có thể có nhiều cài đặt khác nhau cho cùng một giao diện. Nếu một thể hiện dịch vụ nào đó không hoạt động thì một thể hiện khác vẫn có thể hoàn tất giao dịch cho khách hàng mà không bị ảnh hưởng gì. Khả năng này chỉ có được khi khách hàng chí tương tác với giao diện (interface) của dịch vụ chứ không tương tác trực tiếp cài đặt của dịch vụ. Đây là một trong những tính chất cơ bản của các hệ thống hướng dịch vụ. 20 1.3.5 S ự tự trị của dịch vụ (Service Autonomy) Đối với dịch vụ để thực hiện khả năng của mình một cách nhất quán và đáng tin cậy, giải pháp logic cơ bản để có một mức độ đáng kê của việc kiểm soát môi trường và tài nguyên của nó. Nguyên tắc tự trị dịch vụ hồ trợ khi mà các nguyên tắc thiết kế khác có hiệu quả thực hiện trong môi trường sản xuất thực, bằng cách bố sung các đặc điểm thiết kế làm tăng độ tin cậy của dịch vụ và khả năng dự đoán hành vi. Nguyên tấc nàv đặt ra các vấn đề khác nhau mà liên quan đến các thiết kế logic dịch vụ cùng như môi trường thực hiện thực tế của dịch vụ. Mức cô lập và xem xét bình thường hóa dịch vụ được đưa vào để đạt được một biện pháp phù hợp với quyền tự trị, đặc biệt cho các dịch vụ tái sử dụng thường xuyên chia sẻ. 1.3.6 Giảm thiểu tiêu thụ tài nguyên dịch vụ (Service Statelessness) Dịch vụ giảm thiểu tiêu thụ tài nguyên bằng cách trì hoãn việc quản lý thông tin trạng thái khi cần thiết. Việc quản lý thông tin trạng thái quá mức có thể làm suy yếu khả năng mở rộng của nó. Dịch vụ lý tưởng thiết kế để duy trì trạng thái khi có yêu cầu. 1.3.7 Khả năng dò tìm dịch vụ (Service Discoverability) Khi một client cần đến một dịch vụ nào đó có thể tìm kiếm dịch vụ dựa trên một số tiêu chí. Client chỉ cần hỏi một đăng ký (registry) về một dịch vụ nào thởa yêu càu tìm kiếm rồi trả về cho client một dịch vụ thích hợp. 1.3.8 Khả năng tổng hợp (Composite) Chức năng phần mềm có thể được đóng gói như là các dịch vụ có mức độ trừu tượng khác nhau trong một nghiệp vụ. Các dịch vụ có thể được tống hợp đê cài đặt các dịch vụ có mức độ trừu tượng cao hơn. Ví dụ, việc tổng hợp một quy trình nghiệp vụ từ các dịch vụ, sau đó quy trình được kết xuất như là một dịch vụ. Khả năng tổng hợp của dịch vụ liên quan tới cấu trúc đặc tả của dịch vụ. c ấ u trúc đặc tả cho phép các dịch vụ có khả năng tổng họp, lắp ráp vào các ứng dụng mà lập trình viên tích hợp không quan tâm đến dịch vụ đó được thiết kế như thế nào. Bằng việc sử dụng các dịch vụ đã được kiểm thử và xây dựng hoàn chỉnh làm gia tăng chất lượng của hệ thống phần mềm. Xây dựng các hệ thống theo kiến trúc hướng dịch vụ là đầu tư cho hiện tại và cả tương lai. Vì các dịch vụ dễ dàng dùng lại, dễ dàng tổng họp vào các ứng dụng khác. Với khả năng tổng hợp của dịch vụ làm cho hệ thống phần mềm có thế thích ứng nhanh chóng với các thay đổi, dễ dàng cải tiến, tái cấu trúc hệ thống phần mềm và thêm mới các chức năng cho nó một cách nhanh nhất có thể có. Một dịch vụ có thê được tổng hợp theo 3 cách: ứng dụng tổng hợp, các dịch vụ liên quan, dịch vụ tống hợp. Một ứng dụng thường là sự lắp ráp, tổng hợp từ các dịch vụ, các thành phần với nhau cho một mục đích xác định. Dịch vụ liên quan là tập các dịch vụ được quan lý trong một dịch vụ lớn hơn. Ví dụ, dịch vụ kiểm tra tài khoản, dịch vụ đăng kí tài khoản, dịch vụ quản lý thông tin khách hàng. Có thể được tổng hợp vào dịch vụ lớn là dịch vụ khách hàng. Dịch vụ tổng họp là dịch vụ thực thi một nghiệp vụ, tương tác với 21 nhiều dịch vụ hệ thống để tạo ra bản thân nó, thường được gọi là quy trình nghiệp vụ. Quy trình nghiệp vụ gồm một hay nhiều bước thực hiện, mỗi bước thực hiện là một tác vụ nghiệp vụ, mỗi tác vụ nghiệp vụ thực hiện gọi dịch vụ đế hoàn thành tác vụ. 71.4 Các đặc điểm của SOA 1.4.1 Hướng nghiệp vụ (Business-Driven) Kiến trúc công nghệ phù hợp với kiến trúc nghiệp vụ hiện tại. Bối cảnh này sau đó được duy trì liên tục để các kiến trúc công nghệ phát triển song song với nghiệp vụ theo thời gian. 1.4.2 Trung lập nhà cung cấp (Vendor-Neutral) Mô hình kiến trúc không chỉ dựa vào một nền tảng nhất định, cho phép các công nghệ của các nhà cung cấp khác nhau được kết họp hoặc thay thế theo thời gian đê tối đa hóa các yêu cầu nghiệp vụ. 1.4.3 Trung tâm doanh nghiệp (Enterprise-Centric) Phạm vi của kiến trúc đại diện cho một phân đoạn có ý nghĩa của doanh nghiệp, cho phép tái sử dụng và tống hợp các dịch vụ, đồng thời cho phép các giải pháp hướng dịch vụ để mở rộng ứng dụng truyền thống. 1.4.4 Trung tâm tổng hợp (Composition-Centric) Kiến trúc vốn đã hỗ trợ khả năng của việc lặp lại sự tổng hợp dịch vụ, cho phép nó đế thích ứng với thay đổi liên tục thông qua khả năng nhanh chóng lắp ráp các thành phần dịch vụ. 1.5 Quy trình xây dựng một hệ thống SOA Xây dựng một hệ thống SOA trải qua các bước như hình sau: i 1f Service-or »entod analysis Service development Service deployment 1r 1f 1Ỉ Service oriented design Service testing Service administration i 1 8Hình 1.5: Các bước xảy dựng một hệ thống SOA Bưóc 1: Service-oriented analysis (Phân tích hướng dịch vụ) 7 [S O A D esig n Patterns] 8 [S ervice-O rien ted A rchitecture: C o n cep ts, T e c h n o lo g y , and D esig n ] 22 Đây là pha đầu tiên trong tiến trình xây dựng hệ thống SOA. Pha này có nhiệm vụ xác định rõ các yêu cầu nghiệp vụ của một hệ thống SOA đồng thời nó quyết định phạm vi của hệ thống SOA. Các mục tiêu tổng thể thực hiện một phân tích hướng dịch vụ như sau: - Xác định một tập hợp sơ bộ của các dịch vụ trong hệ thống. - Xác định miền dịch vụ: + Làm sao gom nhóm các dịch vụ thành các miền luận lý (logic domain). + Việc phân loại gom nhóm các dịch vụ thành các miền luận lý sẽ đơn giản hóa kiến trúc bơi sẽ giảm được sổ lượng các thành phần cần xây dựng.Việc định nghĩa các miền như thế cũng ảnh hưởng đến nhiều khía cạnh khác của kiến trúc hệ thống như cân bằng tải, điều khiến truy cập, sự phân chia theo chiều sâu hay chiều rộng cua xử lý nuhiệp vụ. - Xác định ranh giới dịch vụ sơ bộ để chúng không trùng với bất kỳ dịch vụ hiện cỏ hoặc dự kiến. - Xác định logic đóng gói với tiềm năng tái sử dụng. - Đảm bảo rằng bối cảnh của logic đóng gói phù họp cho mục đích sử dụng của nó. - Xác định bất kỳ mô hình thành phần ban đầu được biết đến. Bưó'c 2: Service-oriented design (Thiết kế hướng dịch vụ) Thiết kế theo định hướng dịch vụ là một quá trình cụ thể thiết kế dịch vụ vật lý được dẫn xuất từ các ứng viên dịch vụ hợp lý và sau đó lắp ráp thành các thành phần trừu tượng mà thực hiện một quy trình nghiệp vụ. Các cáu hỏi chính đã được trả lời trong pha này là: - Làm thế nào đế xác định giao diện dịch vụ vật lý có thể được bắt nguồn từ các ứng viên dịch vụ theo mô hình trong giai đoạn phân tích hướng dịch vụ? - Những đặc điểm gì của SOA mà ta muốn nhận ra và hỗ trợ? - Chuẩn công nghiệp gì và phần mở rộng sẽ được yêu cầu bởi SOA để thực hiện thiết kế các dịch vụ và các đặc tính của SOA? Các mục tiêu trong giai đoạn này là: - Xác định các thiết lập cốt lõi của phần kiến trúc mở rộng. - Thiết lập ranh giới của kiến trúc. - Xác định các chuẩn thiết kế yêu cầu. - Xác định giao diện dịch vụ trừu tượng. - Xác định các thành phần dịch vụ tiềm năng. - Đánh giá hồ trợ cho các nguyên tắc hướng dịch vụ. - Khám phá hỗ trợ cho các đặc điểm của SOA hiện tại. Bưóc 3: Service development (Phát triển dịch vụ) Giai đoạn này bao gồm việc lựa chọn ngôn ngừ lập trình và môi trường phát triên các thành phần dịch vụ trong hệ thống SOA, đây là bước xây dựng thực tế hệ thống SOA dựa trên việc phân tích và thiết kế yêu cầu như ở trên.
- Xem thêm -