Bill Gates, co-founder of Microsoft said "Information technology and business are becoming inextricably interwoven. I don't think anybody can talk meaningfully about one without the talking about the other." This is so true as IT has become the backbone of nearly all businesses of today, especially now with the explosion of the world wide web.
Throughout the second half of the subject, my studies have helped to reinforce the importance of IT as a strategic partner in delivering what is needed for organisations to be more efficient and effective. XML and web services are some of the core components being utilised to bring together systems and organisations together communicating and sharing data real-time.
As the internet expands and grows, security and privacy is of key importance to all e-businesses, as these concerns must be rectified before any real adoption of online shopping, transferring critical data can take place. RSA, SET, SSL are some of the key mechanisms learnt during ICT594 that can be put in place to ensure the security of electronic payments and data being transferred for e-Systems.
Although the Online Taxi Booking System application was never completed. These workshops allowed me to grasp a better understand of the importance of web application frameworks, guided me in the practices of using established patterns such as MVC, and showed me the substantial benefits of Ruby on Rails.
I have found the subject incredibly interesting and look forward to using the knowledge gained in my future endeavours in IT, and i believe that the tools and information gained will be of great benefit to me now and into the future.
Tuesday, May 25, 2010
Exercise 16 - Systems Integration
1. Choose ONE of the four ways to manage and develop integrated systems as listed below; XML and Webservices as the glue; Business Process Analysis; Federated databases; Portal and service-orientated architectures
I have chosen 'XML and Webservices as the glue'.
2. Summarise your understanding and describe its relevance (250 words max)
3. Edit TWO similar versions (include bibliography) of that summary to CSU Interact:
a. post version A as a wiki page contribution;
b. add version B as a final entry to close your developer’s blog.
According to the W3C a Web service is a software system designed to support interoperable machine-to-machine interaction over a network (Spiritus-Temporis.com, 2005). Web services are typically application programming interfaces (API) or Web APIs that are accessed via Hypertext Transfer Protocol and executed on a remote system hosting the requested services (Wikipedia, 2010). Webservices themselves bring together a standardised way for isolated applications, legacy systems, and dispersed organisations to allow connectivity over a standard protocol with XML so that these systems can interact real-time. Some of the benefits that can be gained are:
As a developer, and working at a financial organisation I see webservices being used in applications to connect to vendors, but also internally for the organisation to expose generic services in which all applications internally can use. This brings about consolidation of business logic, and code and helps to reduce development time and cost to the organisation.
I believe web services are an integral part of most if not all businesses today on the internet, and will continue to grow now and into the future.
I have chosen 'XML and Webservices as the glue'.
2. Summarise your understanding and describe its relevance (250 words max)
3. Edit TWO similar versions (include bibliography) of that summary to CSU Interact:
a. post version A as a wiki page contribution;
b. add version B as a final entry to close your developer’s blog.
According to the W3C a Web service is a software system designed to support interoperable machine-to-machine interaction over a network (Spiritus-Temporis.com, 2005). Web services are typically application programming interfaces (API) or Web APIs that are accessed via Hypertext Transfer Protocol and executed on a remote system hosting the requested services (Wikipedia, 2010). Webservices themselves bring together a standardised way for isolated applications, legacy systems, and dispersed organisations to allow connectivity over a standard protocol with XML so that these systems can interact real-time. Some of the benefits that can be gained are:
- Being able to connect different types of applications so that they can share data
- Standardised protocol which allows the communication which is HTTP
- Being able to create loosely coupled applications
- Reliable and standard way of sending data between applications and between different organisations
- Ease of integration
As a developer, and working at a financial organisation I see webservices being used in applications to connect to vendors, but also internally for the organisation to expose generic services in which all applications internally can use. This brings about consolidation of business logic, and code and helps to reduce development time and cost to the organisation.
I believe web services are an integral part of most if not all businesses today on the internet, and will continue to grow now and into the future.
Sunday, May 23, 2010
Workshop 5 - Part C
Part C: Screen layouts and forms processing with text fields, check boxes, radio buttons and multiple list controls
1. Create a new application called cabs in the same projects directory to demonstrate the use of an active view.
2. Create a controller called Vehicle in cabs\app\controllers
3. Add an action to vehicle_controller.rb as the method called cabtype
4. Add a view template - cabs\app\views\vehicle\cabtype.rhtml
5. Save the view and restart the Web server and navigate to http://localhost:3000/cabs/cabtype
6. Create a file in the public directory - \cabs\public called input.html
I needed to make a few changes to the example input.html as it had a number of html issues, so that it would render correctly, and also the post value was only going to vehicle and not vehicle/cabtype
7. Edit the vehicle_controller.rb here is a start. The data in each form element in the Rails application can be accessed via its name and a hash called params
8. Edit the view template cabtype.rhtml
I also needed to make a few adjustments to the cabtype.rhtml as the @data2 element if was not working correctly
9. Start the Web server and go to the opening page of this application at http://localhost:3000/input.html
Last but not least, there seems to be an issue with the workshop in regards to the input.html not being autogenerated from ruby but instead manually created. This causes an issue with ruby as it has inbuilt security features to ensure we are trying to get past its built in security. This however renders the application example useless as it stops it from working. To get around this problem i needed to comment out a particular piece of code contained in the application_controller.rb file which would turn off this ruby check so that the example would work. I probably wouldn't recommend this as a way forward, but to get this example to work this was the only way i could find.

1. Create a new application called cabs in the same projects directory to demonstrate the use of an active view.

2. Create a controller called Vehicle in cabs\app\controllers
3. Add an action to vehicle_controller.rb as the method called cabtype

4. Add a view template - cabs\app\views\vehicle\cabtype.rhtml

5. Save the view and restart the Web server and navigate to http://localhost:3000/cabs/cabtype

6. Create a file in the public directory - \cabs\public called input.html
I needed to make a few changes to the example input.html as it had a number of html issues, so that it would render correctly, and also the post value was only going to vehicle and not vehicle/cabtype


7. Edit the vehicle_controller.rb here is a start. The data in each form element in the Rails application can be accessed via its name and a hash called params
class VehicleController< ApplicationController
def cabtype
@data1 = params[:text1]
@data2 = params[:check1]
@data3 = params[:radios1]
@data4 = params[:building1]
end
end
8. Edit the view template cabtype.rhtml
I also needed to make a few adjustments to the cabtype.rhtml as the @data2 element if was not working correctly

9. Start the Web server and go to the opening page of this application at http://localhost:3000/input.html
Last but not least, there seems to be an issue with the workshop in regards to the input.html not being autogenerated from ruby but instead manually created. This causes an issue with ruby as it has inbuilt security features to ensure we are trying to get past its built in security. This however renders the application example useless as it stops it from working. To get around this problem i needed to comment out a particular piece of code contained in the application_controller.rb file which would turn off this ruby check so that the example would work. I probably wouldn't recommend this as a way forward, but to get this example to work this was the only way i could find.



Workshop 5 - Part B
Part B: The active view: passing data from an action too a view
1. Create a new application called scenery in the same projects directory to demonstrate the use of an active view.
2. Create a controller called Demo in scenery\app\controllers
3. Add an action to demo_controller.rb as the method called rubycobe
4. Add a view template - scenery\app\views\demo\rubycode.rhtml We will edit this view in later steps but you may like to add your own test HTML code to the view at this stage.
5. Save and restart the Web server and navigate to http://localhost:3000/scenery/rubycode
6. Use the Time.now example to pass data from an action to a view.
7. Modify and save the rubycode action with a value for the time instance variable in the DemoController class in app\controllers\demo_controller.rb
class DemoController< ApplicationController
8. Then modify and save the corresponding view template in \app\views\demo\rubycode.rhtml by adding a call by reference to the action’s instance variable:
There was an issue in the sample code as the variable name in the rubycode controller was called time_now, but in the example of the rhtml file it was @time.now which would throw an error so i changed the rhtml to the following.
9. Restart the Web server and navigate the browser to http://localhost:3000/demo/rubycode
1. Create a new application called scenery in the same projects directory to demonstrate the use of an active view.

2. Create a controller called Demo in scenery\app\controllers

3. Add an action to demo_controller.rb as the method called rubycobe

4. Add a view template - scenery\app\views\demo\rubycode.rhtml We will edit this view in later steps but you may like to add your own test HTML code to the view at this stage.

5. Save and restart the Web server and navigate to http://localhost:3000/scenery/rubycode
6. Use the Time.now example to pass data from an action to a view.
class DemoController< ApplicationController
def rubycode
@time_now = Time.now
end
8. Then modify and save the corresponding view template in \app\views\demo\rubycode.rhtml by adding a call by reference to the action’s instance variable:
There was an issue in the sample code as the variable name in the rubycode controller was called time_now, but in the example of the rhtml file it was @time.now which would throw an error so i changed the rhtml to the following.
The time is <%= @time_now %>
9. Restart the Web server and navigate the browser to http://localhost:3000/demo/rubycode

Saturday, May 22, 2010
Exercise 15 - M-commerce: Innovation and mobile devices
1. What is meant by a location based service? Explain using the Web application found on a late model mobile device.
Location Based Services (LBS) are information and entertain service, accessible with mobile devices through a mobuile network and utilising the ability to make use of the geographical position of the mobile device (Wikipedia, 2010).
Location based services such as google maps, google earth etc can be found on smart mobile like IPhone and Andriod Operating System phones such as HTC. These applications utilise mobile phone tower and GPS coordinate of the phone to selectively display ATM locations, restaurants etc on a map.
2. Describe the purpose of the Open Mobile Alliance Initiative?
The OMA or Open Mobile Alliance is a standards body which develops open standards for the mobile phone industry. OMA was created in June 2002 by nearly 200 companies representing the world's leading mobile operators, device and network suppliers, information technology companies and content providers (Wikipedia, 2010). The purpose of the Open Mobile Alliance is to grow the market for the entire mobile industry by removing barriers to interoperability, supporting a seamless and easy to use mobile experience for users and a market environment that encourages competition through innovation and differentiation (OMA, 2010).
Most significantly, the Open Mobile Alliance is designed to be the center of all mobile application standardization work, enabling the creation of mobile services designed to meet the needs of the end-user. To grow the mobile market, the companies supporting the Open Mobile Alliance will work towards stimulating the fast and wide adoption of a variety of new, enhanced mobile information, communication and entertainment services. The implementation of OMA specifications results in benefits to the end-users, providing easy to use mobile services that are interoperable across countries, operators and mobile terminals (OMA, 2010).
Basically it is very similar to the WWW or World Wide Web consortium in that it has a body that introduces standards and control.
3. What are the main components of a mobile web services framework?
The way we communicate has been rapidly evolving. Over the last 2 decades we have seen the world wide web become more integral in our daily lives and how we communicate. But probably the most significant breakthrough has been the mobile and being able to communicate almost anywhere all over the globe without being restricted by physical wires.
According to El-Masri et al (2005) mobile web services framework to be successful requires the adoption of existing web service standards, internet protocols and wireless standards. Web services are made up of essentially four components:
Working together, these technologies form the framework and infrastructure for mobile web services technology. Mobile web services are about the convergence between mobile and Web applications. Such convergence includes data communication and information exchange between applications running on mobile platforms and on the Web (El-Masri, 2005).
4. Visit an airline website and search for information on WAP or SMS or 3G mobile application access to booking airline services. The same services exist in banking. How do both industries compare?
Well as i dont really have an IPhone i thought i would just download an emulator addon for Firefox so that i could view the contents of the mobile site for VirginBlue and INGDirect.
Virgin Blue
The services offered by virgin blue are below on their mobile site

ING Direct
The services offered on the INGDirect mobile banking site

Both the airline and banking industries have started to use extensively this new channel for sales and support in mobiles. This adds a new level of convience for customers as they can undergo certain tasks on the move not having to call, be near a computer, or at a branch. The airline industry as a whole seems to be leading the use of newer technologies like mobile commerce, with the bank sector seemingly not as quick on the update, and so you can see with the number of services offered on each of the websites.
Location Based Services (LBS) are information and entertain service, accessible with mobile devices through a mobuile network and utilising the ability to make use of the geographical position of the mobile device (Wikipedia, 2010).
Location based services such as google maps, google earth etc can be found on smart mobile like IPhone and Andriod Operating System phones such as HTC. These applications utilise mobile phone tower and GPS coordinate of the phone to selectively display ATM locations, restaurants etc on a map.
2. Describe the purpose of the Open Mobile Alliance Initiative?
The OMA or Open Mobile Alliance is a standards body which develops open standards for the mobile phone industry. OMA was created in June 2002 by nearly 200 companies representing the world's leading mobile operators, device and network suppliers, information technology companies and content providers (Wikipedia, 2010). The purpose of the Open Mobile Alliance is to grow the market for the entire mobile industry by removing barriers to interoperability, supporting a seamless and easy to use mobile experience for users and a market environment that encourages competition through innovation and differentiation (OMA, 2010).
Most significantly, the Open Mobile Alliance is designed to be the center of all mobile application standardization work, enabling the creation of mobile services designed to meet the needs of the end-user. To grow the mobile market, the companies supporting the Open Mobile Alliance will work towards stimulating the fast and wide adoption of a variety of new, enhanced mobile information, communication and entertainment services. The implementation of OMA specifications results in benefits to the end-users, providing easy to use mobile services that are interoperable across countries, operators and mobile terminals (OMA, 2010).
Basically it is very similar to the WWW or World Wide Web consortium in that it has a body that introduces standards and control.
3. What are the main components of a mobile web services framework?
The way we communicate has been rapidly evolving. Over the last 2 decades we have seen the world wide web become more integral in our daily lives and how we communicate. But probably the most significant breakthrough has been the mobile and being able to communicate almost anywhere all over the globe without being restricted by physical wires.
According to El-Masri et al (2005) mobile web services framework to be successful requires the adoption of existing web service standards, internet protocols and wireless standards. Web services are made up of essentially four components:
- XML or Extensible Markup Language
- SOAP or Simple Object Access Protocol
- WSDL or Web Services Description Language
- UDDI or Universal Description, Discovery, and Integration
- WAP or Wireless Application Protocol
- WML or Wireless Markup Language
Working together, these technologies form the framework and infrastructure for mobile web services technology. Mobile web services are about the convergence between mobile and Web applications. Such convergence includes data communication and information exchange between applications running on mobile platforms and on the Web (El-Masri, 2005).
4. Visit an airline website and search for information on WAP or SMS or 3G mobile application access to booking airline services. The same services exist in banking. How do both industries compare?
Well as i dont really have an IPhone i thought i would just download an emulator addon for Firefox so that i could view the contents of the mobile site for VirginBlue and INGDirect.
Virgin Blue
The services offered by virgin blue are below on their mobile site

ING Direct
The services offered on the INGDirect mobile banking site

Both the airline and banking industries have started to use extensively this new channel for sales and support in mobiles. This adds a new level of convience for customers as they can undergo certain tasks on the move not having to call, be near a computer, or at a branch. The airline industry as a whole seems to be leading the use of newer technologies like mobile commerce, with the bank sector seemingly not as quick on the update, and so you can see with the number of services offered on each of the websites.
Exercise 14 - Searching mechanisms, virtual worlds and cyber agents
1. What is a spider? What does it do?
Its a type of software agent that collect data from web pages to index later. They are often refered to by a number of different names such as web crawler, automatic indexers, ants, bots, web robots.
Spiders or crawlers can be used for a number of different purposes but the main one is for search engine wanted to get a copy of the website pages visited so that it can index these pages so that the search engine can produce faster searches. Another use is they can be used for is searching through a website to ensure that the contents of the webpage are formatted correctly and that all hyperlinks are working, and also gathering specific types of information on webpages such as harvesting email addresses for spam.
So in its basic form a spider or web crawler is a computer program that looks or crawl over websites on the internet looking for or collecting certain information about webpages for particular uses.
Very interesting read about how a search engine spider actually works
http://www.articledashboard.com/Article/How-exactly-do-search-engine-spiders---robots-work/1185146
2. Differentiate the various types of software agents.
Software agents are computer programs capable of flexible, autonomous action. According to Griss (2001), there are three types of software agents which he speaks about in his paper:
Personal Agents - interact directly with a user, presenting some "personality" or "character", monitoring and adapting to the user's activities, learning the user's style and preferences, and automating or simplifying certain rote tasks.
Mobile Agents - are sent to remote sites to collect information or perform actions and then return with results.
Collaborative Agents - communicate and interact in groups, representing users, organizations and services. Multiple agents exchange messages to negotiate or share information. Examples include online auctions (GetPrice.com.au, priceline.com)
3. Identify various activities in e-commerce where software agents are currently in use.
I've picked two sites i believe are using various software agents
webjet.com.au
When you undertake a search for flights this aggregates all the data to one site for all the airlines in realtime
getprice.com.au
Very similar to webjet, but this is for product searches it aggregates all the product information and products costs from various e-commerce outlets to the one page
4. Computing ethics and bot programming case study: rocky
a. Get an account username and password from the lecturer to LC_MOO at http://ispg.csu.edu.au:7680 and login to the Welcome Lobby
b. Hold a 5-minute discussion with Rocky on a special topic
c. Rocky is an ELIZA-like bot. Report your findings.
Discussion with ELIZA-like bot rocky train4 activates Rocky. Rocky says, "Gee thanks for waking me up! I must have dozed off.." You say, "how was your sleep?" Rocky says, "I would rather not discuss my 'sleep' if it's allright with you..." You say, "what is the time?" Rocky [to train4]: the time? I'm not sure i understand.. You say, "what is the date?" Rocky says, "Don't you know?" You say, "no" Rocky says, "Why are you so negative?" You say, "im not negative, just that i don't know the date?" Rocky says, "Hmm, not sure I know.." You say, "how old are you?" Rocky says, "Do you come here often?" You say, "first time?" Rocky says, "I am sure you should be working on another assignment..." You say, "i've already finished an assignment" Rocky says, "Sometimes I wished I stayed asleep..." train4 hushes Rocky.
I found it quite interesting, and a little fun, but you had to ask the right questions to get a good answer, but this was not always the case because it asks another question even though you want it to answer yours.
Its a type of software agent that collect data from web pages to index later. They are often refered to by a number of different names such as web crawler, automatic indexers, ants, bots, web robots.
Spiders or crawlers can be used for a number of different purposes but the main one is for search engine wanted to get a copy of the website pages visited so that it can index these pages so that the search engine can produce faster searches. Another use is they can be used for is searching through a website to ensure that the contents of the webpage are formatted correctly and that all hyperlinks are working, and also gathering specific types of information on webpages such as harvesting email addresses for spam.
So in its basic form a spider or web crawler is a computer program that looks or crawl over websites on the internet looking for or collecting certain information about webpages for particular uses.
Very interesting read about how a search engine spider actually works
http://www.articledashboard.com/Article/How-exactly-do-search-engine-spiders---robots-work/1185146
2. Differentiate the various types of software agents.
Software agents are computer programs capable of flexible, autonomous action. According to Griss (2001), there are three types of software agents which he speaks about in his paper:
Personal Agents - interact directly with a user, presenting some "personality" or "character", monitoring and adapting to the user's activities, learning the user's style and preferences, and automating or simplifying certain rote tasks.
Mobile Agents - are sent to remote sites to collect information or perform actions and then return with results.
Collaborative Agents - communicate and interact in groups, representing users, organizations and services. Multiple agents exchange messages to negotiate or share information. Examples include online auctions (GetPrice.com.au, priceline.com)
3. Identify various activities in e-commerce where software agents are currently in use.
I've picked two sites i believe are using various software agents
webjet.com.au
When you undertake a search for flights this aggregates all the data to one site for all the airlines in realtime
getprice.com.au
Very similar to webjet, but this is for product searches it aggregates all the product information and products costs from various e-commerce outlets to the one page
4. Computing ethics and bot programming case study: rocky
a. Get an account username and password from the lecturer to LC_MOO at http://ispg.csu.edu.au:7680 and login to the Welcome Lobby
b. Hold a 5-minute discussion with Rocky on a special topic
c. Rocky is an ELIZA-like bot. Report your findings.
Discussion with ELIZA-like bot rocky train4 activates Rocky. Rocky says, "Gee thanks for waking me up! I must have dozed off.." You say, "how was your sleep?" Rocky says, "I would rather not discuss my 'sleep' if it's allright with you..." You say, "what is the time?" Rocky [to train4]: the time? I'm not sure i understand.. You say, "what is the date?" Rocky says, "Don't you know?" You say, "no" Rocky says, "Why are you so negative?" You say, "im not negative, just that i don't know the date?" Rocky says, "Hmm, not sure I know.." You say, "how old are you?" Rocky says, "Do you come here often?" You say, "first time?" Rocky says, "I am sure you should be working on another assignment..." You say, "i've already finished an assignment" Rocky says, "Sometimes I wished I stayed asleep..." train4 hushes Rocky.
I found it quite interesting, and a little fun, but you had to ask the right questions to get a good answer, but this was not always the case because it asks another question even though you want it to answer yours.
Exercise 13 - Shopping cart specifications
Develop the class diagram for the following shopping cart specifications.
Im using the Visio 2003 diagramming tool to do the class diagram, as I have used this previously before in other jobs and subjects. Below is the class diagram for the shopping cart.
- shoppingCart object associated with only one creditCard and customer and to items in itemToBuy object.
- persistent customer information stored in customer object (name, billing address, delivery address, email address, credit rating).
- creditCard object associated with frequentShopper discount object if credit rating for customer is good.
- customer can make or cancel orders as well as add/delete items to shopping cart.
- creditCard object contains secure method for checking charge is authentic.