Nghiên cứu ứng dụng phương pháp kiến trúc và mô hình hóa hướng dịch vụ trong công nghệ phát triển phần mềm

106 13 0
Nghiên cứu ứng dụng phương pháp kiến trúc và mô hình hóa hướng dịch vụ trong công nghệ phát triển phần mềm

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

1 MỤC LỤC Trang Chương - TỔNG QUAN 1.1 Thực trạng 1.2 Phân tích, đánh giá số mơ hình kiến trúc phân tán 11 1.3 Các vấn đề phát sinh, nguyên nhân biện pháp khắc phục 14 Chương - GIỚI THIỆU VỀ KIẾN TRÚC HƯỚNG DỊCH VỤ (SOA SERVICE ORIENTED ARCHITECTURE) 17 2.1 Giới thiệu trúc hướng dịch vụ 17 2.2 Bốn nguyên tắc hệ thống SOA 18 2.3 2.2.1 Sự phân định ranh giới rạch ròi dịch vụ 18 2.2.2 Các dịch vụ tự hoạt động 18 2.2.3 Các dịch vụ chia sẻ lược đồ 18 2.2.4 Tính tương thích dịch vụ dựa sách 19 Các tính chất hệ thống 19 2.3.1 Sự liên kết lỏng lẻo (Loose coupling) 19 2.3.2 Sử dụng lại dịch vụ 20 2.3.3 Sử dụng dịch vụ bất đồng 21 2.3.4 Quản lý sách 21 2.3.5 Khả cộng tác 21 2.3.6 Tự tìm ràng buộc động 22 2.3.7 Tự hồi phục 22 2.4 Lợi ích SOA 23 2.5 Một số mơ hình triển khai SOA 26 2.6 Kiến trúc phân tầng chi tiết SOA 29 2.6.1 Tầng kết nối 29 2.6.2 Tầng orchestration 30 2.6.3 Tầng ứng dụng tổng hợp 31 Chương - NGHIÊN CỨU TÌNH HUỐNG, KHUNG NHÌN NGHIỆP VỤ, XÂY DỰNG ỨNG DỤNG 33 3.1 Những thách thức xây dựng hệ thống SOA 33 3.2 Xây dựng hệ thống 35 3.2.1 Giới thiệu toán 35 3.2.2 Một số khái niệm 36 3.2.3 Các bước xây dựng hệ thống SOA 3.3 Triển khai SOA thực tế 39 47 3.3.1 Các đặc trưng kinh doanh 48 3.3.2 Các đặc trưng công nghệ 48 3.3.3 Các chuẩn mở 51 3.3.4 Kiến trúc hướng dịch vụ Thương mại điện tử theo yêu cầu 51 Chương - SOA VÀ VẤN ĐỀ TÍCH HỢP 53 4.1 53 Giới thiệu Enterprise Application Integration 4.1.1 4.1.2 4.2 Hiện trạng Một số lý khiến tổ chức doanh nghiệp phải quan tâm đến vấn đề tích hợp (xét mặt nghiệp vụ) 54 4.1.3 Các vấn đề tích hợp gặp phải tích hợp hệ thống 55 4.1.4 Các yêu cầu cho giải pháp tích hợp 55 4.1.5 Việc tích hợp áp dụng nhiều tầng khác 55 Phân tích số kỹ thuật tích hợp sử dụng lớp (Middleware) 4.2.1 Khái niệm lớp (middleware) 4.2.2 Các sản phẩm lớp (Middleware) sử dụng tích hợp hệ thống 4.3 57 57 57 SOA web service giải vấn đề tích hợp 4.3.1 Công nghệ XML web service 4.3.2 Tích hợp dịch vụ Web (Web services integration-WSI) tích hợp hướng dịch vụ (Service-oriented integration-SOI) 4.4 53 60 60 61 Ứng dụng SOA Web service để tích hợp hệ thống xây dựng NET J2EE 65 4.5 67 Ứng dụng SOA Web service việc tích hợp hệ thống cũ Chương - SOA VÀ QUẢN LÝ TIẾN TRÌNH NGHIỆP VỤ 72 5.1 72 Một số khái niệm Quản lý tiến trình nghiệp vụ 5.1.1 Tiến trình nghiệp vụ 72 5.1.2 Quản lý tiến trình 73 5.1.3 Hệ quản lý tiến trình 73 5.2 Quản lý tiến trình, SOA Web Service 5.2.1 5.2.2 Quản lý tiến trình, SOA Web Service kết hợp 5.4 75 Phân tích ví dụ kết hợp Quản lý tiến trình, SOA web service 5.3 75 78 Thiết kế tiến trình 83 5.3.1 Orchestration Choreography 83 5.3.2 Các yêu cầu kỹ thuật thiết kế tiến trình 85 5.3.3 Giới thiệu số ngôn ngữ đặc tả tiến trình 86 So sánh kiến trúc hướng mơ hình (Moden Driven Architecture – MDA) với kiến trúc hướng dịch vụ (Service Oriented Architecture – SOA) [1] 90 Chương - ỨNG DỤNG SOA TRONG QUẢN LÝ NGUỒN NHÂN LỰC 93 6.1 93 6.2 Thực trạng hệ thống ứng dụng tập đồn 6.1.1 Mơ tả 93 6.1.2 Hệ thống quản lý nguồn nhân lực PeopleSoft 93 6.1.3 Nhu cầu thực tế 94 Áp dụng mơ hình kiến trúc hướng dịch vụ vào phần mềm quản lý nguồn nhân lực PeopleSoft 94 6.2.1 Mô tả 94 6.2.2 Xây dựng ứng dụng FPT SOA 96 LỜI CẢM ƠN Luận văn thành học tập, nghiên cứu giúp đỡ nhiệt tình đồng nghiệp công ty hệ thống thông tin FPT Tôi xin chân thành cảm ơn TS Ngô Văn Hiền – thầy nhiệt tình hướng dẫn, giúp đỡ động viên, cung cấp tài liệu quý báu giúp đỡ q trình học tập hồn thiện luận văn Cảm ơn TS Hồ Tường Vinh cho nhiều ý kiến góp ý quý báu Xin trân trọng cảm ơn thầy cô giáo Khoa Công nghệ thông tin Trường Đại học Công nghệ Hà Nội dạy dỗ thời gian qua, anh chị đồng nghiệp gia đình giúp đỡ tơi q trình học tập hoàn thành luận văn DANH SÁCH CÁC THUẬT NGỮ VÀ KHÁI NIỆM Service Consumer : người sử dụng dịch vụ ứng dụng, dịch vụ module phần mềm khác yêu cầu sử dụng dịch vụ Đây thực thể thực thi trình định vị dịch vụ thông qua service registry, liên kết với dịch vụ thực thi chức dịch vụ Người sử dụng dịch vụ thực thi chức dịch vụ cách gửi yêu cầu theo dịnh dạng mô tả hợp đồng Service provider : nhà cung cấp dịch vụ dịch vụ chấp nhận xử lý yêu cầu từ người sử dụng dịch vụ Nó hệ thống mainframe, thành phần dạng phần mềm khác xử lý yêu cầu dịch vụ Nhà cung cấp gửi hợp đồng lên service registry để người sử dụng dịch vụ truy cập đến Service Registry : service registry “thư mục” mạng chứa tất dịch vụ đăng ký Service registry chấp nhận lưu trữ hợp đồng gửi đến từ nhà cung cấp dịch vụ cung cấp hợp đồng tùy theo yêu cầu người sử dụng dịch vụ Service contract : hợp đồng (contract) đặc tả 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ó rõ định dạng yêu cầu đáp trả dịch vụ Distributed computing : dạng tính tốn liệu ứng dụng phần tán nhiều máy hệ thống tách biệt lại liên kết tích hợp thơng qua dịch vụ mạng chuẩn tích hợp chúng thực thi chức mơi trường thống Enterprise application : sản phẩm phần mềm thiết kế để tích hợp hệ thống máy tính bên doanh nghiệp lại với Mục tiêu để tích hợp xử lý nghiệp vụ (ví dụ bán lẻ, kiểm tốn, tài chính, quản lý nhân sự, tồn kho sản xuất) Enterprise application dùng rộng rãi bối cảnh cần liên hệ chặt chẽ với nhà cung cấp, với đối tác kinh doanh với khách hàng Loose coupling: khái niệm tích hợp ứng dụng Hai thành phần trao đổi thông tin không kết nối trực tiếp với mà qua thành phần trung gian đặc tả rõ ràng từ trước Các thành phần tham gia phải đảm bảo chế ngữ nghĩa chung để thông điệp chứa bên chúng ngữ nghĩa đủ để tự mơ tả Tight coupling : ngược lại với loose coupling Interface : thành phần giao tiếp Coarse-grained : mô tả mức độ gom nhóm xử lý 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 xử lý theo khối liệu có thông tin ngữ cảnh lớn số lần trao đổi thơng tin giao tác Fine-grained : ngược lại với coarse-grained Các thành phần có tính finegrained truyền nhận xử lý theo đơn vị nhỏ có ngữ cảnh ngầm định, cần nhiều lần trao đổi thông tin giao tác dẫn đến tăng băng thông sử dụng kéo dài thời gian hồi đáp Legacy system : hệ thống ứng dụng cài đặt từ trước sử dụng Thông thường hệ thống sử dụng công nghệ lỗi thời quan trọng hoạt động tốt Đây thành phần tảng cung cấp xử lý cho dịch vụ hoạt động cấp cao Granularity : khái niệm mô tả độ phức tạp tiến trình dịch vụ Granularity chia làm hai loại “fine-grained” “coarse-grained” Khái niệm granularity hiểu cách trừu tượng không phần biệt hai loại tùy ngữ cảnh mà có cảnh hiểu khác Interoperability : khả cộng tác, trao đổi thông tin hệ thống phân tán MỞ ĐẦU Hiện có nhiều hệ thống phần mềm thực phức tạp làm cho khả kiểm sốt chúng trở nên khó khăn Thách thức cho nhà quản trị Công nghệ Thông tin (CNTT) phải quản lý công việc mà không bổ sung nhân lực Mặt khác phức tạp phí phát triển bảo trì q cao, đặc biệt với hệ thống phần mềm cao cấp Mục đích việc xây dựng phần mềm khơng để chạy ổn định dài lâu mà cịn biến đổi uyển chuyển dễ dàng theo nhu cầu người dùng môi trường đại Do vậy, hàng chục năm qua, nhà kiến trúc phần mềm cố gắng tìm giải pháp để giải vấn đề Thế nhưng, độ phức tạp tiếp tục tăng dường vấn đề vượt khả xử lý kiến trúc truyền thống Điều phần ngày xuất nhiều công nghệ tạo nên môi trường không đồng nhất, phần yêu cầu trao đổi tương tác hệ thống phần mềm với Với phát triển internet với xu hội nhập chung toàn giới, tổ chức, sở doanh nghiệp cần bắt tay, phối hợp hoạt động chia sẻ tài nguyên với để nâng cao hiệu hoạt động Lúc sản phẩm có độ phức tạp lớn hơn, từ kéo theo vấn đề liên quan chi phí sản xuất, chi phí quản lý bảo trì Bên cạnh đó, ngành cơng nghệ phần mềm cịn phải đối mặt với khó khăn xu vấn đề an ninh bảo mật, vấn đề tái sử dụng mở rộng hệ thống sẵn có, vấn đề khơng tương thích hệ thống khác nhiều tổ chức Để giải vấn đề trên, nhiều giải pháp nghiên cứu ứng dụng Nhưng hầu hết giải pháp không giải khó khăn cách triệt để kết đạt không mong đợi Hiện nay, giải pháp cộng đồng công nghệ thông tin quan tâm, “Kiến trúc hướng dịch vụ” (Service-oriented Architecture - SOA) SOA kiến trúc dễ dàng tích hợp mở rộng, kiến trúc bao gồm services kết nối lỏng lẻo, dễ dàng sử dụng lại, tương tác khơng phụ thuộc vào ký thuật thực Khi thiết kế hệ thống câu hỏi lớn đặt : việc cân nhắc khả sử dụng lại hiệu hệ thống Nếu hệ thống cần việc chạy nhanh cho ứng dụng đặc biệt RMI, CORBA, DCOM lựa chọn Nhưng hệ thống khó thay đổi sử dụng lại Nếu hệ thống dự định thay đổi thường xuyên mà không quan tâm đến tốc độ SOA phương cách tiếp cận tốt Nó dễ dàng sử dụng lại tương lai cho phép ứng dụng tương tự thiết kế cách nhanh chóng “Kiến trúc hướng dịch vụ” gì? Cách giải vấn đề lợi ích đạt kiến trúc nào? Trong phạm vi đề tài tơi nghiên cứu mơ hình kiến trúc SOA, phân tích tình triển khai mơ hình, vấn đề tích hợp, cách tiếp cận để xây dựng quản lý tiến trình nghiệp vụ SOA Ứng dụng mơ hình kiến trúc hướng dịch vụ phần mềm quản lý nguồn nhân lực tập đoàn FPT Đề tài: “NGHIÊN CỨU, ỨNG DỤNG PHƢƠNG PHÁP KIẾN TRÚC VÀ MƠ HÌNH HĨA HƢỚNG DỊCH VỤ TRONG CƠNG NGHỆ PHÁT TRIỂN PHẦN MỀM” Chƣơng - TỔNG QUAN Nội dung chương trình bày số khó khăn ngành cơng nghệ phần mềm Từ giới thiệu, phân tích ưu khuyết điểm số mơ hình kiến trúc phân tán xây dựng để giải khó khăn CORBA, EJB, DCOM v.v 1.1 Thực trạng Phần mềm trở nên phức tạp dường vượt khỏi khả kiểm sốt mơ hình phát triển phần mềm có Albert Einstein nói :“Mọi việc nên thực theo cách đơn giản đến mức có thể…” , thực trạng đáng buồn có nhiều hệ thống phần mềm xây dựng với kiến trúc phức tạp, chi phí phát triển bảo trì cao, đặc biệt với hệ thống phần mềm cao cấp Hàng chục năm qua, nhiều kiến trúc phần mềm xây dựng triển khai nhằm giải vấn đề Thế độ phức tạp phần mềm tiếp tục tăng dường trở nên vượt khả xử lý kiến trúc truyền thống Nguyên nhân khiến cho độ phức tạp hệ thống phần mềm không ngừng tăng cao xuất nhiều công nghệ tạo nên môi trường không đồng nhất, nhu cầu trao đổi, chia sẻ, tương tác hệ thống đáp ứng mơi trường Làm dung hòa cách biệt cũ mới? Các hệ thống cũ (legacy systems) cần sử dụng lại thay phải gỡ bỏ thay chi phí thực lại từ đầu chắn cao việc chi phí chuyển đổi cũ nhiều lần Vấn đề liên quan đến khái niệm thách thức mà tổ chức phải đối mặt, “tích hợp hệ thống” (Enterprise Architecture Integration EAI) Hiện dự án dạng nhiều tổ chức quan tâm đến, với mức đầu tư chi phí dẫn đầu so với dạng dự án khác Một nguyên nhân khác góp phần dẫn đến tình trạng khó khăn vấn đề lập trình dư thừa tái sử dụng Hãy xét ví dụ, ngân hàng có nhiều chi nhánh khác – chi nhánh có hệ thống tách biệt cần kết nối với hệ thống khác ngân hàng để phục vụ khách hàng hiệu Giả sử hệ thống thiết kế tốt Thế hệ thống xây dựng khoảng thời gian khác nhau, dự án độc lập khác Thông thường chức “lấy số liệu thống kê tài khoản” bị lặp lại hệ thống ATM, chi nhánh hệ thống lưu trữ tài khoản, người dùng truy cập vào tài khoản sở liệu Bây ngân hàng cần phát triển hệ thống cung cấp 10 dịch vụ gửi tiền hay cho vay tiền qua mạng để tăng chất lượng phục vụ cho khách hàng Hệ thống xây dựng nào? Nếu giải pháp chọn xây dựng lại hệ thống mới, lại tiếp tục mắc lại sai lầm trước đó: dư thừa, khơng đồng … Còn chọn giải pháp sử dụng lại chức sẵn có, ta phải đối mặt với chuyện thiết lập mối liên kết với toàn hệ thống trước Hầu tổ chức phải đối mặt với vấn đề tích hợp nhiều lý do, đặc biệt thị trường ngày nay, thay đổi diễn với tốc độ chóng mặt; mở rộng thêm chi nhánh, hệ thống bạn hàng mới, đơn giản cần kết nối hệ thống có sẵn Nếu có n hệ thống ứng dụng cần kết nối trực tiếp với nhau, cần n*(n-1) kết nối, thành phần giao tiếp (interface) App App App App App Hình 1.1 Tích hợp dạng điểm nối điểm [15] Tương tự, có thêm hệ thống ứng dụng thứ (n+1) cần đựơc tích hợp thêm vào hệ thống, địi hỏi 2*n interface mới, bao gồm việc thu thập sưu liệu , kiểm thử, bảo trì Theo Hình 1-1 ứng dụng địi hỏi 20 kết nối trực tiếp, ứng dụng thứ tích hợp thêm vào yêu cầu thêm 10 kết nối mới! Tệ nữa, mã nguồn ứng dụng cũ phải chỉnh sửa để thêm vào kết nối, từ kéo theo chi phí kiểm thử, bảo trì Những vấn đề trước chưa giải quyết, mà tổ chức lại phải đối mặt với thách thức mới: đáp ứng nhanh chóng thay đổi, giảm chi phí phát triển, tăng tính tương thích khả tái sử dụng Tất tạo nên áp lực nặng nề nhà phát triển phần mềm 92 Các giao diện thường xuất kho thư mục đăng kí cơng cộng, đó, chúng phân loại dựa dịch vụ cung cấp, giống doanh nghiệp, số điện thoại chúng liệt kê trang vàng dịch vụ Các client (các thành phần sử dụng dịch vụ) tra cứu dịch vụ cụ thể cách truy vấn động dịch vụ dựa tính phân loại khác Quá trình biết tới chế tìm kiếm động dịch vụ Các thành phần sử dụng dịch vụ hay client sử dụng dịch vụ thông qua thơng điệp Vì giao diện chúng độc lập tảng ngôn ngữ nên thông điệp thường cấu trúc cách sử dụng tài liệu XML phù hợp với XML schema MDA mơ hình hướng đối tượng Các lớp thể MDA thao tác trực tiếp lên đối tượng Cịn SOA truy xuất hồn tồn theo dịch vụ 'Services' Trong SOA, lớp thể khơng cịn, mà sử dụng dịch vụ để truy cập chúng Các đối tượng nghiệp vụ đặt thư viện dịch vụ nạp vào nhớ - lớp dịch vụ lớp nghiệp vụ nằm tiến trình, nhờ lời gọi hàm đến đối tượng nghiệp vụ khơng bị q tải Dịch vụ đóng vai trò 'hộp đen': cung cấp lớp trung gian cho mơ hình đối tượng đưa tập chức rút gọn, làm giảm nhu cầu trao đổi lớp SOA kiến trúc phần mềm phát xuất từ định nghĩa giao tiếp xây dựng toàn mơ hình ứng dụng mơ hình giao tiếp, thực giao tiếp phương thức gọi giao tiếp Giao tiếp trung tâm toàn triết lý kiến trúc này; thực ra, tên gọi 'kiến trúc định hướng giao tiếp' thích hợp cho SOA Dịch vụ module phần mềm nghiệp vụ truy cập thông qua giao tiếp, thường theo cách thức yêu cầu - đáp trả Ngay với yêu cầu dịch vụ chiều u cầu trực tiếp có chủ đích từ phần mềm đến phần mềm khác Một tương tác định hướng dịch vụ bao hàm cặp đối tác: nguồn cung cấp dịch vụ khách hàng sử dụng dịch vụ 93 Chƣơng - ỨNG DỤNG SOA TRONG QUẢN LÝ NGUỒN NHÂN LỰC Chương trình bày số mẫu tiến trình thiết kế cơng cụ BpelDesigner, áp dụng thực tiễn ứng dụng tập đoàn FPT 6.1 Thực trạng hệ thống ứng dụng tập đồn 6.1.1 Mơ tả Là tập đồn lớn nên việc ứng dụng cơng nghệ thơng tin vào quản lý áp dụng từ lâu Rất nhiều ứng dụng quản lý nguốn nhân lực (Oracle PeopleSoft Human capital management-HCM), quản lý quan hệ khách hàng (Sieble Customer Relationship management-CRM), hệ thống tài doanh nghiệp (Oracle E-Business Suite) tập đoàn triển khai ứng dụng Tuy việc trao đổi thông tin ứng dụng hạn chế việc xuất liệu Excel, cho ứng dụng truy cập trực tiếp vào số bảng liệu ứng dụng khác thông qua việc cấp tài khoản truy cập sở liệu 6.1.2 Hệ thống quản lý nguồn nhân lực PeopleSoft PeopleSoft phiên 9.1 ứng dụng hàng chục quốc gia, có doanh nghiệp tổ chức hàng đầu giới như: công ty hàng đầu giới; Bộ quốc phịng Mỹ, Bộ tài Malaysia, Bộ tài Bruney… Có tổ chức lên tới 1,3 triệu nhân viên PeopleSoft quản lý thơng suốt Nhờ tích hợp nhiều tính tái sử dụng tồn sở liệu cũ (tránh việc phải xây dựng lại gây tốn kém), tích hợp kênh thơng tin web (ví dụ kênh thơng tin tuyển dụng nhân mà không cần phải đăng báo hay thơng qua hội chợ việc làm) Ngồi phần mềm có khả giới thiệu ứng viên, có chương trình đào tạo phù hợp bồi dưỡng nhân cho công tác luân chuyển bồi dưỡng cán nguồn thay thế, đào tạo trực tuyến (E-learning) cán nguồn hệ thống…Đây coi thành công vượt bậc mà phần mềm tích hợp ứng dụng thành cơng PeopleSoft Phần mềm PeopleSoft tập đoàn FPT triển khai đưa vào sử dụng, bao gồm modules: quản lý nguồn nhân công, lương thưởng, cổ phiếu, đào tạo, tuyển dụng v.v… hệ thống triển khai hệ điều hành Linux, Oracle database 10g, Oracle Application Server 10g, PeopleSoft HCM 9.0 Nhằm mục đích nâng cao khả quản lý nguồn lực tập đồn, tất cơng ty thành viên quản lý 94 nhân viên PeopleSoft Việc thao tác ứng dụng áp dụng tới tất thành viên tập đoàn từ nhân viên Tổng giám đốc, Chủ tịch 6.1.3 Nhu cầu thực tế Việc trao đổi liệu ứng dụng việc tra cứu thông tin tổng hợp ứng dụng khác nhu cầu tất yếu Mong muốn tập đoàn chia sẻ liệu mở đến mức để nhân viên ứng dụng khác truy cập dễ dàng mà không phụ thuộc đến công nghệ truy cập qua môi trường mạng SOA webservices giải pháp kỳ vọng cho việc giải toán Với việc mong muốn ứng dụng SOA vào mơ hình chia sẻ thơng tin trên, cá nhân đề xuất hướng phát triển cho việc áp dụng SOA hệ thống quản lý nguồn nhân lực PeopleSoft, trước tiên modules quản lý nhân công: (thông tin cá nhân, thông tin khoản thu nhập), tra cứu thông tin tuyển dụng đơn vị v.v…, tiếp đến việc tích hợp nhiều ứng dụng khác CRM, Finance 6.2 Áp dụng mơ hình kiến trúc hƣớng dịch vụ vào phần mềm quản lý nguồn nhân lực PeopleSoft 6.2.1 Mô tả Mục tiêu xây dựng tiến trình nhằm cung cấp cho người dùng (nhân viên) ứng dụng tài tra cứu thơng tin cá nhân tập đồn Giả sử ta có modules lấy thông tin cá nhân (ngày sinh, điện thoại, giới tính,….) module khoản thu nhập tháng (compensations), hoạt động độc lập với Dùng kỹ thuật thơng thường ta phải viết chương trình từ đầu để kết hợp module lại với Việc xảy có nhiều module cần kết hợp chúng dạng dịch chưa hỗ trợ có khả kết hợp qua trung gian? Sửa lại từ mã nguồn? Hoặc đơn giản module bị hỏng, thay module khác có chức tương tự, phải sửa mã nguồn? Khó khăn nằm mối ràng buộc module Với SOA, ta đơn giản cung cấp module thành dạng dịch vụ kết hợp với theo ý muốn xong Việc hỗ trợ hình thức dịch có khả kết hợp từ nhiều dịch vụ sở thực nhanh chóng dễ dàng Với ứng dụng quản lý nguồn nhân lực PeopleSoft, việc tạo dịch vụ từ module nhà phát triển ý từ khâu thiết kế, nên việc thực dễ dàng Việc lại kết hợp dịch vụ lại sử dụng Oracle SOASuite, BpelDesigner để tạo ứng dụng SOA hoàn chỉnh 95 Hình 6-1 – Màn hình thơng tin cá nhân PeopleSoft HCM 96 Hình 6-2 – Màn hình thơng tin khoản thu nhập PeopleSoft HCM 6.2.2 Xây dựng ứng dụng FPT SOA 6.2.2.1 Xây dựng dịch vụ Ứng dụng FPT SOA Thông tin cá nhân Thơng tin thu nhập Các tiến trình khác: tuyển dụng v.v Tầng dịch vụ Peoplse Soft Services Web Services Platform Tầng ứng dụng PeopleSoft CRM Oracle EBS Hình 6-3 – Mơ hình xây dựng ứng dụng FPT SOA Việc định nghĩa dịch vụ dựa components PeopleSoft 97 Hình 6-4 – Mơ hình định nghĩa dịch vụ lấy thông tin cá nhân từ đối tƣơng (component) PeopleSoft HCM 98 Hình 6-5 – Mơ hình định nghĩa dịch vụ lấy khoản thu nhập từ đối tƣơng (component) PeopleSoft HCM 99 6.2.2.2 soap Tạo mô tả cấu trúc dịch vụ wsdl giao thức truyền thơng điệp 100 Hình 6-6 – Tạo mô tả dịch vụ wsdl giao thức soap PeopleSoft HCM 101 6.2.2.3 Đăng ký dịch vụ Hình 6-7 – Tạo mơ tả dịch vụ PeopleSoft HCM 6.2.2.4 Tích hợp dịch vụ Sau tạo dịch vụ PeopleSoft, việc xây dựng tầng nghiệp vụ, sử dụng Bpel Designer để thiết kế quản lý dịch vụ 102 Hình 6-8 – Mơ hình thiết kế SOA dựa dịch vụ vừa định nghĩa 6.2.2.5 Dữ liệu sau xử lý Hệ thống nhận yêu cầu truy cập thông tin nhân viên, thông tin đầu vào mã nhân viên tài khoản để xác thực (địa email) Tiếp theo lấy thông tin nhân viên cách call service CI_CI_PERSONAL_DATA, sau truy cập CI_CI_JOB_DATA service để truy cập thông tin khoản thu nhập nhân viên Việc xác thực tài khoản service xác thực bên service (việc hệ thống quản lý nguồn nhân lực định nghĩa sẵn) 103 Hình 6-9 – Dữ liệu trả từ FPT SOA Applications 104 Đây trường hợp mơ hình thiết kế SOA tập đồn FPT, đồng ý cơng ty tơi xin trích để mô cho kiến trúc SOA luận văn Tương lai tiếp tục xây dựng kết hợp dịch vụ nhiều ứng dụng khác ứng dụng ban tài chính, quản lý chuỗi cung ứng v.v… để cung cấp đầy đủ dịch vụ cho tập đoàn 105 KẾT LUẬN Qua tìm hiểu nghiên cứu đề tài, tơi nắm cở sở lý thuyết kiến trúc hướng dịch vụ (SOA), bao gồm khái niệm, tính chất, nguyên tắc thiết kế, bước cần thực thi xây dựng hệ thống SOA Rõ ràng có nhiều thách thức, nhiều vấn đề cần quan tâm việc ứng dụng giải pháp SOA dự án cụ thể Thế khó khăn khơng làm cản trở quan tâm tổ chức, nhà doanh nghiệp nhà quản lý hệ thống chúng nhỏ bé so với giá trị thiết thực mà hệ thống SOA đem lại triển khai thành công SOA thật kiến trúc “lý tưởng” cho hệ thống quản lý tổ chức, doanh nghiệp Với kết cấu mở, linh hoạt, khả dễ mở rộng tính liên kết cao làm cho hệ thống SOA thật có “sức đề kháng” cao rủi ro thay đổi xảy môi trường hoạt động nghiệp vụ tổ chức Thay đổi yếu tố thiếu hoạt động nghiệp vụ nhằm nâng cao hiệu chất lượng phục, đặc biệt môi trường cạnh tranh ngày Một hệ thống SOA dễ dàng tùy biến để đáp ứng nhanh chóng yêu cầu thay đổi với mức chi phí thấp nhiều so với giải pháp trước SOA làm điều khả tái sử dụng lại tài nguyên sẵn có, khả mở rộng liên kết tốt với hệ thống để tạo nên môi trường đồng Tìm hiểu cơng cụ hỗ trợ thiết kế BpelDesigner cung cấp môi trường tiện dụng hiệu việc thiết kế xây dựng tiến trình nghiệp vụ thơng qua thao tác đơn giản kéo thả Ứng dụng kiến trúc hướng dịch vụ (SOA) vào hệ thống Quản lý nguồn nhân lực công ty việc khai thác liệu Với kết tìm hiểu được, tơi tin SOA thực giải pháp tốt để giải vấn đề khó khăn mà giải pháp trước chưa xử lý được, trở thành tảng mang tính chiến lược tổ chức, doanh nghiệp tương lai  Định hướng nghiên cứu phát triển Về mặt lý thuyết, giới hạn thời gian nên chưa trình bầy vấn đề bảo mật, nghiên cứu sâu vấn đề bảo mật hệ thống SOA, xem xét giải pháp cụ thể vấn đề dịch vụ hóa tích hợp mở rộng cho loại hệ thống xây dựng dựa công nghệ trước DCOM, CORBA, J2EE…Ngồi ra, tìm hiểu thêm cách kết hợp SOA “Tính tốn lưới” (Grid Computing) để nâng cao hiệu suất hoạt động hệ thống SOA, hệ thống SOA kế thừa sức mạnh tính tốn mơ hình “Tính toán lưới” Về mặt ứng dụng, nghiên cứu để xây dựng mở rộng SOA ứng dụng Quản lý nguồn nhân lực (Peolesoft HCM) mà cịn với hệ thống tài (Oracle finance), hệ thống quản lý quan hệ khách hàng (Customer Relationship management-CRM) công ty 106 DANH MỤC TÀI LIỆU THAM KHẢO Tài liệu tiếng Việt Ngô Văn Hiền, Hồ Tường Vinh (2005), “Giới thiệu phương pháp tiếp cận Kiến trúc hướng mơ hình”, Hội thảo quốc gia CNTT - TT lần thứ 3, Hải phòng, Việt Nam Tài liệu tiếng Anh A Meta Group White paper, Intersection of Web services and Securit Management: A Service-Oriented Security BEA (2004), Service-Oriented Architecture Solution Accelerator Guide Binildas CA, Malhar Barai, Vincenzo Caselli (2008), Service Oriented Architecture with Java IBM Graphically Rich Book (2008), A Practical Guide for the Service-Oriented Architect IBM Red Book Team (2004), Pattern: Implementing an SOA using Enterprise Service Bus IBM Red Book Team (2004), Pattern: Service-Oriented Architecture and Web Services IBM Red Book Team (2004), Integration Pattern: Using Web Services for Business IBM, Migrating to a service-oriented architecture, http://www.ibm.com/developerworks/library/ws-migratesoa/ 10 Lauri Jaakkola (2005), Applying Service-Oriented Geographycally Distributed Industrial Information Part Architecture to 11 Nicolai M.Josuttis – Oreilly (2007), SOA in Practice – The Art of Distributed System Design 12 OMG – Object Management Group (2007), Model Driven Architecture (MDA) FAQ, http://www.omg.org 13 Oracle® SOA Suite Quick Start Guide 10g (10.1.3.1.0) 14 Rational Software Co (2003), Mastering Object-Oriented Analysis and Design with UML 2.0 15 Sriram Krishnan (2004), An Architecture for Checkpointing and Migration of Distributed Components on the Grid ... sử dụng dịch vụ ứng dụng, dịch vụ module phần mềm khác yêu cầu sử dụng dịch vụ Đây thực thể thực thi trình định vị dịch vụ thông qua service registry, liên kết với dịch vụ thực thi chức dịch vụ. .. hướng dịch vụ phần mềm quản lý nguồn nhân lực tập đoàn FPT Đề tài: “NGHIÊN CỨU, ỨNG DỤNG PHƢƠNG PHÁP KIẾN TRÚC VÀ MƠ HÌNH HĨA HƢỚNG DỊCH VỤ TRONG CƠNG NGHỆ PHÁT TRIỂN PHẦN MỀM” Chƣơng - TỔNG... tơi nghiên cứu mơ hình kiến trúc SOA, phân tích tình triển khai mơ hình, vấn đề tích hợp, cách tiếp cận để xây dựng quản lý tiến trình nghiệp vụ SOA Ứng dụng mơ hình kiến trúc hướng dịch vụ phần

Ngày đăng: 16/03/2021, 11:28

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan