MỤC LỤC
Là một ứng dụng opensource (bản quyền GPL) cung cấp các chức năng thống kê báo cáo cho một website gồm: tình hình số lượng truy cập theo thời gian, thông tin trình duyệt, bộ máy tìm kiếm và từ khóa được sử dụng, ngôn ngữ, các trang phổ biến được truy cập… Piwik được viết bằng ngôn ngữ PHP với cơ sở dữ liệu MySQL, thu thập dữ liệu bằng JavaScript. • Các loại báo cáo khá đầy đủ nhưng thông tin chi tiết bổ sung cho từng biểu đồ khá đơn giản, chủ yếu vẫn chỉ có duy nhất một biểu đồ mà không có các số liệu diễn giải (dẫn xuất) kèm theo.
Woopra
• Vì AWStats truy cập được vào server log file nên có khả năng xuất hiện vấn đề về bảo mật, ví dụ có sâu Lupper Worm tấn công được web server thông qua một lỗ hổng bảo mật trên AWStats. Vì mỗi lần chạy, AWStats cần phải lấy dữ liệu từ webserver, trong trường hợp server chứa nhiều website và dữ liệu nhiều quá trình này sẽ ngốn nhiều tài nguyên của máy chủ và điều này không tốt với bất cứ người quản trị nào.
• Vì việc hiển thị dữ liệu theo cả hai phần là biểu đồ và bảng chiếm nhiều không gian nên muốn đào sâu dữ liệu hoặc thực hiện tác vụ khác phải thực hiện khá nhiều hành động click. • Việc so sánh cũng phải do người dùng tự rút ra dựa vào các dữ liệu đựơc hiển thị hết trên màn hình nên không thực sự thuận lợi khi người ta chỉ muốn so sánh một hoặc vài dữ liệu có liên quan.
Việc phân tích dữ liệu đó có thể giúp các tổ chức Web xác định giá trị thời gian sống của khách hàng, qua đó thiết kế chiến lược tiếp thị trên các sản phẩm và dịch vụ, đánh giá hiệu quả của chiến dịch khuyến mãi, tối ưu hóa chức năng của các ứng dụng trên nền Web, cung cấp nội dung tốt hơn cho khách hàng, và tìm thấy một bố cục hợp lý. Trong trang web thương mại điện tử, xem trang có thể tương ứng với các tiêu chí khác nhau dựa trên sản phẩm, chẳng hạn như quan điểm về sản phẩm, đăng ký, thay đổi giỏ mua hàng, mua hàng… Trong trường hợp này, xác định các lần xem trang có thể yêu cầu thêm môt tiêu chí nào đó mà từ đó những người sử dụng khác nhau có thể được phân loại.
Ví dụ trong một vài trường hợp người ta sử dụng những chữ số để định nghĩa các màu, trong một vài trường hợp khác người ta lại sử dụng các từ để định nghĩa nó, ví dụ: black, white… Vì vậy hai người từ hai nền văn hóa khác nhau có thể sử dụng những thụât ngữ khác nhau để xác định cùng một màu sắc hay có sự nhận biết khác nhau. Lúc bắt đầu, chương trình sẽ hiển thị hình ảnh tổng quan cho người dùng một ấn tượng ban đầu về thông tin đang được đề cập cũng như cấu trúc tổng quan, mối quan hệ giữa các thành phần, nếu họ muốn xem chi tiết hơn thông tin của một thành phần nào đó họ có thể thực hiện các thao tác như click chuột hay đưa chuột tới vị trí của thành phần đó, chương trình sẽ hiển thị thông tin chi tiết của thành phần vừa chọn.
Mô tả chức năng
Phần dưới cùng số (3) biểu diễn các số liệu tổng hợp chi tiết gồm: tổng số lượt viếng thăm (visits), tổng số khách (Unique visitors), số lượng khách lần đầu tiên tới (first view), số trang được xem trung bình trong một lần viếng thăm (pages/visit), thời gian trung bình trên web site (average time on site), tỷ lệ thoát sau khi vào một trang đầu tiên (% exit rate). Phần bảng danh sách gồm: tên các trình duyệt hoặc họ trình duyệt, số lần truy cập bằng trình duyệt đó (hoặc họ trình duyệt), số khách thực sự (Unique visitors), thời gian trung bình trên web và tỷ lệ thoát (bounce rate %). Người dùng có thể tìm kiếm trên danh sách theo tên trình duyệt hoặc lọc (filter) các giá trị trong danh sách theo số lần truy cập (visit), số khách thực (unique visitor), thời gian trung bình trên website và tỷ lệ thoát (bounce rate).
Phần danh sách: chứa danh sách các hệ điều hành mà khách hàng sử dụng để truy cập vào website gồm các thuộc tính: Tên hệ điều hành, số lựơt truy cập, số khách viếng thăm (unique visitor, thời gian trung bình, tỷ lệ thoát. Người dùng có thể tìm kiếm trên danh sách theo tên hệ điều hành hoặc lọc (filter) các giá trị trong danh sách theo số lần truy cập (visit), số khách thực (unique visitor), thời gian trung bình trên website và tỷ lệ thoát (bounce rate). Bên cạnh bảng là một biểu đồ hình tròn biểu diễn top 5 trang có số truy cập nhiều nhất từ danh sách bên… Người dùng có thể tìm kiếm trên danh sách theo tên trang hoặc Url hoặc lọc (filter) các giá trị trong danh sách theo số lần truy cập (visit) và tỷ lệ thoát (bounce rate).
Phần biểu đồ cho từng link: Khi click vào một link bên phần danh sách, phía bên phải sẽ hiển thị một biểu đồ đường biểu diễn tình trạng truy cập trang đó trong thời gian gần đây (tùy thuộc vào mốc thời gian mà người dùng chọn). Tương tác với cạnh: Giữa mỗi cạnh có trọng số thể hiện số lần người dùng đi qua giữa hai trang, khi click vào trọng số đó sẽ mở một cửa sổ mới chứa biểu đồ đường thể hiện tình trạng truy cập giữa hai trang theo thời gian.
Để kích họat một kiểu goal nào đó, người dùng check vào check box tương ứng, lúc đó button detail của goal đó sẽ được enable để người dùng điều chỉnh detail từng goal. Tất cả các biểu đồ đều có thể chuyển thành hình ảnh, các danh sách (bảng) cũng có thể được chuyển thành hình ảnh phần dữ liệu được nhìn thấy (lúc có scrollbar). Chức năng back chỉ enable sau lần chuyển view đầu tiên của người dùng và chỉ back tối đa 10 màn hình, chức năng forward chỉ enable sau lần back đầu tiên và chỉ forward tối đa 10 màn hình.
• Flex cho phép cho sự phát triển của các ứng dụng có hỗ trợ logic kinh doanh phức tạp để chạy trong trình duyệt, cảm giác đáp ứng nhanh và không làm mới trang. • Môi trường phát triển của Flex cho phép các ứng dụng xử lý số lượng lớn các thông tin mà không có bất kỳ thay đổi đáng kể trong hoạt động của các ứng dụng. Tương tự như thế ứng dụng Flex cũng vậy có thể chạy trên nhiều môi trường, nhiều trình duyệt khác nhau, ngay cả Mobile lẫn Iphone nếu những thiết bị này cài được FlashPlayer như minh họa trong hình vẽ trên.
Thực ra có nhiều loại server để chạy ứng dụng như Jboss, WebSphere, Jetty… Tomcat là một server mã nguồn mở rất được nhiều người biết đến và phát triển nên việc lựa chọn nó cũng do xu hướng. Giải pháp này được hiện thực thông qua một framework là Hibernate, với framework này người lập trình không cần quan tâm nhiều về HQTCSDL, việc thao tác với nó giờ đây được giao cho Hibernate.
• Lớp Delegate: có nhiệm vụ giống như một proxy và được gọi trong command, lớp này dùng để gọi các remote object hoặc các services bên server.
• public void handleLogVisit(LogInfo info): dựa vào thông tin một dòng trong logfile, kiểm tra xem truy cập đã tồn tại hay chưa rồi lưu trữ hay cập nhật thông tin đó. • public void saveExitPageInfo(): tính toán và lưu trữ thông tin các trang mà người dùng thoát ra từ trang đó. • public void saveVisitPageInfo(): tính toán và lưu trữ thông tin số lượng trang truy cập ứng với mỗi truy suất.
• public void saveAvgVisitInfo(): tính toán và lưu trữ thông tin truy cập trung bình theo giờ, theo ngày trong tuần. • List<EntryPageInfo> getEntryPageInfo(): lấy thông tin thống kê các trang mà người dùng vào đầu tiên khi truy cập vào trang web. • List<ExitPageInfo> getExitPageInfo(): lấy thông tin thống kê các trang mà người dùng thoát tại các trang đó.
• List<VisitInfo> getVisitInfoByUrl(): lấy thông tin truy cập có chứa một đường dẫn nào đó theo thời gian. Mỗi khi có một yêu cầu đến website của mình thì thông tin về truy cập đó sẽ được lưu trữ trong logfile của webserver. Để tăng nhanh hiệu xuất của chương trình thì cần phải lưu trữ trước một số thông tin như trong phần thiết kế CSDL.
- Lấy thông tin các cột tương ứng trong bảng log_visit và kèm theo điều kiện của goal trong câu truy vấn.