Chương 1: Giới thiệu chung về dự án Mobile Access và nhiệm vụ của luận văn tốt nghiệp. Chương 2: Mô hình phần mềm dịch vụ (SaaS). Chương 3: J2ME và LightWeight User Interface Toolkit (LWUIT). Chương 4: Hệ thống Mobile Access và Xây dựng ứng dụng SaaSMobile Client.
Chương 5: Orange APIs và tích hợp vào hệ thống Mobile Access. Chương 6: Kết luận và hướng phát triển. _____________________________________________________________________ 9 Mô hình phần mềm dịch vụ và Ứng dụng cho điện thoại di động Chương 2. Mô Hình Phần Mềm Dịch Vụ Phần mềm dịch vụ (Software as a service –SaaS) là một trong những xu thế mới của các nhà cung cấp giải pháp công nghệ thông tin.
Theo trào lưu “ Internet thay đổi mọi thứ”, một số nhà phân tích cho rằng phần mềm dịch vụ sẽ dần thay thế các phần mềm truyền thống được phân phối và cài đặt trên máy của người sử dụng. Nghiên cứu, tìm hiều về Phần mềm dịch vụ chính là một phần công việc của luận văn này.1 Giới thiệu về Phần mềm dịch vụ (SaaS) 2.1 Phần mềm dịch vụ (SaaS) là gì ? Phần mềm dịch vụ (SaaS)[2] là một mô hình triển khai, phân phối phần mềm, trong đó các ứng dụng được phân phối và quản lý như là các dịch vụ. Trong mô hình này, phần mềm được phát triển, hoạt động trên nền tảng web và được quản lý bởi nhà cung cấp, cho phép người dùng truy cập từ xa. Không giống như phần mềm đóng gói truyền thống người sử dụng thường phải cài đặt vào hệ thống máy tính hoặc các máy chủ của họ, nhà cung cấp phần mềm dịch vụ SaaS làm chủ sở hữu phần mềm và chạy phần mềm đó trên hệ thống máy tính của họ.
Khách hàng không sở hữu phần mềm nhưng họ có thể thuê nó để tiết kiệm chi phí, thường thì khách hàng sẽ trả phí thuê theo tháng.2 SaaS có phải là một giải pháp tiết kiệm chi phí và hiệu quả ? Triển khai các phần mềm dịch vụ SaaS rẻ hơn (hay ít nhất là lúc khởi đầu) và đơn giản hơn việc triển khai các sản phẩm phần mềm đóng gói truyền thống. Khách hàng của phần mềm dịch vụ SaaS thường thanh toán một khoản phí được rát mỏng hàng tháng cho mỗi người dùng phần mềm. Các công ty sẽ không phải mất nhiều chi phí thuê tư vấn, đầu từ cơ sở hạn tầng, và dễ dàng ước lượng được các chi phí cho việc sử dụng phần mềm dịch vụ. Việc nâng cấp sản phẩm SaaS cũng dễ dàng hơn, hay nói chính xác thì việc nâng cấp được thực hiện đồng bộ và ở phía nhà cung cấp.
Tuy vậy, tính hiệu quả của việc sử dụng phần mềm dịch vụ so vơi phần mềm đóng gói truyền thống sẽ tùy thuộc vào nhiều yếu tố và đặc điểm nhu cầu _____________________________________________________________________ 10 Mô hình phần mềm dịch vụ và Ứng dụng cho điện thoại di động của riêng các công ty. Điều này đôi khi được ví như hiệu quả của việc bạn mua một chiếc ôtô tự lái so với bạn sử dụng dịch vụ xe tắc xi.3 Sự khác biệt giữa SaaS và mô hình nhà cung cấp dịch vụ ứng dụng (ASP) Khi mô hình nhà cung cấp dịch vụ ứng dụng (ASP) phát triển rầm rộ trong nhưng thời gian trước đây, họ đã đưa ra những tính năng tương tự như các nhà cung cấp sản phẩm phần mềm dịch vụ SaaS đưa ra hiện nay: sản phẩm cho thuê và được truy cập qua Internet. Vấn đề mà các mô hình nhà cung cấp dịch vụ ứng dụng gặp phải đó chính là việc họ nỗ lực đáp ứng nhu cầu cụ thể khác nhau của từng khách hàng. Do đó, các nhà cung cấp sản phẩm theo mô hình ASP đã mất nhiều chi phí để đảm bảo đủ cơ sợ hạ tầng và triển khai các ứng dụng phục vụ khách hàng.
Các nhà cung cấp phần mềm dịch vụ SaaS thành công hiện nay như Salesforce[3] , LeanLogistics và Ketera đã giải quyết triệt để được các vấn đề về khả năng mở rộng và độ tin cậy của hệ thống phần, việc làm này đã khiến cho sản phẩm theo mô hình SaaS tỏ ra ưu thế hơn so với mô hình ASP. Thay vì cố gắng đáp ứng tất cả các yêu cầu cụ thể của tất cả người dùng thì họ đưa ra các giải pháp “một cho tất cả”, đây chính là cách tiếp cận dựa trên kiến trúc Multi-tenacy[4] (một chương trình dùng chung cho mọi khách hàng). Bất cứ tính năng hay chức năng nào mà các nhà cung cấp SaaS thêm vào phần mềm đều dựa trên những phản hồi của khách hàng nhằm cung cấp một phần mềm thích hợp nhất phục vụ cho số đông. Nhờ đó, phía nhà cung cấp dịch vụ có thể cung cấp dịch vụ với chi phí thấp hơn, và đảm bảo khách hàng luôn được sử dụng những phiên bản tốt nhất.2 Chuyển đổi từ phần mềm truyền thống sang mô hình phần mềm dịch vụ Để chuyển đổi từ mô hình cung cấp phần mềm truyền thống sang cung cấp phần mềm dịch vụ, các nhà cung cấp phải thay đổi mô hình kinh doanh, kiến trúc ứng dụng , và cách thức hoạt động của hệ thống [5]: _____________________________________________________________________ 11 Mô hình phần mềm dịch vụ và Ứng dụng cho điện thoại di động Hình 3.
Chuyển đổi sang mô hình phần mềm dịch vụ 2.1 Mô hình kinh doanh (Business Model) Trong mô hình kinh doanh mới này, cách thức sở hữu phần mềm đã chuyển đổi từ việc mua phần mềm thành thuê phần mềm, cơ sở hạ tầng và đội ngũ kỹ thuật sẽ chỉ tập trung ở phía nhà cung cấp dịch vụ, giá thành sử dụng của phần mềm giảm, và thị trường khách hàng cũng được mở rộng hơn.1 Thay đổi cách thức sở hữu phần mềm Khi chuyển sang cung cấp phần mềm như là một dịch vụ, thay vì bán quyền sở hữu phần mềm cho khách hàng, nhà cung cấp phần mềm sẽ cho thuê các sản phẩm của họ. Theo cách thức truyền thống, các phần mềm sẽ được đóng gói và cung cấp cho khách hàng. Khách hàng sẽ cài đặt phần mềm lên hệ thống máy tính của họ. Trong mô hình cung cấp phần mêm dịch vụ, khách hàng không phải chi tiền để mua toàn bộ phần mềm đóng gói, họ chỉ trả tiền khi họ sử dụng phần mềm của nhà cung cấp.
Phương thức thuê phần mềm này có thể tính theo nhiều cách: tính theo số người dùng, tính theo thời gian sử dụng.2 Chuyển đổi hạ tầng, đội ngũ quản trị từ khách hàng sang nhà cung cấp dịch vụ Trong mô hình truyền thống, để sử dụng các phần mềm, khách hàng phải đầu tư vào các mục sau: _____________________________________________________________________ 12 Mô hình phần mềm dịch vụ và Ứng dụng cho điện thoại di động -Phầm mềm: gồm các chương trình phần mềm mà khách hàng sử dụng. -Phần cứng: gồm các thiết bị tạo nên cơ sở hạ tầng của hệ thống để vận hành các phần mềm -Đội ngũ kỹ thuật, chuyên gia: gồm các kỹ thuật viên hoặc chuyên gia, nhóm người này sẽ đảm bảo cho hoạt động của hệ thống phần cứng và các phần mềm ứng dụng. Khi chuyển đổi sang mô hình cung cấp phần mềm dịch vụ, khách hàng có thể vẫn phải đầu tư để mua phần cứng, và thuê đội ngũ kỹ thuật, nhưng khi đó, hệ thống phần cứng sẽ đơn giản hơn rất nhiều và nhiệm vụ của đội ngũ kỹ thuật cũng được giảm thiểu đáng kể. Dưới đây là bảng minh họa về tỷ lệ chi phí đầu tư của khách hàng khi sử dụng phần mềm truyền thống và phần mềm dịch vụ Hình 4.
So sánh tỷ lệ đầu tư các thành phần giứa phần mềm truyền thống và phần mềm dịch vụ 2.3 Giảm giá thành của phần mềm dịch vụ Thông qua việc cung cấp một giải pháp cho mọi khách hàng, nhà cung cấp có thể giảm giá thành của phần mềm dịch vụ, trong khi vẫn đảm bảo khách hàng của họ đang được sử dụng những sản phẩm tốt nhất. Lấy ví dụ, một nhà cung cấp phần mềm dịch vụ có 50 công ty sử dụng dịch vụ của họ. Phía nhà cung cấp sử dụng 5 máy chủ và một đội ngũ kỹ thuật viên để vận hành phần mềm. Nếu như 50 công ty _____________________________________________________________________ 13 Mô hình phần mềm dịch vụ và Ứng dụng cho điện thoại di động nói trên sử dụng phần mềm truyền thống, mỗi công ty phải đầu tư máy chủ và thuê đội ngũ kỹ thuật riêng để vận hành hệ thống của họ, như vậy chi phí cao hơn rất nhiều so với việc sử dụng phần mềm dịch vụ.4 Thay đổi về đối tượng khách hàng Bằng cách cung cấp phần mềm dịch vụ, các nhà cung cấp sẽ có thêm một lượng lớn các khách hàng là các công ty nhỏ lẻ mà trước đây vốn không thể đủ kinh phí để mua các phần mềm truyền thống.
Trong mô hình sử dụng phần mềm truyền thống, một công ty nhỏ và có vốn đầu tư ít không thể đủ kinh phí để mua một phần mềm thật tốt phục vụ cho công việc của họ bởi giá thành của những phần mềm có chất lượng cao là rất đắt đỏ. Tuy nhiên, khi chuyển sang sử dụng phần mềm dịch vụ, công ty này hoàn toàn có thể sử dụng các phần mềm chất lượng cao với chi phí thấp hơn.2 Kiến trúc hệ thống (Application Architecture) Để có thể cung cấp được phần mềm dịch vụ, các nhà sản xuất phần mềm phải thực hiện hàng loạt thay đổi trong kiến trúc của phần mềm. Trong số những thay đổi đó, ba tiêu chí sau đây đóng vai trò cốt lõi: -Tính linh động (scalable) -Tối ưu hóa multi-tenant (Multi-tenant-efficient) -Có khả năng tùy biến cao (Configurable) Tính linh động của một ứng dụng thể hiện ở việc chất lượng của ứng dụng đó không thay đổi khi qui mô của ứng dụng thay đổi. Multi-tenancy là một kiểu kiến trúc phần mềm, trong đó chỉ một thực thể (instance) của phần mềm được chạy trên hệ thống máy chủ và phục vụ cho nhiều khách hàng (tenant – customer company).
Việc thiết kế phần mềm theo kiến trúc Multi-tenancy một cách hiệu quả là một trong những yêu cầu then chốt dẫn tới sự thành công của nhà cung cấp dịch vụ. Đây cũng chính là điểm khác biệt rõ ràng nhất của mô hình phần mềm dịch vụ so với mô hình nhà cung cấp dịch vụ ứng dụng (Application service provider- ASP ) truyền thống, mô hình ASP đã tỏ rõ những nhược điểm và không thành công trong quá khứ. _____________________________________________________________________ 14 Mô hình phần mềm dịch vụ và Ứng dụng cho điện thoại di động Một trong những thay đổi quan trọng trong kiến trúc của phần mềm dịch vụ là khả năng tùy biến cao. Thay vì phải sửa đổi ứng dụng cho phù hợp với nhu cầu của từng khách hàng, phần mềm dịch vụ phải cung cấp được khả năng tùy biến cao thông qua việc thay đổi các cấu hình.