Thursday, May 27, 2010
Elevator pitch 2
Finally, we have already finished assignment 2 for ITC382 - Business to Business, this is also a final assignment. After doing all of the exercise and workshop, more or less, now we have acquired a knowledge of the E-System infrastructure and particular in programming on Ruby.
Indeed, Study Guide exercises helped us to gain our knowledge in specified topics such as Internet Security, Concurrency and transactions, Designing distributes systems, Bots, agents, spiders and mobile computing, etc. Every topic gave us some new concepts and we think, it will be very important for us in the future when we work in the IT industry.
Secondly, we also learn about Ruby, especially in Sinatra. After written the guestbook application by Sinatra and MongoHQ Database, we feel that it is really interesting and effective. We think, Ruby language will more and more popular in the future.
This is all about we learn in this subject, hopefully, you will feel it is useful and partly give you a short picture about e-system.
Thank you
Elevator Pitch 2 Recording - Download
Step 8 - Question
a. What is MongoDB? How does it relate to MongoHQ
According to Mongodb.org (2010), MongoDB (from “humongous”) is a scalable, high-performance, open source, document-oriented database, and written in C++ programming language. As Wikipedia (2010) explain that MongoDB is designed for problems without heavy transactional requirements that are not easily solved by traditional RDBMSs, including problems that require databases to span many servers. MongoDB is not a relational database management system. The database manages collections of JSON-like documents that are stored in a binary format referred to as BSON.
MongoDB relates to MongoHQ:
MongoHQ provides a hosting platform for MongoDB and also uses MongoDB as the back-end for its service.
References
Mongodb (2010). The Best Features of Document Databases Key-Value Stores, and RDBMSes. Retrieved from www.Mongodb.org
Wikipedia (2010). MongoDB. Retrieved from http://en.wikipedia.org/wiki/MongoDB
b. What is MongoMapper
According to Github.com (2010), MongoMapper is a Ruby wrapper library which aims to make using MongoDB much easier and friendlier than the default Ruby driver provided by XGen. When is makes sense to do so, MongoMapper tries to stick closely with the familiar syntax of ActiveRecord.
Due to the way MongoDB stores data, MongoMapper consists two key concepts are: Document and the EmbeddedDocument
The Document is essentially a record with fields
An Embedded Document is exactly like a Document, except that it is injected into a Document and still retains all of ts information.
References
Github.com (2010). MongoMapper. Retrieved from http://wiki.github.com/jnunemaker/mongomapper/
c. What is the relation between MongoDB and Mysql
This table below is the quick comparision between MongoDB and MySQL (mongodb.org, 2010)
| MongoDB | MySQL |
Data Model | Document-Oriented (BSON) | Relational |
Data Types | string, int, double, boolean, date, bytearray, object, array, others | Link |
Large Objects (File) | Yes (GridFS) | Blobs? |
Replication | Master-slave | Master-slace |
Object (row) Storage | Collection based | Table-slave |
Query Method | Dynamic; object-based query language | Dynamic; SQL |
Secondary Indexes | Yes | Yes |
Atomicity | Single document | Yes-advanced |
Interface | Native drivers | Native drivers |
Server-side batch data manipulation | Map/Reduce, server-side javascript | Yes (SQL) |
Written in | C++ | C |
Concurrency Control | Update in Place | |
Reference
Mongodb.org (2010). MongoDB, CouchDB, MySQL Compare Grid. Retrieved from http://www.mongodb.org/display/DOCS/MongoDB,+CouchDB,+MySQL+Compare+Grid
Step 7 - Deploy to Heroku
Exercise 15: M-commerce: Innovation and mobile devices
1. What is meant by a location based service? Explain using the Web applications found on a late model mobile device?
As Wikipedia (2010) defined, a location-based service (LBS) is an information and entertainment service, accessible with mobile devices through the mobile network and utilizing the ability to make use of the geographical position of the mobile device.
LBS service can be used in a different field; it could be in health, work, personal lift, etc. LBS service also involves service to locate a person or object or even track parcel and vehicle. Mobile commerce can be included in LBS when taking the form of coupons or advertising directed based on the current customer location. It can also be used for weather forecasts and location-based games.
These are some of the LBS services used web application in mobile device:
- Locating nearest business like ATM, Park, hospital, restaurant, etc.
- Navigation services like GPS
- Receiving alerts like a SMS notification
- Locating based mobile advertising
- Tracking resource like taxi booking, hotel, rental
- Business directory, weather, traffic service
References
Wikipedia (2010). Location based service. Retrieved from http://en.wikipedia.org/wiki/Location-based_service
2. Describe the purpose of the Open Mobile
According to Wikipedia (2010) describes briefly that Open Mobile Alliance Initiative (OMA) is a standards body which develops open standards for the mobile phone industry.
The OMA is established to grow the market for the entire mobile industry by removing the
Also following to PaloWireless (n.d), the OMA encourages competition through innovation and differentiation, while ensuring the interoperability of mobile service through the entire value chain. It will include all elements of the wireless value chain and contribute to timely and efficient introduction of service and applications to the market by creating a standards organization.
References
PaloWireless (n.d). The Open Mobile
Wikipedia (2010). Open Mobile
3. What are the main components of a mobile Web services framework?
According to ESA (2004) presented the main components of a mobile Web services framework:
Mobile Server
The Mobile Server is a mobile remote computer; linked to the Internet via an Inmarsat Regional Broadband Global Area Network (RBGAN) User Terminal (UT) The mobile web services are active on this server. The mobile Server could be used as a server or as a client PC and it just accept requests from the Gatekeeper
Gatekeeper
The Gatekeeper is placed on the terrestrial Internet, and acts as the sole gateway to the Mobile Server. It is used to perform authentication and authorization of requests before sending them to the Mobile Server. Moreover, the Gatekeeper store buffered data, so it will enable more economic usage of the satellite link.
RBGAN UT / Thuraya Satellite/ RBGAN SAS
The physical connection between the remote web server and the Gatekeeper is established using a Satellite Access Station, a Telecommunications Satellite and a satellite modem.
GPS / Data Acquisition system / Web cam
The mobile Server is connected to a set of peripherals, such as a GPS device, a web cam or a Data Acquisition system. From these devices, data is collected by the web service.
Application server / Client PC
The Gatekeeper handles requests from clients over the Internet. A client can be a PC with a web browser, or another application using a http Simple Object Application Protocol – SOAP request.
References
ESA (2004). Mobile Web Services Framework Features. Retrieved from http://telecom.esa.int/telecom/www/object/index.cfm?fobjectid=12854
4. Visit an Airline Web site and search information on WAP or SMS or 3G mobile application access to booking airline services. The same services exist in banking. How do both industries compare?
I have visited the Jetstar website and accessed the SMS booking section. This facility allows people to make bookings 24 hours a day with the airline by SMS or a mobile phone. This advantage of this JetSMS technology support user to either book a flight or enquire on a low fare at any time or place with mobile coverage are immense (zdnet, 2004).
The SMS service provided in bank used to many purposes that enhance the security is one of them. For example, I browsed the netbank service in Commonwealths Bank and transfer the money. As I transfer money to new account, a security code will be sent to my mobile via SMS to ensure that I am a holder account.
The service for banking is different from airline booking that that it require more secure service user follow up the regulation properly.
Reference
Exercise 14: Searching mechanisms, Virtual worlds and Cyberagents
1. What is a spider? What does it do?
According to TechTarget (2005), a spider is a program that visits Websites and reads their pages in order to create entries for a search engine index. Typically, Spiders are programmed to visit sites that have been submitted by their owners as new or updated. Entire sites or specific pages can be visited and indexed optionally. Spiders can visit many sites simultaneously; it can span a large of the “web” through several ways. One way is to follow all the hypertext links in each page until all the pages have been read. Beside that, spider can be used to gather information from any site and especially useful for creating automated task such as maintaining links or validating HTML code.
Reference
TechTarget (2005). Spider. Retrieved from http://whatis.techtarget.com/definition/0,,sid9_gci213035,00.html
2. Differentiate the various types of software agents.
In computer science, a software agent is a piece of software that acts for a user or other program in a relationship of agency (Wikipedia, 2010).
According to Peterindian.net (n.d), there are many type of software agents, each type has different function. Some of them listed below are the example:
- Cooperative agents communicate with other agents and act acts follow the result of that communication.
- Proactive agents initiate action without user prompting
- Adaptive agents, learning from past experience, and change to the given situation
- Personal agents are proactive and serve individual users.
- Collaborative agents are proactive and cooperate with other agents.
References
PeterIndian.net (n.d). Intelligent Software Agents – An Overview. Retrieved from http://www.peterindia.net/SoftwareAgentsView.html
Wikipedia (2010). Software Agent. Retrieved from http://en.wikipedia.org/wiki/Software_agent
3. Identify various activities in e-commerce where software agents are currently in use.
Umn (1999) identify that there are many activities in e-commerce which software agents are implementing
- Procurement: obtaining materials, services, managing inflow into the organization towards the end user
- Brokering Service: finding information about products, sellers, and prices, providing protection for privacy, validating purchasers’ credit, billing and accounting, etc.
- Digital Libraries and Recommending Services: retrieving information from distributed sources, filtering information on contents, collaborative fillering
- Notification Services: notifying of new books or CDs, notifying when specific products are available at a specific price.
References
Umn (1999). Agents and other ‘Intelligent Software’ for e-Commerce. Retrieved from http://www-users.cs.umn.edu/~gini/csom.html
4. Computing ethics and bot programming case study: rocky
a. Get an account username and password from the lecturer to LC_MOO at http://ispg .csu.edu.au:7680 and login to the Welcome Lobby
After I logged in with the username: train3 and password: train 3. This popup windows is displayed.
b. Hold a 5-minute discussion with Rocky on a special topic. Commands and chat are entered in the command box: act rocky (start bot) hush rocky (stop bot)
c. Rocky is an ELIZA-like bot. Report your findings
Rocky can give a corresponding action follow a pre-defined instruction. It is pretty interesting, but the answer is sometimes not match with my question. However, we can create an instruction by LC-MOO command to make it more excited
Tuesday, May 25, 2010
Exercise 13: Shopping cart specifications
(Click on the image to enlarge)
Exercise 12: Modelling with UML or MVC?
Model-View-Controller (MVC), an architechural pattern that is used for seperating our application into multiple parts, is probably one of the most mentioned patterns in the web application development in recent years (Pastor, 2010).
In MVC,an application is devided into three different parts based on the responsibilities of each part. The model will handle data and business logic, the controller is responsible for handling user's requests and call appropriate resouces(objects) to fullfil these requests and then forward the results to the view.The View acts as a user interface in which users can enter requests and receive results from the controller. The view can present data to users in any supported formats or layouts (Pastor, 2010). The main advantage of the MVC approach is the seperation between application logic and user's interface (presentation).
In the Usecase diagram above, the use case 100(make connection) is the controller. This controller will handle any user's requests, then call appropriate functions(also called as usercase) in the model such as lookup books(104) and Add to Shopping Cart(105). After processing the database the model will return founded data to the controller, then the controller will select appropriate view to present the results to user.
Note: the View and the Model are not shown in this UseCase Diagram.
Reference
Pastor, P.(2010).MVC for Noobs. Viewed 14 May 2010 from http://net.tutsplus.com/tutorials/other/mvc-for-noobs/