• 沒有找到結果。

Chapter 4: System Design and Implementation

4.5. System Architecture and Design

4.5.1. Main Components and Functionality

We design our system according to Kloone’s FRAME model and considering the usage scenarios identified in the previous section. The system consists of 3 main components that integrate with 2 external components. We define and develop the following the components (1) CrowdSMILE Server, (2) Social Publisher Client Application and (3) POI Explorer Client Application.

Those three components then integrate with the (1) Facebook SNS platform to use the existing social functionalities available. We leverage and make use of Facebook’s messaging, groups, discussions, contact management and other social features along with its SDK for 3rd party applications. Finally, the client applications also connect with the (2) external Content hosting servers for the actual learning content. Our system does not store any content. It simply stores meta-data and links about the content allowing it to be scalable and linking to virtually unlimited content without having to worry about storage.

Figure 4-3: Overall CrowdSMILE System Architecture and Data/Control Flows

40 The CrowdSMILE Server

4.5.1.1.

Figure 4-4: Server Architecture Details and Functions

The CrowdSMILE server is hosted in the Amazon Web Services cloud to leverage Cloud Computing. Given that it is a Cloud based application server, it can easily scale to support a large number of users. The server itself is a LAMP based server that uses Facebook’s SDK to integrate with the Facebook platform and perform the necessary SNS integrations. It hosts various web services that are accessed by the Social Publisher and Explorer. Some of the main functions of the server are:

1) Provide core functionality as application server for the CrowdSMILE system.

2) Integrate with FBSNS to provide social and collaborative functionality such as wall posts, group posts, group creation, friend’s information retrieval etc.

3) Manage users of the system in coordination with the Facebook platform by leveraging Facebook platform’s login, authentication and single sign on functionality.

4) Manage learning process and learning content – keep track of user’s progress in learning, add, delete and publish Learning content as submitted by users of the system.

5) Host social publishing web application and serve application to web clients as needed.

6) Provide the means for creation of SCORM PIFs and exporting them to allow content reusability.

41 The CrowdSMILE Social Publisher 4.5.1.2.

Figure 4-5: Social Publisher Architecture Details and Functions

The CrowdSMILE Social Publisher is a Web 2.0 based Facebook Canvas Application. It is a dynamic web based application that uses Web 2.0 technologies like HTML, JavaScript, jQuery, Google Maps and the Facebook SDK to provide an intuitive user interface for creating and publishing learning content and also accessing learning content. Because it is a Facebook Canvas application, it opens within an iFrame within the user’s current Facebook session and appears to the user to be running within the Facebook site even though the website is actually hosted on the CrowdSMILE server. It provides a Social context to learning because of its integration with Facebook. Its main functions are:

1) Provide its core function which is to provide a non-mobile web UI to the learner to perform learning activities. It communicates with the Server and makes requests via web services to perform relevant actions and transactions with the server.

2) Perform Authentication and Registration of users by leveraging Facebook platform’s Login, Authentication and single sign on functionality and communicating the CrowdSMILE Server.

Provide a client application and UI where learners can 3) browse through existing and available Missions.

4) author and publish their learning content.

5) add new learning content to existing Missions.

6) Provide a Social interface to the non-mobile learning aspect of the system to engage

42 users in the learning environment.

7) Provide an interface to access the means for creation of SCORM PIFs and exporting them to allow content reusability.

The CrowdSMILE Explorer 4.5.1.3.

Figure 4-6: Explorer Architecture

The CrowdSMILE Explorer is an Android platform based outdoor mobile application.

The application is an explore-and-discover type application and its main function is to allow the user to explore a physical environment, find Missions and access their learning content. It requires and encourages physical activity by having the user physically visit the different Points of Interests (POIs). It leverages Location-based services via GPS to provide a location-based context to the learning process. The application uses Wikitude SDK to provide a real time and interactive Mobile Augmented Reality UI that engages the user in the learning process. Its main functions are:

1) Provide its core function which is to provide a MAR UI to allow users to find and access Mission learning content.

2) Perform Authentication and Registration of users by leveraging Facebook platform’s Login, Authentication and single sign on functionality and communicating the CrowdSMILE Server.

3) Provide a UI to learners to browse through existing and available Missions

4) Provide a Client app and UI for learners to add new learning content to existing Missions.

43 4.5.2. Component Integration

The 3 main components of the CrowdSMILE system integrate with each other via standard web based services, namely using the HTTP Secure protocol. Likewise, the main components also use HTTPS based APIs and SDKs to communicate with the external components.

Figure 4-7: Activity and Data Flow between components of CrowdSMILE

In the figure 4-7 above you can see the interaction, dataflow and activity of each component and the other components it needs to integrate with. The Server, Explorer and Social Publisher are the main components. FBSNS and Cloud Content Servers also form an important part of the system as they allow the system to be flexible and scalable. The modular design of CrowdSMILE allows easy extension and addition of functionality to any of the parts as required.

Social Integration 4.5.2.1.

To enable social and collaborative functionality, CrowdSMILE integrates with the Facebook SNS platform. Facebook Integration for Social and Collaborative functionality allows CrowdSMILE to use an already familiar interface in that of Facebook and leverage it to provide the user with a familiar environment. By integration with FBSNS, CrowdSMILE offers all the social functionality of FBSNS as part of CrowdSMILE environment. FB Groups can be used for discussions. FB wall posts and messaging can be used to share content between users. Learning achievements can be posted on user’s own wall for social recognition

44 and encouragement.

As can be seen, the integration allows CrowdSMILE to provide SNS feature within its learning environment and make learning more social and collaborative, thus achieving some of LLL’s goals.

4.5.3. Cloud based Content Leveraging

Because CrowdSMILE does not actually store learning content, storage overhead is very low. Audio/Video processing requirements are also non-existent. This is because CrowdSMILE simply stores metadata about actual learning content It then provides the meta data to the client apps which in turn use it to find the real location of content. Once the client applications know about the content and its location, they access it accordingly from the cloud based servers without any overhead on the CrowdSMILE server.

相關文件