Saturday, May 16, 2009

Workshop 5 Admiring the scenery Forms, AJAX Screen Layout and Mobile Interfaces

1. Ideas for customers enhancing experience on Web 2.0 and mobile technologies
Sales and marketing. Web 2.0 sites provide new sales and marketing venues for companies—ones that are often already geared demographically to certain populations. For example, companies that want to target professionals may choose to advertise on LinkedIn, a business-oriented social networking site, whereas companies targeting the youth market may advertise on FunkySexyCool, a mobile-oriented social network run in cooperation with MTV. In addition, these new online sales and marketing channels compare very favorably to traditional channels in terms of cost. Also, with the mobile technologies, customers can get into different channels at anytime and anywhere they want.
Customer service. Web 2.0 platforms offer companies the ability to create very interactive high-quality customer service sites that network together customers, staff, and suppliers. In addition, companies can create customer service sites moderated by full-time employees that encourages end-user created content and wide participation among users—enhancing consumers’ customer service experience and building loyalty. ( BoozAllen, 2007)
2. Software, hardware, networking, systems, procedures and personnel would be needed to support the Developers in order to provide mobile device interfaces to the OTBS in a stage 2 project. There are four critieria we have to care about :-
- User friendliness
- Didactic efficiency
- Technical feasibility
- Cost effectiveness
The diagram below shows the delivery options , deployment languages and plateforms can be used for the mobile device interface (Attewell, 2005)
3.The improved business process can be divided into four different steps
- Customer contacts the call centre through any of the channels available (telephonist, Interactive Voice Response, Internet etc).
- The confirmation of location process starts. The main objective is to identify the origin of the customer.
- The dispatch system allocates a car.
- The car is contacted and it picks up the customer

This new business process system performs a large number of measurements. The company has been able to identify savings by a reduction of the distance from vehicle to customer . Other benefits for taxi drivers are better information access, new services available and improved work environment. Customers experience reduced estimated time of arrival and faster reservation process. The traffic control office is able to perform real-time information retrieval from the cars and at the same time benefits from location based retrieval advantages, improved information retrieval from the mobile resources and finally, real time notification advantages are also achieved. (Heijden, 2002)

References:

1. BoozAllen, 2007, " Companies to adapt to Web. 20 "<http://www.boozallen.com/media/file/The_Urgent_Need_for_Companies_to_Adapt_to_Web_2.0.pdf>

2. Heijden, 2002, " Buisness Process"
<http://is2.lse.ac.uk/asp/aspecis/20020043.pdf>

3. 2. Attewell, J., & Savill-Smith, C. (2005), ‘Mobile learning anytime everywhere: A book of papers from MLEARN 2004
<http://elearning.typepad.com/thelearnedman/mobile_learning/reports/mLearn04_papers.pdf>

Wednesday, May 13, 2009

Exercise 26: System Integration

1. I chose Business Process Analysis
2a. Enterprise Resource Planning is actually a process or approach which attempts to consolidate all of a company's departments and functions into a single computer system that services each department's specific needs. It is, in a sense, a convergence of people, hardware and software into an efficient production, service and delivery system that creates profit for the company. Primary benefit, prior to ERP, each department may be considered an independent fiefdom. Once a department's particular function is completed, it no longer cares for what happens afterwards. Efforts to integrate the system before always met with the stumbling block of different software and procedures. A sales person could not access the finance database to find out the customer's billing status, nor can he easily access the warehouse, inventory or delivery to find out the status of the customer's order.
2b. Customer Relationship Management is an information industry term for methodologies, software, and usually Internet capabilities that help an enterprisee manage customer relationships in an organized way. For example, an enterprise might build a database about its customers that described relationships in sufficient detail so that management, salespeople, people providing service, and perhaps the customer directly could access information, match customer needs with product plans and offerings, remind customers of service requirements, know what other products a customer had purchased, and so forth. (TechTarget, 2009)
2c. Workflow Management is the management of business processes with information technology. By defining, analyzing, and redesigning an organization's resources and operations, workflow management systems ensure that the right information reaches the right person or computer application at the right time.(Aalst, 2009)
My bank is using CRM and the benefits are as follows
- Helping an enterprise to enable its marketing departments to identify and target their best customers, manage marketing campaigns and generate quality leads for the sales team.
- Assisting the organization to improve telesales, account, and sales management by optimizing information shared by multiple employees, and streamlining existing processes (for example, taking orders using mobile devices)
- Allowing the formation of individualized relationships with customers, with the aim of improving customer satisfaction and maximizing profits; identifying the most profitable customers and providing them the highest level of service.
- Providing employees with the information and processes necessary to know their customers, understand and identify customer needs and effectively build relationships between the company, its customer base, and distribution partners.
References
1. Tech-Faq, 2009, " Enterprise Resource Planning"
2. TechTarget, 2009," Customer Relationship Management"
3. Aalst, 2009, " Workflow Management"

Tuesday, May 12, 2009

Exercise 25: M-commerce and the E-Wallet : Innovation and Mobile Devices

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. (Wikipedia, 2009)
Current wireless location based services are growing much slower than expected. One of the major problems is the inefficiency of geographic coordinates such as longitude/latitude and UTM. These coordinates require more than 20 characters at a resolution of meters that are difficult for people to remember and communicate. They are also difficult to be displayed on and input into small wireless devices. All these make geographic coordinates nearly useless to general consumers.
This technology has two barriers to overcome before it liberates great power. The first barrier is vast public awareness. If people don’t know the technology and its advantages, they will not use any features brought by the technology, and all these services will not have any advantages because of the introduction of the technology. The second barrier is wide availability of Universal Addresses. If people don’t know their Universal Addresses, they still can’t benefit from the advantages of the technology either. To overcome these two barriers, it requires great influence and comprehensive services that most small or medium size companies are not able to accomplish. Therefore, only large companies with large influence in the society and providing mass communication services can achieve the goal. An ideal candidate is a large telecommunication company which provides both wireless location based services and telephone catalogs for fixed phones.( Shen, 2003)
References :
1. Wikipedia, 2009, " Location Base Service"
2. Shen, 2003," Problem and Solution , "Wireless Location Base Service"

Exercise 24: Virtual Business Worlds and Cyberagents

1. The term "software agents" describes a software abstraction, an idea, or a concept, similar to OOP terms such as methods, functions, and objects.[citation needed] The concept of an agent provides a convenient and powerful way to describe a complex software entity that is capable of acting with a certain degree of autonomy in order to accomplish tasks on behalf of its user. (Wikipedia, 2009) and they have various types of agents :
- Intelligent Software Agent
- Autonomous Agent
- Distributed Agent
- Multi-agent System
- Mobile Agent
- Fuzzy Agent
2. Intelligent Software Agent and Fuzzy Agent would be applied to the Artificial Intellegience and while Statistical Techiques would use under Mobile Agent.
4. Rocky - LC_MOO
I found the bot only recongized the keyword only and give certain response, for instances, I type in Hello, the response is ..hmm is that so , therefore, it is meaningless, however, when I type in Hi then the response is correct , hi , how are you ? Again, I typed in thanks then it will response you are welcomed, therefore, i believed, all the keyword is alreayd be hardcode with certain responses.

References:
1. Wikipedia, 2009, " Agents"
<http://en.wikipedia.org/wiki/Software_agent>

Sunday, May 10, 2009

Exercise 23: Searching Mechanisms

1. A program that automatically fetches Web pages. Spiders are used to feed pages to search engines. It's called a spider because it crawls over the Web. Another term for these programs is webcrawler. (Webopedia, 2009). It provides as a search engines like the yahoo search or google search.
2. A search engine that queries other search engines and then combines the results that are received from all. In effect, the user is not using just one search engine but a combination of many search engines at once to optimize Web searching. For example, Dogpile is a metasearch engine (Webopedia, 2009)
3. User meta-tag built it under your web page, use the search keyword as accurate describe your page, subcribe to the major web search sites, in order increase the chance of getting a good site ranking.
References :
1. Webopedia, 2009 " Spider"
2. Webopedia, 2009, "Metasearch Engine"

Exercise 22: CRM, B2B and SCM Software

1. Customer relationship management (CRM) consists of the processes a company uses to track and organize its contacts with its current and prospective customers. CRM software is used to support these processes; information about customers and customer interactions can be entered, stored and accessed by employees in different company departments. Typical CRM goals are to improve services provided to customers, and to use customer contact information for targeted marketing.(Wikipedia, 2009)
2. Business-to-business (B2B) describes commerce transactions between businesses, such as between a manufacturer and a wholesaler, or between a wholesaler and a retailer..(Wikipedia, 2009)
3. Supply chain management (SCM) is the management of a network of interconnected businessesinvolved in the ultimate provision of product and service packages required by end customers (Harland, 1996). Supply Chain Management spans all movement and storage of raw materials, work-in-process inventory, and finished goods from point-of-origin to point-of-consumption (supply chain)..(Wikipedia, 2009)
References:
1. Wikipedia, 2009, " Customer Relationship Management"
2. Wikipedia, 2009, "B2B"
3. Wikipedia, 2009, " Supply Chain Management"

Exercise 21: Shopping Cart Specifications

Shopping Cart Class Diagram

Exercise 20: Modeling and UML

Diagram show the modeling with UML (SESAR, 2009)

A. Class Diagram ( Jua, n.d.)


B. Case Diagram ( Jua, n.d.)


C. Sequenece Diagram ( Jua, n.d.)



D. Collaboration Diagram ( Jua, n.d.)




E. State Chart ( Jua, n.d.)

F. Activity Chart ( Jua, n.d.)



G. Component Diagram ( Jua, n.d.)


H. Deployment ( Jua, n.d.)



References :
1. SESAR, 2009," UML Component and Deployment Diagrams"
2. Jua, n.d., " Unified Modified Language"

Saturday, May 9, 2009

Exercise 19: TP Monitors and Transaction Protocols

1. ACID is stand for Atomicity , Consistency, Isolation and Durability ( Microsoft, 2009)
- Atomicity is related to the begin and end of transation statement, once is started just like an atomic and the work is done.
- Consistency preserves data stability and transform from one to another
- Isolation allows concurrency of transaction to behave as one of the transaction running under the system
- Durability is a unit of recovery
2. Transaction processing monitors have been evolving for about 30 years (CICS was introduced in 1968) and have become powerful, high-speed server platforms for mission-critical applications. Some TP products like CICS and TUXEDO. TP monitors are operating systems for business systems whose applications are written in languages like COBOL. It may seem strange to call a TP monitor an "operating system," but because they control an application's entire environment, it's a fitting description. TP monitor systems automatically manage the entire environment that a business system runs in, including transactions, resource management, and fault tolerance. The business logic in TP monitors is made up of procedural applications that are often accessed through network
messaging or remote procedure calls (RPC), which are ancestors of RMI. Messaging allows a client to send a message directly to a TP monitor requesting that some application be run with certain parameters. It's similar in concept to the Java event model. Messaging can be synchronous or asynchronous, meaning that the sender may or may not be required to wait for a response. RPC is a distributed mechanism that allows clients to invoke procedures on applications in a TP monitor as if the procedure was executed locally. The primary difference between RPC and RMI is that RPC is used for procedure -based applications and RMI is used for distributed object systems. With RMI, methods can be invoked on a specific object identity, a specific business entity. In RPC, a client can call procedures on a specific type of application, but there is no concept of object identity. RMI is object oriented; RPC is procedural. (O' Reilly. 2001)
Example Show the TP Monitor Process (ETH Zuerich, n.d.)

3. RPC is a point to point protocol in the sense that it supports the interaction between two entities: the client and the server, when there are more entities interaction with each other ( a client with two servers, a client with a server and the server with a database), RPC treats the call as independent of each other. However, the calls are not independent. Transactional RPC is the additional language contstructs and run time support to bundle serveral RPC calls into an atomic unit Message Oriented Middleware (MOM) -products provide an assured, asyncronous and connectionless method to exchange messages between processes. (ETH Zuerich, n.d.)
Digaram shows the basic MOM:

4. One-phase atomic commit protocol can have the decision to abort the process in server, this will affect the stability and consistency of the transaction, however, two phase commit protocol involved in the client side as well in order to abort the transaction, therefore, it is more secure and consistency on the transaction process.
References:

1. Microsoft, 2009, " ACID Properties"
<http://msdn.microsoft.com/en-us/library/aa719484.aspx>
2.O' Reilly, 2001,"Transaction Processing Monitor "
<http://docstore.mik.ua/orelly/java-ent/ebeans/ch01_05.htm>
3. ETH Zuerich, n.d., " Example of TP Monitors"
<http://www.iks.inf.ethz.ch/education/ws05/eai/slides/lec3.pdf>

Exercise 18: Threading Demonstration in Python

This demonstration is showing how the locks and semaphore to control on the process. As the reports provide different results and the tasks are running one by one, each thread has to wait for one another to finish before it starts the new one . Therefore, the locks , semaphore and thread are the vital skills manipulate in the applications .

Friday, May 8, 2009

Exercise 17: Concurrency Terms

1. Thread Synchronisation requires that a running thread gain a "lock" on an object before it can access it. The thread will wait in line for another thread that is using the method/data member to be done with it. This is very important to prevent the corruption of program data if multiple threads will be accessing the same data. If two threads try to change a variable or execute the same method at the same, this can cause serious and difficult to find problems. Thread synchronization helps prevent this. (Wikianswer, 2009)
2. Locks is a technique that prevents processing of a file by more than one program or user at a time, ensuring that a file in use by one user is made unavailable to others. (Wikianswer, 2009)
3. A deadlock is a situation wherein two or more competing actions are waiting for the other to finish, and thus neither ever does.(Wikianswer, 2009)
4. Semaphores is hardware or software flag used to indicate the status of some activity.(Wikianswer, 2009)
5. Mutex (mutal exclusion) is programming flag used to grab and release an object. When data are acquired that cannot be shared or processing is started that cannot be performed simultaneously elsewhere in the system, the mutex is set to "lock," which blocks other attempts to use it. The mutex is set to "unlock" when the data are no longer needed or the routine is finished. (Wikianswer, 2009)
6. Thread in computer programming, a thread is placeholder information associated with a single use of a program that can handle multiple concurrent users. From the program's point-of-view, a thread is the information needed to serve one individual user or a particular service request. If multiple users are using the program or concurrent requests from other programs occur, a thread is created and maintained for each of them. The thread allows a program to know which user is being served as the program alternately gets re-entered on behalf of different users. (One way thread information is kept by storing it in a special data area and putting the address of that data area in a register. The operating system always saves the contents of the register when the program is interrupted and restores it when it gives the program control again.)(Wikianswer, 2009)
7. The language was organized around a series of events. Each time an event happened (for example, mouse click, pulling down a menu), the program would respond.(Wikianswer, 2009)
8. Waitable timer is a kernel object that is signaled at a certain time or at regular intervals. An asynchronous procedure call (APC) can be associated with a waitable timer to allow a callback function to be executed whenever the timer is signaled. The sample code in this article demonstrates how to do this. (Microsoft, 2006)
References
1. Wikianswer, 2009 " Thread Synchronisation"
2. Wikianswer, 2009, " File-Locking"
3. Wikianswer, 2009, " Deadlock"
4. Wikianswer, 2009, "Semaphores"
5. Wikianswer, 2009, " Mutex"
6. Wikianswer, 2009, " Definition of Thread"
7. Wikianswer, 2009." Event"
8. Microsoft, 2006," How To Use a Waitable Timer with an Asynchronous Procedure Call"

Wednesday, May 6, 2009

Exercise 16: Authentication and Encryption Systems

1. E-bay is the e-commerce website that I look into. I found, it allows credit cards and paypal for the payment, also it is a security website with secure service level (SSL) . Therefore, while doing the transaction, the information is secure and safe. I trust this site for business.
2. VeriSign, Inc. is the trusted provider of Internet infrastructure services for the networked world. Billions of times each day, it provides SSL, identity and authentication, and domain name services allow companies and consumers all over the world to engage in trusted communications and commerce. It offers solution on SSL certificates, identity and authenication services, domain name services, code signing, internet defense network and enterprise security and communication services for e-commerce. (VeriSign, 2009).
3. Services and solutions are offered by trusted web site <http://www.trust-e.co.uk/>.
Central control & reporting, Pupil & product tracking, Online payments, Multi purse technology,Bio wedge legacy interface, Cash transactions & receipts, Revaluation @ epos, Biometric, pin & card.
References:
1. VeriSign, 2009 "Product and Services"

Wednesday, April 29, 2009

Exercise 15: Protecting and Archiving Data

1. A firewall is a part of a computer system or network that is designed to block unauthorized access while permitting outward communication. (Wikipedia, 2009). It is worth to invest the firewall since it guarantee that orgainisation's internal network is free from unauthorized break in.
a. Cisco provides hardware firewall supply, <http://www.cisco.com/>
b. Checkpoint provides software and hardware firewall supply, <http://www.checkpoint.com/>

2. My bank has a backup policy and it is enforced by the Hong Kong Monetary Authority. All the critical data would be backup and placed at the off site.

3. When search on google.com with the " virus writing kit" , there are 6,470,000 web sites are match, therefore, we can tell how easy to look for a tool and create a new virus

References:
Wikipedia, 2009, ' Firewall'

Exercise 14: Electronic Payments and Security II

1. Cookies are data files with small pieces of text which are stored under the users' computer by a web browser, they contain the user's settings, shopping cart contents, or other data used by websites. ( Wikipedia, 2009) . It support the security enhancement , due to it stores the name and password of the users, therefore, only that particular cookies can get into the security website, otherwise username and password are necessary to re-key in again.
2. Cookies can be a security risk because it contains user name and password in the text format, therefore, when it was connected to the internet, there would be a chance to expose this kind of information to the third party.

References:
1. Wikipedia, 2009, ' Http Cookies'
<
http://en.wikipedia.org/wiki/HTTP_cookie>

Exercise 13: Electronic Payments and Security

1. I used the Hong Kong Bank internet-banking very often. I found, the security level is pretty high, they have three levels of security input, firstly, you have to input your name, secondly, your owned password , thirdly the security code generated by token given by Hong Kong Bank. They used the SSL technology for encryptions.

2. Secure Electronic Transactions (SET) is an open protocol which has the potential to emerge as a dominant force in the securing of electronic transactions. Jointly developed by Visa and MasterCard, in conjunction with leading computer vendors such as IBM, SET is an open standard for protecting the privacy, and ensuring the authenticity, of electronic transactions (IBM 1998). SET is comparatively secure common with SSL , since SET needs to have the additional software be installed and informed an other third party , however, SSL just only cater directly with customers and merchants only.SET is not common in the market, since the cost and additional software and configuration had to implemented. (Wikipedia, 2009)

References:
Wikipedia, 2009, ' Secure Socket Layer'
<
http://en.wikipedia.org/wiki/Secure_socket_layer>

Saturday, April 25, 2009

Exercise 12: Designing for a Secure Framework

1. Secure Electronic Transactions (SET) is an open protocol which has the potential to emerge as a dominant force in the securing of electronic transactions. Jointly developed by Visa and MasterCard, in conjunction with leading computer vendors such as IBM, SET is an open standard for protecting the privacy, and ensuring the authenticity, of electronic transactions (IBM 1998).
RSA 128-bit encryption as a standard feature to ensure that data stays secure. RSA encryption is the industry standard for use in securing applications, and RSA 128-bit encryption is widely considered unbreakable, therefore, when it applies to the e-commerce, it secures the credit card encryption while works over the transactions through the internet.(Information Management Online, 2005)

2. Network-based intrusion detection systems use raw network packets as the data source. A
network-based IDS typically utilizes a network adapter running in promiscuous mode to monitor
and analyze all traffic in real-time as it travels across the network. Its attack recognition module
uses four common techniques to recognize an attack signature:
· Pattern, expression or bytecode matching,
· Frequency or threshold crossing
· Correlation of lesser events
· Statistical anomaly detection
Host-based intrusion detection started in the early 1980s before networks were as prevalent,
complex and interconnected as they are today. In this simpler environment, it was common
practice to review audit logs for suspicious activity. Intrusions were sufficiently rare that after the fact analysis proved adequate to prevent future attacks (ISS, 1998)
3. The act of sending an e-mail to a user falsely claiming to be an established legitimate enterprise in an attempt to scam the user into surrendering private information that will be used for identity theft. The e-mail directs the user to visit a Web site where they are asked to update personal information, such as passwords and credit card, social security, and bank account numbers, that the legitimate organization already has. The Web site, however, is bogus and set up only to steal the user’s information. (Webopedia, 2008)
References
1. Information Management Online, 2005 , ' Increases Security by Providing RSA 128-bits Encryption as Standard Platform Security Level'
2. ISS, 1998, ' Network-base vs Host-based Intrusion'
3. Webopedia, 2008 ' Phishing'

Sunday, April 12, 2009

Workshop 4- Riding the Rails with Ruby

1. I found the 46 ruby coding examples are useful and interesting, it shows from easy to hard and give the ways to show how the ruby coding syntax, a very good website for learning ruby programs.
2. The difference between Javascript and Ruby (Githud, 2008)
Ruby:
def create
@milestone = Milestone.new @params['milestone']
@milestone.creator = @person
@milestone.domain = @person.domain
if milestone.save
flash['notice'] = 'Milestone ' + @milestone.name + ' is created.'
redirect_to_action 'show', :id => @milestone.id
else
render_action 'new'
end

Javascript:
this.create = function(req, res) {
with (res) {
res.milestone = Milestone.newInstance(req['milestone']);
milestone.creator_id = person.id;
milestone.domain_id = person.domain_id;
if (milestone.save()) {
flash['notice'] = 'Milestone ' + milestone.name + ' is created.';
redirectToAction('show', milestone.id);
} else
renderAction('newInstance');
}
}
-Ruby use elsif and else whereas , javascript use elseif and else
- Javascript use open bracket for conditions () and {} whereas Ruby didn't use that

Challenge Problem
1. Compare the three dogs name in alphabetical order
Source
Result

2. FizzBuzz Source

FizzBuzz Result
3. Compare the program code between Ruby and Python - dog years calculator
- Python is using the function method to work on the coding, and this function can call by the program itself
- Syntax is not the same between Ruby and Python, in fact, they peform the same task, for instances,
a. put for Ruby and print for Python
b. Elsif for Ruby and elif for Python
c. bracket for conditions under Python and not for Ruby
References:
Githud, 2008, 'New and Edit Miliestone'

Workshop 3 Online Taxi Booking System

To Do:
1. Setup the MySQL Tools
a: MySQL Query Browser with the inserted records and result

b. MySQL Administrator Tool with table properties added

c. MySQL Administrator creatd the database: itc and table : passsengers

2. Setup the new project called Taxi and created with the startup server Taxiserver

3. The Taxi Server is started , http://localhost:3000

3b. Database.yml
# MySQL version # gem install mysql -ruby (not necessary on OS X Leopard)
development:
adapter: mysql
database: itc
username: root
password: 123456
host: localhost
# Warning: The database defined as "test" will be erased and# re-generated from your development database when you run "rake".# Do not set this db to the same as development or production.
test:
adapter: mysql
database: itc
username: root
password: 123456
host: localhost
production:
adapter: mysql
database: itc
username: root
password: 123456
host: localhost

4.a. Generate the Passengers model and create the database table
- Firstly, the passengers must be created under the model by the generator
- Secondly, amend the 20090412090902_create_passengers.rb which is created by the generator under the db migrate folder
- Thirdly, add the table fields like t.column : name, :string into the file , show under the screenshot

4.b. Rake tasks and select db:migrate, then all the table fields will be created under the passengers.

Workshop 2- Model View Controller design approach

To Do:
1. Join one of the classmates , Dennis focus group to take parts in the discussion.
2. A web application framework is a software framework that is made to support the development of dynamic websites, web application and web services ( Wikipedia, 2009). Ruby on Rails provides beautiful code by convention over configuration and it has taken the programming world by storm by its MVC approach to application developement. Also, it provides a micro-framework weighing 4kb, therefore, it keeps things simple and minimal dependencies ( Mindtree, 2008)
3.a.The "topic does not exist yet " under the web page
3.b. MVC is firstly developed by Trygve Reenskaug in year 1979. As Model View Controller has their own responsibility, for instance, stores the data and application logic for the interface . View is used to renders the interface (usually to the screen) . Model is Responds to user input by modifying the model .
4. UC Berkeley RAD lab’s Ruby on Rails Short course is an interesting presentation.
5. The article is concerning the approach and the responsibility of the MVC

Challenge Problem:
1. The controller is used to maitain the index, new, edit , create, and delete. It can be created by generating under the RadRails

2. View is used to handle the view of new, index, show and edit.erb and the extention can change to rhtml in order for Rails to read on them.

Wednesday, April 8, 2009

Workshop 1 - Setting up the model railway

Project : Create two tables , one is passenger_orgin and passenger_destination
a. Table of Passenger_destination

b. Table of Passenger_orgin


To Do:
1. From the “Learning Rails” podcasts, I just chose the topics which were aroused my interests only :-)
2. Ruby on Rails is installed in my notebook

3. Yes, Instant Rails is using, therefore, save the time on configuration.

Challenge Problem
1. I did not do much programming over my career path even, when I was in school. Therefore, the programming languages i know just only a few:
a. javascript
b. java
c. html
A web application framework is a software framework that is made to support the development of dynamic websites, web application and web services ( Wikipedia, 2009). Ruby on Rails provides beautiful code by convention over configuration and it has taken the programming world by storm by its MVC approach to application developement. Also, it provides a micro-framework weighing 4kb, therefore, it keeps things simple and minimal dependencies ( Mindtree, 2008)
2. Interpreted language is a programming language in the forms of an interpreter. Any language may be compiled or interpreted, therefore, this designation is purely implemented and not underlying in the property of a language (Wikipedia, 2009)."Ruby is the interpreted scripting language for quick and easy object-oriented programming because it has many features to process text files and to do system management tasks (as in Perl). It is simple, straight-forward, extensible, and portable".(Nixbit, 2006)
3. Rails is the killer application that leverages various characteristics of Ruby language-meta-programming, closure, etc. (Shin, 2009)
4. Rails has sensible defaults for every aspect of a web application. Following the conventions, you can write a Rails application, using less code than most other web application frameworks. If you need to override the conventions, it's also easy with Rails. Taking advantage of the built-in defaults of the Rails framework has a wide range of advantages over making up your own. One of the biggest is that it makes it easier for other programmers to understand your code. (Wiki, 2009)
An example of convention over configuration:def generate_pi(decimals = 10)
# compute pi
end
compute_pi() => 3.14...
compute_pi(2) => 3.1
The convention is that you compute pi upto 10 decimals. This will be enough for most uses, but you can override it if you want.Such small-scale convention over configuration is also valuable in existing projects. (Jacobs, 2006)
5.MVC was invented at Xerox Parc in the 70's, apparently by TrygveReenskaug. The first public appearance was in Smalltalk-80. For a long time there was virtually no public information about MVC, even in Smalltalk-80 documentation. The first significant paper published on MVC was "A Cookbook for Using the Model-View-Controller User Interface Paradigm in Smalltalk -80", by Glenn Krasner and Stephen Pope, published in the August/September 1988 issue of the JournalOfObjectOrientedProgramming (JOOP). MVC is the seminal insight of the whole field of graphical user interfaces. MVC work was the first to describe and implement software constructs in terms of their responsibilities.MVC was the first significant use of protocols to define components instead of using concrete implementations -- each controller class had a certain set of messages it had to respond to, as did each view class, but otherwise there were no constraints on what they did and how they did it. (Stafford, 2004)
6. MVC Approach (Stanchfield, 2009)
- Updating the GUI requires only changing GUI code. The stable business logic is not touched.
- Updating network architectures, perhaps changing from a two-tier to a three-tier database architecture requires modifying only part of the model. The stable GUI is not touched.
- Creating a limited feature demo might merely be a matter of subclassing the model to block access to some features. Again, no change to the GUI.
- Adding a new way to examine data is simply a matter of adding a new view. Often no change to the model is necessary, nor is it necessary to change other views!

References:
1. Wikipedia, 2009. ' Web Application Framework'
2. Mindtree, 2008,'Most Popular Web Application Framework'
3. Wikipedia, 2009, ' Interpreted Language'
4. Nixbit, 2006, ' Ruby 1.8.5-p2'
5. Shin, 2009, ' Empower You'
6. Wiki, 2009, ' Rails Wiki'
7. Stafford, 2004, ' Model View Controller History'
8. Stanchfield, 2009 'Why MVC is So Important'

Wednesday, April 1, 2009

Exercise 11: XML Introduction

1. The one essential tool for reading and modifying XML is a “parser”. The term “parser” and “processor” are interchangeably, although technically this is not correct. Any program that takes an XML file as its input and produces some output based on the XML files content is an XML processor. An XML browser is an example of processor, as are programs that create typesetting codes, synthesized speech or HTML pages based on XML document. A parser is software that performs the first step in processing an XML document. Seldomly, if ever, will an XML parsers operate on it’s own. Rather, a parser is almost always used as part of an XML processor. The most basic task of a parser is checking the XML document for well-formed data, making sure the documents content follows the rules of XML syntax. All parsers perform this task, if the syntax is incorrect the parser will detect it. Most parsers can also check a document for validity by checking against DTD or Schema. While not all documents require validation, many do. (Gokul, 2003)
2. W3C XML Schema which supports the transfer of benefits enrollment data between organizations. This schema is part of the XML Consortium effort to define an XML vocabulary to support business transactions. XML provides many benefits to adopters. The richness, flexibility and accessibility of the XML standard have made for early and enthusiastic adoption by many IT functions. As a result, there are a large number of tools available to help reduce the development effort associated with producing or processing data transmitted in XML. This reduces barriers to adoption of the standard for organizations of any size.(HR-XML, 2001)
3.Synchronized Multimedia Integration Language(SMIL) fulfills the needs of integration,synchronization, and efficient online delivery of differentmedia types such as text, music, speech, image, and video. It is a multimedia elements in a synchronized manner under a unified feature space. An efficient SMIL retrieval scheme based on textual feature and content feature is proposed. SMIL is suitable for real-time multimedia information delivery over networks,especially for limited bandwidth connections. As an example, the Multimedia Messaging Service (MMS) of mobile technology uses SMIL to represent messages. (IEEE, 2004)
References:
1. Gokul, 2003, 'My First XML Document'
2. HR-XML, 2001' 'Benefit Enrollment'
3. IEEE, 2004,'Content-Based SMIL Retrieval'

Saturday, March 28, 2009

Exercises 10: Application Server Platform in E-Commerce

1. IBM has provide an IBM WebSphere Commerce Suite, Version 5.1. It is a complete e-commerce solution for e-business. This product is using DB2 or Oracles as their database, therefore, they are with Oracles as a business partner. IBM Websphere Commerce Suite can offer:(IBM, 2000)
- an online store
- conduct business to business or business(B2B) to consumer transactions(B2C)
- mobile commerce
Comparsion between DB2 and MySQL (IBM, 2006)


Oracle has provide an Oracle iStore for E-commerce solution. This product is using Oracle as a database. It offers the features and benefits: (Oracle, 2009)
- It builds, manage and personalize powerful, global and scalable internet storefronts.
- Istore supports both business to buisness (B2B) and business to customer (B2C) selling models
- Lower the cost of sales and improve services with an online commerical presence.
Compare betweem Oracle and MySQL(Petri, n.d.)
Microsoft provides e-commerce solution by their own products like the e-commerce manager, frontpage and also with their asp. Therefore, users can tailor made their e-commerce solution by the tools from Microsoft, and the database can be chose by their own, for instances, Access Database, SQL, or even though Oracle as well.
Compare between Microsoft SQL and MySQL (Tometa, 2004)
Sybase provides e-commerce solution with their famous application power building. They provide a flexible and easier ways to build up an e-server and online business with sybase datbase. Comparison between Sybase and MySQL in a white paper provided by Sybase Official Website.(Sybase, 2002) <http://www.sybase.com/content/1045499/Sybase_ASE_MySQL-102406-wp.pdf>
2.Perception is "the process of attaining awareness or understanding of sensory information, and the word come from the Latin words perception, percepio, meaning "receiving, collecting, action of taking possession, apprehension with the mind or senses."" (Wilkipedia, 2009)
It is gettting stronger because due to this perceptual concepts could develop so many personal ad portal entertainment digital products like mp3.
Ajax is stand for Asynchronous Javascript and XML and it includes with html, css, dom, xml, xslt,xmlhttprequest and javascript. Ajax provides the role of architecture with user participation, it interfaces are an important component of many Web2.0 applications, for instances, Google Microsoft, Yahoo amd etc.(Arlekar, 2006)
3. Model-view-controller (MVC) is "an architectural pattern used in software engineering".(Wikipedia, 2009) In complex computer applications that present a large amount of data to the user, a developer often wishes to separate data (model) and user interface (view) concerns, so that changes to the user interface will not affect data handling, and that the data can be reorganized without changing the user interface. The model-view-controller solves this problem by decoupling data access and business logic from data presentation and user interaction, by introducing an intermediate component: the controller.
References:
1. IBM, 2000, 'IBM WebSphere Commerce Suite, Version 5.1: The Complete e-commerce Solution for Your Business '
2. IBM, 2006,'Leverage MySQL skills to learn DB2 Express, Part 3: DB2 versus MySQL graphical user interface'
3. Oracle, 2009, 'Oracle iStore'
4. Petri, n.d. ' A comparison of Oracle and MySQl'
5.Tometa, 2004, 'MySQL vs SQL'
6. Sybase, 2002,'PB-EA Server Solution Reference 1.6'
<http://www.sybase.com/content/1020479/SolutionsReferenceGuideV16.pdf>
7. Arlekar, 2006,'The Role of AJAX in enhancing the user experience on the Web'
8.Wikipedia, 2009,'Perception'
9.Wikipedia, 2009,'Model-View-Controller'

Exercise 9: Web Form Design and Processing: A Basis for E-Commerce Interaction

1. Design the form


2.Javascripts


The javascript is seperate into Four parts
a. Users input the personal particular inside
b. Options to choose the purchasing products : French Perfume
c. Credit card validation
d. Get and Submit
3. Yes, just modify the variables inside the scripts, like the options items, validation function for credit cards, also the input names.

References:
Javaworld, 1996, ' Using Javascript and Forms'

Exercise 8: PHP and MYSQL Database Access

1.a. Connect Database Test2

1.b. Create Table Employees

1.c. Insert Data and Display Result






Wednesday, March 25, 2009

Exercise 7: User Input for Database Access with PHP

1. HTML Page


2. Output Page

Exercise 6: Some Server Practice with PHP

1. Replacement on $Remote_Addr, $Server_Name, $PHP_SELF

I found in the study guide , the php scripts did not work on my windows XP, Appache2,2 with PHP 5.2 version. However, when I searched on net and it suggests, to put the syntax with a $_SERVER[variable] in the scripts then all the above pre-defined variables are working fine.
a. $Remote_Addr


b. $Server_Name



c. $PHP_Self



2. Helloworld.php