b. Mở rộng một node
4.2.2. Vai trò của các thành phần Flex application
• Server
• Database server
Mỗi thành phần có vai trò và chức năng riêng. Ứng dụng Flex hoạt động bên trong các trình duyệt web có hỗ trợ Flash sẽ gọi tác vụ bên server thông qua Internet hoặc thông qua mạng Lan. Việc gọi các tác vụ này có thể dùng cơ chế remote object hoặc webservice. Bên server các tác đó vụ được quản lý bởi những service được đăng ký trong các file context khi server chạy. Nếu là tác vụ truy xuất cơ sở dữ liệu thì việc quản lý truy xuất được thực hiện thông qua một middleware là Hibernate. Lớp này sẽ thực hiện việc truy xuất cơ sở dữ liệu và lấy lên những thông tin cần thiết.
4.2.2. Vai trò của các thành phần Flex application Flex application
Đây chính là thành phần giao diện mà người sẽ tương tác khi sử dụng ứng dụng của chúng ta. Có nhiều cách khác nhau để hiện thực thành phần này như JSF, Java, .Net, PHP. Tất cả các công cụ trên đều có thể hiện thực nên thành phần đó. Vậy tại sao chúng ta lại chọn Flex để hiện thực cho luận văn mà không phải là những phương án trên. Việc lựa chọn Flex làm công cụ nền tảng cho việc hiện thực do một số nguyên nhân sau :
• Các ứng dụng được phát triển bằng cách sử dụng có thông tin trình bày trong một giao diện trực quan phong phú.
• 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. Điều này dẫn đến hiệu suất cao.
• Ứng dụng Flex là có thể chạy được nhiều nơi. Giống như ứng dụng viết bằng Java, dịch một lần, chạy được nhiều nơi. Điều này thực ra chỉ khả thi nếu máy tính đã được cài máy ảo JVM để tạo môi trường cho ứng dụng thực thi. 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. Điều này tạo nên sức mạnh cho ứng dụng Flex, chạy được trên nhiều môi trường khác nhau mà không phải viết lại ứng dụng.
2. Từ yêu cầu của luận văn:
Mục tiêu của luận văn là đề xuất một “công cụ trực quan”. Điều đó có nghĩa rằng giao diện có vai trò rất quan trọng để truyền đạt nội dung cho người dùng. Với yêu cầu chức năng là thống kê và trực quan hóa những số liệu đó thì Flex chính là sự lựa chọn tối ưu nhất vì nó có khả năng hỗ trợ tốt các biểu đồ cùng với những hiệu ứng.
3. Từ mục tiêu luôn tìm ra những các mới:
Ngoài mục tiêu là cải tiến những gì mà những ứng dụng hiện tại chưa làm được thì một điểm mới trong luận văn này chính là sự đột phá về công nghệ sử dụng. Nhìn lại hầu hết các ứng dụng phân tích web thì phần lớn là hiện thực bằng PHP và MySQL, ứng dụng bằng java và .NET cũng có nhưng vẫn chưa có ứng dụng dạng này trên Flex.Vì vậy việc lựa chọn Flex cũng một phần mang tính công nghệ.
Server
Ứng dụng sau khi hoàn tất sẽ được chạy trên nền Apache Tomcat. 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. Việc lựa chọn server nào đối với ứng dụng này cũng được nhưng phải tính đến chi phí và yêu cầu của ứng dụng. Nếu trong ứng dụng này không yêu cầu gì cao thì Tomcat là một sự lựa chọn hợp lý bởi tính nhỏ gọn của nó, dễ cài dặt và tích hợp những cái mới.
Ứng dụng Flex sẽ gọi các dịch vụ bên server thông qua một đối tượng trung gian là BlazeDS. BlazeDS chạy bên trong Tomcat. Nó chứa đựng tất cả các thành phần của Spring và các thành phần này sẽ được load lên khi server chạy. Spring BlaseDS sẽ giúp đăng ký những bean này với ứng dụng. Vì thế mà Flex có thể gọi các dịch vụ này thông qua remote object. Có nhiều cách để Flex có thể gọi các tác vụ bên server nhưng hầu hết
đều ở dạng tính phí. Việc sử dụng BlazeDS được xem như là một giải pháp tối ưu trong trường hợp này.
Việc hiện thực các tác vụ bên server có thể là PHP, Java, .NET vì Flex đều có cơ chế hỗ trợ đối với các loại này nên việc lựa chọn công nghệ để hiện thực chủ yếu dựa vào thế mạnh của người lập trình ở đây là gì. Việc truy xuất cở sở dữ liệu bên server thông thường có thể là JDO bên java hoặc ADO bên .NET… Mỗi thứ đều hỗ trợ một cách thức làm việc riêng, như vậy sẽ có những vấn đề tiềm tàng ở tương lai như người dùng thay đổi hệ quản trị cơ sở dữ liệu thì chắc chắn ứng dụng sử dụng những cơ chế đặc thù như trên sẽ không còn sử dụng được. Vì thế một giải pháp được đặt ra là dùng một đối tượng trung gian có thể tương tác với các hệ quản trị cơ sở dữ liệu (HQTCSDL). 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. Việc chọn Hibernate ở đây là vì những lý do đã nêu trên.
Database server
Việc lựa chọn HQTCSDL phụ thuộc vào mục đích và kích thước của ứng dụng. Có nhiều HQTCSDL như SQL server, Oracle, IBM DB2, MySql. Mỗi cái có những ưu điểm khác nhau. Ứng dụng của chúng ta chỉ đọc dữ liệu là chính và lượng dữ liệu không đến mức quá lớn. Vì thế MySql là sự lựa chọn hợp lý cho ứng dụng này.