Wednesday, October 28, 2009

Exercise 16: System Integration

Development and deployment the web application are necessary and important to create the website. Besides, marketing and promotion the website is so important step to make the website successfully.

Business process analysis:

Organizations can use several systems to promote all services of the website and guide users to control almost the function on the website.

Enterprise resource planning (ERP):

Enterprise Resource Planning (ERP) is a term usually used in conjunction with ERP software or an ERP system which is intended to manage all the information and functions of a business or company from shared data stores
An ERP system typically has modular hardware and software units and "services" that communicate on a local area network. The modular design allows a business to add or reconfigure modules (perhaps from different vendors) while preserving data integrity in one shared database that may be centralized or distributed
In the ERP system, which the supporting by application has some advantages and disadvantages such as forecasting the connection between software, design and integration is the advantages of ERP. On the other hand, customization of software is limited and business process is loss of competitive of advantage.

Customer Relationship Management (CRM)

Methods that companies use to interact with customers. The methods include employee training and special purpose CRM software. There is an emphasis on handling incoming customer phone calls and email, although the information collected by CRM software may also be used for promotion, and surveys such as those polling customer satisfaction.
Initiatives often fail because implementation was limited to software installation, without providing the context, support and understanding for employees to learn. Tools for customer relationship management should be implemented "only after a well-devised strategy and operational plan are put in place".
Other problems occur when failing to think of sales as the output of a process that itself needs to be studied and taken into account when planning automation.
From the outside, customers interacting with a company perceive the business as a single entity, despite often interacting with a number of employees in different roles and departments. CRM is a combination of policies, processes, and strategies implemented by an organization to unify its customer interactions and provide a means to track customer information. It involves the use of technology in attracting new and profitable customers, while forming tighter bonds with existing ones.

Workflow Management

A workflow consists of a sequence of connected steps. It is a depiction of a sequence of operations, declared as work of a person, a group of persons, an organization of staff, or one or more simple or complex mechanisms. Workflow may be seen as any abstraction of real work, segregated in workshare, work split or other types of ordering. For control purposes, workflow may be a view on real work under a chosen aspect, thus serving as a virtual representation of actual work. The flow being described often refers to a document that is being transferred from one step to another.
A workflow is a model to represent real work for further assessment, e.g., for describing a reliably repeatable sequence of operations. More abstractly, a workflow is a pattern of activity enabled by a systematic organization of resources, defined roles and mass, energy and information flows, into a work process that can be documented and learned. Workflows are designed to achieve processing intents of some sort, such as physical transformation, service provision, or information processing. Workflow concepts are closely related to other concepts used to describe organizational structure, such as silos, functions, teams, projects, policies and hierarchies. Workflows may be viewed as one primitive building block of organizations. The relationships among these concepts are described later in this entry.
The term workflow is used in computer programming to capture and develop human-to-machine interaction. Workflow (management) software aims to provide end users with an easier way to orchestrate or describe complex processing of data in a visual form, much like flow chart but without the need to understand computers or programming.
_____________________________________________________
References:

Enterprise Resource Planning, retrieved 17/10/2009 from http://www.erpfans.com/erpfans/erpdefinition/erp001.html

Customers Relationship Management, retrieved 17/10/2009 from http://searchcrm.techtarget.com/definition/CRM

Workflow Management, retrieved 17/10/2009 from http://searchcrm.techtarget.com/definition/CRM

Evelator pitch 2

Dear everybody,

In this subject, we have learnted about Ruby on Rails (RoR). This is a new web application development tool, that makes web application creation easily for developers. Rails framework has supported many tools to create and control connection database, and create the database tables is unnecessary on RoR. Ruby language is like the Perl syntax, this is easy to learn and develop.

Through out many workshops and exercises, we have had more understands and work out how to use the RoR as well. In some cases, we just get the basic of RoR and just use the Ruby language unfluently. Further far for learning, with more extra exercises and workshops of RoR to make us clearly understand and build up the web application as well.

This is the movie about some example to create the website and controller. By the step by step, we hope to show you more understanding about RoR.

Tuesday, October 27, 2009

Exercise 15: M-ecommerce: innovation and Mobile devices

In this age of significant telecommunications competition, mobile network operators continuously seek new and innovative ways to create differentiation and increase profits. One of the best ways to do accomplish this is through the delivery of highly personalized services. One of the most powerful ways to personalize mobile services is based on location. We will discuss Location Based Services (LBS), but we will first discuss the basis of LBS - location technology

One of the most obvious technologies behind LBS is positioning, with the most widely recognized system being the Global Positioning System (GPS). There are however, other means of positioning in addition to GPS. These other technologies are network based positioning and typically rely on various means of triangulation of the signal from cell sites serving a mobile phone. In addition, the serving cell site can be used as a fix for location of the user.

Location Management Function

There must be a location management function to process positioning and GIS data on behalf of LBS applications. The location management function acts as a gateway and mediator between positioning equipment and LBS infrastructure.

Services

Location based information: One of the best ways to personalize information services is to enable them to be location based. An example would be someone using their Wireless Application Protocol (WAP) based phone to search for a restaurant. The LBS application would interact with other location technology components to determine the user's location and provide a list of restaurants within a certain proximity to the mobile user.

Location based billing: The ability to have preferential billing is provided by this type of application. Through location based billing, the user can establish personal zones such as a home zone or work zone. Through arrangements with the serving wireless carrier, the user could perhaps enjoy flat-rate calling while in the home area and special rates while in other defined zones. This type of application can be especially useful when use in conjunction with other mobile applications such as prepaid wireless.

Describe the purpose of the Open Mobile Alliance Initiative

The Open Mobile Alliance Ltd. has been established by the consolidation of the WAP Forum and the Open Mobile Architecture Initiative. The new Open Mobile Alliance is a group of companies and organizations, with a commitment to a shared set of principles, who have come together to drive the growth of the mobile industry. It intends to grow the market for the entire industry by removing barriers to interoperability and supporting a seamless and easy-to-use mobile experience for end users.

The mission of the Open Mobile Alliance is to grow the market for the entire mobile industry by removing the barriers to global user adoption and by ensuring seamless application interoperability while allowing businesses to compete through innovation and differentiation.

Main component of a Mobile Web service Framework:

Web service is tools, which are public on internet and provide some services or special services such as checking user personalities or banking. In term of, web service give some functions to use through the web.

The basic Web services platform is XML + HTTP.

XML provides a language which can be used between different platforms and programming languages and still express complex messages and functions.

The HTTP protocol is the most used Internet protocol.

Web services platform elements:

•SOAP (Simple Object Access Protocol)
•UDDI (Universal Description, Discovery and Integration)
•WSDL (Web Services Description Language)

Web Services have Two Types of Uses

Reusable application-components.

There are things applications need very often. So why make these over and over again?

Web services can offer application-components like: currency conversion, weather reports, or even language translation as services.

Connect existing software.

Web services can help to solve the interoperability problem by giving different applications a way to link their data.

With Web services you can exchange data between different applications and different platforms.

_____________________________________________
References:

Web service Tutorial, W3C, retrieved 17/10/2009 from http://www.w3schools.com/webservices/

Hyacinth S. Nwana, Cambridge University Press, 1996, Software angent overview, retrieved 17/10/2009 from http://agents.umbc.edu/introduction/ao/

Sunday, October 25, 2009

Exercise 14: Searching mechanisms, virtual worlds and cyberagents

Spider:

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.

contain links to other pages, a spider can start almost anywhere. As soon as it sees a link to another page, it goes off and fetches it. Large search engines, like Alta Vista, have many spiders working in parallel.

A lot of Content and Links displayed on a webpage may not actually be visible to the Search Engines, eg. Flash based content, content generated through javascript, content displayed as images etc.

This tool Simulates a Search Engine by displaying the contents of a webpage exactly how a Search Engine would see it.

It also displays the hyperlinks that will be followed (crawled) by a Search Engine when it visits the particular webpage.

Software agents

Simplifying the complexities of distributed computing and overcoming the limitations of current user interface approaches. The final section provides a chapter by chapter overview of the emainder of the book.the two definitions of an agent that have been attempted:agent as an ascription, and agent as a description.

Agent ascription:

As previously noted, one of the most striking things about recent research and development in software agents is how little commonality there is between different approaches. Yet there is something that we intuitively recognize as a “family resemblance” among them. Since this esemblance cannot have to do with similarity in the details of implementation, architecture, or theory, it must be to a great degree a function of the eye of the beholder. “Agent is that agent
does”4 is a slogan that captures, albeit simplistically, the essence of the insight that agency cannot ultimately be characterized by listing a collection of attributes but rather consists fundamentally as an attribution on the part of some person

Agent description:

A more specific definition of “software agent” that many agent researchers might find acceptable is: a software entity which functions continuously and autonomously in a particular environment, often inhabited by other agents and processes. The requirement for continuity and autonomy derives from our desire that an agent be able to carry out activities in a flexible and intelligent manner that is responsive to changes in the environment without requiring constant human uidance or intervention. Ideally, an agent that functions continuously in an environment over a long period of time would be able to learn from its experience. In addition, we expect an agent that inhabits an environment with other agents and processes to be able to communicate and cooperate with them, and perhaps move from place to place in doing so.

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

As internet and technology emerges, virtual environments become widely used as mediums for conducting many applications such as entertainment, gaming, and training. However, the use of hese environments as mediums for conducting virtual shopping is little and the relation of trust, an important factor to increase costumers’ purchases in the physical world, might be among the reasons for such little use. In the current study, we discuss the importance of the continuous resence of software agent in the absence of the underlying vendor to increase e-clients virtual transactions.

Saturday, October 24, 2009

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.

Friday, October 16, 2009

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.

On working process...

Exercise 11: TP monitors and transaction protocols

1. Give a description in your own words of the ACID properties of a transaction.

ACID (Atomicity, Consistency, Isolation and Durability) in computer science is known as a set of properties which is a unique to make sure all database transactions have high quality. Each part of ACID is shown below:
Atomicity: it has function to ensure that all transaction is done by following an “all or nothing” rule. This means if there is a transaction fail, this will affect entire transaction in the state.
Consistency: this property has function to ensure transactions which were done in database have remained on a consistent view of the data (before and after they leave data even this transaction successful or not).
Isolation: this property has function to ensure that other transaction operations can not view or access the data which is in processing state to maintain consistency in database transaction until the transactions are finished.
Durability: this property has function to keep transaction continuing after notifying of a user success and leaving no transaction in undone state. In addition, durability will help to overrun failure system problem (for example the transactions can be written into transaction logs which can be used to restore state before system failure state).

2. Describe a TP monitor environment. How can a TP monitor stop an operating system being overwhelmed?

Teleprocessing monitor (Transaction processing monitor) is defined by Wikipedia is an control program that mange the data processing between local and remote terminals to make sure all transactions are finished. In addition, it also has function to manage the data transferring between server and client when client send a request to the server (this will ensure the requesting is done so the transaction can continue on process. Besides, TP monitor ensure that all transactions are updated at the current state and it creates a high availability system by switching a failed transaction to another machine so there is no transaction lost or destroyed (the Customer Information Control System (CICS) for IBM mainframe computers is an example of TP monitor).
TP monitor stop an operating system being overwhelmed creating a new class (load balancing) if there is many incoming clients requesting that over the number of process in a server class. Furthermore, load balancing helps distribute processing and communications activity across a computer system so there is no overwhelmed in single part.

References

Wikipedia (n.d.). Teleprocessing monitor. Retrieved 16 October 2009 from http://en.wikipedia.org/wiki/Teleprocessing_monitor

Workshop 8

Despite the fact that we didn’t use the online tools for the workshop series and we didn’t have an online production server I found the workshop series to be a good introduction to the Ruby on Rails framework. I enjoyed the RailsSpace book we had to read in Workshop 6, Hartl, M & Prochazka, A, (2008). RailsSpace. I believe the online tutorials were helpful and insightful as well.

1.Strengths of Ruby on Rails workshop series:

.The book RailsSpace, it’s strength lies in its ability to give insights into the framework and tie in the underlying paradigms whilst allowing you to apply it. In my opinion the best way to learn and retain anything is through cognitive exploration, in this case, developing a small application. Further, because it discussed and applied the topics associated with the Rails conventions as you moved through the book, you gained a stronger understanding of the framework itself. By creating an application you can visualise and commit to memory the theoretical concepts like the MVC design pattern.

.The Ruby and Ruby on Rails tutorials and developing the OTBS application, introduced in Workshops 3, 4, 5 and 6 although small and trivial, as in the case of Workshop 4, at least presented a more applied learning approach. Without this approach I found myself struggling to understand concepts like symbols and block structures.

.I did Workshop 6, I could see how each paradigm is applied to the Rails framework, one could see the MVC pattern in the structure of the directories, and the way controllers actions are used by the Views and how the Model directories apply the ORM ActiveRecord. As I learnt about the Layout’s and Partial Views I could see that how the convention of DRY was applied, and as you learn about how Ruby is fairly open language in terms of the way you can liberally employ it’s programming syntax, the Rails framework is quite strict in that it has its own conventions and standards for doing things that makes it easy to build around hence Convention over Configuration

2.Weaknesses of Ruby on Rails workshop series:

.In fact, the workshop series should have been moved to the first week of the course with RailsSpace introduced as the first Workshop along with some basic exercises on the Ruby programming syntax. In its current form the Workshops I believe are undermined by a lack of continuity as you progress one workshop to the next. Also the fact that in one Workshop, Workshop 6, we are expected to read and apply the whole text in a single sitting in order to gain a much deeper understanding of everything that has been stated in preceding Workshops. In my view it is too much to expect from full-time students or full-time workers studying part-time. I would like to see the book used, but its material presented over a longer period of time.

.There should be more practical workshop exercises. Workshop 4 had several small exercises but none that really challenged and linked the Ruby language to the Rails framework. In the form of practical development topics that linked directly to the paradigms Rails uses. For example RailsSpace demonstrates Partials to explain DRY and compares multiple possibilities of the Ruby syntax to what the Rails conventions expects you to use.

.The scope and specification of the OTBS application were not clearly defined. I wasn’t sure where the OTBS application was heading and what was required. The workshops seemed disjointed as well by not mentioning or providing a practical developmental continuous approach to building the OTBS application with each workshop.

3.Aspects of Ruby on Rails workshop series:

.Initially understanding elements of the Ruby syntax. I found concept symbols confusing, although again it wasn’t until after completing Workshop 6 that I developed a better understanding of them.

.Workshop 6. It was without a doubt a massive effort to expect us to get through 500+ pages and apply the knowledge. I managed in four continuous days to get up to chapter 9 and then after that read other chapters I thought would help but it is not a realistic expectation in my opinion.

4.Improvements could be made to the Ruby on Rails workshop series:

.The text, RailsSpace, needs to begin in Workshop 1, and the relevant chapters marked to provide more direct guidance. Also the content needs to be spaced evenly over more than one Workshop.

.The OTBS application should have a more clearly defined scope and set of requirements. That way we can test what we have completed and also discuss and compare notes. At the moment when I see the other blogs I’m not sure what the requirements are because everybody has their own interpretations.

.More practical and better quality exercises that link directly to the Rails paradigms.

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?

In fact, Ruby on Rails is the newest web application framework and having more effects and conveniences to use and develop the website. With many advantages and disadvantages to create the application on web, RoR which is less coding to build up the web page and the framework has many supports for user. I have already developed the web application on other frameworks such as .NET, Java and PHP. They have some strengths and weaknesses, but they give full control for developers and many support from third company to make the web application in the powerfull.

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.

.It was difficult to organise. I know I am in a different time zone than most of the other students. Again this shouldn’t be an excuse but I think it hasn’t helped the situation.

.We started the workshops late in the course. More time may have given us something to talk about.

.No clear direction for the OTBS application. Conversely you could argue that this should stimulate conversation, but it didn’t. I think this was because we didn’t really cover Rails in depth until Workshop 6 and by that time everyone is scurrying to complete and finish other higher priority tasks.

7. Further comments to add?

I have enjoyed the course and learning Ruby on Rails and the MVC design pattern. I think the next step would be to continue learning Rails and setup a production environment on Ubuntu so I cant test deployment correctly. From there develop small applications and build on my understanding of Rails.

Workshop 7

Nowadays, Ruby on Rails is a tool for making web application. Ruby is the object oriented programming language and it is easy to create web application and mapping of database tables to Ruby object. No messy SQL calls in most Ruby application. The most important is the automatic conversion of data into HTML or back, this function makes the Ruby being different with other web programming languages. Moreover, built-in support for automated testing of data models and web page, that Rails makes it easy to write testing suites and allowing to be confident that change the code will not to be break the application. Database is independent to create and alteration of database tables. Deployment is supported by many deploy tools.

JumpBox

The JumpBox for Ruby on Rails server as the deployment system for Rails application which developers decide it’s time to deploy their application. It allows developers to concentrate on their development rather than having to accommodate the potentially infinite number of configuration possibilities that one might otherwise encounter in attempting to distribute Rails applications to end user systems. As many conveniences, users can host their web applications on a Linux, Mac OS, or Window computer. The JumpBox for Ruby on Rails is a self-contained Ubuntu Linux environment that, upon startup, immediately hosts fully functioning Apache, Ruby, MySQL, and Ruby on Rails environments. With only a minimal amount of preparation, users can use their favorite deployment method to install and host their Rails application on the JumpBox.

JumpBox admin interfaces screenshots





JRuby for J2EE using Glassfish and Warbler.

I’m looking at this in conjunction with using Netbeans, as Netbeans allows you use JRuby natively.

Capistrano

Capistrano is described as a “tool for automating tasks on one or more remote servers. It executes commands in parallel on all targeted machines, and provides a mechanism for rolling back changes across multiple machines.” (Capistrano, n.d.)
I’m not sure I need it at this stage worth a look at, later once I get a production site up and running.
_________________________________________________________
References:

1.JumpBox. (n.d.). JumpBox for Ruby on Rails Deployment. Retrieved 15th July 2009 from http://www.jumpbox.com/app/rubyonrails

2.rubyonrails.org. (n.d.). Deploying Ruby on Rails is Easy. Retrieved 15th July 2009 from http://rubyonrails.org/deploy

3.Capistrano (n.d.) Retrieved 15th July 2009 from http://www.capify.org/index.php/Capistrano

4.Hartl, M & Prochazka, A, (2008). RailsSpace: Building a Social Networking Website with Ruby on Rails. Addison-Wesley (pp 505-516): Addison-Wesley

Thursday, October 15, 2009

Workshop 6

Developer's thread

OTBS develops for passengers booking online, with the auto-generated application controller. That creates for passenger site and user.

The user_controller provides the user form for users can registry and control their information. There are index, edit, register, login and logout.Moreover, the passenger_controller provides some methods for modification the information of passenger such as index, show, new, update and delete.

Here is the code for passenger controller:


class PassengersController < user =" User.find(session[:user_id])" passengers =" Passenger.find_all_by_user_id(session[:user_id])" xml =""> @passengers }
end
end


# GET /passengers/1
# GET /passengers/1.xml
def show
@passenger = Passenger.find(params[:id])
if @passenger.user_id == User.find(session[:user_id])
respond_to do format
format.html # show.html.erb
format.xml { render :xml => @passenger }
end
end
end


# GET /passengers/new
# GET /passengers/new.xml
def new
@user = User.find(session[:user_id])
@passenger = Passenger.new
respond_to do format
format.html # new.html.erb
format.xml { render :xml => @passenger }
end
end

# GET /passengers/1/edit
def edit
@passenger = Passenger.find(params[:id])
end

# POST /passengers
# POST /passengers.xml
def create
@passenger = Passenger.new(params[:passenger])
@passenger.user_id = session[:user_id]
respond_to do format
if @passenger.save
flash[:notice] = ‘Passenger was successfully created.’
format.html { redirect_to(@passenger) }
format.xml { render :xml => @passenger, :status => :created, :location => @passenger }
else
format.html { render :action => “new” }
format.xml { render :xml => @passenger.errors, :status => :unprocessable_entity }
end
end
end

# PUT /passengers/1
# PUT /passengers/1.xml
def update
@passenger = Passenger.find(params[:id])
respond_to do format
if @passenger.update_attributes(params[:passenger])
flash[:notice] = ‘Passenger was successfully updated.’
format.html { redirect_to(@passenger) }
format.xml { head :ok }
else
format.html { render :action => “edit” }
format.xml { render :xml => @passenger.errors, :status => :unprocessable_entity }
end
end
end

# DELETE /passengers/1
# DELETE /passengers/1.xml
def destroy
@passenger = Passenger.find(params[:id])
@passenger.destroy
respond_to do format
format.html { redirect_to(passengers_url) }
format.xml { head :ok }
end
end
end



There is the passenger index method:

@passengers = Passenger.find_all_by_user_id(session[:user_id])
Which the user_id is a foreign key to look up the passenger information.

User can get to this site for register or login.



In the first time going to this site, user has to create the account to login as well. when users login successful absolutely and they can use the form for booking taxi as well.



Exercise 10: Concurrency and Threading demonstration in Python

1. Find definitions for eight terms and concepts used in threaded programming:

1. Thread Synchronisation: this is process which will block a thread which is trying to access to resource that is being accessed by other thread. The blocking process will end until resource is free. This process helps to prevent deadlock when 2 thread access to the same resource at the same time.

2. Locks: is defined as a method which has function to block threads accessing to resource to avoid deadlock when there are many threads try to accessing to the same resource at the same time.

3. Deadlock: is refer to specific condition when two processes or more are waiting in chain for accessing the resource. This happen often in multiprocessing where many processes have to share specific resources.

4. Semaphores: it is a process that allows many processes can access to resource at the same time. In addition, it is integer that is changed after each process access to the resource.

5. Mutex (mutual exclusion): according to Wikipedia is an object which has function to help avoid two events not to occur at the same time (when two process access resource) by using critical sections.

6. Thread: a thread of execution results from a separation of a computer program into two running tasks. In addition, process contains thread or multithreads which and share a resource such as memory (but multiprocessors do not share a same resource).

7. Event: Wikipedia mentions that event is something that is initiated outside the scope of a program which is handled by a piece of code inside the program. Furthermore, it is often used in user interface such as pressing a key on the keyboard.

8. Waitable timer: according to MSDN mentions that object which has state is set to be signaled when the due time arrive, we call this is waitable timer object. In addition, there are two types of waitable timer that can be created: manual-reset timer, synchronization timer and either way of these two is periodic timer.


2. A simple demonstration of the threading module in Python (threaddemo.py) that uses both a lock and semaphore to control concurrency is by Ted Herman at the University of Iowa. The code and sample output below are worth a look. Report your findings.


What we finding are:
 Semaphore in this program has limit module running 3 tasks at the same time.
 These tasks will run continuously after each one done.
 The mutex script with “RLock” has function get an update the process on semaphore.
 Sema.release() will release the task to let another running continuously.

References
MSDN (2009). Waitable Timer Objects. Retrieved 15 October 2009 from http://msdn.microsoft.com/en-us/library/ms687012%28VS.85%29.aspx

Threads and Locks(2005). Retrieved 15 October 2009 from http://java.sun.com/docs/books/jls/third_edition/html/memory.html

Wikipedia (n.d.).Deadlock. Retrieved 15 October 2009 from http://en.wikipedia.org/wiki/Firewall

Wikipedia (n.d.). Mutual exclusion. Retrieved 15 October 2009 from http://en.wikipedia.org/wiki/Mutual_exclusion

Wikipedia (n.d.). Thread. Retrieved 15 October 2009 from http://en.wikipedia.org/wiki/Thread_%28computer_science%29

Wikipedia (n.d.). Event. Retrieved 15 October 2009 from http://en.wikipedia.org/wiki/Event_%28computing%29

Exercise 9: Electronic payments and security I

1. Find out about SET and the use of RSA 128-bit encryption for e-commerce.
- SET (Secured Electronic Transaction) is defined by Wikipedia which is a standard protocol for secured purpose for electronic payments and credit card transactions over insecure network in the internet. Furthermore, SET was not created to be a payment system rather than it is a security protocol that use cryptographic technology for authentication enabling users to employ the existing credit card payment infrastructure. However, SET has becoming less effect in heavy demanding security over the internet against frau because it needs to install client software, cost too much compare to SSL.
- RSA 128-bit encryption is defined by Wikipedia is an algorithm for public-key cryptography which has 2 parts: public key and private key. Furthermore, it has becoming popular in use as a electronic commerce protocol due to it provides good security in internet transaction. The process of RSA is the message is sent over internet with public key and the receiver is only the one has private key which can open this message. Therefore, it is harmless when the message is captured by third party.

References

Wikipedia (n.d.). Secure Electronic Transaction. Retrieved 15 October 2009 from http://en.wikipedia.org/wiki/Secure_Electronic_Transaction

Wikipedia (n.d.).RSA. Retrieved 15 October 2009 from http://en.wikipedia.org/wiki/RSA


2. What can you find out about network and host-based intrusion detection systems?


- An Intrusion detection system (IDS) is defined by Wikipedia is that a software or hardware is designed for detection any incoming attacks which try to access to network or client. Furthermore, IDS can be applied to network, applications and host.

 Network intrusion detection system (NIDS) has function to monitor network traffic for any suspicious signals or messages which can contains Trojan, virus, etc come from outside network.
 Host-based intrusion detection system (HIDS) has function to monitor computer system to find which is going on the computer by analyzing application logs, file-system to prevent a computer can be affected by virus or Trojan.

References

Wikipedia (n.d.). Intrusion detection system. Retrieved 15 October 2009 from http://en.wikipedia.org/wiki/Intrusion_detection_system


3. What is 'phishing'?


Phishing as defined by Webopedia is an action of a theft that sent an email to a user to get the sensitive information like password, credit card number by claiming to be an established legitimate enterprise asking for information update.



References

Webopedia (n.d.).Phishing .Retrieved 15 October 2009 from http://www.webopedia.com/TERM/P/phishing.html

4. What is SET and how does it compare to SSL as a platform for secure electronic transaction? Is SET in common use?


- SET (Secured Electronic Transaction) is defined by Wikipedia which is a standard protocol for secured purpose for electronic payments and credit card transactions over insecure network in the internet. Furthermore, SET was not created to be a payment system rather than it is a security protocol that use cryptographic technology for authentication enabling users to employ the existing credit card payment infrastructure.
- Secure sockets layer (SSL) is put in the server which has client payment information
- SSL has more advantages over SET like messages can not be modified and high cryptography making it unreadable, it only need to install on server not client like SET, etc.

5. What are cookies and how are they used to improve security? Can the use of cookies be a security risk?

According to one definition, Cookies are mall piece of information can be read back from web browser after be sent by a web server. Furthermore, they are used to remember to store password, links to interesting pages or online shopping carts. Cookies allow tracking website and which webs they visited. In addition, cookies using is a security risk due to sensitive information are store on web browser and these information always be sent to web server every time visiting. Therefore, this information is easily captured by third party.

References

What are cookies? (n.d.) Retrieved 15 October 2009 from http://www.cookiecentral.com/cm002.htm


6. What makes a firewall a good security investment? Accessing the Internet, find two or three firewall vendors. Do they provide hardware, software or both?


A firewall is defined by a Wikipedia is a part of computer system which has function to block unauthorized access, incoming message or signals. Furthermore, firewall can be implemented in software or hardware for monitor traffic comes in and out computer. Firewall is important for security in computer system so it is a good security investment.

References

Wikipedia (n.d.).Firewall. Retrieved 15 October 2009 from http://en.wikipedia.org/wiki/Firewall

7. Get the latest PGP information from http://en.wikipedia.org/wiki/Pretty_Good_Privacy. The use of digital certificates and passports are just two examples of many tools for validating legitimate users and avoiding consequences such as identity theft. What others exist?

The other tools for validating legitimate users and avoiding consequences such as identity theft are authentication for username/password, SSL certificate, etc.

Wednesday, October 14, 2009

Workshop 5

Developer’s thread

Build the web application on the Rails framework, which is the Ruby language. Using the Webrick ruby server deploys the website and creates controllers to do actions.


We create the controller and try to connect the method action of the controller. Methods will do some scripts to run on server and starting website significantly.



In the action the breathe method in the mammal controller require the template to run out the website remarkably. The necessary template, which is just a .rhtml file to control the information to show out.




This is the example to show out the necessary information o the web page with the RoR. The breathe method is called directly on the mammal controller.
Create the new application on the Rails to demonstrate the use of an active view to pass the data from an action to view.




Now, we modify the rubycode action with the value of time in the scenery controller and get the data directly from the action to show on the web page.



This is example that illustrated the convenience of the RoR to design the web page, which is less coding on the web page. The controller gets the data on its methods to show out.

The Rails’ controller can get the information from the web page to do or show on another web page of the site. This is very easy to get the information on web page, which just modify necessary variables and pass them on the method of controller.

Exercise 7: Application server platforms in e-commerce


1. Why is the perception getting stronger that integration will become a critical factor in coming days?


The application which has stronger integration will be able to connect or link to each other. For example: Microsoft.net framework.


2. What is the relationship of AJAX to JQuery (jquery.com) and the lightweight Web 2.0 javascript framework called MooTools (mootools.net) within the enterprise software architecture?

Ajax is defined is a group of interrelated web development techniques which are used on the client side, this help web application can get data from server without reloading the existing page.
According to Wikipedia said that JQuery is free software that works on interaction between JavaScript and HTML. Therefore, it allows adding AJAX to application by using JavaScript libraries.
Wikipedia also mentions that MooTools which is open source software (by using AJAX and JavaScript as a framework) uses object-oriented programming JavaScript that helps web developer can write browser JavaScript more flexible and efficient.


References


Wikipedia (n.d.). Ajax (programming). Retrieved 14 October 2009 from http://en.wikipedia.org/wiki/Ajax_%28programming%29
Wikipedia (n.d.). Jquery. Retrieved 14 October 2009 from http://en.wikipedia.org/wiki/JQuery
Wikipedia (n.d.).Mootools. Retrieved 14 October 2009 from http://en.wikipedia.org/wiki/MooTools

3. What are the similarities between the object-oriented development using model-view-controller (MVC) in Ruby on Rails 2.0 and Action Script 2.0 (Flash animations)?

Ruby on Rails 2.0 and Action Script 2.0 (Flash animations) are using data structures and method to design applications and both are object-oriented programming language.
Ruby on rails 2.0 use model-view-controller (MVC) to provide scaffolding to construct the models and views for website.
Action Script 2.0 as Moock (2004) mentions that it improves object-oriented programming by using syntax and methodology. Furthermore, Action Script 2.0 is also support tradition object-oriented features such as providing class keyword for creating class and extends.


References


Moock, C. (2004). Action script 2.0 overview. Retrieved 14 October 2009 from http://www.devarticles.com/c/a/Flash/ActionScript-2-0-Overview/

Wikipedia. (n.d.). Ruby on rails. Retrieved 14 October 2009 from http://en.wikipedia.org/wiki/Ruby_on_Rails


4. What does it mean to develop RESTful practices into our web applications


RESTful is confirmed as the Representational state transfer (REST) constraints.
According to Wikipedia, REST which is style of software architecture that consists of clients and servers used for distributed hypermedia systems such as the World Wide Web (WWW). Besides, Wikipedia also shows that “REST helps to identify existing problems to ensure that protocol extensions would not violate the core constraints that make the Web successful.”

References

Wikipedia (n.d.). Representational State Transfer. Retrieved 14 October 2009 from http://en.wikipedia.org/wiki/Representational_State_Transfer

Monday, October 12, 2009

Evelator Pitch 1



Hello everyone,

We have completed all the exercises and workshops of Ruby on Rails. It is the strong web development tool with the command line to give more controlling on web framework significantly. The most excited is the design web with less coding on the web. Moreover, the powerful in the connection with many Databases such as SQL server, MySQL, and Oracle is simple and immediate . It support the JavaScript as well and the AJAX make the website creating is so beautiful.

The convenience of the RoR, which do not need any web development tools to support such as Visual Studio for .NET and NetBean for Java. We can code the web page on the note book. Importantly, the web is simple to deploy on server with the Rails framework.

Thursday, September 10, 2009

Tuesday, September 8, 2009

Exercise 4: Web application server

Perl script

Here is the basic perl program that we'll use to get started.
#!/usr/bin/perl
use strict;
use LWP::Simple;
print get('http://google.com');
getprint('http://google.com');

getprint store the document's contents in a file.However, LWP::Simple also provides a function called getstore, which stores the content of a URL in a given file.

getstore('http://google.com', 'google.html');

Sometimes, mirror function only makes sense to store a document if it's been updated.
mirror('http://google.com', 'google.html');

They return the HTTP response code, which in some cases is very useful. These can be checked against constants defined by the library. For example, below we check to see if everything went well:

my $response_code = getprint('http://google.com');print "nOKn" if ($response_code == RC_OK);

Python script

def f(x, y=[]):
y.append(x)
return y
print f(23) # prints: [23]
prinf f(42) # prints: [23, 42]

The second print statement prints [23, 42] because the first call to f altered the default value of y, originally an empty list [], by appending 23 to it. If you want y to be bound to a new empty list object each time f is called with a single argument, use the following style instead:

def f(x, y=None):
if y is None:
y = [] y.append(x)
return y
print f(23) # prints: [23]
prinf f(42) # prints: [42]

Javascript

SCRIPT language="JavaScript"

function open1[]
var open1 =window.open
['http://www.domain.com','','scrollbars=yes,height=600,width=800,resizable=yes'];

function open2
var open2 =window.open['http://www.domain.com','','scrollbars=yes,height=600,width=800,resizable=yes'];

function open3[]
var open3 =window.open['http://www.domain.com','','scrollbars=yes,height=600,width=800,resizable=yes'];

/SCRIPT

(This script has been changed to appear on this blog)

This script allows user can open multiwindow

Javascript is the script runs in clients. The first step to check all client forms to correct before send to server.

Reference:

http://www.devshed.com/
http://www.pcw.co.uk/personal-computer-world/features/2246064/debug-javascript-code-free

Monday, September 7, 2009

Exercise 3: Database server

Case A: Microsoft SQL server

SQL server integration services

Microsoft SQL server 2008 inherits from the base of Data Transformation Services of Microsoft SQL server 2000 and improves the performance, usability and manageability aspects of the tool. That contains the Business Intelligence Workbench and SQL server Workbench. Moreover, those services enable to extract data from the data warehourse. Analysis Services to give the better performance.

Relational and XML data support

SQL server 2008 supports both relational and XML data. The XML is available through the addition of the XML data types and allows XML fragments and document. It have many new data types such as VARCHAR(MAX), NVARCHAR(MAX), which allows to store up to 2GB of data such as text, ntext, and image data types.

SQL computer manager

This utility is accessible from the Programs menu and implemented as the Microsoft Management console snap in.

SQL profiler

The SQL profiler is enhanced with a few new features. This includes the MDX Analysis Services statements and monitoring the operation of the Data Transformation services. Grouping and recorded events by views on the basic of selected criteria. Special file types can be used to extract and store events for ease of troubleshooting.

Database tuning advisor

It integrated with SQL profiler and reduces the time to tuning. It analyzes workload and physical implementation of one or more databases.

Command line utilities

The SQLWB.EXE launches the SQL server Management studio from the command prompt.

SQLCMD.EXE

This is a new and improved version of the OSQL and ISQL programs. It helps connect to other SQL server versions and connect to server via Dedicated Administrative connections.

Features of SQL server 2008






References:

http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032368942&EventCategory=5&culture=en-US&CountryCode=US

http://www.sqlsoft.com/coursedescriptions/SQL-243.html?c=1662

Exercise 2: Clients, Servers, and distributed paradigms

Peer-to-Peer properties

Peer-to-Peer (P2P) system is as a significant social and technical network, that shares CPU cycles and storage space. Two advantages make this system growth in the world: firstly, this is very cheap to use and the huge storage space in the large number of computing, and the second thing is the increase network connectivity .

The first thing is difference between P2P and Client/Server architecture is the P2P network does not have Server, each entity in the P2P network is the client and server that can send and receive all requests. In the other hand, client/server architecture is difference, that is any works do at server. Server receives all requests of clients and sends results to client. Moreover, the biggest difference between P2P and client/server architecture that is the safe of data or information in the network. It is significantly to see the equal permission in the P2P architecture, while server does almost jobs and each client has a different permission to accept server.

Java Versus .NET




















Both Java and .NET is the new technology which is developed by Sun and Microsoft, and they are used by almost programming developers on the world. They have some positive and negative impacts.

The first similar is the both of them are the development framework, which the Java is the JDK (Java Development Kit) framework and .NET framework. Like C++, they have supported the OOP (Object Oriented Programming). The secondly, both of them already use the Virtual Machine to compile and run the application.

However, the most different is the cost, which the Java has more development tools to support such as eclipse and Netbean. Additionally, the .NET support more other languages, while java just support on java language. Java is 'write once run anywhere', while .net support many languages so they need to debug it all platforms.

Java has support to open source platform, whereas .net is not.

References:
David Dagon, Julian B. Grizzard, and others, Peer-to-Peer Botnets: Overview and Case Study, http://www.usenix.org/event/hotbots07/tech/full_papers/grizzard/grizzard_html/#tbl:hist

Exercise 2: Google Apps, Cloud Computing

Exercise 1: E-commerce, distributed application and the Internet


Online communication is the web tool, that allows people can share their interests and discussion in the group or individuals. Online communication sites allow their members or visitors to communicate directly, easily, and conveniently. That is very important to e-commerce, which helps providers connection with their customers or discuss the other problem immediately and easier. Today, with many high technology to provide people connect together easily and be narrow the distance such as voice IP instead of phone and webcam allow people to communicate over internet faster with the good quality.

Amazon is blazing a trail in the world of commerce where no merchant has gone before. it allows customers can sit at home or their office make the shopping without physical leaving out to the store. On the Amazon website, customers can choose items that they want to purchase and make the payment by credit card, and then those items will be post to customer's address that they want to receive. Amazon is the Business to Customers (B2C) standard of web and it is established on the website 2.0 foundation. Moreover, this is easy to use that makes user conveniently to shopping. The website is more intelligent that know the customer's want.

Amazon.com used the high technology and technique to business, and support absolutely customer's need. there opens the new business function over internet.

Sunday, September 6, 2009

Workshop 4:

In the JavaScript, almost syntaxes are like the syntax of Java, C# and are nearly like the C syntax. In some cases, this is very easy to use and many developers have used it. On the other hand, Ruby syntaxes are nearly like real language and likely Visual Basic of Microsoft. Moreover, in the ‘if’ statement of Ruby provides two ways to use, which one is like C syntax and another one is like the normal language. Sometime this makes developers confuse to use. For example,
if(x>7&&x<12) {...}
and if x.between(7,12) do ...

both two syntax are correct in Ruby. Especially, JavaScript just runs at client and Ruby runs on server, the Ruby is the application server.

The first similar between JavaScript and Ruby is the variable, there is no difference between variable types such as decimal, string or datetime. Secondly, they are Object Oriented Programming.

Workshop 3

Create MySQL database with passenger's information of taxi driver. passenger_controller and the model to provide function to insert, edit, and delete data.

rails -u mysql taxi : to create the mysql project, which the project's name is taxi
Create controller, model, and run server.






List of passengers and their information.


Edit the information of passenger.


control the value of field.

Workshop 2

Model View Controller
The Model View Controller(MVC) design pattern was first described in 1979 by Trygve Reenskaug while working at Xerox on Smalltalk. MVC is not a new syntax construct like an if statement or a data type like an array or int but more a way of looking at how to structure programs and divide the parts up in a logical and useful way.

Following MVC guidelines has been shown to organize applications in a way that makes them easy to manage and maintain. After working with the MVC pattern for a while you will grow to see the benefits that the division of labor produce. Rails is a strict MVC frame work.

Model

The Model is all about the data. This includes getting the data in and out of the data store. The scaffolding we set up in part one gives us the four basic operation of using a data store Create, Read, Update and Destroy.

View

The View renders the Model in an interactive displayable format that takes the data in the Model and paints it up on the screen for you to see and interact with.

Controller

The Controller responds to events communicating with the Model and the View. This is like the Main loop in a state machine waiting for events like user actions or Model data to show up and reacting as the program dictates to those events.

References:

The Model-View-Controller (MVC)
MVC stands for Model-View-Controller

Sunday, August 16, 2009

Workshop 1

Rails is the web-application framework, which includes everything needed to create database web-application according to the Model-View-Control. Moreover, Rails uses the Ruby programming language. Ruby is the dynamic language that was created in Japan by Yukihiro Matsumoto.

Dynamic or static typing

(Tymothy Fisher, 2008, p.16)Programming languages can be classified by the type system they use. A type system defines how a programming language classifies its data and methods into types. For example, the type of various language include of int, float, string, and Object. Some programming languages use statically typed such as Java, C, C++, and C#. Otherwise, Python, JavaScript, Perl, Lisp, and Ruby include the dynamically typed. This means the data types are not known until run-time. I think this is weak effect of Ruby, because web programming developers will be confuse when using it.

On the other hand, this language do not require to compile source codes into another form. The source code is also the code that the language's run-time executable use to execute the application

Object Oriented Programming

Object oriented programming (OOP) is a style of programming that uses objects to represent data, and actions that you can perform on that data. In addition, Ruby is a pure object oriented programming language. In Ruby, everything is an object, Include literal string and numeric types. Ruby does not have any native types that are not objects. Even numeric types such as integers and floats are represented as Object in Ruby.

Reference:
Timothy Fisher (2008), Ruby on Rails Bible, Wiley Publisher .Inc