1. Trang chủ
  2. » Công Nghệ Thông Tin

Làm chủ việc phát triển ứng dụng Facebook bằng PHP, IBM Rational Application Developer, IBM WebSphere Application Server và DB2, Phần 3: Hoàn thành ứng dụng trình diễn môi giới chứng khoán Facebook doc

72 295 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 72
Dung lượng 422,08 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Làm chủ việc phát triển ứng dụng Facebook bằng PHP, IBM Rational Application Developer, IBM WebSphere Application Server và DB2, Phần 3: Hoàn thành ứng dụng trình diễn môi giới chứng kho

Trang 1

Làm chủ việc phát triển ứng dụng Facebook bằng PHP, IBM Rational Application Developer, IBM WebSphere Application Server và DB2, Phần 3: Hoàn thành ứng dụng trình diễn môi giới chứng khoán Facebook

Jake Miles, Tác giả tự do, 软通动力信息技术有限公司

Tóm tắt: Đây là phần cuối cùng trong loạt bài hướng dẫn ba phần về phát triển

một ứng dụng Facebook đầy đủ chức năng trong các ngôn ngữ PHP và Java™ để cung cấp một giao diện Facebook cho một ứng dụng buôn bán môi giới cổ phiếu hiện có Trong hướng dẫn này bạn sử dụng tất cả các công cụ mà bạn đã cài đặt và các thành phần bạn đã phát triển trong hai phần đầu của loạt bài này để thực hiện các chi tiết của ứng dụng Facebook

Trước khi bạn bắt đầu

Hướng dẫn này dành cho các nhà phát triển có trình độ kinh nghiệm khác nhau trong Java, PHP hoặc cả hai, những người muốn gia nhập vào thế giới đang lên của sự phát triển ứng dụng Facebook Nó cũng dành cho các nhà phát triển nào muốn tìm hiểu cách tích hợp PHP và Java vào chung một ứng dụng

Về loạt bài này

Loạt bài này sẽ cho phép bạn phát triển các ứng dụng Facebook của chính mình và làm như vậy bên trên đỉnh của một ứng dụng Java doanh nghiệp hiện có

 Trong Phần 1 bạn đã có một cái nhìn khái quát về Facebook và sau đó cài đặt các công cụ cần thiết gồm cả môi trường Rational của IBM (Rational® Application Developer environment), Zend Core for IBM® với các bản cài đặt kèm theo của Apache 2 và cơ sở dữ liệu DB2® Express-C và

WebSphere® Application Server của IBM Sau đó bạn khảo sát chi tiết các

Trang 2

điểm tích hợp của Facebook các cơ chế mà Facebook cung cấp để tích hợp ứng dụng vào mạng xã hội và bắt đầu một số phát triển khung sườn

 Trong Phần 2 bạn đã tạo ra một dự án ứng dụng web Java™ trong Rational Application Developer của IBM, sau đó tích hợp khung Spring để áp đặt một cấu trúc MVC trên mã lệnh và cung cấp việc tiêm vào thuộc tính/bean,

và bạn đã triển khai ứng dụng vào WebSphere

 Phần 3 đảm nhiệm các chi tiết triển khai thực hiện một ứng dụng Facebook đầy đủ chức năng bằng cách sử dụng Ngôn ngữ Đánh dấu Facebook

(FBML), Facebook JAVASCRIPT (FBJS), và Facebook API trong cả Java

Trang 3

giao diện AJAX của Facebook để cập nhật giá cổ phiếu trong danh mục đầu tư và tổng giá trị của danh mục đầu tư trong thời gian thực, mỗi giây một lần

Các đều kiện tiên quyết

Bạn cần đọc Làm chủ việc phát triển ứng dụng Facebook, Phần 1 (Mastering Facebook application development, Part 1) và Sử dụng song song các ngôn ngữ Java và PHP, Phần 2 (Using Java and PHP languages in parallel, Part 2) trước khi tiếp tục với Phần 3

Yêu cầu về hệ thống

Để hoàn thành các bước trong hướng dẫn này, bạn cần các công cụ sau:

 Spring Framework Tôi sử dụng phiên bản 2.5.3, bản phát hành mới nhất

 Rational Application Developer (Bộ Phát triển ứng dụng Rational) Nhận một phiên bản dùng thử của RAD 7.0.0.6 từ IBM (nhấn vào liên kết “Tải về bằng cách sử dụng IBM Installation Manager mới (khuyến cáo)”) Bạn sẽ

sử dụng bộ Rational Application Developer như là một bản IDE đầy đủ tính năng dựa trên Eclipse để phát triển ứng dụng Web Java của bạn

 IBM WebSphere Application Server V6.1

 Zend Core For IBM (gồm cả IBM DB2 Express-C)

Trang 4

 Zend Studio là một công cụ tuyệt vời để viết mã PHP, mặc dù có thể dùng trình soạn thảo văn bản nào cũng được

 Thư viện thẻ JSON JSP

 Facebook-java-api lưu trên Google Code, gồm cả Companion Utility

Tạo một nguồn cấp JSON giá cổ phiếu trong Java

Trang vải nền của ứng dụng của bạn sẽ hiển thị danh mục đầu tư chứng khoán của người sử dụng và các chứng khoán có sẵn khác, và sẽ cập nhật giá cả của những

cổ phiếu đó mỗi giây một lần bằng cách sử dụng AJAX Vì vậy bước đầu tiên trong phần này sẽ là cung cấp dữ liệu JSON này Cần giả thiết rằng chức năng giá

cổ phiếu đã có sẵn trong ứng dụng môi giới cổ phiếu rồi (viết bằng Java), do đó bạn sẽ cung cấp nguồn cấp JSON này từ một trình điều khiển chạy trong IBM WebSphere

Sử dụng StockListController.java để cung cấp giá cổ phiếu

Để bắt đầu trước tiên bạn phải sửa đổi phương thức handleRequests() trong

StockListController.java, như Liệt kê 1, như vậy bạn sẽ được cung cấp một số giá

Trang 5

HttpServletResponse response) throws

Exception {

List<Stock> stocks = getDao().fetchAllStocks();

for (Stock stock : stocks) {

Sử dụng một lớp StockPriceSource để mô phỏng sự biến động của giá cổ phiếu

Thay vì chỉ cung cấp các chứng khoán cho khung nhìn khi được tìm nạp từ DAO, StockListController bây giờ gọi một đối tượng StockPriceSource để lấy giá cả của từng cổ phiếu, vì giá cả này thay đổi theo thời gian thực, đối lập với được cho theo

cơ sở dữ liệu Một cuộc môi giới chứng khoán thực sự sẽ triển khai thực hiện lớp StockPriceSource để lấy ra giá chứng khoán từ một nguồn dữ liệu ở đâu đó, có độ

Trang 6

an toàn cao và theo đặc thù của ngành công nghiệp Tuy nhiên ứng dụng này sẽ

mô phỏng biến động giá cổ phiếu bằng một lớp StockPriceSource chứa một ánh xạ

“tin điện báo cổ phiếu với mức giá” (stock ticker to price), và mọi yêu cầu về giá của một cổ phiếu sẽ cập nhật giá đó trong ánh xạ này, thay đổi nó lên xuống một cách ngẫu nhiên trong biên độ thay đổi lập sẵn (xem mã kèm theo trong phần Tải

về để biết thêm chi tiết)

Để cung cấp StockPriceSource cho StockListController, sửa đổi các định nghĩa bean của StockListController trong spring-servlet.xml và cung cấp một định nghĩa bean mới cho đối tượng StockPriceSource, như Liệt kê 2

Liệt kê 2 Cung cấp cho StockListController một StockPriceSource trong spring-servlet.xml

<bean id="stockPriceSource"

class="com.jm.fbstockdemo.StockPriceSource">

<property name="volatility" value="50"/>

<property name="startPrice" value="5000"/>

<property name="minPrice" value="500"/>

<property name="maxPrice" value="10000"/>

</bean>

Trang 7

stockPriceSource trên bean stockListController cung cấp cho stockListController một cá thể stockPriceSource có phạm vi trên toàn ứng dụng Vì StockPriceSource

là một bean, cùng một cá thể như vậy sẽ vẫn nằm trong bộ nhớ cho đến khi ứng dụng web hoặc IBM WebSphere được khởi động lại, và như vậy biến thiên giá cổ phiếu sẽ vẫn ổn định trong trang vải nền Facebook cho đến khi ứng dụng còn đang chạy

Trang 8

Sử dụng thư viện thẻ JSP JSON để tạo ra nguồn cấp JSON

Bây giờ bạn đã có một nguồn cổ phiếu và giá cả của chúng được mô phỏng theo thời gian thực, hãy cung cấp thông tin này như là dữ liệu JSON cho các lần gọi Javascript AJAX mà sẽ chạy trong trang vải nền JSON (ký pháp đối tượng

JavaScript), đặc tả của nó hiện có tại http://www.json.org/, là một định dạng thay thế cho XML để chuyển dữ liệu đối tượng, và đang trở thành được ưa thích đối với

dữ liệu AJAX Nó cô đọng hơn (do đó truyền tải nhanh hơn), cung cấp một ký pháp dễ hiểu cho các thuộc tính của một đối tượng (trái ngược với sự pha trộn của các thuộc tính và các thẻ con của XML), và không như XML cung cấp một cấu tạo

rõ ràng để biểu thị một danh sách các mục Các tính năng này làm cho nó nhanh hơn, đơn giản, và không nhập nhằng khi chuyển dữ liệu JSON thành các đối tượng trong một ngôn ngữ như Javascript mà hỗ trợ các đối tượng và mảng

Tuy nhiên, các khung nhìn của ứng dụng là JSPs, và các JSP gồm cả XML, nên sử dụng một thư viện thẻ JSP cho phép bạn dựng nên các đối tượng bằng cách sử dụng XML, trong khi các thẻ biểu hiện dữ liệu đối tượng ở định dạng JSON Để làm điều đó, hãy sử dụng thư viện thẻ JSON JSP sẵn có tại http://json-

taglib.sourceforge.net/index.html Tải về json-taglib JAR vào thư mục INF/lib của bạn Sau đó sửa đổi stockList.jsp khung nhìn được

WEB-StockListController biểu hiện để cung cấp dữ liệu dưới dạng JSON, như Liệt kê

3

Liệt kê 3 Sử dụng thư viện thẻ JSON JSP để biểu hiện nguồn cấp giá cổ phiếu JSON

Trang 10

Để kiểm tra nguồn cấp JSON của giá cả cổ phiếu, hãy triển khai lại ứng dụng Web lên WebSphere (như trong Phần 2 của hướng dẫn này), di chuyển đến

http://localhost/fb_stock_demo/stockList trong trình duyệt của bạn, và bạn sẽ thấy các cổ phiếu và giá cả của chúng ở định dạng JSON Tải lại trình duyệt và giá cả

Trang 11

cổ phiếu trong dữ liệu JSON sẽ thay đổi, vì StockPriceSource sẽ thay đổi giá cả của chúng với mỗi yêu cầu

Xem nguồn cấp JSON này đang hoạt động khi bạn thực hiện việc gọi ra AJAX trong FBJS của trang vải nền (Facebook JavaScript) Tuy nhiên, trước khi bạn đến

đó bạn cần phải nhận ra người sử dụng Facebook đang xem trang danh mục đầu tư (portfolio page), do đó hãy chuyển sự chú ý của bạn trở lại phía bên PHP của ứng dụng để kết nối với Facebook và nhận dạng người sử dụng Facebook trong cơ sở

dữ liệu DB2 của bạn

Kết nối với ứng dụng và với Facebook trong PHP

Bây giờ hãy thực hiện trang vải nền của ứng dụng, gồm cả việc kết nối với

Facebook và nối kết người sử dụng Facebook với mã nhận dạng của họ trong cơ

sở dữ liệu DB2 IBM, và thực hiện trang danh mục đầu tư chính của người sử dụng, dùng nguồn cấp JSON

Sửa đổi URL gọi lại để sử dụng tập tin htaccess

Trong Phần 1 của hướng dẫn này bạn đã sử dụng một tệp index.php đơn giản để kiểm tra cấu hình ứng dụng Facebook Do bạn đã bổ sung hoàn thiện cơ sở hạ tầng

và đang sử dụng tập tin htaccess để gửi đi các yêu cầu, bạn cần phải thay đổi URL gọi lại của ứng dụng trong thiết lập của ứng dụng Trong Facebook, nhấn vào ứng

dụng Applications ngay bên dưới hộp tìm kiếm (Search box) Trong ứng dụng

Applications bạn có thể nhìn thấy toàn bộ các ứng dụng được cài đặt của bạn

Nhấn vào ứng dụng Developer nó chứa một danh sách các ứng dụng mà bạn là

nhà phát triển, hiển thị dưới dạng một danh sách nằm ở phía bên phải (xem Hình 1)

Trang 12

Hình 1 Danh sách ứng dụng của bạn trong ứng dụng Developer

Nhấn vào tên ứng dụng của bạn để xem trang thiết lập của nó, nhấn Edit Settings,

và đổi Callback URL thành http://SERVER/fb_stock_demo/, thay SERVER bằng URL của máy chủ web Apache 2 ở xa của ứng dụng của bạn Nếu bạn đặt

Callback URL như trong Phần 1, việc này chỉ đòi hỏi loại bỏ tên tệp index.php khỏi phần cuối của URL

Sửa đổi htaccess để hỗ trợ ứng dụng đầy đủ

Do trang vải nền của bạn trỏ đến thư mục fb_stock_demo, được điều quản bởi RewriteRules, của tập tin htaccess, hãy sửa đổi htaccess như trong Liệt kê 4 để cung cấp tất cả các quy tắc cần thiết để hoàn tất ứng dụng

Liệt kê 4 Tập tin htaccess đầy đủ

RewriteEngine on

Trang 14

Sửa đổi app.properties

Trong Phần 2 bạn đã phát triển lớp ActionDispatcher nó định tuyến các yêu cầu đến các lớp của trình điều khiển bằng cách sử dụng các tệp thuộc tính trong lớp Injectable Để cung cấp cho trình điều khiển các ánh xạ định nghĩa trong tập tin htaccess mới, hãy sửa đổi app.properties (trong thư mục conf, dưới thư mục

fb_stock_demo, là nơi chứa tệp htaccess) như Liệt kê 5

Trang 15

Liệt kê 5 Tập tin app.properties đầy đủ

AbstractStockDemoFacebookController/facebook_api_key=[YOUR FACEBOOK API_KEY]

AbstractStockDemoFacebookController/facebook_secret=[YOUR FACEBOOK SECRET]

AbstractStockDemoFacebookController/facebookAppUrl=http://apps.facebook.com/

[YOUR CANVAS PAGE URL] AbstractStockDemoFacebookController/siteUrl=

http://[YOUR SERVER URL]/fb_stock_demo

DefaultCanvasController/loggedInForward=portfolio

Trang 16

DefaultCanvasController

DefaultCanvasController xử lý các yêu cầu được gửi tới trang vải nền của ứng dụng Facebook (mà không có URI phụ), và cần để xử lý hai khả năng Một khả năng là, nếu đây là lần đầu tiên người sử dụng truy cập trang vải nền của ứng dụng này, có nghĩa là bây giờ họ chỉ vừa mới thêm ứng dụng vào Khi họ truy cập lần đầu tiên, bạn có được mã nhận dạng người sử dụng Facebook vì Facebook gửi nó trong yêu cầu, nhưng bạn còn chưa biết người sử dụng facebook này là ai về mặt môi giới chứng khoán, nghĩa là tên người sử dụng là gì theo hệ thống hiện hành, vì

Trang 17

vậy bạn cần đến chúng để đăng nhập và thiết lập liên kết đó Khả năng thứ hai là trường hợp người sử dụng đã đăng nhập vào hệ thống, trong trường hợp này họ có thể bỏ qua màn hình đăng nhập tuỳ chỉnh của bạn và xem danh mục đầu tư của họ Trong trường hợp đầu, DefaultCanvasController biểu hiện khung nhìn đăng nhập tùy chỉnh của ứng dụng, và trong trường hợp thứ hai, nó chuyển điều khiển đến PortfolioController (mà bạn sẽ thực hiện sau đây), như Liệt kê 6

Liệt kê 6 Lớp DefaultCanvasController

Trang 18

app.properties, và nó xác định rõ khoá của trình điều khiển “portfolio”, ánh xạ đến lớp PortfolioController (tham khảo liệt kê mã lệnh của app.properties để biết các giá trị khoá khác nhau được ánh xạ vào)

Trong trường hợp đầu, khi mà người sử dụng lần đầu tiên thêm ứng dụng

Facebook và cần đăng nhập vào môi giới chứng khoán, loginView.jsp là một trang đăng nhập đơn giản (xem Liệt kê 7) mà sau đó được hiển thị như trang vải nền của ứng dụng của bạn (xem Mã nguồn để có toàn bộ tập tin)

Liệt kê 7 Thẻ form trong loginView.php

Trang 19

<form method="post" action="login">

Trang 20

Thực hiện một trình điều khiển cơ sở chung

Do tất cả các trình điều khiển, ngoại trừ LoginController đều yêu cầu rằng người

sử dụng Facebook được nhận biết trong hệ thống môi giới chứng khoán, và do tất

cả các trình điều khiển này sẽ yêu cầu một kết nối với trình khách Facebook, sẽ hữu ích nếu sử dụng một lớp cơ sở chung, kết nối với Facebook và tìm kiếm người

sử dụng trong cơ sở dữ liệu trước khi thực hiện các chi tiết của yêu cầu đó Để làm điều này, hãy thực hiện lớp điều khiển cơ sở

AbstractStockDemoFacebookController, như Liệt kê 8

Liệt kê 8 Lớp AbstractStockDemoFacebookController (PHP)

protected $user = null;

public function construct($requiresUser = true) {

Trang 21

public function executeSpecific() {

$this->facebook = new StockDemoFacebookClient ($this->facebook_api_key,

$this->facebook_secret);

$this->user = $this->dao->fetchUserByFacebookId

($this->getFacebookUserId());

if ($this->user == null && $this->requiresUser) {

throw new Exception

("AbstractStockDemoFacebookController

Trang 22

no matching user found in stocks database.");

Trang 23

Hãy nhớ lại rằng ActionDispatcher sẽ tạo ra một cá thể của trình điều khiển thích hợp, thiết lập đối tượng Properties của nó từ tệp tin thuộc tính, và gọi ra phương thức execute() của nó Lớp AbstractStockDemoFacebookController mở rộng lớp AbstractStockDemoController, mà phương thức execute() của lớp này sẽ kết nối với cơ sở dữ liệu IBM DB2, đưa ra một thông báo lỗi nếu không kết nối được, và gọi phương thức trừu tượng executeSpecific() Mã triển khai thực hiện phương thức executeSpecific() của lớp AbstractStockDemoFacebookController tạo ra một

cá thể StockDemoFacebookClient (mà bạn sẽ thực hiện tiếp theo) để kết nối với Facebook và xác nhận rằng người sử dụng đã đăng nhập vào ứng dụng Facebook Sau đó nó tìm kiếm người sử dụng Facebook trong cơ sở dữ liệu thông qua

StocksDAO, nhận được đối tượng User liên kết mã nhận dạng Facebook của họ với ID người sử dụng nhà kinh doanh cổ phiếu của họ Nếu người sử dụng

Facebook không tương ứng với một người sử dụng trong cơ sở dữ liệu, lớp này huỷ bỏ bằng một lỗi ngoại lệ (Exception), trừ phi hàm tạo của lớp con chuyển tới kết quả là false dành cho cờ báo $requiresUser chỉ có DefaultCanvasController làm việc này vì nó cần có khả năng điều phối LoginController dành cho đăng nhập ban đầu

Tạo một lớp bọc xung quanh trình khách Facebook PHP

Để bao kín các lần gọi ban đầu đến Facebook và cung cấp các phương thức đặc thù cho ứng dụng mà chính nó cũng bao gói các lần gọi đến trình khách Facebook, hãy tạo lớp StockDemoFacebookClient như trong Liệt kê 9

Liệt kê 9 Lớp StockDemoFacebookClient (PHP)

Trang 24

class

StockDemoFacebookClient extends Facebook {

Trang 25

Đây cũng là mã mà bạn trông thấy trong Phần 1 của hướng dẫn, trong tệp

index.php khung sườn bạn đã sử dụng để kiểm tra kết nối giữa Zend Core for IBM với các máy chủ của Facebook Khi AbstractStockDemoFacebookClient tạo ra một cá thể của đối tượng khách này nó sẽ kết nối với Facebook và yêu cầu rằng người sử dụng phải có ứng dụng đã cài đặt và đã đăng nhập vào nó (theo

Facebook, chứ không phải là đăng nhập vào môi giới chứng khoán) Các lời gọi require_install() và require_login() chuyển hướng đến các trang tương ứng trên Facebook nếu người sử dụng hoặc chưa thêm vào ứng dụng này hoặc chưa được đăng nhập vào nó trên Facebook Lớp Facebook sử dụng các tham số yêu cầu gửi trong yêu cầu từ Facebook để xác định người sử dụng Ngoài ra, sau này bạn sẽ thêm các lời gọi trình khách đặc thù của ứng dụng vào đây

Kết nối với Facebook và thực hiện giao dịch mua bán phía Java

Do bạn đã được kết nối với Facebook và đã đồng bộ hoá người sử dụng với cơ sở

dữ liệu cổ phiếu bên phía PHP, theo đó hoàn tất mã giao dịch mặt sau (backend transaction code) ở đó, sẽ hữu ích khi viết mã tương tự như thế ở phía Java, để bạn

có một mặt sau hoàn chỉnh sẵn sàng khi bạn thực hiện trang vải nền chính để hiển thị thông tin kết quả từ các hoạt động mặt sau khác nhau

Sử dụng một lớp cơ sở để kết nối với Facebook phía Java

Giống như bạn đã làm cho bên PHP của ứng dụng, trong Rational Application Developer của IBM hãy tạo ra lớp AbstractStockDemoFacebookController như Liệt kê 10

Trang 26

Liệt kê 10 Lớp AbstractStockDemoFacebookController (Java)

private FacebookKeys facebookKeys;

private User user;

private StockDemoFacebookClient facebookClient;

Trang 27

protected abstract ModelAndView handleFacebookRequest

(HttpServletRequest request, HttpServletResponse response);

public void setFacebookKeys(FacebookKeys facebookKeys) {

this.facebookKeys = facebookKeys;

Trang 29

ra một lỗi RuntimeException nếu không tìm thấy người sử dụng nào như vậy, và gọi phương thức trừu tương handleFacebookRequest() Tiếp theo, sử dụng thư viện phía khách Java để kết nối với Facebook như bạn đã làm trong PHP

Kết nối với Facebook trong Java

Vấn đề đầu tiên của bạn khi kết nối với Facebook từ Java là ở chỗ Facebook gần đây đã đình chỉ thư viện khách Java của nó, không tiếp tục duy trì việc cập nhật nữa May mắn là, một dự án có tên facebookjava-api (xem Các điều kiện tiên quyết), được chứa trên máy chủ Google Code, đã tự đặt ra sứ mệnh của mình là để

“cung cấp một phiên bản chất lượng cao, cập nhật hơn của API Facebook phía khách cho các nhà phát triển Java, và cho phép nó được bảo trì đều đặn thường kỳ sau này để duy trì các hỗ trợ khi các API nền Facebook thay đổi và tiến hoá lên.” Với việc đình chỉ thư viện khách chính thức, dường như đã coi nó là một chuẩn thực tế (de facto standard), và nó chính là thư viện mà bạn sẽ sử dụng trong ứng dụng này

May mắn là dự án facebook-java-api cũng đã cung cấp Tiện ích Bạn bè

(Companion), trong đó chủ yếu cung cấp cùng một lớp Facebook mà bạn đã sử dụng bên phía PHP Nó bao bọc lớp khách REST Facebook thực tế, và cung cấp các phương thức thuận tiện như requireLogin() làm cho việc kết nối một ứng dụng PHP với Facebook một cách đúng đắn trở thành rất dễ dàng Thư viện khách Java ban đầu không bao gồm lớp này, đòi hỏi bạn phải tự xử lý một số bước xác thực

và mang lại một rào chắn quan trọng để bước vào phát triển ứng dụng Facebook

Vì vậy trước tiên tải về tất cả các JAR đã đề cập trên địa chỉ trang ấy, trừ

activation.jar, vì hầu hết các máy chủ ứng dụng đã bao gồm nó trong biến đường

Trang 30

dẫn lớp dùng chung (shared classpath) Ở đây gồm có năm tệp JAR được liệt kê

dưới Quick Start và hai tệp JAR dưới Companion Utility Hãy đặt các JAR này

vào thư mục WEB-INF/lib trong dự án ứng dụng web của bạn

Để sử dụng thư viện khách, hãy thực hiện lớp StockDemoFacebookClient như thấy trong Liệt kê 11

Liệt kê 11 Lớp StockDemoFacebookClient (Java)

Trang 31

throw new RuntimeException ("User not

logged into facebook!");

HttpServletResponse để xử lý việc nhận biết người sử dụng đang gọi Facebook và khả năng chuyển hướng đến trang đăng nhập ứng dụng Facebook khi cần thiết StockDemoFacebookClient cũng lấy một đối tượng FacebookKeys, một lớp đơn giản chứa API Key và Secret của ứng dụng Facebook

Trang 32

Thực hiện giao dịch mua bán phía Java

Do việc môi giới chứng khoán có lẽ đã cho phép buôn bán cổ phiếu trước khi ứng dụng Facebook xuất hiện, hãy triển khai mã lệnh giao dịch cổ phiếu phía Java Để làm điều đó, tạo ra một bean Spring tradeStockController như Liệt kê 12

Liệt kê 12 bean Spring tradeStockController

<bean id="tradeStockController"

class="com.jm.fbstockdemo.TradeStockController">

<property name="dao" ref="stocksDao"/>

<property name="facebookKeys" ref="facebookKeys"/>

Trang 33

Mã lệnh này cung cấp cho trình điều khiển bean Dao (StocksDao), bean

stockPriceSource một cờ báo cho nó biết có gửi lên nguồn cung cấp tin tức

Facebook hay không (để không quấy nhiễu bạn bè của nhà phát triển trong khi gỡ lỗi), một thuộc tính successView chứa URL của ứng dụng Facebook mà trình điều khiển này sẽ chuyển hướng đến khi hoàn thành, và một bean facebookKeys Bean facebookKeys chứa API Facebook Key và Secret, như Liệt kê 13

Liệt kê 13 Bean spring facebookKeys

Đưa các giá trị này vào một bean Spring cho phép bạn giữ các giá trị đó tách khỏi

mã và cho phép bạn dễ dàng thêm chúng vào bất kỳ trình điều khiển nào cần kết nối với Facebook

Trang 34

Để làm công việc buôn bán, hãy tạo lớp StockTradeController như Liệt kê 14

Liệt kê 14 Lớp TradeStockController (Java)

Trang 35

long stockPriceInCents =

getStockPriceSource().getPriceInCents(stockId);

long previousSum =

getDao().fetchTradeSum(getUser().getTraderId(), stockId);

// effect the trade

Trade trade = getDao().createTrade

long net = newSum - previousSum;

Ngày đăng: 07/08/2014, 09:23

HÌNH ẢNH LIÊN QUAN

Hình 2. Trang danh mục đầu tư đang hoạt động - Làm chủ việc phát triển ứng dụng Facebook bằng PHP, IBM Rational Application Developer, IBM WebSphere Application Server và DB2, Phần 3: Hoàn thành ứng dụng trình diễn môi giới chứng khoán Facebook doc
Hình 2. Trang danh mục đầu tư đang hoạt động (Trang 65)
Hình 6. Mẫu biểu yêu cầu Giới thiệu Cho Bạn bè - Làm chủ việc phát triển ứng dụng Facebook bằng PHP, IBM Rational Application Developer, IBM WebSphere Application Server và DB2, Phần 3: Hoàn thành ứng dụng trình diễn môi giới chứng khoán Facebook doc
Hình 6. Mẫu biểu yêu cầu Giới thiệu Cho Bạn bè (Trang 69)
Hình 7. Màn hình xác nhận yêu cầu - Làm chủ việc phát triển ứng dụng Facebook bằng PHP, IBM Rational Application Developer, IBM WebSphere Application Server và DB2, Phần 3: Hoàn thành ứng dụng trình diễn môi giới chứng khoán Facebook doc
Hình 7. Màn hình xác nhận yêu cầu (Trang 70)
Hình 8. Yêu cầu mà bạn bè sẽ nhìn thấy - Làm chủ việc phát triển ứng dụng Facebook bằng PHP, IBM Rational Application Developer, IBM WebSphere Application Server và DB2, Phần 3: Hoàn thành ứng dụng trình diễn môi giới chứng khoán Facebook doc
Hình 8. Yêu cầu mà bạn bè sẽ nhìn thấy (Trang 70)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w