Showing posts with label Exercises. Show all posts
Showing posts with label Exercises. Show all posts

Sunday, April 18, 2010

Exercise 16 - Reflective Study

The final topic is for group reflective study using the wiki tool in CSU Interact and a way for you to add a final reflective comment on systems integration and make your closing remarks to your Developer’s blog.

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

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

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

a. post version A as a wiki page contribution;

I have posted a version of the below post on the wiki page at the following link:


http://interact.csu.edu.au/portal/site/ITC594_201030_W_D/page/6d759d71-73ac-4a65-8047-d7a3e38c1953

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


I have chosen Business Process Analysis (BPA) to examine as one of the ways to manage and develop integrated systems. A business process is a set of logically related business activities that combine to deliver something of value to a customer. Increasingly, organisations are realising that the first step in almost any major project is to analyse and define their business processes, and then communicate those processes to those who need them whether the project involves integrating standalone IT systems; using Web Services to connect partners and suppliers or making best use of the new Business Process Management tools (Pedrinaci, Domingue and Medeiros, 2008). As stated by Cousins and Stewart (2002) the aim of BPA is to understand how the processes of a business function and interact. The functions of BPA are as follows:

  • understand the organisation and its purpose or “mission” and relate this to the organisation’s current business processes.
  • identify and analyse the collection of processes and activities currently operational within the organisation, and ascertain how far they achieve the business’s objectives.

Clearly, by employing BPA a company can define their business processes. This is a crucial step required to understand how an organisation works, how that organisation wants or needs to work, and how to go about bridging the gap between the two (Pedrinaci, Domingue and Medeiros, 2008). From a systems integration perspective, BPA is a process which can assist in mapping out all present operational processes which can assist with enabling selection of an ERP vendor whose standard modules are most closely aligned with the established organisation, or alternatively inform the development of a new integrated system to support those operational processes. This is certainly what has occurred in Defence recently with Joint Project 2077 which attempts to integrate all Logistics Support Systems under one single system provided my MINCOM. In order to shape this integrated solution a detailed BPA was required to ensure that the integrated solution was able to support the operational processes within Defence.


In terms of closing remarks for this blog, noting that this is the final exercise (although I still have one elevator pitch to complete) I have captured most of my comments under Workshop 8 in terms on some thoughts on the subject and what to improve. Unfortunately I have had to complete the exrecises and and workshops ahead of time due to an up and coming work committment. In most cases I would have liked to have taken more time in completing these exercises, but unfortunately time has caught up with me and I have no real choice but to submit now, although if I am able, I will go back and edit some of my posts in order to improve this. My work and personal circumstances aside, I have found this subject very interesting and extremely useful. I particularly liked how the workshops were geared such that everyone started as a developer, and then the option was presented to change roles to an IT Manager. For me, this was a Godsend as I would have seriously struggled from the developers perspective as I have a very limited programming background. Further, given that I am studying this subject under an MBA, my area of interest is more IT management, rather than development. I trrust that, for those who read this blog, that it was useful and interesting. I have certainly enjoyed putting it together, depsite my compressed timeframe, and various challenges in wrestling with programming.

Cheers

Ricko

Friday, April 2, 2010

Exercise 15: M-commerce: Innovation and mobile devices

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

Wikipedia (2010) defines a location based service (LBS) as an information and entertainment service, accessible with mobile devices through the mobile network and utilising 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 and personal life. 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 telecommunication convergence when taking the form of coupons or advertising directed at customers based on their current location. They include personalised weather services and even location-based games. The below linked is a You Tibe Video containing a brief discussion on LBS, particularly looking at who will make the most money from LBS.

Location Based Services

A popular use of an LBS today is on mobile phones. I-phone for example, is able to use GPS and mobile phone towers to determine a persons location and utilse this information for applications such as maps and navigation, google earth and for searching for various areas of interest such as the nearest restuarant, coffee shop of ATM. Smart devices and phones such as I-phones and I-Pod allow users to install a myriad of web applications which utilise LBS technology. A prime example of this is the use of a mobile version of google earth on I-phone or I-pod for navigation purposes. The below link is a You Tube video demonstrating some of the LBS features, including Google Earth on an I-pod Touch.


As can be seen from the previous discussion and these video, an LBS is an online application or system that is accesible by a mobile device, whether it be a mobile phone, PDA, iPod. An LBS may also perform functions for other devices such as smart cards, biometric scanners. which use online services. Technologies such as WLAN, BlueTooth, InfraRed are used in location based services to not only track the location of the mobile device being used but also to allow the devices to access information or services based on the geographic location of the device.

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

According to the Open Mobile Alliance website the Open Mobile Alliance (OMA) was formed in June 2002 by approximately 200 companies including the world’s leading mobile operators, device and network suppliers, information technology companies and content and service providers.The OMA aims to consolidate into one organisation all specification activities in the service enabler space. The OMA is the focal point for the development of mobile service enabler specifications, which support the creation of interoperable end-to-end mobile services. The OMA drives service enabler architectures and open enabler interfaces that are independent of the underlying wireless networks and platforms. OMA creates interoperable mobile data service enablers that work across devices, service providers, operators, networks, and geographies. Toward that end, OMA will develop test specifications, encourage third party tool development, and conduct test activities that allow vendors to test their implementations. The Goals of OMA are as follows:

  • Deliver high quality, open technical specifications based upon market requirements that drive modularity, extensibility, and consistency amongst enablers to reduce industry implementation efforts.
  • Ensure OMA service enabler specifications provide interoperability across different devices, geographies, service providers, operators, and networks; facilitate interoperability of the resulting product implementations.
  • Be the catalyst for the consolidation of standards activity within the mobile data service industry; working in conjunction with other existing standards organizations and industry fora to improve interoperability and decrease operational costs for all involved.
  • Provide value and benefits to members in OMA from all parts of the value chain including content and service providers, information technology providers, mobile operators and wireless vendors such that they elect to actively participate in the organisation.
In a nutshell, the OMA is a standards body which develops open standards for mobile inductries.

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

According to Kneilling (2002), a Web services application framework is a set of guidelines and specifications for platforms, tools and programming environments that address the design, integration, performance, security, and reliability of distributed and multi-tiered mobile applications. This framework is a very comprehensive set of responsibilities and basic support for applications must include presentation services, server-side processing, session management, a framework for business logic, caching for application data, application logic, persistence, transactions, security, and logging services.

In a real-world enterprise environment, the mobile Web services framework is a scalable application development, deployment, and execution platform for web services. It needs to provide development and run-time services for transaction management, security, state management, application integration, administration, connections, messaging, and business process management. Because people need to connect to Web Services from anywhere and everywhere, the framework also needs to support various GUIs, including Web browsers and wireless devices. Application frameworks are implemented as tools and servers built on top of application frameworks (Kneilling, 2002).

4. Visit an airline Web site and search for information on WAP or SMS or 3G mobile application access to booking airline services. The same services exist in banking. How do both industries compare?

I chose to take a look at the Singapore Airlines site. They have a dedicated site which explains how to book a flight and check-in using a mobile device, including the selection of seats and managing your booking. This is achieved by downloading a Java application known as SIA Mobile. Once installed on a mobile phone, customers may:
  • Perform theCheck-in process for flight check-in anytime between 2 and 48 hours prior to flight departure.
  • Select seats after completing Mobile Check-in.
  • For selective flights, have a 2 D - Barcode display on your mobile for check-in.
  • Manage My Booking to retrieve your flight details or any flight schedule change affecting your flights.
  • See the status of waitlisted bookings or to confirm the status of waitlisted booking.
The banking industry also makes extensive use of mobile applications. In constrast to the airline industry, after examining the ANZ Mobile Banking website, mobile banking allows customers to do the following on their mobile device:
  • view account balances
  • view transaction history up to 30 days
  • transfer between accounts
  • pay bills via BPAY®
  • complete Pay Anyone transactions
  • locate ANZ ATM's, Branches, Business Centres and Night Safes
  • contact ANZ
As can be seen, both the airline and banking industries have started making extensive use of mobile technology.in person or using a desktop or laptop PC. The adoption of such technology allows customers use their mobile device to do tasks that they would otherwise have to do This adds another level of convenience, allowing customers to do these tasks while they are on the go.

Exercise 14: Searching mechanisms, Virtual worlds and Cyberagents

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

A spider is a web based program which harvests information for search engines and other allied sites (Ince, 2004).
Spiders are typically programmed to visit sites that have been submitted by their owners as new or updated. Entire sites or specific pages can be selectively visited and indexed.Spiders visit Web sites, record the information there, read the meta tags that identify a site according to subjects, and follow the site's links to other pages. Because of the many links between pages, a spider can start at almost any point on the Web and keep moving. Eventually it returns the data gathered on its journey to the search engine's central depository of information, where it is organised and stored. Periodically the spider will revisit the sites to check for changed information, but until it does so, the material in the search engine's index remains the same. It is for this reason that a search at any time may yield "dead" Web pages, or ones that can no longer be found. Spiders are called spiders because they usually visit many sites in parallel at the same time, their "legs" spanning a large area of the "web.

2. Differentiate the various types of software agents.

There are a numnber of different types of software agents that have been developed. Ince (2004) identifies and defines a number of these:
  • Chatterbots. A chatterbot is an agent which converses with the user in some restricted form of natural language. For example a bot of this type may retrieve a web site in response to a natural language question.
  • Commerce Agents. These carry out large scale, e-commerce functions as distinct from the more specialised agents such as electronic shopping agents. A typical example of a commerce agent is one which mediates between two companies who have a business relationship, this would perform processes such as reconciling invoices, notifying product arrival etc.
  • Data Management Agents. These are agents which carry out tasks associated with corpora of data. For example, processing the text on a web site and providing a summary of that text with keywords and keyphrases.
  • Government Agents. These are agents which carry out some activity related to the government such as searching for government regulations or extracting government statistics. Most of these agents are American.
  • News Agents. A news agent is concerned with tasks that are associated with Web Based news services. Some functions that these agents may perform are:
    • Displaying breaking news on your desktop as it is notified to the web site which contains the news.
    • Scan news sites for articles of interest to the user.
    • Send an email when a news story on a particular interest is published.
    • Develop a personalized newspaper which contains only stories of interest to the user.
  • Newsgroup Agents. These are agents which carry out some tasks with Internet newsgroups. Some typical tasks are:
    • Filtering posts to match keywords
    • Scanning and prioritizing postings
    • Notifying users of posted URL's
    • Searching newsgroups for pictures and displaying them
  • Shopping Agents.These are used to carry out tasks associated with the accessing of retail sites. Examples include:
    • Finding the cheapest prices for a product.
    • Scan bid prices and auction times.
  • Software Agents. These are agents which carry out tasks associated with software eg. notifying when updates are available, downloading updates, installing components etc.
  • Stock Agents. These agents are associated with the purchasing and selling of stocks and shares.
  • Update Agents. Which notifies a user when a change has occurred which is of significance to the user. Exmaples of these are:

    • Alerting user when news has been posted on a website about a company.
    • Alerting a user when a book published by a particular becomes available.
    • Reporting when a particular web page has changed.
    • Announce when a particular job becomes available on a job board.
  • Web Developer Agents. Which are used by webmasters to carry out their job. The most popular agent of this type is one to check links on a website to identify if they are active or dead. Other examples of functions which these agents may perform are:

    • Track statistics like page hits, searches etc.
    • Caching pages
    • Identifying if users are trying to illegally access a restricted page/site etc
3. Identify various activities in e-commerce where software agents are currently in use.

As stated in Fasli (2007) software agents are computational systems that are capable of autonomous, reactive and proactive behaviour, and are also able to interact with each other. Whilst agents and "bots" have been employed to undertake malicious behaviour, the application of software agents in e-Commerce is one of the fastest-growing and most exciting areas of computer science. This emerging technology is enabling individuals and businesses to take advantage of the new and powerful medium of the World Wide Web. Some of the various activities in e-commerce where software agents are currently in use are as follows:

  • Using shopping agents to trawl sites for the cheapest price of a particular product.
  • Emailing a user when products/jobs etc become available.
  • Notifying users when new products are released.
  • Create custom news/product/topic listings based on personal preferences.

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.

Currently waiting for login and password from the lecturer in order to complete this part of the exercise.Watch this space.

Update: Have now recieved login from Lecturer and have spent five minutes chatting with Rocky. Update below.

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

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

In the absence oif a login to LC_MOO, I decided to have a look around in the internet and find the original ELIZA bot (http://nlp-addiction.com/eliza/) and have a 5 minute conversation with Eliza ELIZA is a natural language conversation program described by Joseph Weizenbaum in January 1966. It features the dialog between a human user and a computer program representing a mock Rogerian psychotherapist.As such, her responses are designed to keep you talking and get to the root of your deep seated pyshcological problems (apparently). Obviously Eliza is a little dated now, as a lot of her responses where repetitive, but even so, it was interesting to experiment with different responses. Following playing around with this, I am keen to get in and have a discussion with Rocky, given he is a little more modern.

After gaining access to LC_MOO I typed "Act Rocky" to start Rocky, and proceeded to have a discussion with Rocky. I have to admit, conversation with Rocky wasn't overly stimulating. I have attached a screen capture below which shows part of my conversation with Rocky. As can be seen from this, whenever Rocky was confronted with a question he didn't undertand he would either outright state that he did not understand the question, or he would turn the question back on me and ask me something along the lines of "Why Do you want to know that". At one point he asked me if I could program in Python, but beyond that the discussion didn't go anywhere. I asked him his name, and he didn't understand the question. I asked him the date and he didn't understand the question. From my brief discussion with Rocky, it would appear that he is still at a very rudimentary level, able to idnetify basic questions and offer a basic response if he understands the question, or explaining that he doesn't understand the question if this is the case. After playing with ELIZA, as per the previous paragraph, I have to admit, I was expecting a higher level of complexity with Rocky.


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.

I took a look around the web and found a useful application called UMLet (http://www.umlet.com/) that is very useful for drawing class diagrams. There quite a few others out there from what I saw, but I just picked UMLet as it is the first one I came across. This means that you don't have to wrestle with the drawing feature in MS Word or Vision to make your class diagram. Using this neat little application I was able to knock together a class diagram in about ten minutes. Anyways, my class diagram for a shoppingCart object is below.



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 .

There appeears to be a typo in this question as the online bookstore model is actually represented at Figure 10 in the study guide. In any case the figure referenced in this question is presented below.



The MVC architecture is a widely used architectural approach for interactive applications that distributes functionality among application objects so as to minimise the degree of coupling between the objects. This architecture has been discussed extensively in previous blogs, but as a refresher, the MVC architecture divides applications into three layers: model, view, and controller. Each layer handles specific tasks and has responsibilities to the other layer. These are as follows:
  • The model represents business data, along with business logic or operations that govern access and modification of this business data. The model notifies views when it changes and lets the view query the model about its state. It also lets the controller access application functionality encapsulated by the model. In the online bookstore application, the shopping cart and database access object contain the business logic for the application.
  • The view renders the contents of a model. It gets data from the model and specifies how that data should be presented. It updates data presentation when the model changes. A view also forwards user input to a controller. The online bookstore pages format the data stored in the session-scoped shopping cart and the page-scoped database (for lookup books) which represent the view
  • The controller defines application behaviour. It dispatches user requests and selects views for presentation. It interprets user inputs and maps them into actions to be performed by the model. In a web application, user inputs are HTTP get and post requests. A controller selects the next view to display based on the user interactions and the outcome of the model operations. In the onlne bookstore application a series of servlets represent the controller. These examines the request URL, creates and initialises a session whether this be the shopping cart or lookup books.