Chuyển đổi ứng dụng web thành giải pháp SAAS
Kiến trúc triển khai SaaS cho các hoạt động đám mây có phục hồi mở rộng được
Có xu thế hướng về các khả năng cho phép ứng dụng chạy liên tục thậm chí vượt
qua cả việc tổ chức lại dữ liệu không trực tuyến, sự tiến triển của lược đồ, các nâng
cấp phiên bản, và các thay đổi lớn về chịu tải. Công nghệ pureScale của IBM đang di
chuyển từ thế giới các hệ thống z System sang AIX® và Linux® và cho phép một
dạng xử lý năng lực và thời gian hoạt động mà trước đây chỉ dành cho các môi trường
máy tính lớn chuyên dụng.
19 trang |
Chia sẻ: lylyngoc | Lượt xem: 2702 | Lượt tải: 4
Bạn đang xem nội dung tài liệu Chuyển đổi ứng dụng web thành giải pháp SAAS, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
ĐẠ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
ĐẠ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
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 phương thức 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ý để khởi đầu một quy tắc nghiệp vụ chạy
trong Máy chủ nhiều bên thuê (Multi-Tenant Server) để thực hiện tra tìm TenantID
của người sử dụng .Ngoài ra, có thể sử dụng một bộ lọc servlet để phát hiện và sau đó
thiết lập biến cục bộ luồng TenantID .Với ví dụ jBilling này, ứng dụng xử lý việc xác
thực trực tiếp bằng cách xác nhận hợp lệ dựa vào các bảng người dùng của nó. Vì vậy
phương thức được sử dụng để cung cấp xác thực nâng cao đã có một số thay đổi đơn
giản về mã xác thực để thêm vào quá trình tra tìm kiếm thông tin bên thuê của người
dùng được lưu trữ trong các bảng mới.
Nhờ việc người dùng đã được xác thực và biết được TenantID mà họ thuộc về, nên
đã có đầy đủ thông tin để có thể lọc dữ liệu sao cho chỉ có dữ liệu thuộc về bên thuê đó
mới có thể truy cập được.
3. Cấu hình kết nối cơ sở dữ liệu
Máy chủ nhiều bên thuê của Corent được xây dựng trên một 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
ĐẠ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
vào Cơ sở dữ liệu siêu mô hình thay vì cơ sở dữ liệu MySQL thực tế .Đối với các ứng
dụng sử dụng Hibernate, cần cấu hình nhánh ngôn ngữ Corent của Hibernate.
Do những thay đổi này, các cuộc gọi cơ sở dữ liệu của ứng dụng bây giờ được
hướng tới Cơ sở dữ liệu siêu mô hình. Các sự kiện SQL này bị chặn bởi Trình điều
khiển lanh lẹn của Corent (Corent Agile Controller™) và sau đó chuyển tới Trình kết
nối cơ sở dữ liệu lanh lẹn (Corent's ADBC™-Agile DataBase Connector). của Corent.
ADBC nhận câu lệnh SQL mà ứng dụng gửi tới Cơ sở dữ liệu siêu mô hình và phân
tích cú pháp nó, sau đó bổ sung thêm các tiêu chí lọc TenantID của người dùng trong
phiên làm việc đã gửi câu lệnh SQL ấy (ví dụ, ở đây TenantID = ).
Điều này đảm bảo rằng sự an toàn của dữ liệu trong cơ sở dữ liệu chia sẻ chung luôn
được duy trì nghiêm ngặt .Ngay cả khi một ứng dụng bên ngoài như ReportWriter kết
nối tới, dữ liệu mà nó có thể nhìn thấy vẫn bị hạn chế trong những dữ liệu thích hợp
cho bên thuê đó .Vì chúng ta biết người đang đăng nhập là ai, bất kể từ ứng dụng nào,
chúng ta biết họ thuộc về bên thuê nào và các bộ lọc thích hợp được áp dụng.
Vì việc xử lý các câu lệnh SQL được thực hiện sau khi chúng được gửi tới Cơ sở
dữ liệu siêu mô hình và bên thuê của người sử dụng đã biết nên Trình điều khiển lanh
lẹn của Corent có thể chặn và thực hiện các hoạt động tinh vi hơn, bao gồm việc tra
tìm các quy trình xử lý và các cấu hình của bên thuê cụ thể. Do đó, có thể thực hiện
các hành động đặc thù tùy theo mỗi bên thuê, thậm chí thay thế một kết nối cơ sở dữ
liệu khác sao cho một bên thuê có thể sử dụng một cơ sở dữ liệu DB2 mặc dù tất cả
những bên thuê khác đang sử dụng cơ sở dữ liệu MySQL. Hoặc một bên thuê có thể
thêm thao tác SQL để hạn chế dữ liệu mà họ có thể lấy ra trong số các bản ghi đã nhập
không quá 90 ngày trước đó. Tất cả các tùy chỉnh cho mỗi bên thuê này có thể được
thực hiện thông qua một Máy quy tắc lanh lẹn (Agile Rules Engine™) được xây dựng
trong Máy chủ nhiều bên thuê mà không cần bất kỳ các thay đổi nào với mã ứng dụng
ban đầu.
ĐẠ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
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 nối cơ sở dữ liệu
để trỏ đến Máy chủ nhiều bên 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 để triển khai 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
ĐẠ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
jBilling của chúng ta) và ứng dụng Máy chủ nhiều bên thuê đã cấu hình đầy đủ được
triển khai như là một tập các tệp .WAR lên máy 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 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 ra còn
có các phương tiện quản trị để theo dõi và lập báo cáo về các bên thuê và 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
ĐẠ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
Mức triển khai này là khá cơ bản đối với việc triển khai ứ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 SaaS điển hình có thể có một tập các máy chủ ứng dụng được truy
cập thông qua một bộ cân bằng tải và được kết nối đến một máy chủ cơ sở dữ liệu.
Chính máy chủ cơ sở dữ liệu có thể được triển khai như một cụm với nhiều máy chủ
cơ sở dữ liệu để mang lại khả năng mở rộng và dự phòng.
IBM DB2 cung cấp một số công nghệ và cấu hình có thể được sử dụng để đạt được
khả năng phục hồi và thời gian phục hồi được đảm bảo, cũng như cho phép phân phối
tải trên cơ sở dữ liệu:
Các cấu hình Phục hồi sau thảm họa sẵn sàng cao của DB2 (HADR - High
Availability Disaster Recovery) có thể cung cấp cả khả năng sẵn sàng phục hồi lẫn
một khả năng cân bằng tải nào đó thông qua việc sử dụng chế độ thứ cấp như là một
cơ sở dữ liệu chỉ đọc.
Công nghệ pureScale và Tự động hóa hệ thống Tivoli (TSA - Tivoli System
Automation) của IBM cho phép một môi trường cơ sở dữ liệu được phân cụm có nhiều
nút chia sẻ tải xử lý, nhưng hai thứ đó có nhiều hạn chế về cấu hình phần cứng và hệ
điều hành.
Xu hướng về tính sẵn sàng của cơ sở dữ liệu và khắc phục lỗi đang trở nên phức
tạp hơn cho các ứng dụng SaaS vì số lượng khách hàng/bên thuê bị ảnh hưởng bởi bất
kỳ hư hại nào đều lớn hơn so với phần mềm cục bộ của khách hàng truyền thố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
Kiến trúc triển khai SaaS cho các hoạt động đám mây có phục hồi mở rộng được
Có xu thế hướng về các khả năng cho phép ứng dụng chạy liên tục thậm chí vượt
qua cả việc tổ chức lại dữ liệu không trực tuyến, sự tiến triển của lược đồ, các nâng
cấp phiên bản, và các thay đổi lớn về chịu tải. Công nghệ pureScale của IBM đang di
chuyển từ thế giới các hệ thống z System sang AIX® và Linux® và cho phép một
dạng xử lý năng lực và thời gian hoạt động mà trước đây chỉ dành cho các môi trường
máy tính lớn chuyên 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
KẾT LUẬN
Một lần nữa em xin cảm ơn thầy Hoàng Kiếm với những kiến thức của thầy truyền
đạt về một môn học mới mẻ và mang lại cho em rất nhiều kiến thức mới sẽ bổ sung
cho e rất nhiều trong quá trình học tập và công tác khoa học sau này .Qua bài thu
hoạch này em cũng đã rút ra rất nhiều kiến thức về một sự phát triển của CNTT hiện
tại và sau này.
Do thời gian và khả năng của mình vẫn chưa đạt nên em chỉ trình bày một phương
pháp mới mà chưa có được bản demo và cũng chưa đưa hết những nguyên lý khoa học
trong điện toán đám mây em sẽ hoàn thiện kiến thức mới này trong những chuyên đề
tiếp theo.
ĐẠ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
TÀI LIỆU THAM KHẢO
[1] GS.TSKH Hoàng Kiếm – Thanh Thủy – Chi Mai, Đôi cánh I Ca Rơ, Nhà xuất bản
thống kê Hà Nội, 1990
[2] GS.TSKH Hoàng Kiếm, Giải một bài toán trên máy tính như thế nào, tập 1 và 2, Nhà
xuất bản giáo dục – 2001
[3] website http://
[4] website
[5] website
ĐẠ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
Các file đính kèm theo tài liệu này:
- ch1101033_6173.pdf