Giới thiệu
Point and click là các hành động của người dùng máy tính để di chuyển con trỏ chuột tới các vị trí trên màn hình (pointing) và sau đó nhấn một button tại con chuột, thường là chuột trái (click), và sau đó là các thiết bị chuột khác. Một ví dụ của point and click chính là hypermedia, nơi mà người dùng click lên các hyperlinks để điều hướng từ văn bản này tới văn bản khác.
User interfaces - một ví dụ cho graphical user interfaces, là một vài mô tả về "point-and-click interfaces", thường để gợi ý rằng chúng rất dễ sử dụng, yêu cầu người dùng chỉ cần chỉ ra mong muốn của họ.
Point and click có thể được sử dụng với một số các thiết bị đầu vào khác nhau từ chuột, touch pads, trackpoint, joysticks, scroll buttons, and roller balls. Các interfaces thỉnh thoảng được coi như là "click-and-drool interfaces".
Ngày này có nhiều gói phần mềm cung cấp bộ thư viện để phát triển phần mềm theo một trong hai phương pháp sau: cung cấp các lệnh, và cung cấp theo phương pháp "point and click" - nghĩa là người dùng có thể thao tác chuột để thực hiện phân tích dữ liệu và xây dựng các ứng dụng của mình. Việc xây dựng bằng các lệnh - hoặc các hàm viết sẵn tỏ ra phức tạp hơn để người dùng ít am hiểu lập trình có thể tiếp cận.
Một trong các ứng cử viên toàn diện nhất với giải pháp point and click development chính là Salesforce.com (Salesƒorce) - một công ty điện toán đám mây của Mỹ có trụ sở tại San Francisco, California. Mặc dù doanh thu của nó đến từ một sản phẩm quản lý quan hệ khách hàng (CRM), Salesforce cũng tận dụng các ứng dụng thương mại của các mạng xã hội thông qua việc mua lại. Tính đến đầu năm 2016, nó là một trong những công ty điện toán đám mây của Mỹ có giá trị cao nhất với giá trị vốn hóa thị trường trên 55 tỷ đô. Mặc dù công ty đã không bao giờ chuyển lợi nhuận GAAP trong bất kỳ năm tài chính kể từ khi thành lập vào năm 1999.
Salesforce cung cấp chủ yếu cho doanh nghiệp trong nền tảng Salesforce1. Nó cung cấp cho các công ty với một giao diện để quản lý hồ sơ và quản lý công việc, và một hệ thống tự động định tuyến và tăng lên theo các sự kiện quan trọng. Salesforce cung cấp cho khách hàng khả năng theo dõi các trường hợp của họ, bao gồm một mạng xã hội plugin cho phép người dùng tham gia cuộc trò chuyện về công ty của họ trên các trang web mạng xã hội, cung cấp các công cụ phân tích và các dịch vụ khác bao gồm thông báo qua email, tìm kiếm Google, và tiếp cận với quyền lợi và hợp đồng của khách hàng.
Force.com là một nền tảng để tạo và triển khai các ứng dụng đám mây thế hệ mới. Bởi vì không có máy chủ hoặc phần mềm để mua hoặc quản lý, bạn có thể tập trung hoàn toàn vào việc xây dựng các ứng dụng mà bao gồm tích hợp mạng xã hội và các tính năng di động, xử lý nghiệp vụ, báo cáo và tìm kiếm. Ứng dụng của bạn chạy trên một tuyến bảo mật, máy chủ đã được chứng minh với quy mô và được sao lưu dữ liệu tự động.
Nội dung
1. Giới thiệu về Point and click app phát triển bởi nền tảng Force.com
- Chỉnh sửa các đối tượng chuẩn được định nghĩa sẵn bởi nền tảng Force.com như: Contact, Account, và User.
- Tạo ra các đối tượng mới.
- Quản lý các thành phần giao diện người dùng trao đổi qua các đối tượng, giống như page layouts.
- Khai báo các nghiệp vụ rất đơn giản, giống như các workflow rules và approval processes.
- Phát triển, thực thi, và kiểm thử các nghiệp vụ, bao gồm các phương thức của Apex class (stored procedures) và database triggers.
- Phát triển, chỉnh sửa giao diện người dùng sử dụng Visualforce pages.
2. Các đặc điểm của nền tảng để tạo và triển khai các ứng dụng đám mây thế hệ mới
- Chứng minh (Proven): Hơn 100.000 công ty tín nhiệm Force.com trong đó có rất nhiều các nhà lãnh đạo trong ngành công nghiệp. Force.com đã xây dựng hơn 220.000 ứng dụng chạy trong các trung tân dữ liệu được công nhận là tầm cỡ thế giới với sao lưu, chuyển đổi dự phòng và thời gian hoạt động hơn 99,9 %.
- Linh hoạt (Agile): Force.com đòi hỏi viết mã rất ít. Lắp ráp các ứng dụng của bạn trong các khối thích hợp đã xây dựng có sử dụng công cụ trực quan và các thư viện thành phần. Tinh giản việc phát triển với môi trường hộp cát và tích hợp các ứng dụng sử dụng các API mở.
- Thuộc về xã hội (Social): Làm việc hiệu quả hơn với các đồng nghiệp của bạn sử dụng mạng xã hội an toàn của riêng bạn. Force.com bao gồm các thành phần trước khi xây dựng cho cấp dữ liệu, hồ sơ, cuộc hội thoại, cập nhật và chia sẻ file. Tất cả các thành phần có sẵn thông qua các REST API và có thể dễ dàng tích hợp vào các ứng dụng.
- Di động (Mobile): Hoạt động kinh doanh của bạn từ điện thoại của bạn bằng cách sử dụng ứng dụng di động Salesforce1. Xây dựng các ứng dụng di động có nguồn gốc cung cấp bởi một cơ sở dữ liệu đám mây an toàn với API cứng. Hoặc xây dựng các ứng dụng trình duyệt di động được tối ưu hóa sử dụng khung giao diện người dùng của chúng tôi và HTML5 để hỗ trợ bất kỳ thiết bị với một cơ sở mã. Force.com là những gì bạn cần phải cung cấp một cách an toàn các ứng dụng trên các thiết bị di động.
3. Đặc điểm các ứng dụng được xây dựng trên nền tảng Force.com
a) Các ứng dụng dữ liệu tập trung (Data-centric apps)
Nền tảng này được tập trung vào một cơ sở dữ liệu, nó cho phép bạn viết các ứng dụng là dữ liệu tập trung. Một ứng dụng dữ liệu tập trung dựa trên cấu trúc, thông tin phù hợp như bạn tìm thấy trong một cơ sở dữ liệu hoặc XML file. Chúng tôi có thể tìm thấy các ứng dụng dữ liệu tập trung ở khắp mọi nơi trong cơ sở dữ liệu máy tính để bàn nhỏ như là Microsoft Access hoặc FileMaker, trong những đường để các hệ thống lớn chạy trên các hệ thống quản lý cơ sở dữ liệu như Oracle hay MySQL. Không giống như các ứng dụng được xây dựng xung quanh dữ liệu phi cấu trúc như tài liệu văn bản đơn giản hoặc các tập tin HTML, ứng dụng dữ liệu tập trung làm cho nó dễ dàng để kiểm soát, truy cập và quản lý dữ liệu. Ví dụ, hãy xem xét một bài tập như cố gắng để xác định tổng doanh số cho một tháng từ một tập hợp các hợp đồng Microsoft Word dựa trên so với một tập hợp các hợp đồng một cơ sở dữ liệu đơn giản. Trong khi đó, phải mất rất nhiều công sức để mở từng tài liệu Word, tìm thấy tổng số hợp đồng và sau đó thêm tất cả chúng lại với nhau. Nếu dữ liệu này được lưu trữ trong cơ sở dữ liệu của một ứng dụng dữ liệu tập trung, chúng ta có thể nhận được hiệu quả hơn bằng cách thực hiện một truy vấn đơn. Trong khi hầu hết mọi người không cần một ứng dụng dữ liệu trung tâm để theo dõi bất cứ điều gì khác hơn là danh bạ, hình ảnh, hoặc âm nhạc. Các công ty thuộc mọi quy mô liên tục cần phải truy vấn và tổng hợp một lượng lớn dữ liệu để đưa ra quyết định kinh doanh nhanh chóng. Kết quả các tính chất dữ liệu trung tâm của nền tảng Force.com làm cho nó là nền tảng hoàn hảo để xây dựng và lưu trữ các ứng dụng kinh doanh.
b) Các ứng dụng cộng tác (Collaborative apps)
Bởi vì nền tảng này có thể được truy cập bởi nhiều người dùng cùng một lúc, nó cho phép bạn viết các ứng dụng cộng tác. Một ứng dụng cộng tác là một ứng dụng với dữ liệu và các dịch vụ được chia sẻ bởi rất nhiều người dùng ở các vị trí khác nhau. Không giống như các hình thức truyền thống của các phần mềm được cài đặt trên một máy tính duy nhất và rất khó để truy cập từ xa, ứng dụng cộng tác trên nền tảng này có thể được truy cập từ bất cứ nơi nào trên thế giới chỉ với một trình duyệt Web. Điều này làm cho nó dễ dàng cho các đội làm việc với nhau về các hoạt động như bán một sản phẩm, quản lý một dự án hoặc thuê một nhân viên.Ngoài ra để dễ dàng truy cập qua trình duyệt Web, một số nền tảng được xây dựng trong các tính năng cũng tạo thuận lợi cho sự hợp tác nhóm hiệu quả:
- Sử dụng nền tảng là mô hình bảo mật và chia sẻ (security and sharing model) để kiểm soát truy cập của người dùng đến dữ liệu khác nhau.
- Sử dụng các quy trình làm việc (workflow rules) để tự động phân công nhiệm vụ, cập nhật dữ liệu hoặc gửi thông báo qua email khi sự kiện kinh doanh nào đó xảy ra như việc tạo ra một bản ghi mới của sự thay đổi trong giá trị của một lĩnh vực thu âm.
- Sử dụng các quy trình phê duyệt (approval processes) để thiết lập một chuỗi các bước đi cần thiết cho một hồ sơ để được phê duyệt, bao gồm cả những người phải phê duyệt tại mỗi bước.
Nói chung, các tính năng này cung cấp một khuôn khổ cho việc chia sẻ các ứng dụng giữa các nhóm, phân nhóm và toàn bộ tập đoàn mà không xóa bỏ kiểm soát hành chính trên các dữ liệu nhạy cảm.
4. Các công nghệ bên cạnh nền tảng ứng dụng Force.com
Bây giờ, chúng ta đã nói về các loại ứng dụng nền tảng này có thể xây dựng, hãy xem xét một số công nghệ bên cạnh nền tảng này. Các kĩ thuật có ảnh hưởng lớn tới các khía cạnh mà nển tảng nó hỗ trợ và phát triển.
a) Multitenant architecture
Trong kiến trúc này, tất cả người dùng chia sẻ cùng một hạ tầng, cùng một phiên bản của nền tảng Force.com. Ngược lại đối với các đối tác thê dịch vụ của họ, giống như kiến trúc client-server doanh nghiệp hoặc email servers, kiến trúc multitenant phát hành bản nâng cấp tự động và đồng thời cho tất cả người dùng. Do đó, không ai phải lo lắng về việc mua và duy trì physical stack của phần cứng và phần mềm, hoặc đảm bảo rằng ứng dụng của mình cài đặt luôn trên bản mới nhất. Bên cạnh nền tảng Force.com, một số nền tảng phổ biến mà người dùng cũng hay sử dụng đó là: eBay, Yahoo, Gmail,,… cho phép người dùng khai thác với chi phí thấp, nhanh chóng triển khai, cập nhật.
Một nền tảng kiến trúc multitenant cũng tác động tới làm thế nào lập trình viên có thể sử dụng nền tảng này để tạo ra các ứng dụng mới. Đặc biệt là, nó xác định ra ranh giới rõ rang giữa các nền tảng và ứng dụng chạy trên đó. Một boundary là rất quan trọng bởi vì nó cho phép các ứng dụng định nghĩa các thành phần của chính nó không có gây nguy hiểm cho các chức năng của nền tảng cốt lõi hoặc các dữ liệu được lưu trữ của người dùng khác.
b) Metadata-driven development model
Nền tảng Force.com sử dụng metadata-driven development model để giúp các lập trình viên phát triển ứng dụng trở nên năng suất hơn trong quá trình xây dựng ứng dụng. Nó có nghĩa là các chức năng cơ bản của ứng dụng như – tabs, forms, links được định nghĩa giống như các metadata trong database hơn là việc hard-coded trong ngôn ngữ lập trình. Khi mà một người dùng truy cập vào trong nền tảng ứng dụng Force.com, nó sẽ render ra các metadata trong trải nghiệm giao diện người dùng.
Giống như kết quả của lập trình siêu dữ liệu, nền tảng phát triển ứng dụng Force.com làm việc ở mức cao hơn so với phát triển ứng dụng dựa trên Java hoặc C#, và nhà phát triển không phải lo lắng về các hệ thống cấp thấp vì nền tảng này đã xử lý chúng một cách tự động hóa. Tại cùng một thời điểm, nền tảng Force.com có thể cũng có các tính năng tiên tiến được cung cấp mặc định.
Chỉnh sửa các ứng dụng metadata có vẻ là một công việc đáng sợ, tuy nhiên giống như bạn đang thấy trong cuốn sách này, nền tảng này hỗ trợ để dễ dàng tạo ra giao diện người dùng. Bất kỳ ai thành thạo sử dụng trình duyệt có thể nhanh chóng tạo ra ứng dụng mặc dù anh ta không biết ngôn ngữ lập trình.
Chú ý: Lập trình viên có thể sử dụng Force.com Metadata API để quản lý cài đặt các ứng dụng. Force.com Metadata API cung cấp một thay thế cho giao diện người dùng của nền tảng bằng cách cho phép nhà phát triển chỉnh sửa một cách trực tiếp thông qua các file XML – control các metadata. Các lập trình viên có thể sử dụng Metadata API để migrate các thay đổi về cấu hình giữa các tổ chức, và tạo ra các công cụ cho chính tổ chức đó và metadata application.
Mặc dù ở cái nhìn đầu tiên, việc phát triển metadata có vẻ huyền bí, nhưng nó giống hệt với các mô hình làm việc dành cho trình duyệt web. Thay vì hard coding việc định nghĩa Web page trong ngôn ngữ lập trình free-form, tác giả một Web page đầu tiên định nghĩa một trang giống HTML, nó là một loại metadata. Khi mà một người dùng yêu cầu tới một trang, Web browser sẽ render ra một trang sử dụng metadata được cung cấp từ HTML tags. Mặc dù sự kết hợp HTML/ browser không cho phép tác giả giống như một chuẩn, chúng có thể lấy ra trong một công cụ xuất bản, nó đơn giản là công việc của xuất bản nội dung để làm tang năng suất tổng thể của trang web.
Tương tự như vậy, nền tảng Force.com giúp đơn giản hóa việc xây dựng một ứng dụng và làm tang năng suất tổng thể cho một nhà phát triển ứng dụng. Và giống như các trang web sử dụng javascript hoặc flash để thêm chức năng cho các trang HTML, nền tảng Force.com cũng cung cấp nhiều cách để phát triển tiên tiến hơn để thêm chức năng tùy chỉnh cho các ứng dụng mà bạn xây dựng.
c) APIs
Một mô hình nền tảng phát triển metadata-driven chấp nhận nhà phát triển ứng dụng nhanh chóng xây dựng nhiều các chức năng với các công cụ cung cấp bởi nền tảng, tuy nhiên, một vài ứng dụng muốn chỉnh sửa dữ liệu thực sự trong một ứng dụng và sử dụng dịch vụ từ bên thứ ba để tạo ra nhiều chỉnh sửa hành vi ứng dụng. Để làm điều này, chúng ta có thể sử dụng một APIs để tích hợp với nền tảng này. Trọng tâm của API bao gồm Force.com, SOAP API và REST API, Bulk API, Streaming API và Metadata API. Bạn có thể gọi các APIs khác từ hàng loạt các ngôn ngữ dạng client-side và các toolkits sẵn sàng để dễ dàng tích hợp. Thêm vào đó, hãy xem phần “Which API do I use?” trong Salesforce Help.API của chúng tôi cung cấp đơn giản, mạnh mẽ, và mở để tự động truy cập tới dữ liệu và các app đang chạy trên nền tảng. Chúng cho phép lập trình viên truy cập và vận dụng các ứng dụng từ nhiều địa chỉ server, sử dụng nhiều ngôn ngữ lập trình hỗ trợ như Web services, giống như Java, PHP, C#, .NET.
d) Apex
Cũng như những điều bạn mong đợi từ các nền tảng điện toán đám mây đầu tiên trên thế giới, Salesforce cũng giới thiệu tới thế giới ngôn ngữ lập trình Apex. Apex, có cú pháp giống Java, hầu hết các ngôn ngữ phổ biến đều dành cho Web apps, chạy trên nền tang Force.com servers. Apex đặc biệt thiết kế cho các ứng dụng xây dựng trong kinh doanh để quản lý dữ liệu và xử lý một lượng lớn các ngữ cảnh trong nền tảng Force.com. Ngôn ngữ này cung cấp cách tiếp cận hiệu quả, mạnh mẽ để tạo ra các chức năng, logic, chấp nhận lập trình viên tập ttrung chỉ vào các thành phần để đặc tả ứng dụng của họ.Điểm chính của cuốn sách này là xu hướng cho người đọc, không cần thiết phải lập trình, nhưng Apex vượt qua những gì chúng ta đang thảo luận ở đây.
e) Custom User Interface
Khởi đầu một ứng dụng doanh nghiệp tuyệt vời bao giờ cũng là một giao diện dễ sử dụng, mạnh mẽ, chính xác các chức năng, người dùng và các thiết bị ứng dụng phục vụ. Visualforce là một framework hoàn chỉnh để tạo ra giao diện người dùng, kích hoạt và xây dựng sẵn một số mẫu giao diện và tương tác để xây dựng và chuyển giao thực thể lên cloud. Giao diện người dùng xây dựng thông qua Visualforce có thể kế thừa các chuẩn của Force.com lock and feel, hoặc thay thế chúng với các style riêng biệt và cài đặt sự tương tác tinh vi. Bởi vì Visualforce markup là bước cuối cùng để render ra HTML, người thiết kế có thể sử dụng Visualforce tags thông qua chuẩn HTML, Javascript, Flash hoặc các ngôn ngữ lập trình khác có thể thực thi không loại trừ HTML page trên nền tảng. Và đó chỉ là sự khởi đầu, bạn có thể cũng sử dụng Visualforce pages để tập hợp dữ liệu từ các multiple Force.com platform objects, hoặc pha trộn dữ liệu từ Web services trong các ứng dụng của bạn.
f) Mobile Access
Giống như các điểm chính của việc truy cập từ internet qua desktop hoặc laptop tới smartphone. ứng dụng không thể cung cấp quyền truy cập đ tới dữ liệu một cách nhanh chóng. Đừng để ứng dụng cả bạn bị ảnh hưởng bởi sự hỗ loạn đối với thiết bị di động, sử dụng ứng dụng Salesforce. Các phiên bản tải về của ứng dụng cài đặt lên thiết bị mobile và sử dụng các chức năng cơ bản của thiết bị. Khi người dùng login vào thiết bị điện thoại, họ có thể truy cập và cập nhật dữ liệu thông qua giao diện được design đặc biệt cho màn hình di động. Tất cả các app đều cho phép bạn làm việc với hầu hết các đối tượng Sales tiêu chuẩn, một vài Service tiêu chuẩn và một vài custom objects.
g) Saleforce1
Quản trị viên không phải tạo cấu hình đặc biệt cho mỗi người dùng điện thoại để truy cập tới các dữ liệu tổ chức của họ. Các người dùng có thể điều khiển thông qua profile của họ và các permission, và việc chỉnh sửa được xây dựng full tại Saleforce site. Thêm vào đó, ứng dụng này bao gồm Chatter, bởi vì người dùng của bạn có thể giữ sự tương tác trong quá trình di chuyển.Saleforce1 hỗ trợ nhiều loại thiết bị Mobile như Apple Iphones, Ipad, Android Phone. Nếu như tổ chức của bạn cài đặt bản download các app về, thì Saleforce cũng luôn sẵn sàng cho thiết bị mobile từ trình duyệt.
h) AppExchange
Phần cuối của kỹ thuật này là sự khác nhau giữa nền tảng Force.com với tất cả các nền tảng khác đó chính là AppExchange. AppExchange là một Web directory, nơi mà các ứng dụng có thể xây dựng từ Force.com sẵn sàng cho khách hàng của Salesforce truy cập, demo, cài đặt và review. Lập trình viên cũng có thể submit các app của họ cho một danh sách các thư mục trên AppExchange directory nếu như họ muốn chia sẻ với cộng đồng.