Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 19 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
19
Dung lượng
502,35 KB
Nội dung
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH CHƯƠNG TRÌNH ĐẠO TẠO THẠC SĨ CNTT QUA MẠNG ________________ BÀI THU HOẠCH MÔN HỌC CHUYỂN ĐỔI ỨNG DỤNG WEB THÀNH GIẢI PHÁP SAAS Giáo viên hướng dẫn: GSTS. Hoàng Kiếm Học viên thực hiện: Thái Hồng Quang CH1101033 Lớp: Thạc sỹ CNTT qua mạng khoá 06 ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH CHƯƠNG TRÌNH ĐẠO TẠO THẠC SĨ CNTT QUA MẠNG MÔN HỌC : PHƯƠNG PHÁP NGHIÊN CỨU KHOA HỌC TRONG TIN HỌC Lời nói đầu Khoa học là hệ thống các tri thức về quy luật của tự nhiên ,xã hội và tư duy về những biện pháp tác động đến thế giới xung quanh ,đến nhận thức và làm biến đổi thế giới đó phục vụ cho lợi ích của con người Khoa học bao gồm một hệ thống tri thức về quy luật của vật chất và sự vận động của vật chất ,những quy luật của tự nhiên ,xã hội và tư duy hệ thống tri thức này hình thành trong lịch sử và không ngừng phát triển trên cơ sở thực tiễn xã hội phận biệt ra 2 hệ thống tri thức :tri thức kinh nghiệm và tri thức khoa học Trong phạm vi của bài thu hoạch nhỏ này em sẽ trình bày phương pháp chuyển đổi ứng dụng web thành giải pháp Saas .Qua đây em cũng xin gửi lời cảm ơn đến giáo sư tiến sỹ khoa học Hoàng Văn Kiếm , người đã tận tâm truyền đạt cho chúng em những kiến thức nền tảng cơ bản cho chúng em về môn học “Phương pháp nghiên cứu khoa học trong tin học “. Mục lục I. Giới thiệu điện toán đám mây ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH CHƯƠNG TRÌNH ĐẠO TẠO THẠC SĨ CNTT QUA MẠNG MÔN HỌC : PHƯƠNG PHÁP NGHIÊN CỨU KHOA HỌC TRONG TIN HỌC 1. Giới thiệu 2. Lịch sử 3. Kiến trúc điện toán đám mây II. Dịch vụ của điện toán đám mây 1. Saas 2. Paas 3. Iaas III. Chuyển đổi ứng dụng thành giải pháp Saas 1. Chuyển đổi lược đồ cơ sở dữ liệu sang một mô hình trừu tượng 2. Mở rộng quá trình xác thực người dung 3. Cấu hình kết nối cơ sở dữ liệu 4. Triển khai ứng dụng SaaS nhiều bên thuê mới vào đám mây I. Giới thiệu điện toán đám mây ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH CHƯƠNG TRÌNH ĐẠO TẠO THẠC SĨ CNTT QUA MẠNG MÔN HỌC : PHƯƠNG PHÁP NGHIÊN CỨU KHOA HỌC TRONG TIN HỌC 1. Giới thiệu Theo Ian Foster: “Một mô hình điện toán phân tán có tính co giãn lớn mà hướng theo co giãn về mặt kinh tế, là nơi chứa các sức mạnh tính toán, kho lưu trữ, các nền tảng (platform) và các dịch vụ được trực quan, ảo hóa và co giãn linh động, sẽ được phân phối theo nhu cầu cho các khách hàng bên ngoài thông qua Internet”. “Điện toán đám mây là một dạng thức điện toán cung cấp các tài nguyên ảo hóa và có quy mô dưới dạng dịch vụ qua mạng Internet. Người dùng không cần tới những kiến thức chuyên môn để quản lý hạ tầng công nghệ này bởi phần việc đó là dành cho các nhà cung cấp dịch vụ.” Rất nhiều người, bao gồm cả các chuyên gia kỹ thuật, nghĩ rằng điện toán đám mây chỉ đơn giản là ảo hóa trên một quy mô rất lớn nhưng điều này là không đúng. Sự khác biệt về ảo hóa và điện toán đám mây là ảo hóa chỉ đơn giản là đặt các khối lượng công việc trên các hệ thống ảo cá nhân. Các hệ thống cá nhân là ảo nhưng chúng có chức năng và mục đích tương tự: Một máy chủ web, máy chủ tập tin, máy chủ cơ sở dữ liệu. Bạn có thể có hàng ngàn máy ảo, mỗi máy thực hiện các chức năng riêng của mình. Đấy không phải là điện toán đám mây. Một môi trường điện toán đám mây là một cơ sở hạ tầng ảo có chung nguồn tài nguyên dịch vụ và một chức năng cụ thể: Một công cụ tìm kiếm (Google), lưu trữ tập tin và hệ thống thu hồi (Dropbox). Điện toán đám mây là hàng ngàn máy ảo với một mục đích duy nhất: Cung cấp một dịch vụ không ngừng. 2. Lịch sử Thuật ngữ điện toán đám mây xuất hiện bắt nguồn từ hệ thống điện toán lưới trong thâp niên 80 tiếp theo là điện toán nhu cầu và phần mềm dịch vụ Điện toán lưới đặt trọng tâm vào việc chuyển tải 1 công việc đến địa điểm của các tài nguyên điện toán cần thiết để sử dụng. Một lưới là một nhóm máy chủ mà trên đó nhiệm vụ lớn được chia thành những tác vụ nhỏ để chạy song song, được xem là một máy chủ ảo Với điện toán đám mây, các tài nguyên điện toán như máy chủ có thể được định hình động hoặc cắt nhỏ từ cơ sở hạ tầng phần cứng nền và trở nên sẵn sàng thực hiện nhiệm vụ, hỗ trợ những môi trường không phải là điện toán lưới như Web ba lớp chạy các ứng dụng truyền thống hay ứng dụng Web 2.0 ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH CHƯƠNG TRÌNH ĐẠO TẠO THẠC SĨ CNTT QUA MẠNG MÔN HỌC : PHƯƠNG PHÁP NGHIÊN CỨU KHOA HỌC TRONG TIN HỌC II. Dịch vụ của điện toán đám mây 1. Paas PaaS (Platform as a Service) hỗ trợ việc triển khai ứng dụng mà không quan tâm đến chi phí hay sự phức tạp của việc trang bị và quản lý các lớp phần cứng và phần mềm bên dưới, cung cấp tất cả các tính năng cần thiết để hỗ trợ chu trình sống đầy đủ của việc xây dựng và cung cấp một ứng dụng và dịch vụ web sẵn sàng trên internet mà không cần bất kì thao tác tải hay cài đặt phần mềm cho những người phát triển , quản lý tin học , hay người dùng cuối. Khi PaaS có sẵn như một dịch vụ, các developer và ISVs có thể kiểm soát toàn bộ việc phát triển và triển khai ứng dụng . PaaS cho phép các developer và ISV’s tạo ra các ứng dụng web tùy chỉnh và phát hành nó một cách nhanh chóng , khi nhiều rắc rối như việc thiết lập hosting, servers, databases, quá trình tương tác người dùng và những frameworks được đóng gói. Mô hình PaaS ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH CHƯƠNG TRÌNH ĐẠO TẠO THẠC SĨ CNTT QUA MẠNG MÔN HỌC : PHƯƠNG PHÁP NGHIÊN CỨU KHOA HỌC TRONG TIN HỌC PaaS là một khái niệm được biết đến như một dịch vụ nền tảng Cloud Computing. Ứng dụng PaaS là một biến thể của ứng dụng saas PaaS còn được biết đến với một tên khác là cloudware. Đặc trưng Một ứng dụng PaaS bao gồm các đặc trưng sau đây: Phục vụ cho việc phát triển, kiểm thử, triển khai và vận hành ứng dụng giống như là môi trường phát triển tích hợp. Cung cấp các công cụ khởi tạo với giao diện trên nền web. Có kiến trúc đồng nhất. Tích hợp dịch vụ web và cơ sở dữ liệu. Hỗ trợ cộng tác nhóm phát triển. Cung cấp các công cụ hỗ trợ tiện tích khác. Ưu điểm Dịch vụ nền tảng (PaaS) đang ở thời kì đầu và được ưa chuộng ở những tính năng được ưa thích bởi nó cung cấp dịch vụ phần mềm có tích hợp các yếu tố về nền tảng hệ thống. Ưu điểm trong những dự án tập hợp những công việc nhóm có sự phân tán về địa lý. Khả năng tích hợp nhiều nguồn của dịch vụ web. Giảm chi phí ngoài lề khi tích hợp các dịch vụ về bảo mật, khả năng mở rộng, kiểm soát lỗi… Giảm chi phí khi trừu tượng hóa công việc lập trình ở mức cao để tạo dịch vụ, giao diện người dùng và các yếu tố ứng dụng khác. Hướng việc sử dụng công nghệ để đạt được mục đích tạo điều kiện dễ dàng hơn cho việc phát triển ứng dụng đa người dùng cho những người không chỉ trong nhóm lập trình mà có thể kết hợp nhiều nhóm cùng làm việc. ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH CHƯƠNG TRÌNH ĐẠO TẠO THẠC SĨ CNTT QUA MẠNG MÔN HỌC : PHƯƠNG PHÁP NGHIÊN CỨU KHOA HỌC TRONG TIN HỌC Nhược điểm Ràng buộc bởi nhà cung cấp: do giới hạn phụ thuộc vào dịch vụ của nhà cung cấp. Giới hạn phát triển: độ phức tạp khiến nó không phù hợp với yêu cầu phát triển nhanh vì những tính năng phức tạp khi hiện thực trên nền tảng web. 2. Saas Hãng nghiên cứu toàn cầu IDC định nghĩa: “Saas là phần mềm hoạt động trên Web, được quản lý bởi nhà cung cung cấp và cho phép người sử dụng truy cập từ xa” Saas là một mô hình kinh doanh phần mềm mới ra đời. Saas là viết tắt của từ Software As A Service. Đây là một xu hướng mới sẽ phát tiển mạnh trong tương lai. Nguyên tắc chủ yếu của Saas là sử dụng phầm mềm mà không cần cài đặt. Theo mô hình truyền thống khi 1 một doanh nghiệp muốn triển khai 1 phần mềm để sử dụng cho doanh nghiệp của mình thì phải trải qua rất nhiều giai đoạn và chi phí triển khai rất cao. Thông thường một phần mềm được viết ,phát triển và cung cấp như một sản phẩm hoàn chỉnh. Tuy nhiên Internet đã tạo ra một xu hướng mới: cung cấp phần mềm qua mạng. Quan niệm này tương đối đơn giản: “Đừng mua phần mềm, hay thuê và sử dụng khi bạn cần”. Điều này cũng tương tự như việc thuê nhà hay ô tô trong thời gian ngắn, phục vụ mục đích nhất thời còn hơn là bỏ tiền ra mua cả sản phẩm. Để sử dụng được phần mềm, thay vì phải bỏ tiền ra để xây dựng một phần mềm trọn gói như trước đây người dùng chỉ cần đăng kí với nhà cung cấp để thuê phần mềm sử dụng.Tùy theo nhu cầu của mỗi công ty khác nhau mà chi phí cũng khác nhau nhưng thông thường chi phí đó nhỏ hơn rất nhiều so với với chi phí xây dựng một phần mềm trọn gói. 3. Iaas IaaS là việc phân phối hạ tầng máy tính như một dịch vụ. Tầng này khác với PaaS ở chỗ : phần cứng ảo được cung cấp không kèm theo software stack. Thay vào đó, người dùng tự đưa ra VM image của mình. IaaS là dạng “thô” nhất của “computing as ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH CHƯƠNG TRÌNH ĐẠO TẠO THẠC SĨ CNTT QUA MẠNG MÔN HỌC : PHƯƠNG PHÁP NGHIÊN CỨU KHOA HỌC TRONG TIN HỌC a service”. Nhà cung cấp IaaS thương mại nối tiếng nhất là Amazon Elastic Compute Cloud (EC2). Trong EC2 , bạn có thể chỉ định máy ảo (VM) đặc biệt của mình và triển khai các ứng dụng trên đó hay là cung cấp VM iamge của bạn và chạy nó trên server. Bạn chỉ phải trả tiền cho thời gian tính toán, dung lượng lưu trữ và băngthôngmạng. Dự án Eucalyptus (Elastic Utility Computing Architecture for Linking Your Programs To Useful Systems) là một bản thực thi mã nguồn mở của EC2, trong đó tương thích về giao diện với dịch vụ thương mại. Giống như EC2, Eucalyptus dựa trên Linux với Xen dùng cho ảo hóa hệ điều hành. Eucalyptus được phát triển tại đại học California cho mục đích nghiên cứu cloud computing. Một vài gói nguồn mở dựa trên Linux khác. Hadoop là một Java™ software framework nguồn mở tương tự như PaaS nhưng tập trung vào thao tác các tập dữ liệu lớn trên các server nối mạng với nhau (lấy ý tưởng từ Google MapReduce cho phép xử lý song song trên các tập dữ liệu lớn). Như thế thì nó sẽ tìm được các ứng dụng trong tìm kiếm và quảng cáo. Hadoop cũng cung cấp các dự án con phỏng theo các ứng dụng của Google. Ví dụ Hbase đưa ra chức năng giống như CSDL Google BigTable và Hadoop Distributed File System (HDFS) đưa ra chức năng giống như Google File System III. Chuyển đổi ứng dụng thành giải pháp Saas 1. Chuyển đổi lược đồ cơ sở dữ liệu sang một mô hình trừu tượng công nghệ điển hình của một ứng dụng web trông giống như Hình; một ứng dụng giao tiếp với một cơ sở dữ liệu, thường là thông qua một tầng lưu giữ dữ liệu lâu bền như Hibernate. ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH CHƯƠNG TRÌNH ĐẠO TẠO THẠC SĨ CNTT QUA MẠNG MÔN HỌC : PHƯƠNG PHÁP NGHIÊN CỨU KHOA HỌC TRONG TIN HỌC Hình: ứng dụng web điển hình trong đám mây Để biến đổi một ứng dụng thành một ứng dụng nhiều bên thuê, cơ sở dữ liệu phải được thiết kế lại để có thêm các trường để quản lý dữ liệu nhận dạng bên thuê, sẽ cần thiết để cho phép bên thuê lọc dữ liệu. Ứng dụng SaaS-Factory được sử dụng để đọc lược đồ của cơ sở dữ liệu ứng dụng hiện có. Sau đó nó tạo ra một mô hình của cơ sở dữ liệu đó rồi sử dụng nó để tạo ra một cơ sở dữ liệu mới trong MySQL có thêm trường TenantID trong các bảng. Tại thời điểm này một số bảng bổ sung thêm được tạo ra, trong đó có một bảng chứa thông tin bên thuê mà Multi-Tenant Server sử dụng. ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH CHƯƠNG TRÌNH ĐẠO TẠO THẠC SĨ CNTT QUA MẠNG MÔN HỌC : PHƯƠNG PHÁP NGHIÊN CỨU KHOA HỌC TRONG TIN HỌC Hình 2. Tạo lược đồ cơ sở dữ liệu siêu mô hình Vì Cơ sở dữ liệu siêu mô hình (MetaModel Database) trông giống như cũ đối với ứng dụng ban đầu, cũng có chính các bảng và các trường như thế, nên ứng dụng ban đầu có thể tiếp tục tương tác với Cơ sở dữ liệu siêu mô hình chính xác giống như nó đã làm với cơ sở dữ liệu MySQL. Có thể tạo ra cơ sở dữ liệu thực ở dưới mô hình này với các trường TenantID bổ sung cần thiết cho một ứng dụng nhiều bên thuê. Cơ sở dữ liệu siêu mô hình chỉ là trừu tượng hóa và không thực sự lưu giữ bất kỳ dữ liệu nào: Nó chỉ đơn giản là một mô hình. Do đó, khi cơ sở dữ liệu thực được tạo ra, không có lý do nào để không thể tạo ra nó trong bất kỳ Hệ quản trị cơ sở dữ liệu quan hệ (RDBMS) được hỗ trợ nào .Điều này có thể có ích đối với các trường hợp ở đó các ISV đã muốn thay đổi chồng công nghệ bằng cách chọn một RDBMS khác, có thể là DB2 để tận dụng một số tính năng hay hiệu năng tốt hơn cho các ứng dụng của chúng. 2. Mở rộng quá trình xác thực người dung Bất kỳ ứng dụng SaaS nhiều bên thuê nào cũng phải có khả năng quản lý các thông tin phiên làm việc cần thiết của những người sử dụng đã xác thực để có thể xác định người sử dụng ấy thuộc bên thuê nào. Có nhiều phương pháp xác thực cho các ứng [...]... ứng dụng SaaS Các đặc điểm của các ứng dụng vẫn còn nguyên sau khi chuyển đổi và các kiểu kịch bản triển khai tiêu chuẩn, bao gồm cả việc sử dụng các công cụ quản lý đám mây để tạo ra các khuôn mẫu và lan truyền các cá thể của ứng dụng, có thể được sử dụng để triển khai một kiến trúc vận hành đáp ứng các nhu cầu của ứng dụng về khả năng mở rộng, tính co giãn, khả năng phục hồi và dự phòng Một ứng dụng. .. chủ ứng dụng đã chọn Máy chủ nhiều bên thuê làm việc với bất kỳ thùng chứa J2EE Servlet hiện đại nào và đã được chứng thực cho Máy chủ ứng dụng WebSphere (WebSphere Application Server) Bây giờ ứng dụng được triển khai có khả năng xử lý nhiều bên thuê Tuy nhiên, ứng dụng ban đầu sẽ không có một giao diện quản trị và quản lý để quản lý nhiều bên thuê hoặc để theo dõi một ứng dụng nhiều bên thuê SaaS- Factory... thuê Việc chuyển đổi jBilling chỉ mất dưới một tuần, bao gồm tất cả việc phân tích và chuẩn bị để xác định nơi mà mã cần được sửa đổi Nhiều thay đổi trong đó chỉ là lặp lại một dòng sửa đổi trong một loạt mã Java để truy cập JDBC, và nó là không cần thiết nếu sử dụng tầng lưu giữ cơ sở dữ liệu lâu bền như Hibernate 4 Triển khai ứng dụng SaaS nhiều bên thuê mới vào đám mây Bây giờ có thể sử dụng SaaS- Factory... một ứng dụng SaaS cho một máy chủ đã chọn, bao gồm cả các máy chủ trong đám mây Sau khi chọn một máy chủ cho ứng dụng và cơ sở dữ liệu, cơ sở dữ liệu đích được tạo ra (như là một cơ sở dữ liệu MySQL trên máy chủ Windows® cho ứng dụng MÔN HỌC : PHƯƠNG PHÁP NGHIÊN CỨU KHOA HỌC TRONG TIN HỌC ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH CHƯƠNG TRÌNH ĐẠO TẠO THẠC SĨ CNTT QUA MẠNG jBilling của chúng ta) và ứng dụng. .. sẽ mở rộng quá trình xác thực người dùng ứng dụng để cho khi một người dùng đăng nhập vào, anh ta cũng khớp với bên thuê tương ứng của mình và TenantID trở thành một phần của thông tin phiên làm việc Có nhiều cách để thực hiện điều này, nó phụ thuộc vào việc triển khai thực hiện ứng dụng Nếu sử dụng Tomcat như là thùng chứa servlet của ứng dụng, thì có thể sử dụng việc xác thực do thùng chứa quản lý... PHƯƠNG PHÁP NGHIÊN CỨU KHOA HỌC TRONG TIN HỌC ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH CHƯƠNG TRÌNH ĐẠO TẠO THẠC SĨ CNTT QUA MẠNG Cấu trúc các tùy chỉnh cho mỗi bên thuê Toàn bộ việc chuyển đổi ứng dụng jBilling được hoàn tất với chỉ một vài thay đổi nhỏ với ứng dụng, chủ yếu là liên quan đến việc cải tiến xác thực để bao gồm thêm các thông tin bên thuê vào trong thông tin phiên làm việc và thay đổi kết... người dùng của họ Do một trong các đặc điểm chung của các ứng dụng SaaS là cần theo dõi các thuê bao và tính cước bên thuê, nên cũng có sẵn các phương tiện để tính cước hoặc tích hợp với hệ thống tính cước bên ngoài Cấu trúc để triển khai ứng dụng SaaS mới của bạn vào đám mây MÔN HỌC : PHƯƠNG PHÁP NGHIÊN CỨU KHOA HỌC TRONG TIN HỌC ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH CHƯƠNG TRÌNH ĐẠO TẠO THẠC SĨ CNTT...ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH CHƯƠNG TRÌNH ĐẠO TẠO THẠC SĨ CNTT QUA MẠNG dụng; do đó bất kỳ ứng dụng nào được chuyển đổi cũng phải được phân tích và phải hiểu rõ về các phương thức xác thực của nó Như đã giới thiệu cách thiết lập một bảng các bên thuê và thêm một bảng người dùng sao cho mối quan hệ này có thể được duy trì trong dữ liệu của ứng dụng Mục đích là để thực hiện một... SaaS- Factory cũng có thể tạo ra và cài đặt một ứng dụng đồng hành được gọi là SaaS- Cockpit cung cấp các dịch vụ nhiều bên thuê cơ bản này Nó có quyền truy cập vào Cơ sở dữ liệu siêu mô hình giống như ứng dụng chính và có các màn hình quản lý để cung cấp bên thuê, gán các tài khoảnTenant Administrator và cấu hình các tham số cơ bản của các cấu hình ứng dụng cho mỗi bên thuê khác nhau đã có sẵn Ngoài... kiến trúc hướng dịch vụ, sử dụng Cơ sở dữ liệu siêu mô Đây là một tầng trừu tượng để mô hình hóa cơ sở dữ liệu ban đầu của ứng dụng và các giao tiếp cơ sở dữ liệu của ứng dụng được chuyển hướng đến siêu mô hình trừu tượng thay vì triển khai cơ sở dữ liệu thực tế Điều này được thực hiện bằng cách chỉ cần cấu hình lại kết nối JDBC của jBilling để truy cập MÔN HỌC : PHƯƠNG PHÁP NGHIÊN CỨU KHOA HỌC TRONG . III. Chuyển đổi ứng dụng thành giải pháp Saas 1. Chuyển đổi lược đồ cơ sở dữ liệu sang một mô hình trừu tượng công nghệ điển hình của một ứng dụng web trông giống như Hình; một ứng dụng giao. khoa học Trong phạm vi của bài thu hoạch nhỏ này em sẽ trình bày phương pháp chuyển đổi ứng dụng web thành giải pháp Saas .Qua đây em cũng xin gửi lời cảm ơn đến giáo sư tiến sỹ khoa học Hoàng. HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH CHƯƠNG TRÌNH ĐẠO TẠO THẠC SĨ CNTT QUA MẠNG ________________ BÀI THU HOẠCH MÔN HỌC CHUYỂN ĐỔI ỨNG DỤNG WEB THÀNH GIẢI PHÁP SAAS