3.2.1 Ví dụ mở đầu - Google Docs
Google có thế mạnh về lĩnh vực này. Có thể thấy nhiều ứng dụng dạng phần mềm SaaS của Google như Google Docs, Google Apps, Gmail...
Với những ứng dụng này của Google, người sử dụng có thể sử dụng miễn phí. Khi nhu cầu phát triển lên thì người sử dụng có thể trả phí để Google đáp ứng nhu cầu đó. Ví dụ: Hiện tại Google có ứng dụng Google Apps for Education dành cho lĩnh vực đào tạo. Với phần mềm này, các tổ chức giáo dục trên thế giới có thể nhờ Google làm nhiều thứ: từ website, tin tức, email, văn bản. Đặc biệt là họ có thể sử dụng email với đuôi email là tên miền mình có dạng như: ten@tenmien.com. Chẳng hạn, bạn hiện giờ đang sở hữu tên miền: thptchonthanh.com.vn, sau khi đăng kí sử dụng dịch vụ Google Apps for Education với Google thì bạn hoàn toàn có thể tạo và sử dụng tài khoản email miễn phí dạng: tên@thptchonthanh.com.vn với số lượng email miễn phí tới 2000 account. Nếu trường bạn có nhiều hơn 2000 account thì bạn vẫn có thể tạo thêm email account với số lượng tùy ý. Tuy nhiên, lúc này Google đòi hỏi bạn phải đóng một khoản phí nhất định. Thế nhưng, khoản phí này thì nhỏ và không đáng kể với một tổ chức như một trường học ở trên.
3.2.2 Thế nào là một phần mềm hướng dịch vụ?
Công nghệ thông tin ngày càng đóng vai trò quan trọng trong xã hội. Từ các doanh nghiệp, các đơn vị , tổ chức đến các cá nhân riêng lẻ đều cần sử dụng phần mềm để phục vụ cho hoạt động của mình. Tuy nhiên để triển khai một phần mềm là cả một vấn đề đối với người dùng. Vấn đề đó chính là chi phí và thời gian để triển khai phần mềm. Theo mô hình truyền thống, để triển khai một phần mềm cần phải có các giai đoạn sau đây:
• Xác định yêu cầu hệ thống cần triển khai
• Thuê một công ty tư vấn để tư vấn về vấn đề kĩ thuật
• Thuê một công ty phần mềm để phát triển hệ thống
• Triển khai hệ thống
• Bảo trì hệ thống
Chính vì có quá nhiều giai đoạn nên chi phí của một phần mềm rất cao. Hơn nữa thời gian phát triển phần mềm kéo dài, có thể lên đến vài năm nếu hệ thống lớn. Sau khi hệ thống đã đi vào hoạt động doanh nghiệp phải trả tiền thuê nhân viên kĩ thuật, tiền bản quyền phần mềm để duy trì hệ thống. Đây chính là vấn đề nan giải đối với doanh nghiệp, đặc biệt là đối với các doanh nghiệp vừa và nhỏ.Điều này khiến việc đầu tư vào Công nghệ thông tin của các doanh nghiệp còn nhiều hạn chế. Xu hướng của ngành Công nghệ thông tin ngày nay là đưa tất cả lên môi trường web nhằm tìm cách giảm thiểu chi phí đầu tư vào phần mềm cho người sử dụng. SaaS là một hình thức như vậy.
SaaS là viết tắt của từ Software as a Services, SaaS là một khái niệm về một hình thức phân phối phần mềm mới. Với hình thức này người dùng không phải tốn nhiều thời gian và chi phí đầu tư cho việc phát triển phần mềm như mô hình truyền thống nữa. Tất cả đã có sẵn trên máy chủ của nhà cung cấp dịch vụ, người dùng chỉ cần đăng kí với nhà cung cấp là có thể sử dụng được ngay mà không cần đòi hỏi về phần cứng, phần mềm đi kèm, cũng không cần cài đặt trên máy tính của mình, máy tính của người dùng chỉ cần một trình duyệt web để kết nối tới ứng dụng trên server nhà cung cấp. (Software-as- a-Service;
A Comprehensive Look at the Total Cost of
Ownership of Software Applications, September 2006)
Thông thường các phần mềm Saas được áp dụng chủ yếu trong các lĩnh vực như: quản trị quan hệ khách hàng(CRM), thương mại điện tử, tài chính, …
SaaS – A revolutionary approach for building web applications 3.2.3 Đặc trưng của phần mềm hướng dịch vụ
- Sử dụng qua môi trường mạng, không cần cài đặt trên máy tính của khách hàng
(SaaS Software as a Service, Erica Brasher-Sims 5/22/2008)
- Thay vì phải trả tiền một lần để sở hữu phần mềm vĩnh viễn thì khách hàng có thể trả phí định để sử dụng phần mềm.( Software-as-a-Service; A Comprehensive Look at the Total Cost of Ownership of Software Applications, September 2006)
- Các tính năng cải tiến được thực hiện bởi nhà cung cấp phần mềm và người sử dụng hoàn toàn không phải trả thêm phí cho những cải tiến này.
- Tất cả những vấn đề khác như bảo mật, duy trì hệ thống, nâng cấp tính năng đều do phía nhà cung cấp phần mềm SaaS thực hiện.( Software-as-a-Service; A Comprehensive Look at the Total Cost of Ownership of Software Applications, September 2006)
- Kiến trúc phát triển một lần cho nhiều người dùng (Single-instance, multi-tenant architecture): các nhà phát triển phần mềm chỉ phát triển một ứng dụng dùng chung cho tất cả người dùng. (SaaS – A revolutionary approach for building web applications, Wednesday, January 23, 2008)Do đó phần mềm hướng dịch vụ chỉ được áp dụng chủ yếu trong các lĩnh vụ phần mềm có quy trình nghiệp vụ rõ rang, mang tính đại chúng như quản trị quan hệ khách hàng(CMR), thương mại điện
tử(eCommerce), tài chính (Finance),…. (SaaS and BI - June 2008,Overview of On- Demand BI and Its Key Characteristics by Diby Malakar Published: June 1, 2008)
- Khi nhà cung cấp cập nhật tính năng phần mềm, người dùng không cần download và cập nhật mà vẫn nhìn thấy sự cập nhật đó.(
http://en.wikipedia.org/wiki/Software_as_a_service)
3.2.4 Phân biệt phần mềm hướng dịch vụ với các hình thức phân phối phần mềm khác
Có 4 hình thức để một công ty phần mềm phân phối sản phẩm đến khách hàng
o Cung cấp dạng mã nguồn mở (Open Source): phần mềm được cung cấp miễn phí hoặc có một ít phí tùy theo nhà cung cấp, có thể kèm theo đó là mã nguồn để người dùng có thể tham gia phát triển phần mềm.
o Cung cấp theo bản quyền (License software): người dùng phải trả tiền để được sở hữu phần mềm. Đây là cách phân phối phần mềm phổ biến hiện nay.
o Cung cấp dưới dạng phần mềm cho thuê(Leased Software)
o Cung cấp dưới dạng phần mềm hướng dịch vụ( Software As a Service):
o người sử dụng chỉ cần đăng kí với nhà cung cấp và sử dụng, không cần phải cài đặt phần mềm trên máy tính của mình.
o Sử dụng thông qua môi trường mạng.
Với 3 hình thức phân phối đầu(Open Source, License software, Leased Software) có một đặc điểm chung là để phần mềm chạy được thì phần mềm phải được cài đặt trên máy tính của người dùng, tất cả dữ liệu đều được lưu trữ trên máy tính của người dùng, nhưng với hình thức thứ 4(Saas) thì không cần cài đặt phần mềm trên máy tính của người dùng, phần mềm và dữ liệu được lưu trữ trên máy chủ của nhà cung cấp. Người dùng chỉ cần có trình duyệt web là sử dụng được phần mềm.
3.2.5 Những thuận lợi của phần mềm hướng dịch vụ
3.2.5.1 Chi phí triển khai thấp, thời gian triển khai nhanh
Chi phí khởi tạo thấp. Tùy thuộc và tính năng yêu cầu và số lượng người dùng mà có cách tính phí khác nhau.Đây chính là lợi điểm dễ thấy nhất của ứng dụng SaaS. Thay vì bạn phải bỏ một núi tiền ra mua cả một hệ thống khổng lồ để chỉ sử dụng và tính năng của chúng thì giờ đây bạn có thể tiết kiệm chi phí kiểu đó. Bạn cũng không phải tốn nhiều cho việc triển khai, chi cần một thao tác đăng kí đơn giản với nhà cung cấp dịch vụ là bạn đã có ngay phần mềm để sử dụng.
3.2.5.2 Không cần nhiều sự hỗ trợ kĩ thuật
Thay vì bạn phải bỏ tiền để thuê nhân viên kĩ thuật duy trì hệ thống của mình thì bây giờ các nhà cung cấp ứng dụng SaaS đã làm thay bạn tất cả. Hầu như bạn không phải đụng chạm gì đến vấn đề kĩ thuật. Chính vì thế chi phí thuê nhân viên kĩ thuật đã giảm đáng kể.
3.2.5.3 Nâng cấp chương trình mà không tốn thêm chi phí
Thông thường những nhà cung cấp ứng dụng SaaS luôn tiến hành mở rộng tính năng ứng dụng của họ. Vì thế, khách hàng cũng được hưởng lợi từ việc này mà không phải trả thêm một đồng chi phí nào cả.
3.2.5.4 Truy cập không giới hạn không gian và thời gian
Bạn có thể truy cập ứng dụng SaaS bất cứ đâu, bất cứ nơi miễn là nơi đó có kết nói internet. Đây cũng là một lợi điểm không hề nhỏ của các ứng dụng SaaS. Chính khả năng này mang lại cho những ứng dụng SaaS có nhiều cơ hội trong tương lai.
3.2.6 So sánh mô hình phần mềm SaaS và phần mềm truyền thống
Hình 3-16. Mô hình hoạt động của ứng dụng SaaS
Dựa trên mô hình của SaaS, ta có thể thấy rõ ưu điểm của SaaS đối với các mô hình phần mềm truyền thống đó chính là việc SaaS có thể chạy thông qua môi trường
mạng internet và đa người dùng. Chính vì thế nên SaaS có nhiều lợi thế hơn so với
các phần mềm truyền thống trước đây:
Giảm thiểu chi phí triển khai ứng dụng
Giảm thiểu chi phí bảo trì, nâng cấp hệ thống. Hệ thống sẽ chỉ cần nâng cấp một lần trên máy chủ của ứng dụng và theo đó, người dùng sẽ được sử dụng miễn phí những tính năng mới nâng cấp của hệ thống.
Chia sẻ thông tin tức thì ( real-time) giữa những doanh nghiệp trong cùng một cộng đồng.
Tăng lợi nhuận cho cả phía nhà cung cấp và phía người dùng sử dụng dịch vụ.
3.2.7 Khó khăn của phần mềm SaaS
Đi kèm với những thuận lợi là những khó khăn không nhỏ khi áp dụng mô hình phần mềm này:
3.2.7.1 Đối với người dùng(doanh nghiệp, tổ chức, cá nhân)
• Vì phần mềm chạy thông qua môi trường mạng internet nên đường truyền ứng dụng phải bảo đảm yêu cầu kĩ thuật cao và dẫn đến chi phí cao cho phần cơ sở vật chất.
• Tất cả mọi thông tin của khách hàng đều được lưu trữ trên server của nhà cung cấp dịch vụ, do đó việc bảo đảm an toàn thông tin là một vấn đề lớn.
• Phần mềm SaaS khó đáp đúng và đầy đủ quy trình nghiệp vụ của từng khách hàng cụ thể. Do đó khách hàng khó tùy biến ứng dụng theo ý riêng của mình.
3.2.7.2 Đối với nhà cung cấp dịch vụ
• Vấn đề bảo mật thông tin cho những ứng dụng SaaS là quan tâm hàng đầu. Vì thế, để tìm kiếm được một giải pháp bảo mật phù hợp là một vấn đề khó khăn.
• Do hệ thống phục vụ đa người dùng nên yêu cầu nhà cung cấp phải luôn đổi mới, nâng cấp hệ thống nhằm đáp ứng yêu cầu của khách hàng.
3.2.7.3 Vấn đề bảo mật
Như đã nói ở trên, vấn đề bảo mật trong ứng dụng TMĐT nói chung và TMĐT theo mô hình SaaS nói riêng luôn được đặt lên hàng đầu. Vấn đề bảo mật thông tin liên quan trực tiếp đến lòng tin của người tiêu dùng, của khách hàng tiềm năng. Đảm bảo về bảo mật cũng chứng tỏ được khả năng của nhà cung cấp với khách hàng của mình. Nhìn chung việc đảm bảo cho ứng dụng web nói chung có những khía cạnh sau:
1. Người dùng: người dùng đầu cuối của website. Phải có cơ chế xác định người dùng đầu cuối là ai trước khi cho phép họ thao tác trên những vùng thông tin nhạy cảm. Vấn đề chứng thực người dùng phải luôn có trong các ứng dụng TMĐT.
2. Nhà phát triển. Các nhà phát triển cũng là một nhân tố quan trọng trong việc bảo mật ứng dụng. Họ cần tìm hiểu những kiến thức cơ bản về bảo mật, về các cách tấn công và phòng chống tấn công. Có vậy, ứng dụng do họ xây dựng nên mới đảm bảo về khả năng bảo mật thông tin.
3. Cơ sở vật chất. Server lưu trữ ứng dụng cũng là một lưu ý quan trọng. Có một số ứng dụng bảo mật tốt nhưng đặt trên server được cấu hình bảo mật kém thì cũng trở thành nạn nhân của hacker.
4. Chính sách pháp lý của nhà nước, cơ quan có chủ quyền. Cần phải có chính sách pháp lý thích hợp để răn đe những kẻ phá hoại.
3.2.7.4 Vấn đề bảo đảm truy cập đồng thời
Đặc tính của phần mềm SaaS đó là đa người dùng – tức ứng dụng có nhiều người dùng truy cập một lúc. Vì vậy phải có cơ chế để đảm bảo truy vấn của người dùng sẽ được đáp ứng kịp thời và nhanh chóng. Thường thì yêu cầu về khả năng truy cập đồng thời liên quan phần nhiều đến thiết bị phần cứng – cụ thể là server lưu trữ ứng dụng trên mạng. Nếu server yếu thì khả năng ứng dụng bị treo vào một thời điểm nào đó là rất có thể xảy ra. Kế đến phải kể đến phương pháp thiết kế và phát triển ứng dụng. Các công nghệ và phương pháp phát triển có tối ưu hay chưa, việc phát triển ứng dụng có thông qua một qui trình kiểm tra chặt chẽ về chất lượng nào hay không? Nếu làm tốt vấn đề này thì khả năng cho ra đời một sản phẩm TMĐT theo mô hình SaaS phục vụ đa truy cập người dùng cùng lúc là hoàn toàn có thể đáp ứng.
Chương 4 PHÂN TÍCH – THIẾT KẾ
Dựa trên yêu cầu bài toán và bảng tính năng, chương này sẽ cung cấp tài liệu phân tích thiết kế hệ thống chi tiết hơn.
Mục tiêu của chương này:
- Mô hình tổng quan hệ thống
- Mô tả lại hệ thống với vai trò là người phát triển ứng dụng - Đưa ra cấu trúc database & lược đồ cơ sở dữ liệu
- Mô tả các thuộc tính của các bảng cơ sở dữ liệu - Đưa danh sách Actor & danh sách Use-case - Mô tả các Use-case
- Đưa ra thiết kế lớp xử lý & luồng xử lý của chương trình