Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (4.5 MB, 20 trang )
<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">
Ngày nay, thời đại phát triển của công nghệ thông tin và truyền thông, việc ứng dung các sản phẩm phần mềm để xử ly các quy trình nghiệp vụ, quản lý của doanh nghiệp, tổ chức là khá phổ biến. Từ các ứng dụng đơn lẻ như: quản lý nhân sự, tiền lương, quan ly tài chính, quản lý vat tư, ... đến một giải pháp tổng thé dé tích hợp
Nhiều kiến trúc hệ thống khác nhau đã được đưa ra nhưng lại dựa trên các chuẩn ngôn ngữ, nền tảng khác nhau và môi trường không thống nhất nên không thê
giao tiếp. Các hệ thong cũ thay vì được sử dung lại thi lai được xây dung lai từ đầu
dẫn đến quá tốn kém, vấn đề lập trình dư thừa và khơng tái sử dụng được, đó là khó khăn rất lớn trong q trình tích hợp các hệ thống với nhau. Trường Đại học Sư Phạm Kỹ thuật Hưng Yên là trường đại học đảo tạo định hướng nghề nghiệp ứng dụng khu vực đồng bằng sông Hồng. Cùng với sự phát triển về quy mô và chất lượng đào tạo, hiện tại nhà trường có 3 cơ sở đào tạo nam trên địa ban 2 tinh Hưng Yên và Hải
Dương. Để nâng cao chất lượng quản lý các hoạt động, nhà trường đã sử dụng các
<small>phần mềm tiện ích hỗ trợ các quy trình nghiệp vụ như quản lý hoạt động đảo tạo, quản</small>
lý vật tư thiết bị, quản lý sách và tài liệu, quản lý tài chính ...Nhưng các phần mềm này cùng thực hiện các chức năng nghiệp vụ tại 3 cơ sở ở xa nhau, dé quan lý cơ sở dữ liệu tập trung và các ứng dụng trao đổi với nhau thông qua môi trường Internet dang là trở ngại lớn đối với hệ thống.
Vì vậy hệ thống hiện tại của trường phức tạp dẫn đến chỉ phí phát triển, bảo trì
cao. Bên cạnh đó hệ thống cịn đối mặt với các khó khăn như vấn đề an ninh bảo mật, van dé tái sử dụng và mở rộng các hệ thống sẵn có, vấn đề khơng tương thích giữa các phần mềm chạy trên các nền tảng khác nhau.
Dé giải quyết các van dé này đã có nhiều giải pháp và hiện nay, giải pháp đang
được quan tâm nhiều hơn là kiến trúc hướng dịch vu (Service Oriented Architecture -SOA). Đây cũng được xem là giải pháp ưu việt với hướng tiếp cận là khả năng tích
<small>hợp và tự động hóa quy trình nghiệp vụ, tích hợp thơng tin và xây dựng kho tài ngun</small>
<small>dịch vụ có khả năng sử dụng lại trong các ứng dụng mới. Mơ hình này đã được ápdụng thành cơng trong lĩnh vực kinh doanh, lĩnh vực ngân hàng ... những nghiên cứu</small>
</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">rộng rãi đã cho thấy điều đó. Tuy nhiên cịn ít nghiên cứu đến việc ứng dụng trong lĩnh
về kiến trúc hướng dịch vụ để từ đó đề xuất áp dụng mơ hình này vào trong quản lý trường ĐHSPKT Hưng Yên. Vì vậy học viên đã chọn và thực hiện đề tài này.
Mục tiêu của luận văn là nghiên cứu kiến trúc hướng dịch vụ, mơ hình hóa kiến
trúc này trong quản lý trường đại học, cài đặt ứng dụng demo và thử nghiệm một số
<small>dịch vụ.</small>
Cấu trúc luận văn gồm 3 chương và phần kết luận:
Chương 1: Tổng quan về kiến trúc hướng dịch vu (Service Oriented
Architechture). Chương này trình bày về cơ sở lý thuyết, khái niệm, đặc điểm, tính
chất và nền tảng của kiến trúc hướng dịch vụ SOA. Mối quan hệ giữa mô hình SOA và
<small>Web service.</small>
Chương 2: Nghiên cứu các phương pháp triển khai ứng dụng theo mơ hình kiến trúc hướng dịch vụ. Chương này trình bày các phương pháp tiếp cận triển khai SOA, phân tích hiện trạng hệ thống đang sử dụng, yêu cầu đặt ra cho bài toán quản lý, từ đó đề xuất xây dựng mơ hình kiến trúc hướng dịch vụ cho trường ĐHSPKT Hưng Yên.
<small>Chương 3: Cài đặt ứng dụng Web Service trong quản lý trường ĐHSPKT Hưng</small>
Yên. Chương này trình bày một số dịch vụ chức năng của hệ thống được xây dựng theo kiến trúc hướng dịch vụ, phân tích ưu nhược điểm và đánh giá hệ thong mới khi ứng dụng mô hình SOA vào quản lý trường ĐHSPKT Hưng Yên. Đồng thời giới thiệu
công cụ Web Service dé thực thi giải pháp, xây dựng chương trình demo một số ứng
<small>dụng Web Service.</small>
</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3"><small>1.1.1 Dịch vụ (service)</small>
Về mặt định nghĩa, dịch vụ là một hệ thống có khả năng nhận một hay nhiều
yêu cầu xử ly và sau đó đáp ứng bang cách trả về một hay nhiều kết quả[2]. Quá trình nhận yêu cầu và trả kết quả về được thực hiện thông qua các phương thức giao tiếp
<small>(mterfaces) đã được định nghĩa trước đó.</small>
Kiến trúc hướng dịch vụ (Service oriented architechture) là một hướng tiếp cận với việc thiết kế và tích hợp các phần mềm, chức năng hệ thống theo dạng module,
trong đó mỗi module đóng vai trị là một “dịch vụ”, và có khả năng giao tiếp với nhau
thông qua môi trường mạng[2]. Hiểu một cách đơn giản thì hệ thống SOA là một tập
hợp các dich vụ được chuẩn hóa và trao đổi với nhau trong ngữ cảnh một tiến trình
SOA có ba đối tượng chính minh họa trong hình sau:
</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">Một hệ thống SOA có các đặc điểm sau:
<small>a) Sự phân định rạch ròi giữa các dịch vụ</small>
<small>b) Các dịch vụ tự hoạt động</small>
c) Các dịch vụ chia sẻ lược đồ
<small>đ) Tính tương thích của dịch vụ dựa trên chính sách</small>
<small>1.2.3 Lợi ích của SOA</small>
SOA hiện nay được các tô chức, các doanh nghiệp lựa chọn là một giải pháp hiệu quả, tiết kiệm chi phi và phù hợp với nền tảng cơng nghệ hiện tai vi SOA có những ưu điểm sau:
a) SOA cho phép sử dụng lại những thành phần có sẵn
b) SOA mang đến giải pháp ứng dụng tổ hợp cho doanh nghiệp c) SOA cho phép tăng tính linh hoạt khi triển khai cài đặt
d) SOA cho phép xây dựng hệ thống thích ứng với những thay đôi trong tương
e) Hỗ trợ đa thiết bị và đa nền tảng
f) Tăng khả năng mở rộng và khả năng sẵn sang cung cấp
</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5"><small>1.3.1.1 Dịch vụ được đóng gói logic</small>
Dé giữ được sự độc lập của các dịch vụ, chúng được đóng gói logic trong ngữ
Với kiến trúc SOA, dịch vụ có thể được sử dụng bởi các dịch vụ khác hoặc các
<small>chương trình khác. Dịch vụ phải được nhận thức từ các dịch vụ khác. Nhận thức này</small>
<small>đạt được thông qua việc sử dụng các mơ tả dịch vụ.</small>
<small>Hình 1.3: Dịch vụ nhận biết nhau</small>
</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6">Sau khi một dịch vụ gửi thơng điệp đi, nó mất kiểm sốt những gì sẽ xảy ra với
thơng điệp sau đó. Đó là lý do tại sao u cầu thơng điệp tồn tại như là "đơn vị truyền
thông độc lập". Điều này có nghĩa rằng các thơng điệp, cũng như dịch vụ, cần được tự
trị. Đề hiệu quả, các thông điệp có thé được trang bị đủ thơng minh dé tự quản những
<small>bộ phận xử lý logic của chúng.</small>
<small>Tự quản thơng điệp</small>
<small>Dịch vụ A</small>
<small>Hình 1.4: Trao đỗi thông điệp giữa hai dich vu</small>
<small>Hiện nay chưa có một mơ hình chính thức nào của SOA. Thực sự SOA là một</small>
phương pháp luận giúp chúng ta tận dụng sức mạnh của nguồn nhân lực, nguồn tai nguyên khác nhau trong mang máy tính dé trở thành một hệ thống nhất. Mỗi tổ chức
có một mơ hình SOA khác nhau nhưng nhìn chung các mơ hình SOA có đặc điểm sau:
</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7"><small>1.4 SOA và Web Service</small>
SOA là một kiến trúc phần mềm, bao gồm một tập các nguyên tắc thiết kế độc lập với kỹ thuật và công nghệ nhằm liên kết các dịch vụ. SOA bắt đầu làm việc với định nghĩa thành phần giao tiếp và sau đó, xây dựng kiến trúc hệ thống như là sự liên
kết của các thành phan interface, phan thực thi của các interface và cách thức tương tác
<small>giữa các interface. Trong khi đó, Web Service là một tập hợp các kỹ thuật va công</small>
nghệ (SOAP, WSDL, UDDI, HTTP...) được dùng để thực hiện hóa các nguyên tắc thiết kế của SOA, cho phép xây dựng các giải pháp lập trình cho van đề tích hợp ứng dụng và truyền thông điệp.
<small>1.4.1 Khái niệm Webs service</small>
Web service là một cơng nghệ triệu gọi từ xa có tính khả chuyền cao nhất hiện
nay: độc lập về ngôn ngữ và độc lập về nền tảng. Web services dựa trên kiến trúc phân tán trong đó khơng có bat kỳ dịch vụ xử lý trung tâm nào và tất cả dạng truyền thông đều sử dụng các giao thức chuẩn. Các giao thức khơng được có bất kỳ ý nghĩa ngầm
<small>định nao bên trong mà phải được mô tả rõ ràng.</small>
Web services là những thành phần ứng dụng, giao tiếp băng cách sử dụng giao thức mở chứa đựng và mô tả chính nó. Web service hoạt động dựa trên nền tảng là
</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">XML là một chuẩn mở do W3C đưa ra[10] và được phát triển từ SGML. XML là một ngôn ngữ mô tả văn bản với cau trúc do người sử dụng định nghĩa, nó được sử
dụng dé định nghĩa các thành phan dữ liệu trên trang web và cho những tài liệu B2B.
Về hình thức, XML hồn tồn có cấu trúc thẻ giống như ngôn ngữ HTML,
<small>nhưng không tuân theo một đặc tả quy ước như HTML, người sử dụng hay các</small>
chương trình có thể quy ước định dạng các thẻ XML để giao tiếp với nhau
Là một giao thức dựa trên XML cho phép các ứng dụng trao đổi thông tin qua
HTTP, được thiết kế đơn giản và dé mở rộng. Hiểu đơn giản, SOAP là một giao thức dé truy cập Web Services, một giao thức truyền thông hay một định dạng dé gửi thông điệp. Tat cả các thơng điệp SOAP đều được mã hóa sử dụng XML, cho nên không bi ràng buộc bởi bat kỳ ngôn ngữ lập trình nào hoặc cơng nghệ nào.
<small>1.4.1.3 Ngơn ngữ mô tả dịch vụ web-WSDL</small>
WSDL là một ngôn ngữ dựa trên XML[7] dùng để mô tả giao diện của Web
Services. Nó cung cấp một cách thức chuẩn để mơ tả các kiểu dữ liệu được truyền
<small>trong các thông điệp thông qua Web Services, các thao tac được thực hiện trên các</small>
thông điệp và ánh xạ các hoạt động này đến giao thức vận chuyền. Một WSDL hợp lệ gồm hai phần
- Phần giao diện: mô tả giao diện và giao thức kết nối - Phan thi hành: mô tả thông tin dé truy xuất service
<small>1.4.1.4 UDDI (Universal Description, Discovery and Integration)</small>
UDDI là một dịch vu thu muc[11] nơi mà các cơng ty có thé đăng ky và tìm kiếm các Web Service. Để có thể sử dụng các dich vụ, trước tiên client phải tìm dịch vụ, ghi nhận thơng tin về cách sử dụng và biết được đối tượng nào cung cấp dịch vụ. UDDI định nghĩa một số thành phần cho biết các thông tin này, cho phép các client truy tìm và nhận những thơng tin được yêu cầu khi sử dụng Web Service.
Chương này giới thiệu về các phương pháp tiến cận trong triển khai SOA, từ đó
dé xuất xây dựng giải pháp cho bài toán quản lý trường ĐHSPKT Hưng Yên ứng dụng
Top-down: trong xây dựng một hệ thống SOA, thì phương pháp top-down là phương pháp mà xuất phát điểm của nó sẽ từ các yêu cầu nghiệp vụ dé xác định các
yêu cầu chức năng, các tiến trình và tiến trình con, các trường hợp sử dung (use cases)
dé tiến tới việc xác định các thành phần hệ thống (components), các dịch vụ ...
<small>Bottom-up: phương pháp này sẽ dựa trên việc phân tích tình trạng, các tài</small>
ngun của hệ thơng hiện có và sẽ tái sử dụng lại những thành phan này trong việc xây
<small>dựng các dịch vụ mới.</small>
Chu trình hệ thống đi qua 4 giai đoạn chính: Mơ hình hóa, Lắp ghép, Triển khai và Quản lý. Các giai đoạn này đều dựa trên nền tảng của việc Quản tri và các thực
2.1.2.2 Các pha cơ bản xây dựng hệ thông SOA
Xây dựng hệ thống SOA trải qua 6 pha sau đây: Phân tích hướng dịch vụ, Thiết
kế hướng dịch vụ, Phát triển dịch vụ, Kiểm thử dịch vụ, Triển khai dịch vụ, Quản trị
<small>dịch vụ.</small>
</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10"><small>Trường DHSPKT Hưng n là cơ sở công lập trực thuộc Bộ Giáo dục và Dao</small>
tạo, là trường đại học giáo dục định hướng nghề nghiệp có chức năng đảo tạo đa ngành
về nhiều lĩnh vực và trình độ khác nhau.
> Các lĩnh vực hoạt động đào tạo bao gồm
<small>- Đào tạo kỹ sư, kỹ thuật viên thực hành.</small>
- Đào tạo cử nhân kinh tế, ngoại ngữ.
- Bồi dưỡng chuyên môn công nghệ kỹ thuật, nghiệp vụ sư phạm.
- Nghiên cứu khoa học, triển khai áp dụng tiến bộ Khoa học kỹ thuật và Công
nghệ phục vụ phát triển kinh tế xã hội.
- Cung cấp các gói dịch vụ hỗ trợ giáo dục, đào tạo. - Đảo tạo thạc sĩ, tiến sĩ một số chuyên ngảnh.
<small>2.2.2 Giới thiệu bài toán quản ly Trường Đại học SPKT Hưng Yên2.2.3 Hiện trạng bài toán</small>
Việc kiến trúc lại một hệ thong phan mềm nào đều đỏi hỏi phải xem xét nhìn nhận
lại hiện trạng của hệ thống đang có. Mục đích của cơng việc nay là giúp xác định hệ thống đã có phức tạp như thé nao, đã có những gi, cần phải chỉnh sửa nâng cấp những van dé nao, chọn phương pháp nao tốt nhất để thực hiện. Yêu cầu bài toán đặt ra đối
với hệ thống trong trường đại học cũng vậy. Khi đã nắm được hiện trạng của hệ thống,
ta có thé thay được lý do tại sao áp dụng kiến trúc SOA dé giải quyết bài toán này.
<small>a) Quy mơ hiện tại của trường có 3 cơ sở đào tạo</small>
> Mơ hình quy trình đồng bộ cơ sở dữ liệu.
</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11"><small>Hình 2.6: Mơ hình thao tác đồng bộ cơ sở dữ liệu tại 3 cơ sở</small>
<small>Với hệ thống đang triển khai như trên, nhận thấy vấn đề đang tồn tại của hệ</small>
thống như sau:
<small>Phức tạp:</small>
<small>Không linh hoạt:</small>
Không on định
Hệ thống Edusoft và các phần mềm hiện tại được triển khai theo mơ hình Client
— Server. Các module thành phần lớn sử dụng công nghệ cũ như: ngôn ngữ lập trình
<small>Visual Basic, cơ sở dữ liệu Foxpro, SQL ..</small>
<small>a. Phân hệ phần mềm quản ly đào tạo (Edusoft)</small>
b. Phân hệ phần mềm quản lý học phí c. Phân hệ phần mềm quản lý thư viện d. Phân hệ phần mềm quản lý vật tư
2.2.3.5 Yêu cầu bài toán.
</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12"><small>QLThư viện QLDao tạo</small>
<small>WSQLVattu WSQLThuvien WSQLDaotao WSQLHocphi</small>
<small>Hình 2.9: Mơ hình SOA tổng thé cho hệ thống quản lý DHSPKT Hưng Yên</small>
</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13">Giải pháp gồm 3 tầng:
- Tầng trên cùng đại diện cho tầng trình bày: Tầng này gồm các ứng dụng. - Tầng thứ hai đại diện cho tầng kết hợp: Tầng này bao gồm các dịch vụ.
- Tầng dưới dùng đại diện cho tầng kết nối: Tầng này đảm nhận vai trị kết nối
đến cơ sở dữ liệu.
<small>(Windows Server, IIS, C+)</small>
<small>Hình 2.10: Mơ hình triển khai hệ thống</small>
> Hệ thong kế thừa các quy trình đã có trong các module phan mém đang sử dụng
</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="14">Chương này trình bày chi tiết về cài đặt dich vụ, bao gém: phân tích mơi
<small>trường thực thi, cơng cụ thực hiện, cơ sở dữ liệu minh họa cho một phân hệ, chức</small>
năng một số dịch vụ, các dịch vụ phía máy chủ, các ứng dụng phía máy khách và thử
<small>nghiệm trong mơi trưịng Windows.</small>
<small>3.1 Mơi trường và các cơng cụ lập trình</small>
<small>> Mơi trường triển khai</small>
Các module đã có của hệ thống phần mềm đang sử dụng chạy trên nền tảng hệ
điều hành Windows, giao tiếp với cơ sở dữ liệu thông qua giao thức TCP/IP.
Các module được xây dựng mới theo kiến trúc SOA chạy trên nền tảng Web,
Web service WamServer chạy trên hệ điều hành Window, sử dụng giao thức HTTP, SOAP giao tiếp với hệ thống qua các Web Services chạy trên nền tảng hệ điều hành
<small>Windows, Web service IIS.</small>
<small>> Các cơng cụ lập trình</small>
<small>Microsoft Visual Studio 2010, ngơn ngữ lập trình C#, .NET Framework 3.5:Xây dựng các Web Services.</small>
<small>3.2 Cài đặt các dịch vụ</small>
<small>3.2.1 Cơ sở dữ liệu</small>
Cơ sở dữ liệu của hệ thống mới kế thừa cơ sở dữ liệu của hệ thống cũ, nên phần
cơ sở dit liệu đã được tô chức và đã được chuẩn hóa, trong luận văn học viên khơng tơ chức và thiết kế lại cơ sở dữ liệu mà sử dụng lại toàn bộ. Sử dụng toàn bộ cơ sở dữ
liệu cho cài đặt ở chương 3 thì quá lớn nên học viên sử dụng một phan cơ sở dữ liệu
san dé demo. Đó là phan dữ liệu của phân hệ quan lý sinh viên.
</div>