Ex-26

June 7, 2009

1. Choose ONE of the four ways to manage and develop integrated system as listed below in the study guide.

I choose business process analysis.

Enterprise Resource Planning (ERP)

Enterprise Resource Planning (ERP) is a way to integrate the data and processes of an organization into one single system. Usually ERP systems will have many components including hardware and software, in order to achieve integration, most ERP systems use a unified database to store data for various functions found throughout the organization.

Customer Relationship Management (CRM)

Customer Relationship Management (CRM) is an information industry term for methodologies, software, and usually Internet capabilities that help an enterprise manage customer relationships in an organized way. Many organizations turn to CRM software to help them manage their customer relationships. CRM technology is offered on-premise, on-demand or through Software as a Service (SaaS) CRM, depending on the vendor. Recently, mobile CRM and the open source CRM software model have also become more popular(Eric Williams (2008).

Workflow management

Workflow management is a system of overseeing the process of passing information, documents, and tasks from one employee or machine within a business to another. Through proper workflow management, each of these employees or machines will pass the work on according to a predetermined procedure. As technology advances, much workflow management has become automated and takes advantage of special software to make the process much smoother.

Workflow management is an important component of a business for a variety of reasons. The primary advantage to workflow management is improved efficiency within the business. By automating many of the processes within a business and establishing a procedure that is consistently followed, unnecessary steps are eliminated, and every member of the team is fully aware of his or her responsibilities.

Workflow management also makes it easier to track employee and machine performance. When a link in the chain is broken, it is simple to go back and determine where this occurred. In addition, workflow management serves to standardize working methods, ensuring that every employee working on the same level is performing the same function.

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

I have worked with many companies who has implemented and using ERP systems in their companies to run their business. One of the main company I would like to mention here is Kalani cables Pvt Ltd. Working as a networking administrator for this company have brought a good understanding that how an ERP system improves efficiency and change working culture of an organization.

ERP system in this company is particularly used to manage its island wide sales and payments. All the remote sales agent has access to this via a mobile connecting devices and when ever a sale is made it cab be updated to the main server at the head office. Once it’s updated the transaction will be automatically forwarded to the accounts department and the balances will update automatically. Each department functions are included in the system and each point is linking to another point, form the whole supply chain. Base on the transactions of SCM, it can calculate and generate various reports for management decision.

HR system is also integrated with the system and functions are running separately. HR system can manage employees working status, such as annual leaves, attendance records, and other data.

ERP system integrates most systems of an organization. In the unified database and data warehouse database, which contains all data, we may track the transactions one by one when any problem happens.

Reference

Tech-FAQ. n.d.. What is ERP? Retrieved on May 29, 2009 from
http://www.tech-faq.com/erp.shtml

Eric Williams. 2008. CRM. Retrieved on May 29, 2009 from http://searchcrm.techtarget.com/sDefinition/0,,sid11_gci213567,00.html

Workflow Management (n.d.), Retrived on May 29, 2009 from http://www.wisegeek.com/what-is-workflow-management.htm

Ex-25

June 7, 2009

1. What is meant by a location based service?

Location based services (LBS) are services making use of the position of an information devices such as a mobile phone or smartphone. The following is an exammple of LBS.

Global Positioning System (GPS) using the signals received by satellites.

2. Visit an airline website and search for information on WAP or SMS access to booking airline, and do the same for a banking website. How do both industries compare ?

I visited www.airasia.com one of the famous airline reservation website and www.combank.lk a well reputed bank in sri lanka for its customer service and found that the both industries have enabled support via SMS.

I could find a difference in the banking site where the user is asked to pre resister for the use of SMS banking facility , where the airline industry wont require pre registration but required the ticket booking number to track the records.

Both site services having a pre standard codes need to be entered with the type of service to derive the relevant information.

Refferece ;

MobileIN.com (n.d.) Location-based services.  Retrieved April 29, 2008 from http://www.mobilein.com/location_based_services.htm.

www.airasia.com, www.combank.lk

Ex-24

June 7, 2009

1. Differentiate the various types of software agents.

Intelligent software agents
The design of intelligent software agents is a branch of artificial intelligence research. Capabilities of intelligent agents include ability to adapt the environment and reconfiguring in response. This can be achieved through the choice of alternative problem-solving-rules or algorithms, or through the discovery of problem solving strategies. Adaptation may also include other aspects of an agent’s internal construction, such as recruiting processor or storage resources.
It also has the ability to learn through trial-and-error, it implies a capability of introspection and analysis of behavior and success.

Distributed agents
Since agents are well suited to include their required resources in their description, they can be designed to be very loosely coupled and it becomes easy to have them executed as independent threads and on distributed processors. Thus they become distributed agents and the considerations of distributed computing apply. Agent code is particularly easy to implement in a distributed fashion and should scale well.

Mobile agents
With mobile agent, the agent code moves by itself, including its execution state, on to another machine, to continue execution there. Agents can be used to gather system information, taking back-up of files by copying them in client-server paradigm, monitoring network throughput or to check resources availability and moderating the resource utilization of system by checking the services running on system.

Multi-agent systems
Several agents may form a multi-agent system. A multiple-agent system will not have all data or all methods available to achieve an objective and thus will have to collaborate with other agents. Also, there may be little or no global control and thus such systems are sometimes referred to as swarm systems. As with distributed agents, data is decentralized and execution is asynchronous.

Software agents
Agents, which carry out tasks relating to new updates for existing system, downloading and installing the updates when received.

Fuzzy agents
In computer science a fuzzy agent is a software agent that implements fuzzy logic. This software entity interacts with its environment through an adaptive rule-base and can therefore be considered as a type of intelligent agent

Stock agents
Software agents which carry out tasks relating to stock transactions including notifying you when the stock price reaching a preset price by e-mail or sms, providing updated technical analysis based on the latest market situations or maintaining the stock portfolio and giving warning signals when the portfolio is under performed.

References:
Jeffrey M. Bradshaw , An Introduction to Software Agents retrieving on May 29, 2009 from
http://agents.umbc.edu/introduction/01-Bradshaw.pdf

Software agent, retrived may 29, 2009 from http://en.wikipedia.org/wiki/Software_agent

2.  Describe how techniques such as artificial intelligence and statistical techniques are used in software agent.

The intelligent agent can be programmed for the users’ aim, targets and preference with artificial intelligence.  For example, a intelligent agent can be programmed with artificial intelligence to assist the users to search a specific type, model and color of car in the Internet including the negotiation on the price and closing the deal as well.  Alternatively, the intelligent agent can just source the cars available in the Internet meeting the users’ requirement leaving the user to make the final decision.

Mobile agents are programmed with statistical techniques to enable them to monitor the network situation and utilization of system resources.

3. Identify various activities in e-commerce where software agents are currently in use.
Commerce agents: Software agents which mediates between two companies having a business relationship.

Data management agents:Software agents carrying out tasks with corpora of data such as processing text from websites and producing summary with associated keywords.

Government agents: Software agents carrying out activities associated with government such as search government regulations, policies and statistics etc..

News agents: Software agents concerning tasks associated with web-based news services.

Shopping agent: it automatically updates the request information regarding products which customer is interested from e-commerce site.

Refference;

Wikimedia. (2009). Software agent. Retrieved May 29, 2009 from

http://en.wikipedia.org/wiki/Software_agent.


Ex-23

June 7, 2009

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

Spider is a program that automatically fetches web pages. It is also named as Web Crawler. It is used to feed pages to search engines. It’s called a spider because it crawls over the Web. Because most web pages 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 Google,yahoo have many spiders working in parallel.

Reference:Spider. Retrieving on 16 May 2009 from http://www.webopedia.com/TERM/s/spider.html

2. What is a meta-search engine? Provide some examples.

Meta-search engine is a search engine, which would pass the search requests to various popular search engines such as Google, Yahoo and  etc , simultaneously for processing. Results from each search engines would be consolidated and presented to the client grouped by their search criteria.

Eg :

Dogpie www.dogpile.com, Mama www.mamma.com and Limewire www.limewire.com

3.  How can you get your site listed at major search sites; and how could you improve your site ranking?

  • Add the website to famous search engines by paying the annual subscribtions.
  • Add some key words to the main page.

To improve site in the rankings site should use meaningful headings to their web pages.

minimizing broken links , and increasing quality of sublinks in the webpages would improve site performance and may increase the rankings of the site.

Reference;

Berkeley, UC. (2008). Meta-search engines. Retrieved May 29, 2009 from http://www.lib.berkeley.edu/TeachingLib/Guides/Internet/MetaSearch.html.

Heng, C. (n.d.) How to improve your search engine ranking on Google. Retrieved May 29, 2009 from http://www.thesitewizard.com/archive/google.shtml.

Ex-22

June 7, 2009

1. Differentiate between software systems such as Customer Relationship Management (CRM) software, Business-to-Business e-commerce program and Supply-Chain Management software (SCM). are performing different functionalities in company-wide environment.

Customer Relationship Management software

CRM software is a software system designed to analyze the customers’ preference, spending pattern, needs, market trends based on the customer data collected. Based on these analysis, the company would understand the customers’ need better, the present market situation and the future market trends which enable the company to formulate their company’s short-term and long-term strategies and operation modes to suit the current market situation and to meet the market trends to the best interest of the companies.  With CRM, the parties involved are the customers and the company itself.

Business to Business e-commerce program

Business-to-Business e-commerce program is software which automates processes or commerce transactions between businesses by using electronic. With B2B, the companies involved require negotiation and integration to enable communication between the companies for the business transaction. B2B program builds and improves the relationship between companies and business partners.

Supply chain management software

SCM is a application system to help company to improve various company business operations including plan and managing the company resources, sourcing the suppliers for supplying the raw material, scheduling manufacturing activities, formulating the delivery operation and strategies, providing customer supports including collection of defective goods from customers.  Basically SCM is a application system mainly to improve the internal operations of the company with a view to reduce product costs, operation costs, production costs and improving customer services.

Reference;

Customer relationship management. Retrieved on May 29, 2009 from
http://en.wikipedia.org/wiki/Customer_relationship_management.

Darwin Publications. (n.d.) Business to business – Overview.  Retrieved May 29, 2009 from http://www.netessence.com.cy/downloads/b2b.pdf.

Worthen, B. (2007). ABC: An introduction to supply chain management. Retrieved may 29, 2009 from http://www.cio.com/article/print/40940.

Ex-21

June 7, 2009

1. Class diagram of Shopping Cart
shoping_cart

Refference ;

Shoping Cart Diagram, Retrived May 29,2009 from

http://www.databaseanswers.org/data_models/uml_class_diagram_for_shopping_cart/index.htm

Ex-20

May 27, 2009

1. Use case , class  , sequence ,collaboration, state chart , activity, compnent , deployment diagrams are used in UML. Describe each of eight diagrams used in UML .


Use Case diagram -Contains actors, user cases and association for capturing the functional requirements and depict behaviors of the system from an external point of views.

* Actor:- A person, organization or external system, which play a role to in the system.
* Use case: A sequence of action of measurable values to an actor.
* Association: Connecting an actor to a use case. Represent the actor involved in interaction with the use case in the system.

Class diagram -illustrate the classes and attributes of the system, the interface and inter-relationships. The class, attributes and interface would be quite straightforward.  However the relationship could be quite complicated due to multiplicity, generalization and associations.

Sequence diagram – Consists of objects and invocation messages.  Sequence diagram indicates the order of invocations in the system and the creation of different objects.

Collaboration diagram – Consists of objects and messages focusing on the communications between objects and is quite similar to sequence diagram.

State chart diagram – Consists of state, transition, events and actions and showing various state of the entity and the change of states in response to different events. State diagram is not usually required except for complicated logic.

Activity diagram – Consists of activities and decisions showing the major flowcharts and data flow diagrams to illustrate the flow of codes.

Component diagram – Consists of major system components such as classifiers and artifacts and their inter-relation.  It is a high level overview of the system.

Deployment diagram – Consists of deployment elements mainly hardware such as servers and their relationship and logic connections/configuration.  Deployment diagram can be considered as a logical topography of the system.

Reference;

Castillo, C. & Richards, K. (2007) Why model with UML?. Retrieved May 29, 2009 from http://www.netbeans.org/kb/55/uml-why-model.html.

Woo, J (n.d.). UML diagrams . Retrieved May 29, 2009 from http://www.cs.umbc.edu/courses/undergraduate/CMSC445/Fall06/UML%20Diagrams.ppt#273,28,Communication%20diagram

Ex-19

May 27, 2009

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

ACID properties of a transaction represents atomicity, consistency, isolation and durability of the transaction.

Atomicity:

Atomicity refers to the ability of the DBMS to guarantee that either all of the tasks of a transaction are performed or none of them are. For example, the transfer of funds from one account to another can be completed or it can fail for a multitude of reasons, but atomicity guarantees that one account won’t be debited if the other is not credited.

Consistency:

The Consistency property ensures that the database remains in a consistent state before the start of the transaction and after the transaction is over. Consistency states that only valid data will be written to the database. If, for some reason, a transaction is executed that violates the database’s consistency rules, the entire transaction will be rolled back and the database will be restored to a state consistent with those rules.

Isolation:

Isolation refers to the requirement that other operations cannot access or see the data in an intermediate state during a transaction. This constraint is required to maintain the performance as well as the consistency between transactions in a Database management system.

Durability:

Durability refers to the guarantee that once the user has been notified of success, the transaction will persist, and not be undone. This means it will survive system failure, and that the database system has checked the integrity constraints and won’t need to abort the transaction.

Reference :

What is ACID, Retrieved May 27 , 299 from

http://en.wikipedia.org/wiki/ACID

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

Transaction processing monitor, a program that monitors a transaction as it passes from one stage in a process to another. The TP monitor’s purpose is to ensure that the transaction processes completely or, if an error occurs, to take appropriate actions.

TP monitors are especially important in three-tier architectures that employ load balancing because a transaction may be forwarded to any of several servers. In fact, many TP monitors handle all the load balancing operations, forwarding transactions to different servers based on their availability.

The types of jobs performed through the TP monitor are: process management, transaction management, and client/server communication management. TP monitor can stop an operation system being overwhelmed by maintaining a pool of processes and queues transactions so that the clients can take turn to use the pool.

Reference :

TP Monitor, Retrieved May 27 , 299 from

http://www.webopedia.com/TERM/T/TP_monitor.html

3. What is difference in load balancing with traditional and transactional MOM, RPC and conversations?

RPC- Remote Procedure Call is a synchronous communication where the calling application must stop processing or is blocked from proceeding until receiving the response from the remote procedure. RPC is simple but performance is a great concern. In particular, RPC requires lot of processing power and the numerous exchanges between the client and server cause high memory usage and network traffic.

MOM – Message Orientated Middle ware support asynchronous communication in 2 models, the point to point messaging and message queue models. The advantage of message queue is that the remote program does not require being active while message is sent by the calling program. Both the calling and remote program can process at the own pace without disruption by the middle ware.

However, Transaction Process Monitoring has greater performance advantage in load balancing over both RPC and MOM. TP monitoring would implement the following in load balancing:

i. Use queued input buffer to protect against peak in the workload.
ii. Priority scheduling to prioritize messages.

Reference;

Linthicum, D.S. (1998). Middleware performance. Retrieved May 27, 2009 from http://www.dbmsmag.com/9808d07.html.

4. Why is a two-phase commit protocol better than a one-phase atomic commit protocol?

With one-phase atomic commit protocol, a server could make a decision unilaterally to abort transaction. As a result, the consistency of the transaction would be affected.

Two-phase commit protocol (2PC, sometimes referred as TPC [1] ) is a distributed algorithm that lets all nodes in a distributed system agree to commit a transaction. The protocol results in either all nodes committing the transaction or aborting, even in the case of network failures or node failures. However, the protocol will not handle more than one random site failure at a time so this is better than the previous.

Reference;

http://wapedia.mobi/en/Two-phase-commit_protocol

Ex-18

May 27, 2009

1. A simple demonstration of the threading module in Python 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.

The program starts several threads at once and and only allow certain threads to be run simultaneously and the program will end once all the threads are finished running.

*** The program initiates 10 threads one by one by calling start tasks().
*** Loop and wait till all threads are done.
***”run(self)” shows each thread locks and unlocks the resources.
o Allow each threads a random delay time.
o Request a new quota for current thread. If concurrent threads exceeds limit then exit this block.
o Locks the control viable “running” exclusively, not allow to be updated by others.
o Unlocks the control viable “running”, allows the other thread to run.
o Assumes the current thread is finished after certain delay time.
o Decreases number of running threads.
o Unlocks the control viable “running”, allows the others to update it.
o Release the quota of concurrent limit.

Once run this program , the values of the output processing times will be different depend on the  processing speeds of computer that the program is used.

The meaning of the functions are derived from python refferece library on 299, 2009 from http://www.python.org/doc/2.5.2/lib/module-threading.html

Ex-17

May 26, 2009

1. Thread Synchronization

The ability to synchronize the activities of various threads. A thread synchronizes itself with another thread by putting itself to sleep. Before doing so, the thread notifies the operating system as to what event has to occur in order for the thread to resume execution.

2. Locks:
It is used to prevent conflict by ensuring that only one thread can access the resource at a time. It might be read or write lock.

Once the lock has been assigned to a particular thread, only the thread processing the lock could process it.  The lock would then be released when they are no longer required.

3. Deadlock:

It describes a situation where two or more threads are blocked forever, waiting for each others response. When Deadlock runs, it’s extremely likely that both threads will block when they attempt to invoke back. The  block will not end, because each thread is waiting for the other to exit.

4.  Semaphores;

A semaphore is similar to a lock for an object or method. When a thread enters into a semaphores protected section, the thread must acquire the semaphore in order to process through the section.  After the thread is through the section, the semaphores would be released for any thread.  Difference between semaphore and lock are that lock is mutually exclusive where semaphores exists more than one to a maximum number defined by the application.

5. Mutex (mutual exclusion)

A mutex is  a common name for a program object that negotiates mutual exclusion among threads, also called a lock.

This is  used in concurrent programming to avoid the simultaneous use of a common resource, such as a global variable, by pieces of computer code called critical sections.

6. Thread

A thread is an execution of a chunk of code which can be processed in parallel with the execution of other chunk codes.  Computer with multi-process can process different thread in parallel at the same time.Every thread has a priority. Threads with higher priority are executed in preference to threads with lower priority.

7. Event

Event can be considered as action, changes or transactions in concurrent programming.The associated script is written to response to such action or user response as event handling scripts.

8.          Waitable timer.

A waitable timer is a synchronized object, which would signal its state when the specified period is expired.  There are 3 types of waitable timer in concurrent programming as follows:-

  • manual-reset timer
  • synchronization timer
  • periodic timer

Reference ;

Venners, B. (1997). How the Java virtual machine performs thread synchronization. Javaworld.com. Retrieved may29th, 2009 from

http://www.javaworld.com/javaworld/jw-07-1997/jw-07-hood.html

Winquist, N. (2005). Mutex vs. semaphore, what is the difference? Retrieved may 29th, 2009 from http://koti.mbnet.fi/niclasw/MutexSemaphore.html.

http://en.wikipedia.org/wiki/Mutual_exclusion





Follow

Get every new post delivered to your Inbox.