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 SaaS?
Khái niệm phần mềm dịch vụ (Software as a Services) đã không còn xa lạ với thế giới. Ở VN thì khái niệm này cũng mới chỉ biết đến gần đây.
Chúng ta cũng đã nghe nói nhiều đến SaaS, vậy thế nào là một phần mềm SaaS và phần mềm SaaS khác với những phần mềm truyền thống như thế nào?
Khái niệm phần mềm SaaS rất đơn giản: thay vì phải cấp phép sử dụng vĩnh viễn cho một phần mềm thì giờ đây các nhà cung cấp phần mềm cho phép khách hàng sử dụng phần mềm theo cách đóng phí định kì. Tất cả những vấn đề khác như bảo mật, 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, bạn sẽ được hưởng lợi từ những nâng cấp này mà không phải trả thêm một khoản phí nào.
Theo định nghĩa của hãng nghiên cứu toàn cầu IDC thì SaaS là: "Phần mềm hoạt động trên web, được quản lý bởi nhà cung cấp và cho phép người sử dụng truy cập từ xa".
Về cơ bản các thuật ngữ SaaS và On-demand software được hiểu như nhau. Thông thường, một phần mềm SaaS thường có những đặc điểm như sau:
• Sử dụng phần mềm qua môi trường web thay vì sử dụng trên máy tính của khách hàng như trước đây.
• Phầm mềm được lưu trữ trên máy chủ của nhà cung cấp dịch vụ.
• 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 kì hàng tháng để sử dụng phần mềm.
• 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.
3.2.3 Những thuận lợi của phần mềm SaaS
3.2.3.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.3.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.3.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.3.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.4 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.5 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.5.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.5.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.5.3 Phần mềm SaaS và 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.5.4 Phần mềm SaaS và 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