Friday, May 28, 2010

Sinatra Application Development Part II

Now here, as per the requirement of the task.


1. A MongoHQ account was created.





2.A new application was created on our existing heroku account.



3.MongoMapper was installed


4.A new application was created and tested locally as asked by the task.


5.Now it was the time to push it to heroku. Now after




1.git init

2.git add .

3.git commit -m "interface edited"
lets push it to heroku...






yes!!!!successful!!!!!!






You can check it out the live.....



http://myguestbook.heroku.com/







...this sinatra application saves and retrives all the detail into the MongoDB hosted at MongoHQ.

*note: there might be few changes to interface












Elevator Pitch 2

Hi everyone,
As we have posted 1st elevator pitch, this would the be part 2nd.
This elevator pitch consist of the remaining exercises of the study guide (9 to 15) as well as sinatra application development part two where a new sinatra application was created and successfully uploaded to heroku.
Now, this is the end for this blog.We have learn alot about e-systems.Hope the things that we shared was really very useful.

With regards,
Abhishek and Neeraj.

http://www.youtube.com/watch?v=_KmqAJ_9Es4

Sinatra Application Question (2nd)

a.What is mongoDB?How does it relates to MongoHQ?

MongoDB (from "humongous") is a scalable, high-performance, open source, document-oriented database. Written in C++, MongoDB. MongoDB bridges the gap between key-value stores (which are fast and highly scalable) and traditional RDBMS systems (which provide rich queries and deep functionality).(MongoDb,2010).
In a simple term , MongoDb treats data as documents and stores it in a collection.Collection is a way to store related data.
MongoHQ is a cloud based database hosting solution where we can store our MongoDB databases.

b.What is Mongomapper?
Mongomapper is a Ruby rapper library.The main purpose of this is to aid application built under ruby platform to get connected and use MongoDB.

c.What is the relation between MongoDB and MySql.

Here MySql is a RDBMS a (Relational Database Management System) where all the data is storead in the tables as well as all the relationship between those data are also stored in form of tables.

Where as In MongoDB data are stored as documents.Now these records ,arrays and other objects can all be sotred insid a single record or document, which makes it much easier to find data.We don't have deal with joins and other very complex issues that exits in typical relational databases.

Resources:
MongoDb(2010).Retrived on May 26 ,2010 from http://www.mongodb.org/

MongoHQ(2010).Retrieved on May 26,2010 from https://mongohq.com/home

Wednesday, May 26, 2010

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.

Location Based Services are the services providing informations and entertainment within mobile devices via mobile network.These utilize the grographical positioning ability of these mobile devices.One of the example would be requesting the nearest business or service, such as an ATM or restaurant using this service.This will first locate the position of the device and then replies will various alternatives.
The location is determined by the radio signals delay of the closest cell-phone tower.The other method is integrating a GPS chip inside the device.Since GPS doesn't work quite good indoors,
other methods like NLSB(Near location based service) which make the use of wi-fi , bluethoot and infrared to match the devices with the nearby services.

The Google map service integrated in Apple's iPhone is one of LBS which provides directions to be followed to reach a certain location with ease.

2. Describe the purpose of the Open Mobile Alliance Initiative?

The Open Mobile Alliance Initiative (OMA) is a ruling body which develops open standards for the mobile phone industry.The basic idea of formulating common standards is to develop the entire mobile industry by removing barriers to interoperability, provide seamless and easy to use mobile experience to it's users and create a market environment that encourages competition through innovation and differentiation.


3.What are the main components of a mobile Web services framework?


The European Space Agency (2008) states that the components of a mobile web services framework are:

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).

Gatekeeper
The Gatekeeper is placed on the terrestrial Internet, and acts as the sole gateway to the Mobile Server.

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 and/or a Data Acquisition system.

Application server / Client PC
The Gatekeeper handles requests from clients over the Internet.


4. Visit an airline Web site and search for 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?

http://mobile.virginblue.com.au
This is a mobile application service provide by Virgin Blue airlines of Australia.It has the features where a user can book tickets.manager their booking,find Virgin Blue lounges,etc.
Users can also select seats for few destinations.It has also recently integrated electronic boarding pass which contains a bar-code.Flyers can check - in via this bar-code not requiring and paper boarding pass.

http://mobile.netbank.com.au
This is a mobile service provided by Commonwealth Bank of Australia.The user can log on to their netbank account and manage it.It also has features like ATM locator and Branch locator.

Both applications are very simple and easy to use but have very less functionality compared with that of the web.The other feature they have is of strong security as both deals with finance and personal identity.

Resources:
Location-Based Sevice.Wikimedia Foundation, Inc. Retreived on May 24, 2010 from
http://en.wikipedia.org/wiki/Location-based_service

Open Mobile AllianceWikipedia. 2010.Wikimedia Foundation, Inc. Retreived on May 24, 2010 from http://en.wikipedia.org/wiki/Open_Mobile_Alliance.

Mobile Web Services Framework (2008).European Space Agency 2008, ESA Telecommunication.Retrieved on May 24,2010 from
http://telecom.esa.int/telecom/www/object/index.cfm?fobjectid=12852

Exercise 14: Searching mechanisms, virtual worlds and cyberagents


1. What is a spider? What does it do?

A Spider is a program that reads web pages from a website and uses the hyper text links present in the web page to track another pages. It is also called as webcrawler since it crawls through web pages. Search Enginie such as Alta Vista uses web crawling technique to display results from various websites. Spider is also a type of bot or software agent which start with a list of URLs and identifies the hyperlink present in that URLs to go to another pages and also adds the links to its list of URLs called crawler frontier. URLs from the crawler frontier are visited recursively according to a set of policies.

Reference :

Web crawler. Wikipedia. 2010.Wikimedia Foundation, Inc. Retreived at May 21, 2010 from http://en.wikipedia.org/wiki/Web_crawler


2. Differentiate the various types of software agents.


A software agent is a software that acts for a user or other program in a realationship of agency as authority to decide which action is appropriate. The lists of software agents are:

i. Buyer Agent: It travels around the internet retreiving information about goods and services. It is also know as shopping bots which works very effciently commodity products such as electronic components , Books etc.

ii. User Agent: Also know as personal agent which takes actions on behalf of youself. It can perform following list of tasks:
  • Check your e-mail, sort it according to the user's order of preference, and alert you when important emails arrive.

  • Play computer games as your opponent or patrol game areas for you.

  • Assemble customized news reports for you. There are several versions of these, including newshub and CNN.

  • Find information for you on the subject of your choice.

  • Fill out forms on the Web automatically for you, storing your information for future reference

  • Scan Web pages looking for and highlighting text that constitutes the "important" part of the information there etc.

iii. Monitorig and survillience Agent: Monitoring and Surveillance Agents are used to observe and report on equipment, usually computer systems. The agents may keep track of company inventory levels, observe competitors' prices and relay them back to the company, watch stock manipulation by insider trading and rumors, etc.


iv. Data Mining Agent: Data Mining agent uses information technology to find trends and patterns in an abundance of information from many different sources. The user can sort through this information in order to find whatever information they are seeking.

Reference :

Software Agent Wikipedia. 2010.Wikimedia Foundation, Inc. Retreived at May 24, 2010 from http://en.wikipedia.org/wiki/Software_agent


3. Identify various activities in e-commerce where software agents are currently in use.

The various activities in e-commerce using software agents can be identified as:

i. Buyer Agent: Amazon.com,eBay.com is a good example of a shopping bot. The website will offer you a list of booksand stuffs that you might like to buy on the basis of what you're buying now and what you have bought in the past. It offers the goods and similar products according to your taste based on your searches or previously bought products.


ii. User Agent: The examples of user Agent could be Yahoo.com, msn.com, Google.com which customizes the mail according to preference, assembles news, play games etc


iii. Monitoring and Survillience Agent : Example, NASA's Jet Propulsion Laboratory has an agent that monitors inventory, planning, and scheduling equipment ordering to keep costs down, as well as food storage facilities. These agents usually monitor complex computer networks that can keep track of the configuration of each computer connected to the network.


iv. Data Mining Agent: For example, a corporation may develop an agent to analyze economic trends. If the agent detects that consumers are becoming more conservative, it will alert management of the change. With this information in hand, management can better plan on how to produce, market, and sell its product. It will make all the process efficiently.


Reference:

Data Mining Agent. Wikipedia. 2010. Wikimedia Foundation, Inc. Retreived at may 24, 2010 from http://en.wikipedia.org/wiki/Data_mining_agents

Software Agent. Wikipedia. 2010.Wikimedia Foundation, Inc. Retreived at May 24, 2010 from http://en.wikipedia.org/wiki/Software_agent


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.

b. Hold a 5-minute discussion with Rocky on a special topic.
Commands and chat are entered in the command box (bottom-left of screen in Figure 11) :
act rocky (start bot) hush rocky (stop bot)

c. Rocky is an ELIZA-like bot. Report your findings.


I have logged into the LC_MOO Welcome Lobby as train15 user. First of all, there was an error saying that the chatting area is not enabled because of the browser does not support java. Hence I tried another browser and worked perfectly fine. The chatting area was displayed on the left hand side of the browser and hence to chat with 'Rocky' bot first I typed 'activate Rocky' and it responded as "Gee thanks for waking me up! I must have dozed off..". And i tried chatting with 'rocky' and it was giving random responses. I tried the command 'seewords Rocky', it displays list of all Keywords it uses to answer for a specific question or command.
Screen shots provided below:



Then i tried other commands such as 'addrandom Rocky' giving the result 'sorry, you must be the owner of Rocky to add a new word...'. Giving command 'news 1' it displays the first news present in the 'news' link (screenshot below):


Hence, i found out that rocky is a kind of 'Eliza bot' having some limitation on artificial intelligence and replies according to some random set of comments it has. It can also be termed as Artificial conversational entities, chatter bots, talk bots etc. Such kind of bots are very useful to do some repetitive task faster and efficiently like gaming bots, auction site bots etc.

Tuesday, May 25, 2010

Exercise 13: Shopping cart specifications

Develop the class diagram for the following shopping cart specifications:

A shoppingCart object is associated with only one creditCard and customer and to items in itemToBuy object. Persistent customer information such as name, billing address, delivery address, e-mail address and credit rating is stored in the customer object. The credit card object is associated with a frequentShopper discount object, if the credit rating for the customer is good. The customer can make or cancel orders as well as add and delete items to the shopping cart product. The credit card object contains the secure method for checking that the charge is authentic.



The Class diagram is show as below:







Exercise 12: Modelling with UML or MVC?

Examine the Use Case in Figure 4 and explain the MVC architecture of the online bookstore (the model the view and controllers) needed to Lookup Books and Add to Shopping Cart.

Model :
Lookup Books
Add to shopping Cart
View :
Book Search Page
Display Search Result Page
Display Book Detail Page
Display Shopping Cart List Page
Controller :
Book Search Controller
Shopping Cart Controller

The user enters the book ID or Name in the Book Search Page. The Book Search Controller searches for the book of provided ID or Name and displays the matched results in display result Page. It displays the book details if user chooses any displayed books. Book detail page consist of link to add the book to the shopping cart. If the user clicks the link, then the shopping cart controller receives action to add the selected book to the shopping cart list. User can go to display shopping cart list page to see what list of items has been added to the shopping cart including the price of respective item and total costs as well.