Thursday, May 27, 2010

Elevator Pitch 2

Continue the rail riding journey with the IT developer role has a lot of fun and PAIN.

Internet security on Directory service (LDAP) , UDDI registry, encryption, data transport protocol, firewall and cookies are discussed . Concurrency control and ACID transactions are important for e-commerce with client/server environment. Distributed systems design process with UML and MVC models are examined. A ethical design for e-commerce system for protecting personal integrity and privacy has bring up my attention. Bots, agents and spider are common use but with ethical holes. Mobile e-commerce needs for both data and security are analysis. XML case studies and system integration methodologies are overviewed.

Form processing, screen layouts, documents request and advanced login system has been used for the OTBS. The system deployment process has been investigated and production site migration is just a step away. Although it is very tough to ride RoR but it is a very good challenge in my life.


The MP3 file can be download at the link: ftp://varianhk.servehttp.com/PUBLIC%20DISK/ITC%20594/

The file name is Elevator_Pitch_2.mp3.

Another copy is already submitted to Easts.

Wednesday, May 26, 2010

Workshop 8

Workshop 8


Ruby on Rails Workshops Report and Evaluation

Topic objectives

Upon the completion of this workshop, developers or managers should be able to:
• Identify and evaluate the Ruby on Rails workshop series
• Think critically and analytically about what you knew before and after the experiences
• Share and post your Report and Evaluation with peers via the subject forum.



Evaluation and Report

Please answer each question in this evaluation section. In your answer, please consider content/topics presented and the technologies and teaching strategies used during the Ruby on Rails Workshops. Results will be collated and used to modify the workshop series.

This form is just a format guide to you evaluation and report. Thank you for your time to complete workshop 8.



1. List what you consider to be the three strengths of Ruby on Rails workshop series
  • A step by step approach for the student to understand and discovery Ruby on Rails features.
  • A lot of examples and resources links are given for reference which can speed up the learning process.
  • MVC concept is well-defined and explained in the workshops.

2. List what you consider to be the three weaknesses of Ruby on Rails workshop series:

  •  Some of the information is too old. (e.g. rhtml file structure)
  •  Procedures for RoR Configuration are missing. Student needs to spend a lot of time to figure out how to configure the correct environmental parameters (MySQL setup) and build the project.
  • A lot of typo mistake inside the workshop material

3. List what aspects of Ruby on Rails workshop series that you found to be most difficult.

The most difficult part is the workshop 6 as it involves a lot of programming skills which are not discuss in the earlier section. Even a lot of information is available online, but it is still difficult to find the correct one. If there is a particular reference material or Web for RoR programming then it will help the student a lot. We need to spend time on learning and practicing but not for searching.

4. List what improvements could be made to the Ruby on Rails workshop series:

  • Clear setup and configuration procedures
  • Better referencing materials


Free response and reflective questions:


5. Reflect on your experiences with the other Web framework used in this subject: Was it effective? How can it be improved? Should other Web frameworks be used as well or instead of Ruby on Rails?

From my point of view, RoR is easy to learn but difficult to drive. Versions are always change and it is not well-organised (Open source).

6. Did the Developer’s or IT managers Team that you joined after workshop 4 have a preference towards using other tools to facilitate collaboration? Comment on the differences between these use of the sub-forum or Interact wiki tools from your experiences in this subject.

For oversea student in Hong Kong, we still prefer to communicate face by face or by phone or email (fast responds) rather than doing Wiki or forum.

7. Further comments to add?

Workshop 7

DEVELOPER’S THREAD (RED team)

To Do:

Developers conclude their work with the OTBS and look at the options for deployment of the site. Examine the various platforms/software tools used for deployment such as UNIX environment suggested in the Discussion Notes, Mongrel or Mongrel cluster, Nginx, Subversion or Capistrano (during development stage), JRuby in the Java environment.

Which way?

The choice is up to you as this workshop present just one option and you may like to use another, such as deploying the OTBS in a .NET or J2EE environment

Deployment of a Web site depends on a lot of factors, RoR runs on most operating systems like linux, Mac, BSD and Windows and also from a wide range of web server configurations.


By accessing the rubyonrails.org site, it suggests several options, Passenger aka mod_rails, Proxy setups(Apache or nginx against Mongrels or Thins), JRuby on Rails (Glassfish or Jetty app server) and automate with Capistrano.


From my experience, Unix based system is more stable and secure than windows based system. Therefore, I will only consider Unix based system for the OTBS project. As OTBS is only a thin system, and Unix is good for big guy, Linux may be a better choice - open source and run on cheap computer hardware.


Mongrel is designed to server Ruby code, but it is not too suitable for static content like images, html, css or javascript. Therefore Mongrel should always deployed behind another webserver, like Apache (railhostinginfo, 2010). Apache with Mogrel will be the choice in the OTBS project.

According to rubyofrails.org, passenger is a very powerful deployment tool for RoR, it works well with Apache. It can be combined with Capistrano and taking the automated advantage (Modrails, 2010).

Moreover, Apache Subversion revision control system can be employ in the OTBS case, which can help to maintain the source code, web pages and documentation (Wikipedia, 2010)

A suggested deployment map is shown below: (Begin, 2008) 























Can you get the OTBS Running in production mode as a minimal production server?

Minimal production server is not only refer to the HW cost of the server but also the setup, upgrade, administration and maintenance cost of the OTBS project system. Our OTBS is running in the Linux mode with Apache and Mongrel, the HW server cost should be very low when compare with other operating system platform. Moreover, the SW tools that we are using are mostly open source (a lot of support documents available online) and is proven to work very well (easy to admin and maintenance) in this platform. I am  pretty sure to get the  OTBS running in production mode as a minimal production server.


Share your success by posting progress comments and links etc to the Developers sub-forum site that has been set up for the Red team.

Monday, May 24, 2010

Exercise 16

1. Choose ONE of the four ways to manage and develop integrated systems as listed below;

I will chosse the "Business process analysis" method to manage and develop integrated systems.

2. Summarise your understanding and describe its relevance (250 words max) in either your study at university or in your work environment;

From my understanding, every business is a set of processes that govern how the business operates, how much revenue it can makes, how the support of the customer is, etc. “Business processes” in a company is always unique and differentiate it from other market competitors and therefore it is a very important intellectual property (strategic asset) of the company.

My company starts from a very small company and growing becomes a three billion US business company. In the last ten years, we are relied on a lot of independent systems (Enterprise Resources Planning, Customer Relationship Management, and Sales & Operation Planning) to perform the business operations. Each system will have its own workflow, transaction handling mechanism and reporting methodology. In order to have a smooth operation, management needs to understand how individual sub-systems work and how they communicate.

As the company grows, it is very difficult to monitor and analysis the business processes in this model. The company starts a Varian Vision Program (VVP) last year which try to reform the old business processes. This VVP program has been divided into three phases; the final goal is all sub-systems will become system components in a single database system (SAP). New workflows, reports and training processes are developing in order to fully utilize the VVP features (time consuming & costly). The upper management believes that once the system integration is finish, the company can increase revenue by having visibility (monitor), efficiency (no redundant steps), agility (rapid change) and business empowerment (confident to make decision) (savvion, 2009)


3. Edit TWO similar versions (include bibliography) of that summary to CSU Interact:

a. post version A as a wiki page contribution;

Done.
b. add version B as a final entry to close your developer's blog.

Business processes define how a business operates, make profit and perform customer support. It is absolutely the strategic asset of the company. My company business relied on a lot of independent systems (ERP, CRM, S&OP) to perform operations in the last ten years. Each system has its own workflow, transaction and reports. Smooth operation depends on the understanding of the entire sub-systems. A reformation of business processes is held on last year in order to integrate all sub-systems into a single database system in SAP. It is a very time consuming and costly action for defining new workflows, reports and training. After system integration, the company should increase revenue by having visibility, efficiency, agility and business empowerment (savvion, 2009).

Sunday, May 23, 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 wikipedia (2010), Local 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.

There are a lot of Web applications found on a late model mobile device, such as AGPS navigation service, traffic alerts (traffic jam, detour from accident), restaurant information, advertisements or promotion from that local area.

2. Describe the purpose of the Open Mobile Alliance (OMA) Initiative?

The purpose of OMA (founded in 2002) is to develop open standards for the mobile phone industry. That means OMA is only to standardises applicative protocols and therefore it will provide interoperable service enablers working across countries, operators and mobile terminals (Wikipedia, 2010)

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

The main components of a mobile Web services framework are the communication way (e.g. SOAP), the Web services description (e.g. WSDL), directory server to publish and advertise available services (e.g. UDDI). Unlike static stub based invocation of Web service, the mobile environments allows clients and services to change rapidly. Without the main components stated above, it is impossible for the users to efficiently discover and access to Web services at runtime (Nielsen, 2006).

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?

I have use the WAP mobile application access to the "Cathay Pacific Airline" and the "Citibank Hong Kong" Web site.
For the Cathay Pacific Airline, you need to go to a particular mobile site to download the mobile client and installed into your mobile device. The support mobile devices are Blackberry, Nokia, Windows Mobile, Other platform with Java support and iPhone. After installation the mobile client, you can run the icon from the mobile desktop. There are only six services provided in this client, they are Check in, Flight Status, Retrieve Your Booking, Flight Schedule, City Guides and Select Your Country. Only the Check in and Retrieve Your Booking options require the user to log on the system.

For the Citibank Hong Kong, you just need to visit a https mobile site rather than download a mobile client. The first screen is log on. After log on to the system, there are 9 options, three related with Banking and six related with Stock trading. For banking part, you can have A/C info, payment & transfer and time deposit. For the stock trading part, you can have HK stock quote, buy/sell HK stock, US stock quote, buy/sell US stock, stock trade status, Citibank stock holding and HKEx News.

The similarity for both industries are :
1. The Web page is very simply with a few options (not full option compare with the standard Web site)
2. Require log on for information related to personal
3. Use text rather than graphics
4. The display can be multi-languages depend on user selection

The difference for both industries are :
1. airline needs to install mobile client (limited environment) but not the banking
2. Banking provide more options than airline
3. Banking mobile site is more secure than airline mobile site.
4. Banking provide real time update data but airline is not (data on request).

Exercise 14

1. What is a spider? What does it do?
A spider is a program which crawls the Internet in a specific way for a specific purpose. The purpose may be gathering, filtering and potentially aggregating information for a user. For example, a search enginee (Google, Yahoo) (Jones, 2006).

2. Differentiate the various types of software agents.

There are four main types of intelligent software agents (Wikipedia, 2006).

  1. Buyer agents or shopping bots

  2. User or personal agents

  3. Monitoring and Surveillance agents

  4. Data Mining agents

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

The various activities according to different agents are:-

  • Buyer agents or shopping bots -- Amazon.com (shopping bot) , provide a list of books that may fit your interest or base on your buying history in that site.

  • User or personal agents -- jobdb.com , sending email about the current available jobs in the market which fit with your personal resume data.

  • Monitoring and Surveillance agents -- NASA's Jet Propulsion Laboratory, monitors inventory, planning and scheduling equipment ordering to keep costs down.

  • Data Mining agents -- use in credit card company, provide a list of consumer's interests according to their shopping behaviour/habit. They can have promotion on particular products or services which can keep the card user to use their card.
4. Computing ethics and bot programming case study: rocky

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

Get is from the CSU interact. Train1 to Train20.
    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)

Done. Try to talk with rocky about internet game. The discussion content is shown below.

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




First of all, I have wake up rocky by the act rocky command.
My findings are:
  • All conversation should be inside "" sign in order for rocky to understand.
  • Rocky will ask random question to me.
  • When I answer Rocky's question, Rocky will take the keyword of my answer to create another question.
  • Moreover, Rocky will try to base on my positive/negative keyword (YES/NO) to predict my thinking.
  • Some answer from Rocky is very reasonable (like a human), but most of them are not human like.
  • Rocky likes Python
  • Rocky has a small brain - question repeat easily.

Exercise 13



The Shopping Cart Class Diagram is shown below: