Wednesday, May 19, 2010

Exercise 16

1. The area no. 2, Business process analysis, is selected.

In a business organization, monitoring and management of the business processes to attain profitability is an essential task. E.g. measuring the revenue versus target, building up customer relationship via e-communication.


Various softwares for business process analysis are available, e.g. CRM, Work Flow management, new Web 2.0 tools like the Salesforce.com. One of them has been around for a while and very popular is calledEnterprise resource planning (ERP). It is an 'integrated computer-based system used to manage internal and external resources including tangible assets, financial resources, materials, and human resources. Built on a centralized database, it is a software architecture to facilitate the flow of information between all business functions inside and outside the boundaries of the organization like supplier and customers.


The ERP was originated from the manufacturing resource planning (MRP), and typically handled the manufacturing, logistics, distribution, inventory, shipping invoicing and accounting processes for a company. But for today, ERP has extend across almost all business processes and activities like sales, marketing, human resources management.


The new generation of ERP is called ERPII, largely utilize the web interface and allows both employees and external resources (such as suppliers and customers) real-time access to the system's data.


Apart from the traditional ERP vendor like SAP, open ERP resources are readily available now, e.g. the OpenBravo.com for SMB, xTuple PostBooks is an integrated ERP, CRM and accounting system, OpenERP integrates accounting, hr, sales, crm, purchase, stock, production, services management, project management, marketing campaign. (Gaea, 2009)


References

Enterprise resource planning. (2010). Retrieved on 19 May 2010 from http://en.wikipedia.org/wiki/Enterprise_resource_planning#History

Gaea, P. (2009). 10 Best Open Source ERP Software. Retrieved on 19 May 2010 from http://blog.taragana.com/index.php/archive/10-best-open-source-erp-software/

Saturday, May 15, 2010

Exercise 15

1. What is meant by a location based service? Explain using the Web applications found on a late model mobile device.

From the Wiki, 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 services can be used in a variety of contexts, such as health, work, personal life, etc. LBS services include services to identify a location of a person or object, such as discovering the nearest banking cash machine or the whereabouts of a friend or employee. LBS services include parcel tracking and vehicle tracking services.

LBS can include mobile commerce when taking the form of coupons or advertising directed at customers based on their current location. They include personalized weather services and even location-based games. They are an example of telecommunication convergence.


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

According to the home page of the OMA:

"The mission of the Open Mobile Alliance is to facilitate global user adoption of mobile data services by specifying market driven mobile service enablers that ensure service interoperability across devices, geographies, service providers, operators, and networks while allowing businesses to compete through innovation and differentiation."



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

In a mobile Web service environment, the limited resources and the lack of bandwidth in its communication network makes it is different from a Web service on a regular size computer. In Mobile devices, Synchronous web services are not feasible. It makes the user wait while each Web service processes requests and returns results. The mechanism of mobile Web service network is called Asynchronous Web services that the invocation solves this performance issue and enhances the end user experience by increasing server efficiency. There are three types of processes and components which are involved in web services.

Firstly, a discovery process which is done through UDDI. When one party (requester) contacts another (provider) to obtain services, the requester must locate an appropriate provider. This process is known as discovery. Different mechanisms can be used in the process, such as finding services listed on a web site, searching a directory or locating the provider through a framework that supports discovery.

Next process is description. When a provider has been located, the requester needs to learn the rules related to contacting the provider (e.g., which protocols to use, how to structure messages, and which security and other policies to observe).

A document which contains a description of web services is called WSDL (Web Services Description Language).

The third process is to communicate with the provider by sending (and possibly receiving) messages. The communication usually takes place using the SOAP protocol together with underlying protocols such as HTTP. The definition of how an underlying protocol is to be used with SOAP is called a SOAP binding. It is required in order to achieve interoperability between SOAP messages and their underlying protocol.


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 banding. How do both industries compare?

I’ve visited the Cathay Pacific Airways and Bank of America (BoA). The Cathay Pacific introduced the WAP service in year 2000, and was the 1st airline to introduce this service in Asia. For BoA, the service was introduced in 2007. The mobile features and requirements are listed below.

Cathay

BoA

Main features

  • Check-in
  • News & Offers
  • Flight Schedules
  • Flight Status
  • View Latest Flight Bookings
  • The Marco Polo Club Account
  • Airport Information
  • City Guides
  • (Only on CX Mobile Application)
  • Subscribe to notiFLY
  • Subscribe to CXpecials
  • Local Contacts

  • Custom design unique to your phone's features
  • ATM and banking center locator, using geo-locator –find the nearest location without entering your address or zip code
  • On-the-go management of your accounts to check balances, transfer funds and pay bills

Supported mobile devices

  • iPhone
  • Blackberry
  • Java-enabled mobile phones such as Nokia, Sony Ericsson, Motorola, Samsung, etc.

  • iPhone
  • Blackberry
  • Android

Target users

  • Frequent Traveler (Quick access to information and booking of flights)
  • General banking customers (Quickly locate the ATM machine)
  • Funds investor (Quick access to funds information and management)

Benefits to users

  • Quickly access to the required information and no need to spend time to get to a place or waiting in a queue
  • Quickly access to the required information and no need to spend time to get to a place or waiting in a queue

Benefits to the company

  • Increase business volume without increasing number of shops
  • Increase business volume without increasing number of shops

Can mobile service replace all physical shops?

  • No
  • It can support most of the transactions (e.g. flights booking, check-in) but there are tasks still need to be done at a physical location. (e.g. check-in luggage)
  • No
  • It can support most of the transactions (e.g. bill payments, transfer funds) but there are tasks still need to be done at a physical location. (e.g. Withdraw cash, bank-in cheques at ATM)


References

Bank of America. (2010). Mobile Application. Retrieved on15 May 2010 from http://www.bankofamerica.com/onlinebanking/index.cfm?template=mob_applications

Cathay Pacific. (2010). CX Mobile. Retrieved on 15 May 2010 from http://www.cathaypacific.com/cpa/en_INTL/manageyourtrip/cxmobile

OMA. (2010). Home Page. Retrieved on 14 May 2010 fromhttp://www.openmobilealliance.org/default.aspx

Wiki. (2010). Location-based Service. Retrieved on 14 May 2010 fromhttp://en.wikipedia.org/wiki/Location-based_service

Friday, May 14, 2010

Exercise 14

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

According to Whatis.com, a spider is a program that visits Web sites and reads their pages and other information in order to create entries for a search engine index. The major search engines on the Web all have such a program, which is also known as a "crawler" or a "bot." Spiders are typically programmed to visit sites that have been submitted by their owners as new or updated. Entire sites or specific pages can be selectively visited and indexed. Spiders are called spiders because they usually visit many sites in parallel at the same time, their "legs" spanning a large area of the "web." Spiders can crawl through a site's pages in several ways. One way is to follow all the hypertext links in each page until all the pages have been read.


2. Differentiate the various types of software agents.

Haag (2006) suggests that there are only four essential types of intelligent software agents:
• Buyer agents or shopping bots
• User or personal agents
• Monitoring-and-surveillance agents
• Data Mining agents

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

Buyer agents (shopping bots) - Buyer agents travel around a network (i.e. the internet) retrieving information about goods and services. These agents, also known as 'shopping bots', work very efficiently for commodity products such as CDs, books, electronic components, and other one-size-fits-all products. Amazon.com is a good example of a shopping bot. The website will offer you a list of books that you might like to buy on the basis of what you're buying now and what you have bought in the past.

User agents, or personal agents - Intelligent agents that take action on your behalf. In this category belong those intelligent agents that already perform, or will shortly perform, the following 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
• "Discuss" topics with you ranging from your deepest fears to sports
• Facilitate with online job search duties by scanning known job boards and sending the resume to opportunities who meet the desired criteria
• Profile synchronization across heterogeneous social networks

Monitoring-and-surveillance (predictive) agents - They 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.

Data mining agents - This 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.

4. Computing ethics and bot programming case study: rocky

    a. Get an account username and password form the lecturer to LC_MOO at http://ispg.csu.edu.au:7680 and login to the Welcome Lobby.

    I log in with the user account 'user19', below is the screenshot of the Welcome Lobby.




    Figure 11: LC_MOO screen layout with the Rocky bot object.


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

    Figure 11: LC_MOO screen layout with the Rocky bot object.

    c. Rocky is an ELIZA-like bot. Report your findings.
    Rocky is an ELIZA-like bot. Rocky provided a corresponding response of a pre-defined instruction. You also can create an instruction by LC_MOO command.



    I typed in the LC_MOO command and the bot showed 'I don't understand that', I also typed in many words, all responded the same. My conclusion is that is a rubbish, no intelligence but a junk program with poor interface and only be able to answer some pre-defined questions.



References

Hagg. S. (2006). Management Information Systems for the Information Age", pp. 224-228.

Wiki. (2010). Software agent. Retrieved on 14 May 2010 from http://en.wikipedia.org/wiki/Software_agent

Whatis.now. (2008). Spiders. Retrieved on May 14, 2010 from http://whatis.techtarget.com/definition/0,,sid9_gci213035,00.html

Exercise 13

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

Exercise 12

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



Figure 4: Use case diagram for a customer using a shopping cart at an online bookstore.

According to the Wiki, the MVC functions are summarized below:
The model is used to manage information and notify observers when that information changes. The model is the domain-specific representation of the data upon which the application operates. Domain logic adds meaning to raw data (for example, calculating whether today is the user's birthday, or the totals, taxes, and shipping charges for shopping cart items). When a model changes its state, it notifies its associated views so they can be refreshed. Many applications use a persistent storage mechanism such as a database to store data.

The view renders the model into a form suitable for interaction, typically a user interface element. Multiple views can exist for a single model for different purposes. A viewport typically has a one to one correspondence with a display surface and knows how to render to it.

The controller receives input and initiates a response by making calls on model objects. A controller accepts input from the user and instructs the model and viewport to perform actions based on that input.
By comparing the MVC to the User Case, the MVC representations are below.

Lookup Books (104)
Model - Lookup Books (Database)
View: - Result of the book searched
Controller - Input of book information to be searched

Add to Shopping Cart (105)
Model - Add to Shopping Cart (Database)
View - Result of the books selected to add in Cart
Controller - Input of book information to be added to Cart

Wiki. (2010). Model-View-Controller. Retrieved on 14 May 2010 from http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller

Wednesday, May 12, 2010

Exercise 11

1. Give a description in your own words of the ACID properties of a transaction.
A transaction is a single logical operation for a data. The ACID (atomicity, consistency, isolation, durability) is the measurement to ensure the reliable database transactions.

References

Wiki. (2010). ACID. Retrieved on 13 May 2010 from http://en.wikipedia.org/wiki/ACID


2. Describe a TP monitor environment. How can a TP monitor stop an operating system being overwhelmed?
TP monitor environment (TeleProcessing monitor or Transaction Processing monitor) is a control program to monitor and manage the transfer of data between multiple local and remote terminals and the application programs that serve them. It may also include programs that format the terminal screens and validate the data entered.

In a distributed client/server environment, a TP monitor provides integrity by ensuring that transactions do not get lost or damaged. It may be placed in a separate machine and used to balance the load between clients and various application servers and database servers. It is also used to create a high availability system by switching a failed transaction to another machine. A TP monitor guarantees that all databases are updated from a single transaction.

References

The Free Online Dictionary. (2010). TP Monitor. Retrieved on 13 May 2010 from http://encyclopedia2.thefreedictionary.com/TP+monitor

Exercise 10

1. Find definitions for eight terms and concepts used in threaded programming:
1. Thread Synchronization
2. Locks
3. Deadlock
4. Semaphores
5. Mutex (mutual exclusion)
6. Thread
7. Event
8. Waitable timer.

1. Thread Synchronization - The ability to synchronize the activities of various threads. A thread synchronizes itself with another thread by putting itself to sleep. Before doing so, the thread notifies the operating system as to what event has to occur in order for the thread to resume execution.

IBM. (2004). T. Retrieved on 12 May 2010 from http://mail.serc.iisc.ernet.in/ComputingFacilities/systems/cluster/vac-7.0/html/glossary/czgt.htm

2. Locks – A lock is a special value that can be held by at most one thread.

University of Wisconsin. (n.d.) Locks, Semaphores and Monitors Lock Granularity and Access Deadlock. Retrieved on 13 May 2010 from
http://pages.cs.wisc.edu/~fischer/cs538.s07/lectures/Lecture37.4up.pdf

3. Deadlock - Two or more threads hold locks that other threads require. Each waits for the other thread to release a needed lock, and no thread is able to execute.

4. Semaphores – A semaphore is a signal to acquire or release a lock, usually it is an integer value (often just a single bit) with two atomic operations: up and down.

5. Mutex (mutual exclusion) - Mutual exclusion (often abbreviated to mutex) algorithms are used in concurrent programming to avoid the simultaneous use of a common resource,

6. Thread – A mechanism of executing concurrent operation, a thread of execution results from a fork of a computer program into two or more concurrently running tasks.

7. Event - Event-driven programming or event-based programming is a programming paradigm in which the flow of the program is determined by events—i.e., sensor outputs or user actions (mouse clicks, key presses) or messages from other programs orthreads.

Wiki. (2010). Event-driven programming. Retrieved on 13 May, 2010 from
http://en.wikipedia.org/wiki/Event-driven_programming

8. Waitable timer – A waitable timer object is a synchronization object whose state is set to signaled when the specified due time arrives. There are two types of waitable timers that can be created: manual-reset and synchronization. A timer of either type can also be a periodic timer.

MSDN. (2010). Waitable Timer object. Retrieved on 13 May 2010 from http://msdn.microsoft.com/en-us/library/ms687012(VS.85).aspx