Important Announcement
PubHTML5 Scheduled Server Maintenance on (GMT) Sunday, June 26th, 2:00 am - 8:00 am.
PubHTML5 site will be inoperative during the times indicated!

Home Explore CU-MCA-SEM-IV-Web Application Development-Second Draft

CU-MCA-SEM-IV-Web Application Development-Second Draft

Published by Teamlease Edtech Ltd (Amita Chitroda), 2022-11-11 08:15:56

Description: CU-MCA-SEM-IV-Web Application Development-Second Draft

Search

Read the Text Version

___________________________________________________________________________ ___________________________________________________________________________ 10.13 UNIT END QUESTIONS A. Descriptive Questions Short Questions 1. What is Understanding Tier? 2. What is XML? 3. Describe the term Read. 4. Define the term Write. 5. Write the meaning of XML Nodes? Long Questions 1. Explain the scope of Understanding Tier and Layer? 2. Elaborate the Important Classes in The System. 3. Discuss on the concept of Application into Multiple Layers. 4. Examine the XML Nodes and Attributes. 5. Illustrate the Application into Multiple Layers. B. Multiple Choice Questions 1. Select the right option for the statement; the controls available in the tool box are used to create the user interface of a web-based application. a. Microsoft visual studio IDE b. Application window c. Web forms d. None of these 2. Which is called the infrastructure that supports these dynamic operations at run time? a. CLR b. CTS c. CLS d. DLR 201 CU IDOL SELF LEARNING MATERIAL (SLM)

3. Which keyword is new to C# 4.0, and is used to tell the compiler that a variable's type can change or that it is not known until runtime? a. Covariance b. Dynamic c. Contra variance d. Object 4. Which methods are not supported for dynamic types? a. Anonymous b. Static c. Abstract d. Extension 5. myMobile.Accept(55, inReject: false); statement is an example of which new concept of C# 4.0? a. Named Parameters b. Optional Parameters c. Dynamic d. Variance Answers 1-d, 2-b, 3-b, 4-b, 5-a 10.14 REFERENCES Book References  Schreuders TA, Roebroeck ME, Goumans J, van Nieuwenhuijzen JF, Stijnen TH, Stam HJ. 2003.  Flansbjer UB, Holmback AM, Downham D, Patten C, Lexell J. 2005.Reliability of gait performance tests in men and women with hemiparesis after stroke. J Rehabil Med 2005.  Jette AM, Tao W, Norweg A, Haley S. Interpreting rehabilitation outcome measurements. J Rehabil Med 2007.  Haley SM, Fragala-Pinkham MA. 2006. Interpreting change scores of tests and measures used in physical therapy. Phys Ther 2006. 202 CU IDOL SELF LEARNING MATERIAL (SLM)

 Shaughnessy M, Michael KM, Sorkin JD, Macko RF. 2006.Steps after stroke: capturing ambulatory recovery. Stroke 2005.  Berfeld, Marya (2 December 2008). \"UML-to-Java transformation in IBM Rational Software Architect editions and related software\". IBM. Retrieved 20 December 2013. E-References  https://en.wikipedia.org/wiki/Multitier_architecture  https://www.researchgate.net/publication/221679095_Architectural_Design_of_Mode rn_Web_Applications/link/5c8fdf3292851c1df94a5233/download 203 CU IDOL SELF LEARNING MATERIAL (SLM)

UNIT 11:WINDOW SERVICES 1 STRUCTURE 11.0 Learning Objectives 11.1 Introduction 11.2 Introduction to Windows Service 11.3 Windows Service Project Template 11.4 Developing Windows Services 11.5 Summary 11.6 Keywords 11.7 Learning Activity 11.8 Unit End Questions 11.9 References 11.0 LEARNING OBJECTIVES After studying this unit, you will be able to:  Describe the scope of Windows Service.  Illustrate the Windows Service Project Template.  Explain the Developing Windows Services. 11.1 INTRODUCTION All computers and computer like devices have operating systems, including your laptop, tablet, desktop, Smartphone, smart watch, router etc. Windows is operating system from Microsoft Inc. It is a system program that controls, coordinates, and manipulates overall desktop publishing operations. It serves as an interface between the hardware and other software on the computer system. It allocates memory locations to data and other computer programs. It controls other computer resources like files and programs, input/output devices, computer memories etc during data processing operations. It also performs the hardware and software diagnosis to detect faults and errors. Microsoft Wireless Keyboard is a battery-powered computer keyboard. Whether it’s through a cable or wireless, the signal from the keyboard is monitored by the computer’s keyboard controller. This is an integrated circuit (IC) that processes all the data that comes from the keyboard and forwards it to the operating system. When the operating system is notified that 204 CU IDOL SELF LEARNING MATERIAL (SLM)

there is data from the keyboard it checks to see if the keyboard data is a system level, command (i.e., command that controls the computer system itself, a good example of this is Ctrl-Alt-Delete on a Windows computer, which reboots the system). If it is not a system level command, then, the OS passes the keyboard data on to the current application. The application also determines whether the keyboard data is a command like Alt-F, which opens the file menu in a windows application. If the data is not a command, the application accepts it as content, which can be anything from typing a document to entering a URL to performing a calculation. If the current application does not accept keyboard data, it simply ignores the information. This whole process, from pressing the key to entering content into application, happens almost instantaneously. As with many computer-related devices, mouse is being combined with other gadgets and technologies to create improved and multipurpose devices. Examples include multi- media mouse, combination mouse/remote controls, optical mouse, gaming mouse, biometric mouse, tilting wheel mouse and motion-based mouse. To learn more about innovations in mouse technology, let’s start with multi-media mouse and combination mouse/remote controls. Biometric Mouse adds security to your computer system by permitting-authorized users to control the mouse and access the computer. Pro’ accomplished with an integrated fingerprint reader either in the receiver or the mouse. This feature enhances security and adds convenience because-can use your fingerprint rather than passwords for a secure login. The Wireless Intellimouse Explorer with Fingerprint Reader is a Biome to use the biometric features, a software program that comes with registers fingerprints and stores information about corresponding users. Some software programs also let you encrypt and decrypt files. We can’t mention the term “web services” nowadays without immediately evoking references to Amazon Web Services or Google’s Web service, Google Cloud Platform. There’s a reason for that, though. These tech giants have raised the bar by addressing the need for application development. And scale from the likes of Amazon and Google is exactly what makes modern web services possible. However, despite all its technological advancements, web service testing and processes are still complex animals. Since they depend on operating systems to manage applications, the smallest of variances can result in multifaceted workflows when trying to move data between servers and the cloud. But with APIs, web developers can integrate advanced functions and features into apps, allowing for much better customization and flexibility. And the result is a better experience for users and customers. They reap the benefits of well-built web APIs, increasing efficiency and practicality of services and apps. At the end of the day, the goal is to offer an enjoyable experience. There is more than one way to answer, “What is a web service?” But essentially, web services include any software, application, or cloud technology that provides standardized web protocols (HTTP or HTTPS) to interoperate, communicate, and exchange data messaging – usually XML throughout the internet. In other words, web services are XML-centered data exchange systems that use the internet for A2A communication and 205 CU IDOL SELF LEARNING MATERIAL (SLM)

interfacing. These processes involve programs, messages, documents, and/or objects. A key feature of web services is that applications can be written in various languages and are still able to communicate by exchanging data with one another via a web service between clients and servers. A client summons a web service by sending a request via XML, and the service then responses with an XML response. Web services are also often associated with SOA (Services Oriented Architecture). 11.3 WINDOWS SERVICE PROJECT TEMPLATE As written earlier, you could write a Windows (NT) service in Visual Basic 6, but it is prone to problems. Now, with C# and VB.Net it is simple to create a Windows service without those in-built limitations. That's right. No more need for a form (to host the required OCX). No more threading problems. The only surprise is that when you create a Windows service in .Net, the project is missing something very crucial - the InstallerClass. The InstallerClass is a short, simple class that will prevent your service from working if it is missing. This article will show you what you need to do to make sure everything works properly. First, let's get the basics of the service setup. When you create a new Windows service project, that project will include a class called Service1.cs. Fill in the startup logic (open database connections, etc.) in the OnStart routine. Put your shutdown logic (close database connections, etc.) in the OnStop routine. If your service should do something at a regular interval (for example, check to see if there are any new records in a certain table), then you might want to add a timer to the service class (just drag and drop it from the toolbox in design view). Then, in the timer1_Elapsed event, add the logic that your service is being built to perform. Figure 11.1: Windows Service Project 206 CU IDOL SELF LEARNING MATERIAL (SLM)

You might be wondering why Microsoft doesn't automatically add this class when you create a Windows service project. I wonder it as well. However, if you don't add this class your service will simply not work. So, better to keep this code handy, you'll need it every time you create a new service, Dependencies If your service is dependent on other services, you need to make sure this dependency information is set properly in the registry. Warning: improperly setting service dependency information in the registry could make a computer unbootable due to issues like circular dependencies - Service A cannot start before Service B and Service B cannot start before Service A - resulting in neither service ever starting. Be very careful here. Using RegEdt32, go to HKEY_LOCAL_MACHINE\\System\\CurrentControlSet\\Services\\ [YOUR SERVICE] and create a new value with a name of DependOnService and a data type of REG_MULTI_SZ. Set the data to the name of the key to the service your Windows service depends on. For example, if your Windows service depends on MSMQ the enter MSMQ since MSMQ is the name of the key in this services branch. If your Windows service depends on multiple services, add each service on its own line. If you are creating distribution media for your Windows service, you can include a .reg file which includes this information (easing deployment efforts). 11.4 DEVELOPING WINDOWS SERVICES We focus on examining and working with an important category of computer software called Services, which are provided as a part of newer Microsoft Windows operating systems. A typical Windows user transparently utilizes many of these services but is frequently unaware of their existence. Since some services have the potential to create significant problems when they are executing, it is important for a system administrator to identify which services are running on the network, the types of processing done by each service, and any interrelationships among the various services. This information can then be used to improve the overall integrity of both the individual computer where a questionable service is running and in aggregate an entire network of computers. NCSA has developed an application called SMART that can be used to identify and display all services currently running in the network. A commercial program called Hyena remotely monitors the services on all computers attached to the network and exports this information to SMART. SMART produces various outputs that the system administrator can analyze and then determine appropriate actions to take. SMART provides a colour coordinated user interface to quickly identify and classify both potentially hazardous services and unknown services. Applications, processes, programs, tasks, threads, and services are included among the terms commonly used to identify various types of software running on a computer system. The six terms identify at least four different categories of objects – services are a distinct type from the other five terms. However, since every executing service is associated with a process, these two terms are related. Furthermore, processes have a relationship with tasks and threads. Consequently, relationships exist between services and processes, tasks, threads, etc. 207 CU IDOL SELF LEARNING MATERIAL (SLM)

Section 2 gives an overview of the role of services provided by current Windows operating systems. Section 3 describes various utility programs that can be used to examine and modify the services running on a computer. The utilities include msconfig, services.msc, task list, net and sc. Examples of the actual output produced by each of the utilities is shown along with output from Windows Task Manager. Section 4 describes a commercial program called Hyena that can be used to retrieve information about the services running on all the computers in a network. Hyena serves as the interface between the networked computers and the SMART program. Section 5 describes and illustrates the SMART application, showing various outputs produced. A combination of colour and size is used to help quantify the results. Section 6 concludes and identifies future enhancements to SMART that are primarily concerned with further improving the quality of the output displayed. Services are programs that are loaded and begin running when the computer is initially booted, even if nobody logs onto the computer. This is different from allowing a user to start a program by clicking its icon on the desktop or launching it from the Startup Folder under All Programs. It is also different from identifying programs that are to start automatically after a user logs on. For example, suppose a server must be started and available for clients to contact it. A service could be used to do this, although clearly there are also other ways it can be accomplished without using services. A Windows service is comparable to a UNIX daemon program, in that both run in the background and process requests from the network and from other programs. Services are not processes, although the two share some important interrelationships that are later examined in Section 3.3. Services are often very loosely defined as programs that run in the background. However, not all programs running in the background are services. For example, anti-virus programs are not services. Rather, a program must be explicitly categorized as a service. A wide range of services are automatically included by Microsoft as part of Windows operating systems, such as Windows 2000 and Windows XP. contains a detailed listing of the Microsoft services which includes a basic description and security recommendations for each one. An even more detailed listing is available on-line at. If services were not available, a noticeable amount of the standard work done on a computer would not be possible. Services are also provided by non-Microsoft vendors. The examples in Section 3 were run on a computer where Tivoli and McAfee services were running as can be confirmed by the listing in Figure 1. In addition, users can create their own services. Suppose a user wants a simple program that monitors changes to a file. If the program is made a service, it will begin executing prior to the first file change. Initially user services were written in C++ to guarantee a secure and robust application that scales well. With the advent of .NET, Visual Basic or even VBScript can now be used to create Windows Services that formerly required a combination of C++ and MFC programming expertise. [Patterson]. An example is given in that illustrates how the use of services can positively impact the quality of user application programming. Thews describe the integration of services into .NET applications. Very basic application services including database connection pooling, event logging, auditing, etc. can be developed and deployed as 208 CU IDOL SELF LEARNING MATERIAL (SLM)

a Windows Service that can then be utilized by any .NET applications without repeating the same code. This results in smaller programs. Hence, common functionality can be supplied to any application that needs a specific function performed. This works especially well for those services that are requested by applications such as the three basic services mentioned above. 11.5 SUMMARY  Each service has a Start-up type of automatic, manual, or disabled. A service in the automatic state begins to run when the computer is booted. Automatic services perform a function that is routinely required during processing. There are a few services that will also automatically stop when no longer needed. If a service will not be needed, it should be placed in a manual or disabled state. A service in the manual state can be started by Windows when needed. In fact, most services in manual mode will start up automatically when they are needed.  However, disabled services cannot be run unless their start-up status is changed. Disabled services usually have the potential to produce some negative effects that preclude executing them. Manual services fall somewhere in between automatic and disabled. In general, required services should be automatic, never used, or dangerous services should be disabled, and all others should be manual. Some examples of services that are usually automatic include DNS Client, DHCP Client, Error Reporting,  Event Log, Help, Print Spooler and Protected Storage. Some examples of services that are usually disabled include Clipbook (an almost never used feature), Alerter (a feature that can be abused) and Telnet (a true security risk). The disabled setting stops a service from starting, even when it is needed. Errors in the Event Viewer will identify trying to start services in the disabled state. Some services, while disabled, will constantly issue be complaining diagnostic messages. However, this action can be avoided if they are placed in a manual state. The service descriptions in and offer advice on which services should be in manual and which in disabled.  Numerous methods are available for displaying information about services that exist on a Windows computer. Several are described in this section, but no all-inclusive list is given. Some are available only with Windows XP and others only with Windows 2000. There is considerable overlap of processing capabilities among the utilities. Some of the utilities are command line driven, while others run in their own window.  The utilities that run in their own window can be started either from the command line or via mouse selection. To start a program from the command line, type the name of the program in a Run box that can be reached from the Start menu (Start -> Run -> program name). 209 CU IDOL SELF LEARNING MATERIAL (SLM)

 A limited number of modifications can be made to the Services listing. By clicking on one of the four column headings, the listing can be sorted using the values in that column. A second click reverses the order of the sort. For example, all the Microsoft services can be listed together. Three additional possibilities are to display only the non-Microsoft services, to Disable All services and to Enable All services. Furthermore, a checkbox in front of each service can be used to enable/disable it. With this utility it is difficult to edit the information associated with a specific service. Figure 1 shows output produced by msconfig after sorting by Service name. (This will be changed to sort by manufacturer in reverse order.) 11.6 KEYWORDS  Anonymity- The quality or state of being anonymous, which is the condition of having a name or identity that is unknown or concealed.  Architecture- The software architecture of a program or computing system is the structure or structures of the system. This structure includes software components, the externally visible properties of those components, the relationships among them and the constraints on their use. (based on the definition of architecture in  Artefact- A piece of digital information. An artefact may be any size and may be composed of other artefacts. Examples of artefacts’: a message; a URI; an XML document; a PNG image; a bit stream.  Asynchronous- An interaction is said to be asynchronous when the associated messages are chronologically and procedurally decoupled. For example, in a request- response interaction, the client agent can process the response at some indeterminate point in the future when its existence is discovered. Mechanisms to do this include polling, notification by receipt of another message, etc.  Attribute- A distinct characteristic of an object. An object's attributes are said to describe the object. Objects' attributes are often specified in terms of their physical traits, such as size, shape, weight, and color, etc., for real-world objects. Objects in cyberspace might have attributes describing size, type of encoding, network address, etc 11.7 LEARNING ACTIVITY 1. Create a session on Windows Service Project Template. ___________________________________________________________________________ ___________________________________________________________________________ 2. Create a survey on Developing Windows Services. 210 CU IDOL SELF LEARNING MATERIAL (SLM)

___________________________________________________________________________ ___________________________________________________________________________ 11.8 UNIT END QUESTIONS A. Descriptive Questions Short Questions 1. What is Apache HTTP Server Web Server? 2. What is Internet Information Services (IIS) Web Server? 3. Describe service project? 4. Define Windows Services. 5. How to develop Windows Services? Long Questions 1. Examine the scope of Windows Services. 2. Illustrate the overview of Windows Services. 3. Explain the Windows Service Project Template? 4. Examine the Developing Windows Services. 5. Illustrate the advantages of Windows Services. B. Multiple Choice Questions 1. Which parameters allow you to give a method parameter a default value so that you do not have to specify it every time you call the method. a. Optional b. Named c. Out d. Ref 2. Select the right option for the statement, duck typing is implemented by using which keyword. a. Dynamic b. Object c. Ref d. Base 211 CU IDOL SELF LEARNING MATERIAL (SLM)

3. What does Web Forms consist of? a. Template, Component b. CLR, CTS c. HTML Forms, Web services d. Windows, desktop 4. What parentheses that follow and indicate that no information is passed to Main ()? a. Empty, class b. Empty, sub main c. Empty, Main d. Empty, Namespace 5. What is the wild card character in the SQL \"like\" statement? a. * (Asterisk) b. # (Pound) c. % (Percent) d. $ (Dollar) Answers 1-a, 2-a, 3-a, 4-c, 5-c 11.9 REFERENCES Book References  Deneux D., 1999, “Introduction to assembly features: an illustrated synthesis methodology”, Journal of Intelligent Manufacturing 10.  Lee K., and Andrews G., 1985, “Inference of positions of components in an assembly”: Part 2’, CAD 17.  Popplestone, R.J., Ambler, A.P., and Bellos, I.M., 1980, “An interpreter for a language for describing assemblies”, Artificial Intelligence 14.  Sodhi, R. and Turner, J.U., 1991, “Representing tolerance and assembly information in a feature-based design environment”, in G.A. Gabriele, ed., ‘Proceedings of the 1991 ASME Design Automation Conference’, Vol. DE-Vol. 32.  De Fazio, T.L., 1990, “A prototype of feature-based design for assembly”, in B. Ravani, ed., ‘ASME Advances in Design Automation 1990’, Chicago, Illinois, USA. 212 CU IDOL SELF LEARNING MATERIAL (SLM)

 Tianyang Dong, Ruofeng Tong, Ling Zhang, and Jinxiang Dong, 2005, “A collaborative approach to assembly sequence planning”, Advanced Engineering 623 Informatics, vol. 19. E-References  https://web.csulb.edu/~pnguyen/cecs475/pdf/web%20services.pdf  http://www.adfg.alaska.gov/static-sf/AWC/WebNomFiles/09-892- CreatingAServiceInC%23.pdf  https://arxiv.org/ftp/cs/papers/0603/0603114.pdf 213 CU IDOL SELF LEARNING MATERIAL (SLM)

UNIT 12: WINDOW SERVICES 2 STRUCTURE 12.0 Learning Objectives 12.1 Introduction 12.2 Installing 12.3 Deploying and Launching Windows Service 12.4Developing A Service Controller Application 12.5Handling Custom Commands in Windows Services 12.6 Summary 12.7 Keywords 12.8 Learning Activity 12.9 Unit End Questions 12.10 References 12.0 LEARNING OBJECTIVES After studying this unit, you will be able to:  Describe the concept of Installing.  Explain the Deploying and Launching Windows Service.  Illustrate the Developing A Service Controller Application. 12.1 INTRODUCTION Microsoft Windows services, formerly known as NT services, enable you to create long- running executable applications that run in their own Windows sessions. These services can be automatically started when the computer boots, can be paused and restarted, and do not show any user interface. These features make services ideal for use on a server or whenever you need long-running functionality that does not interfere with other users who are working on the same computer. You can also run services in the security context of a specific user account that is different from the logged-on user or the default computer account. For more information about services and Windows sessions, see the Windows SDK documentation. You can easily create services by creating an application that is installed as a service. For example, suppose you want to monitor performance counter data and react to threshold 214 CU IDOL SELF LEARNING MATERIAL (SLM)

values. You could write a Windows Service application that listens to the performance counter data, deploy the application, and begin collecting and analyzing data. You create your service as a Microsoft Visual Studio project, defining code within it that controls what commands can be sent to the service and what actions should be taken when those commands are received. Commands that can be sent to a service include starting, pausing, resuming, and stopping the service; you can also execute custom commands. After you create and build the application, you can install it by running the command-line utility InstallUtil.exe and passing the path to the service's executable file. You can then use the Services Control Manager to start, stop, pause, resume, and configure your service. You can also accomplish many of these same tasks in the Services node in Server Explorer or by using the ServiceController class. The compiled executable file that a service application project creates must be installed on the server before the project can function in a meaningful way. You cannot debug or run a service application by pressing F5 or F11; you cannot immediately run a service or step into its code. Instead, you must install and start your service, and then attach a debugger to the service's process. For more information, see how to: Debug Windows Service Applications. Unlike some types of projects, you must create installation components for service applications. The installation components install and register the service on the server and create an entry for your service with the Windows Services Control Manager. For more information, see How to: Add Installers to Your Service Application. The Main method for your service application must issue the Run command for the services your project contains. The Run method loads the services into the Services Control Manager on the appropriate server. If you use the Windows Services project template, this method is written for you automatically. Note that loading a service is not the same thing as starting the service. See \"Service Lifetime\" below for more information. Windows Service applications run in a different window station than the interactive station of the logged-on user. A window station is a secure object that contains a Clipboard, a set of global atoms, and a group of desktop objects. Because the station of the Windows service is not an interactive station, dialog boxes raised from within a Windows service application will not be seen and may cause your program to stop responding. Similarly, error messages should be logged in the Windows event log rather than raised in the user interface. The Windows service classes supported by the .NET Framework do not support interaction with interactive stations, that is, the logged-on user. The .NET Framework also does not include classes that represent stations and desktops. If your Windows service must interact with other stations, you will need to access the unmanaged Windows API. For more information, see the Windows SDK documentation. 215 CU IDOL SELF LEARNING MATERIAL (SLM)

The interaction of the Windows service with the user or other stations must be carefully designed to include scenarios such as there being no logged-on user, or the user having an unexpected set of desktop objects. In some cases, it may be more appropriate to write a Windows application that runs under the control of the user. Windows service applications run in their own security context and are started before the user logs into the Windows computer on which they are installed. You should plan carefully what user account to run the service within; a service running under the system account has more permissions and privileges than a user account. A service goes through several internal states in its lifetime. First, the service is installed onto the system on which it will run. This process executes the installers for the service project and loads the service into the Services Control Manager for that computer. The Services Control Manager is the central utility provided by Windows to administer services. After the service has been loaded, it must be started. Starting the service allows it to begin functioning. You can start a service from the Services Control Manager, from Server Explorer, or from code by calling the Start method. The Start method passes processing to the application's OnStart method and processes any code you have defined there. A running service can exist in this state indefinitely until it is either stopped or paused or until the computer shuts down. A service can exist in one of three basic states: Running, Paused, or Stopped. The service can also report the state of a pending command: ContinuePending, PausePending, StartPending, or StopPending. These statuses indicate that a command has been issued, such as a command to pause a running service, but has not been carried out yet. You can query the Status to determine what state a service is in, or use the WaitForStatus to carry out an action when any of these states occurs. You can pause, stop, or resume a service from the Services Control Manager, from Server Explorer, or by calling methods in code. Each of these actions can call an associated procedure in the service in which you can define additional processing to be performed when the service changes state. 12.2 INSTALLING Installation of a computer program, is the act of making the program ready for execution. Installation refers to the configuration of a software or hardware with a view to making it usable with the computer. A soft or digital copy of the piece of software is needed to install it. There are different processes of installing a piece of software. Because the process varies for each program and each computer, programs (including operating systems) often come with an installer, a specialised program responsible for doing whatever is needed for the installation. Installation may be part of a larger software deployment process. Installation typically involves code being copied/generated from the installation files to new files on the local computer for easier access by the operating system, creating necessary 216 CU IDOL SELF LEARNING MATERIAL (SLM)

directories, registering environment variables, providing separate program for un-installation etc. Because code is generally copied/generated in multiple locations, uninstallation usually involves more than just erasing the program folder. For example, registry files and other system code may need to be modified or deleted for a complete uninstallation. On Windows systems, this is the most common form of installation. An installation process usually needs a user who attends it to make choices, such as accepting or declining an end- user license agreement (EULA), specifying preferences such as the installation location, supplying passwords or assisting in product activation. In graphical environments, installers that offer a wizard-based interface are common. Attended installers may ask users to help mitigate the errors. For instance, if the disk in which the computer program is being installed was full, the installer may ask the user to specify another target path or clear enough space in the disk. A common misconception is unarchivation, which is not considered an installation action because it does not include user choices, such as accepting or declining EULA. Installation that does not display messages or windows during its progress, \"Silent installation\" is not the same as \"unattended installation: All silent installations are unattended but not all unattended installations are silent. The reason behind a silent installation may be convenience or subterfuge. Malware is almost always installed silently. For normal users’ silent installation is of not much use, but in bigger organizations where thousands of users work, deploying the applications becomes a typical task and for that reason silent installation is performed so that the application is installed in background without affecting the work of user. Silent parameters can vary from software to software, if a software/application has silent parameters, it can be checked by \" <software.exe> /? “or \" <software.exe> /help \" or \" <software.exe> -help \". Installation that is performed without user interaction during its progress or with no user present at all, one of the reasons to use this approach is to automate the installation of many systems. An unattended installation either does not require the user to supply anything or has received all necessary input prior to the start of installation. Such input may be in the form of command line switches or an answer file, a file that contains all the necessary parameters. Windows XP and most Linux distributions are examples of operating systems that can be installed with an answer file. In unattended installation, it is assumed that there is no user to help mitigate errors. For instance, if the installation medium was faulty, the installer should fail the installation, as there is no user to fix the fault or replace the medium. Unattended installers may record errors in a computer log for later review. 12.3 DEPLOYING AND LAUNCHING WINDOWS SERVICE The following procedures outline the general instructions for setting up a Microsoft Windows installation to use Internet Information Services (IIS). Consult your specific operating system guide and your system administrator for any special considerations or requirements in your deployment topology. Internet Information Services is usually pre-installed but not turned on. 217 CU IDOL SELF LEARNING MATERIAL (SLM)

If IIS is not installed, you might need to access download sites or appropriate operating system media. Figure 12.1: Windows Features If you are familiar with Azure Devops, you may have seen it has templates for various types of deployment, yet it does not have a template to deploy an application as a Windows Service. But no worry about it, We can configure a release pipeline to automatically deploy the application as a Windows Service with a bit of Power shell script. I assume you already have registered the VMs to a deployment pool and created a deployment group for your project. If you don’t know how, check out this post in which I cover deployment pool, deployment group and registering azure VMs to azure devops as part of configuring a release pipeline to automatically deploy an ASP.NET core application to IIS. 12.4 DEVELOPING A SERVICE CONTROLLER APPLICATION A service is a public interface, and it requires careful design to make it useful. For ADF Business Components services, on which this chapter focuses, the purpose of these services is managing business objects, including the generic lifecycle of the objects (create/update/delete/query), and special actions that can be applied to the objects. Therefore, designing these services will start from identifying the business objects; continue with identifying service operations on business objects, and grouping the operations into 218 CU IDOL SELF LEARNING MATERIAL (SLM)

services. Exceptions, warnings, or informational messages need to be defined for each operation and service as part of the service interface design process. Since most Oracle Fusion services serve multiple use cases as listed in About Business- Object Operations, services should not be designed narrowly for only one use case at the exclusion of others. Instead, services should be designed from the start to be general purpose and contain APIs that can serve the widest use cases. This is especially important to consider for common business functions that are initially required for the UI or to meet enhancement requests from other products. It should be the conceptual essence of the use case that drives the interface, not the fine-grained specifics of one consumer. A consumer can be seen as a representative of a specific use case, but the provider should always apply well-measured foresight when defining the interface details. Creating general purpose APIs from the beginning will: Prevent method explosion as other similar use cases are requested. Increase reuse by multiple use case. When there is an existing industry standard that can be applied to your service, leveraging the standard is recommended to avoid costly negotiation of proprietary interfaces. However, in many situations either no standard exists, or the standard does not optimally support your business need. In this case you should make the interface as generic as possible for your given group of consumers. This will make sure that the interface stays stable as more consumers adopt it, while being highly useful for your given business processes. With good strategic planning it is possible to define generic interfaces for a defined subset of stakeholders. 12.5HANDLING CUSTOM COMMANDS IN WINDOWS SERVICES Windows services are a special type of application that is configured to launch and run in the background, in some cases before the user has even logged in. They can be configured to run as the local system account. Services are designed to run continuously in the background and perform system tasks, like backing up your computer or running a server process that listens on a network port. Back in the Windows XP days, services could be configured to run interactively and run alongside the rest of your applications, but since Vista, all services are forced to run in a special window session that can’t interact with your local desktop. So, a service that tries to open a dialog box or show you a message won’t be allowed to do so. Unlike regular applications, which can be simply launched and run under your user account, a service must be installed and registered with Windows, which requires an administrator account, and usually a User Account Control prompt before that happens. So, if you don’t allow an application to run as administrator, it cannot just create a service to run in the background. 219 CU IDOL SELF LEARNING MATERIAL (SLM)

Windows has always used the Services panel to manage the services that are running on your computer. You can easily get there at any point by simply hitting WIN + R on your keyboard to open the Run dialog and typing in services.msc. The Services panel is simple: there are a list of services, a status column to show whether it is running or not, and more information like name, description, and the start-up type of the service. You’ll notice that not every service is running all the time. While you can select a service and either right-click it or click the toolbar buttons to start, stop, or restart it, you can also double-click to open the properties view and get more information. Disabling the service is as simple as changing the Start-up type drop-down to disabled and choosing Apply, although you can also change it to Manual or automatic with a delayed start. From this dialog you can see the full path to the executable as well, which can help in many cases when you want to see what exactly the service is running. You might notice the option for “Allow service to interact with desktop”, which we mentioned earlier – by default, services are not allowed to access your desktop unless this box is checked, and this checkbox is only there for legacy support. But just checking that box doesn’t immediately give them access – you would also need to make sure that the NoInteractiveServices value in the registry is set to 0, because when it is set to 1, that checkbox is ignored, and services can’t interact with the desktop at all. Note: in Windows 8, the value is set to 1, and interactive services are prohibited Services aren’t supposed to be interactive because all windows exist in the same user terminal with access to common resources like the clipboard, and if they are running along with other processes there could be an issue where a malicious application running in a normal user process could attempt to gain more access through a service and considering that services run as the local system account, that probably isn’t a good thing. 12.6 SUMMARY  While pipelining has proved to be an extremely effective micro architecture technique, the type of scalar pipelines has several limitations, the maximum throughput for scalar pipeline is bonded by one instruction per cycle, the unification of all instruction types into one pipeline can yield an inefficient design, and one stalled instruction stalls all newer instructions. These limitations would be overcome to continue to provide further speedup for existing programs. One solution is superscalar pipelines that can achieve performance levels beyond those possible with just scalar pipelines.  Thus, by exploiting ILP, superscalar processors can execute more than one instruction in a clock cycle. Moreover, by initiating more than one instruction at a time into 220 CU IDOL SELF LEARNING MATERIAL (SLM)

multiple pipelines, superscalar processors break the single-instruction-per-cycle bottleneck. A practical advantage for the superscalar architecture is binary compatibility; the ability to execute a machine program written for an earlier generation processor. Superscalar processors deliver high performance by detecting and executing multiple scalar instructions in the same clock cycle.  However, the usage of hardware for extracting parallel instructions from a single instruction stream is one of the bottlenecks of the superscalar micro architectures because of the huge budget of used transistors to extract greater amounts of ILP from a single instruction stream. Besides, superscalar processors are not scalable because their area increases quadratic ally with the core’s complexity. This is due to the number of registers, which must be increased proportionally to the instruction window size. Additionally, the number of ports on each register must be increased proportionally to the processor’s issue width.  Thus, the register file is a key bottleneck in modern dynamic superscalar processors. Both the large number of registers and many ports are necessary to support a large window of inflight instructions and extract enough ILP. An alternative solution to the complexity of the superscalar scheduler is to move the dispatcher logic out of the chip and into the compiler. A compiler can spend considerably more time and effort making the best decisions possible.  This is the basic concept behind Very Long Instruction Word, or VLIW architectures. VLIW architectures rely on compile time analysis to identify and bundle together instructions that can be executed concurrently. These instructions are packed and dispatched together and thus the name very long instruction word. VLIW architectures implement a form of explicit instruction level parallelism, where multiple functional units are used concurrently as specified by a single instruction word. In addition to extracting parallelism, a VLIW compiler is also responsible for handling register dependencies. Very sophisticated compiler techniques are required to detect and schedule great amount of instruction parallelism.  The hardware contains no synchronization mechanisms and does not check for register dependencies. Thus, VLIWs performance is highly dependent on the compiler. The main advantage of VLIW architectures is the saving in hardware where there is no need to check for dependencies or decide on scheduling. However, they have some disadvantages: compiler complexity where it has a bigger context than superscalar architectures from which to select instructions to pack in a VLIW instruction, compilers do not have runtime information such as cache misses or branch taken, binary code compatibility where in a strict VLIW approach, the code sequence makes use of both the instruction set definition and the detailed pipeline structure, including both functional units and their latencies. 221 CU IDOL SELF LEARNING MATERIAL (SLM)

12.7 KEYWORDS  Media Spanning- sometimes a backup job is larger than a single destination storage medium. In this case, the job must be broken up into fragments that can be distributed across multiple storage media.  Multiplexing- the practice of combining multiple backup data streams into a single stream that can be written to a single storage device. For example, backing up 4 PCs to a single tape drive at once  Multistreaming- the practice of creating multiple backup data streams from a single system to multiple storage devices. For example, backing up a single database to 4 tape drives at once.  Restore Time- the amount of time required to bring a desired data set back from the backup media.  Retention Time- the amount of time in which a given set of data will remain available for restores. Some backup products rely on daily copies of data and measure retention in terms of days. Others retain several copies of data changes regardless of the amount of time 12.8 LEARNING ACTIVITY 1. Create a survey on Developing A Service Controller Application. ___________________________________________________________________________ ___________________________________________________________________________ 2. Create a session onDeploying and Launching Windows Service. ___________________________________________________________________________ ___________________________________________________________________________ 12.9UNIT END QUESTIONS A. Descriptive Questions Short Questions 1. What is Attended installation? 2. What is Silent installation? 3. Write the meaning of Headless installation? 4. Define Controller Application. 5. Define the term Custom Commands. 222 CU IDOL SELF LEARNING MATERIAL (SLM)

Long Questions 1. Explain the about Architecture Application? 2. Examine the concept of Installing. 3. Illustrate the Deploying and Launching Windows Service. 4. Elaborate the Developing A Service Controller Application. 5. Discuss on the Handling Custom Commands in Windows Services. B. Multiple Choice Questions 1. Which of the following statements is correct about Managed Code? a. Managed code is the code that runs on top of Windows. b. Managed code is the code that is written to target the services of the CLR. c. Managed code is the code where resources are Garbage Collected. d. Managed code is the code that is compiled by the JIT compilers 2. How does assembly versioning in .NET prevent DLL Hell? a. The runtime checks to see that only one version of an assembly is on the machine at any one time b. The compiler offers compile time checking for backward compatibility. c. NET allows assemblies to specify the name AND the version of any assemblies they need to run d. None of these 3. Which of the following is/are not types of arrays in C#? a. Single-Dimensional b. Multidimensional c. Jazzed arrays d. Jagged arrays 4. Which is called a variable which is declared inside a method? a. Local variable b. Private variable c. Static variable d. Serial variable 223 CU IDOL SELF LEARNING MATERIAL (SLM)

5. Select the right option for the statement, two methods with the same name but with different parameters. a. Overloading b. Multiplexing c. Duplexing d. Loading Answers 1-b, 2-c, 3-c, 4-a, 5-a 12.10 REFERENCES Book References  Ying Tang, MengChu Zhou, Eyal Zussman, and Reggie Caudill, 2002, “Disassembly modeling, planning, and application”, Journal of Manufacturing Systems, 21.  Shah J.J., and Mantyla M., 1994, “Advances in feature-based manufacturing”, Manufacturing research and technology, Amsterdam: Elsevier Science.  Bronsvoort W.F. and Holland W.V., 2000, “Assembly features in modeling and planning”, Robotics and Computer Integrated Manufacturing 16.  Chan C.K. and Tan S.T., 2003, “Generating assembly features onto split solid models”, Computer-Aided Design 35.  Shah, J.J., and Tadepalli, R., 1992, “Feature-based assembly modeling”, in G.A. Gabriele, ed., ‘Proceedings of the 1992 ASME International Computers in Engineering Conference’, Vol. 1, San Francisco, California, USA.  Kamal Youcef, 2000, “Assembly feature design in an augmented reality environment”, Assembly Automation 26. E-References  https://www.howtogeek.com/school/using-windows-admin-tools-like-a-pro/lesson8/  https://docs.oracle.com/applications/falcm12/OADEE/GUID-F566F6CF-4BBE- 4FDC-B0B6-4C9CAEAFD81D.htm#OADEV59579  https://www.taithienbo.com/automatically-build-and-deploy-net-core-3-console- application-as-a-windows-service/ 224 CU IDOL SELF LEARNING MATERIAL (SLM)

UNIT 13: BUILDING SETUP APPLICATIONS STRUCTURE 13.0 Learning Objectives 13.1 Introduction 13.2 Installation Package 13.3 Customize a Setup Project 13.4 Summary 13.5 Keywords 13.6 Learning Activity 13.7 Unit End Questions 13.8 References 13.0 LEARNING OBJECTIVES After studying this unit, you will be able to:  Describe the concept of building setup applications.  Illustrate the Installation Package.  Explain the Customize A Setup Project. 13.1 INTRODUCTION In information technology, anapplication(app),application programorapplication softwareis acomputer programdesigned to help people perform an activity. Depending on the activity for which it was designed, an application can manipulate text, numbers, audio, graphics, and a combination of these elements. Some application packages focus on a single task, such as word processing; others, called integrated software include several applications. User-written software tailors’ systems to meet the user's specific needs. User-written software includes spreadsheet templates, word processor macros, scientific simulations, audio, graphics, and animation scripts. Even email filters are a kind of user software. Users create this software themselves and often overlook how important it is. The delineation between system software such as operating systems and application software is not exact, however, and is occasionally the object of controversy. For example, one of the key questions in the United States v. Microsoft Corp. antitrust trial was whether Microsoft's Internet Explorer web browser was part of its Windows operating system or a 225 CU IDOL SELF LEARNING MATERIAL (SLM)

separable piece of application software. As another example, the GNU/Linux naming controversy is, in part, due to disagreement about the relationship between the Linux kernel and the operating systems built over this kernel. In some types of embedded systems, the application software and the operating system software may be indistinguishable to the user, as in the case of software used to control a VCR, DVD player, or microwave oven. The above definitions may exclude some applications that may exist on some computers in large organizations. For an alternative definition of an app: see Application Portfolio Management. Some applications are available in versions for several different platforms; others only work on one and are thus called, for example, a geography application for Microsoft Windows, or an Android application for education, or a Linux game. Sometimes a new and popular application arises which only runs on one platform, increasing the desirability of that platform. This is called a killer application or killer app. For example, VisiCalc was the first modern spreadsheet software for the Apple II and helped selling the then-new personal computers into offices. For Blackberry it was their email software. In recent years, the shortened term \"app\" has become popular to refer to applications for mobile devices such as smart phones and tablets, the shortened form matching their typically smaller scope compared to applications on PCs. Even more recently, the shortened version is used for desktop application software as well. Figure 13.1: Application In earlier computing models like client-server, the processing load for the application was shared between code on the server and code installed on each client locally. In other words, an application had its own pre-compiled client program which served as its user interface and had to be separately installed on each user's personal computer. An upgrade to the server-side code of the application would typically also require an upgrade to the client-side code 226 CU IDOL SELF LEARNING MATERIAL (SLM)

installed on each user workstation, adding to the support cost and decreasing productivity. In addition, both the client and server components of the application were usually tightly bound to a particular computer architecture and operating system and porting them to others was often prohibitively expensive for all but the largest applications. In contrast, web applications use web documents written in a standard format such as HTML and JavaScript, which are supported by a variety of web browsers. Web applications can be considered as a specific variant of client-server software where the client software is downloaded to the client machine when visiting the relevant web page, using standard procedures such as HTTP. Client web software updates may happen each time the web page is visited. During the session, the web browser interprets and displays the pages, and acts as the universal client for any web application. In the early days of the Web, each individual web page was delivered to the client as a static document, but the sequence of pages could still provide an interactive experience, as user input was returned through web form elements embedded in the page markup. However, every significant change to the web page required a round trip back to the server to refresh the entire page. In 1995, Netscape introduced a client-side scripting language called JavaScript allowing programmers to add some dynamic elements to the user interface that ran on the client side. So instead of sending data to the server to generate an entire web page, the embedded scripts of the downloaded page can perform various tasks such as input validation or showing/hiding parts of the page. In 1996, Macromedia introduced Flash, a vector animation player that could be added to browsers as a plug-in to embed animations on the web pages. It allowed the use of a scripting language to program interactions on the client-side with no need to communicate with the server. In 1999, the \"web application\" concept was introduced in the Java language in the Servlet Specification version 2.2. At that time both JavaScript and XML had already been developed, but Ajax had still not yet been coined and the XMLHttpRequest object had only been recently introduced on Internet Explorer 5 as an ActiveX object. In 2005, the term Ajax was coined, and applications like Gmail started to make their client sides more and more interactive. A web page script can contact the server for storing/retrieving data without downloading an entire web page. In 2007, Steve Jobs announced that web apps, developed in HTML5 using AJAX architecture, would be the standard format for iPhone apps. No software development kit (SDK) was required, and the apps would be fully integrated into the device through the Safari browser engine. This model was later switched for the App Store, as a means of preventing jailbreakers and of appeasing frustrated developers. 227 CU IDOL SELF LEARNING MATERIAL (SLM)

In 2014, HTML5 was finalized, which provides graphic and multimedia capabilities without the need of client-side plug-ins. HTML5 also enriched the semantic content of documents. The APIs and document object model are no longer afterthoughts but are fundamental parts of the HTML5 specification. WebGL API paved the way for advanced 3D graphics based on HTML5 canvas and JavaScript language. These have significant importance in creating truly platform and browser independent rich web applications. In 2016, during the annual Google IO conference, Eric Bidelman (Senior Staff Developers Programs Engineer) introduced Progressive Web Apps (PWAs) as a new standard in web development. Jeff Burtoft, Principal Program Manager at Microsoft, said \"Google led the way with Progressive Web Apps, and after a long process, we decided that we needed to fully support it.\" As such, Microsoft and Google both supported the PWA standard. 13.2 INSTALLATION PACKAGE If you are installing a Plug and Play board, such as a PCI bus product, install the software as described in the following section, shut down the PC and then install the board into the PC as described in the hardware User’s Manual included with your board. Once your PCI board is installed in the PC (as described in the hardware User’s Manual supplied with your board) and the PC is powered up, BIOS detects the board and assigns resources to the board such as interrupts, I/O addresses, and memory mapped addresses. The number and type of resources assigned is determined by firmware on the PCI board you are installing. Some operating systems, such as Windows 95 and 98, require more information to properly configure the PCI board in the system. As Windows loads, it detects that new hardware has been added and looks for an information file to properly add the new hardware to the Device Manager. If the file needed is already installed on the PC, this process is automatic. If not, the user is prompted to insert a disk containing the file. The file needed is included on the InstaCal and Universal Library CD (or disk 1 of the InstaCal and Universal Library floppy disk set). Simply insert the disk and click OK. After your PCI board is configured by the system, run InstaCal as described in the Using InstaCal section of this manual to test your board. If you are installing a Hot-Swap Plug and Play board, such as a PCMCIA bus product, install the software as described in the following section, reboot the PC, and then insert the card into the PCMCIA slot. When you insert your PCMCIA card into a PCMCIA slot in the PC (as described in the hardware User’s Manual supplied with your board), Card and Socket Services detects the board and assigns appropriate resources to the card such as interrupts and I/O addresses. The number and type of resources assigned is determined by firmware on the PCMCIA card you are installing. Some operating systems, such as Windows 95 and 98, require more information to properly configure the PCMCIA card in the system. When Windows detects that a new card has been 2 installed in the system, it looks for an information file to properly add the new hardware to the Device Manager. If the file needed is already installed on the PC, this process is automatic, and no user action is required. If not, 228 CU IDOL SELF LEARNING MATERIAL (SLM)

the user is prompted to insert a disk containing the file. The file needed is included on the InstaCal and Universal Library CD (or disk 1 of the InstaCal and Universal Library floppy disk set). Simply insert the disk and click OK. To verify the card has been recognized, open the Device Manager (Start/Settings/Control Panel/System and select the Device Manager tab), and confirm that the card is listed under \"DAS Component.\" If your card appears in the list, run InstaCal as described in the Using InstaCal section of this manual to test your board. If your card has not been recognized, your system may not be properly configured for PCMCIA card use. Please refer to Appenix 1 for more information. If you are installing a manually confurable board, such as an ISA or PC104 bus product, install the software as described in the following section. After installation of the software and before plugging your board into the PC, restart the PC and run InstaCal as described in the Using InstaCal section of this manual and configure your board. For manually configured boards, InstaCal serves as a guide to setting switches and jumpers on your board. Using InstaCal to verify these settings before physically installing the board can save time that might otherwise have been wasted troubleshooting an improperly configured board. Once the board has been configured and the switch settings shown in InstaCal match the switches on the board, shut down the PC and then install the board into the PC as described in the hardware User’s Manual included with your board. When you restart your PC, run InstaCal as described in the Using InstaCal section of this manual to test your board. The InstaCal (and optional Universal Library) software for ComputerBoards data acquisition and control hardware may be installed on Windows 3.x, Windows 95, Windows 98, or Windows NT systems. Any or all versions of the software may be installed on Windows 95 or 98 systems including 32-bit Windows, 16-bit Windows and/or DOS packages. Only the 32-bit version may be installed on an NT system. Only the 16-bit Windows and/or the DOS package may be installed on Windows 3.x systems. If you are installing on a DOS-only system, you will need to order the DOS installation disk set. The part numbers for these products are InstaCal/DOS and Universal Library/DOS. Please note, however that not all the newer technology product is supported by the DOS versions of InstaCal and the Universal Library. Please contact ComputerBoards if you have any questions regarding these special DOS only versions. If you have ordered the Universal Library, install the software from the Universal Library diskette or CD. This package contains both the Universal Library and the InstaCal installation, calibration, and test utility. If you have not ordered the Universal Library insert the InstaCal disk instead. 13.3 CUSTOMIZE A SETUP PROJECT So, you finished your application, and you are ready to deploy it. You want to create a setup for the application, but you don't want to spend a $1000+ on InstallShield or Wise InstallBuilder. You create a setup project in Visual Studio .NET and run the setup wizard. It creates a minimal installation, but where is my readme dialog? Where is my registration 229 CU IDOL SELF LEARNING MATERIAL (SLM)

dialog? How can I make this minimal installation do something besides copy my files into a directory? The fact of the matter is that Visual Studio.NET already contains everything you need to create a rich setup experience for your users. In this article, we are going to show you two ways to add a readme dialog to your application, the easy way, and the hard way. The easy way requires absolutely no coding. The hard way requires coding and allows you to add complex custom features to your application. The first step in creating an installation for your application is to create a new Setup Project and run the Setup Wizard (See my article on creating a setup project in Visual Studio.NET). Once you've created a minimum setup project for your application, you can use the solution explorer to add the readme dialog. Just right click on the Setup Project and choose View- >User Interface as shown in figure 2 below: Figure 13.2: Solution Explorer Double Clicking on the Read Me file adds it to the User Interface View. We can use the Move Up and Move Down buttons to choose where it appears in our setup (see figure 4). You can also see from the user interface screen that the setup wizard has automatically added a Welcome Screen, An Installation Folder Screen, and A Confirmation Screen. You can click on any one of these screens in the User Interface View and edit the properties of these views as well. Also note that there are two installations created by the setup wizard: a personal install sequence and an administration install sequence. In this example, we are only adding 230 CU IDOL SELF LEARNING MATERIAL (SLM)

the readme to the personal install. By clicking on the ReadMe template in the User Interface Tree, we bring up the property screen shown in Figure. The ReadMe Template has three properties: BannerBitmap, ReadmeFile, and Sunken. The BannerBitmap allows you to change the bitmap appearing in the upper right-hand corner of the Readme dialog. The ReadmeFile property allows you to choose a rich text format readme file to display inside the dialog. Rich Text Format is nice because you can display different types of fonts, formats, colours, and pictures inside the readme file. A rich text file readme can easily be created using either Microsoft Word or if you don't own Word, you can use WordPad. 13.4 SUMMARY  The main characterizing property of vector architectures is that they provide vector instruction that packages multiple homogenous, independent operations into a single short instruction, which results in compact, expressive, and scalable code [18, 56]. Moreover, it reduces the instruction control overhead and introduces a framework for optimizing the processor for array processing.  It shows generic vector processor architecture. This architecture has two vector arithmetic units (VAUs), one vector memory unit (VMU), and one vector flag functional unit (VFFU) [18]. To further improve the performance of vector architectures, multiple parallel pipelined execution units are used. Figure 2.4 shows execution of the same vector addition instruction (C = A + B) in two different vector architectures. The first architecture (a) has a single pipeline and completes one operation per unit time, while the second architecture (b) has four parallel pipelines and completes up to four operations in parallel in the same length of time. An element group is the set of elements that are processed at the same time but in different pipelines. Subsequently, several well investigated and currently used techniques were successfully applied to vector processing.  These techniques include out-of-order execution, decoupling and multi-threading. There are several general advantages of using a vector processing paradigm instead of a scalar approach. Vector instructions have significantly higher code density compared with a generic scalar system. Depending on the specific user program, this can significantly reduce the instruction count necessary to produce similar output.  Although a single instruction fetch still yields a single (vector) instruction, this single instruction initiates a long vector operation. Thus, the bandwidth for instruction fetches is negligible in a vector processor compared with instruction fetch overheads in scalar designs, which are estimated to be 20-50%. Moreover, a single vector operation can represent tens or hundreds of arithmetic operations and can keep multiple deeply-pipelined arithmetic units busy for lengthy time periods. Further, 231 CU IDOL SELF LEARNING MATERIAL (SLM)

because there are implicitly no data hazards within a vector instruction, the hardware is at liberty to use multiple parallel arithmetic units, a single deeply pipelined unit, or some combination of the two.  Multi-threading technique exploits thread-level-parallelism to increase uniprocessor throughput by using multiple threads to hide pipeline and memory latencies. Multi- threading allows multiple threads to share the functional units of a single processor in an overlapping fashion. In contrast, a more general method to exploit thread-level parallelism is with a multiprocessor that has multiple independent threads operating at once and in parallel. Multi-threading, however, does not duplicate the entire processor as a multiprocessor does. Instead, multi-threading shares most of the processor core among a set of threads, duplicating only private state, such as the registers and program counter.  There are three main hardware approaches for multi-threading fine-grained, coarse- grained, and simultaneous multi-threading. Fine-grained multi-threading switches between threads on each clock, causing the execution of instructions from multiple threads to be interleaved. This interleaving is often done in a round-robin fashion. However, in coarse-grained multi-threading, a thread switch will not occur at every cycle, but only when the currently executing thread encounters a long-latency operation, such as level-2 or level-3 cache misses.  The most common implementation of multi-threading is called simultaneous multi- threading. As with other forms of multi-threading, SMT uses thread-level parallelism to hide long-latency events in a processor, thereby increasing the usage of the functional units. The key insight in SMT is that register renaming, and dynamic scheduling allow multiple instructions from independent threads to be executed without regard to the dependences among them; the resolution of the dependences can be handled by the dynamic scheduling capability 13.5 KEYWORDS  Site-To-Site Backup- backup, over the internet, to an offsite location under the user's control. Like remote backup except that the owner of the data maintains control of the storage location  Synthetic Backup- a restorable backup image that is synthesized on the backup server from a previous full backup and all the incremental backups since then. It is equivalent to what a full backup would be if it were taken at the time of the last incremental backup  Tape Library- a storage device which contains tape drives, slots to hold tape cartridges, a barcode reader to identify tape cartridges and an automated method for 232 CU IDOL SELF LEARNING MATERIAL (SLM)

physically moving tapes within the device. These devices can store immense amounts of data  Virtual Tape Library (VTL) - a storage device that appears to be a tape library to backup software butstores data by some other means. A VTL can be configured as a temporary storage location before data is sent to real tapes or it can be the final storage location itself  Multistreaming- the practice of creating multiple backup data streams from a single system to multiple storage devices. For example, backing up a single database to 4 tape drives at once. 13.6 LEARNING ACTIVITY 1. Create a session on Installation Package. ___________________________________________________________________________ ___________________________________________________________________________ 2. Create a survey on Customize a Setup Project. ___________________________________________________________________________ ___________________________________________________________________________ 13.7 UNIT END QUESTIONS A. Descriptive Questions Short Questions 1. What is Install core? 2. What is Admin studio? 3. Define Visual installer. 4. Define Install forge. 5. Write the meaning of Package? Long Questions 1. Explain the steps of Application? 2. Elaborate the Installation Package. 3. Discuss on the advantage ofSetup Project. 4. Illustrate the Customization of Setting up of Project. 5. Examine the Criticism of Setup Project. 233 CU IDOL SELF LEARNING MATERIAL (SLM)

B. Multiple Choice Questions 1. Which file contains configuration data for each unique URI resource used in project? a. web.config b. global.asax c. webapplication. vsdisco d. assemblyinfo.cs 2. What are the features of Read only variables? a. Declaration and initialization are separated b. It is allocated at compile time c. It is allocated at runtime d. All of these 3. What are the different ways a method can be overloaded in C#.NET? a. Different parameter data types b. Different order of parameters c. Different number of parameters d. All of these 4. Select the right option for the statement, managed methods will be marked as in MSIL code. a. Mscorjit b. Cil c. Dgclr d. None of these 5. Identify which is true? a. DataView is subset of row and not columns b. find can be done only on sorted columns c. Sorting can be done on multiple columns d. None of these Answers 234 1-a, 2-d, 3-, d 4-b, 5-a CU IDOL SELF LEARNING MATERIAL (SLM)

13.8 REFERENCES Book References  Rezende, G. M., & Vieira, D. L. M. (2019). Forest restoration in southern Amazonia: Soil preparation triggers natural regeneration. Forest Ecology and Management, 433, 93–104. https://doi.org/10.1016/j. foreco.2018.10.049  Richardson, D. M., & Kluge, R. L. (2008). Seed banks of invasive Australian Acacia species in South Africa: Role in invasiveness and options for management. Perspectives in Plant Ecology.  Ricketts, T. H., Daily, G. C., Ehrlich, P. R., & Michener, C. D. (2004). Economic value of tropical forest to coffee production. Proceedings of the National Academy of Sciences of the United States of America, 101  Ritter, C. D., Häggqvist, S., Karlsson, D., Sääksjärvi, I. E., Muasya, A. M., Nilsson, R. H., & Antonelli, A. (2019). Biodiversity assessments in the 21st century: The potential of insect traps to complement environmental samples for estimating eukaryotic.  Rozendaal, D. M. A., Bongers, F., Aide, T. M., Alvarez-Dávila, E., Ascarrunz, N., Balvanera, P., Becknell, J. M., Bentos, T. V., Brancalion, P. H. S., Cabral, G. A. L., Calvo-Rodriguez, S., Chave, J., César, R. G., Chazdon, R. L., Condit, R., Dallinga, J. S., De Almeida-Cortez, J. S., De Jong, B., & De Oliveira, A.  Scott, D. F., & Prinsloo, F. W. (2008). Longer-term effects of pine and eucalypt plantations on streamflow. Water Resources Research, 45 E-References  https://en.wikipedia.org/wiki/Progress_bar  https://en.wikipedia.org/wiki/Text_box  https://en.wikipedia.org/wiki/Label 235 CU IDOL SELF LEARNING MATERIAL (SLM)

UNIT 14: CONTROLLED INSTALLATION STRUCTURE 14.0 Learning Objectives 14.1 Introduction 14.2 Control Installation of An Application 14.3 Summary 14.4 Keywords 14.5 Learning Activity 14.6 Unit End Questions 14.7 References 14.0 LEARNING OBJECTIVES After studying this unit, you will be able to:  Comprehend the concept of Control Installation.  Illustrate the advantages of Control Installation of An Application.  Explain the critics of Control Installation of An Application. 14.1 INTRODUCTION Theories of organizational control have influenced organizational communication scholarship. It was when theorization moved toward normative control that communication scholars started to get involved. Therefore, they have contributed mainly to the understanding of this type of control, for instance through Dietz’s work on control by consent and normalization; Barker’s development of “concretive control,” which is a form of normative control in teams; and Tompkins and Cheney’s work on identification as unobtrusive control and a means to foster acceptance of organizational norms and premises. But in addition to these specific contributions, there is a clear communicative element in nearly all forms of control. This is obvious in direct control, where there is face toface communication between superiors and subordinates: directives are given and monitored, and feedback is provided. But communication is also necessary to ensure that people know how to use the technology, follow rules, and understand norms in technical, bureaucratic, and normative control. Thus, communication plays an important role in the process of inculcating the rules and norms of the organization. Although all the forms of control listed above exist and has always existed in most organizations, there is an element of chronology in the sense that the emphasis has moved from direct control via technical, bureaucratic, and output control toward normative 236 CU IDOL SELF LEARNING MATERIAL (SLM)

control. This chronology is reflected in the more detailed outline of the control forms in the following. Note, however, that although the control forms are presented individually, they tend to coexist and interact in most organizations Direct control dominated organizations in the early years of industrialization, when enterprises were relatively small and had not yet developed extensive machinery or systems of rules or norms. Control was thus exercised openly, and authority resided in the person of the manager or the foreman as he (for it was almost always a man at this time) was typically named. Direct control was common in railroad construction, for example. Typically, a foreman was the head of a team of workers and controlled their work directly. The control relationship was thus personal and direct, and depended greatly on the ability of the foreman to make the workers comply with his orders. When there was conflict and resistance, the foreman had rather limited organizational resources to draw on, and therefore often had to rely on personal authority and even physical strength to control the workers. When organizations grew and became factories, the foremen became managers and could rely more on their position for exerting control. The direct relationship between managers and workers remained, however. In factories influenced by scientific management, managers gave instructions on what to do andhow to do it, monitored workers’ behaviour, timed and analyzed their performance, and altered the instructions in search of efficiency. Direct control was, and is, associated with several problems. From a critical point of view, this type of detailed control may alienate and reduce humans to machines that can be programmed and reprogrammed at the will of management. Put differently, it may be seen as inhumane to be controlled according to the principles of scientific management. From an efficiency point of view, direct control is often perceived as obtrusive and therefore tends to demotivate workers and give rise to resistance. Also, direct control is labour intensive because it requires many managers; and in large organizations, reliance on direct control is risky for owners because it depends very much on the competence and loyalty of the managers. Probably because of these efficiency related issues, in combination with technological advancement, more structural forms of control developed in the late 19th and early 20th under technical control, authority is no longer vested in the person of the manager but resides in the organization’s physical structure, such as machinery and information technology. The typical example of technical control is the assembly line, where the line replaces the foreman. In other words, instead of a foreman communicating what to do, the line does that job. Several managerial problems were solved through this shift from personal to structural control. The obtrusiveness of direct control was avoided, and the number of managers could be reduced. In addition, some problems of resistance were solved. Under scientific management, Taylor and his disciples had noticed the problem of “soldiering” – that is, workers habitually producing less than their capacity to keep requirements down – as a way of resisting direct control. Technical control was a solution to this problem because the assembly line set the pace. Technical control was also associated with new managerial problems, however. The assembly line was vulnerable. If a group of workers on the line went on strike, the whole 237 CU IDOL SELF LEARNING MATERIAL (SLM)

production system stopped. Thus, worker motivation was an issue. But neither direct nor technical control, in their early-20th-century versions, had any mechanisms for motivation; they mainly relied on fear and punishment. In other words, control was exerted through sticks and not carrots. From a critical point of view, the introduction of the assembly line hardly made working conditions better. Working on the line was probably even more inhumane than working under a foreman. Workers increasingly became reduced to cogs in the organizational machinery, and they had little conception of being parts of a larger production process. For example, compare the factory system of producing furniture with the craft system. The craftsperson bought wood and refined it by sawing, carving, filing, and polishing, and putting the pieces together into a chair. He or she could thus conceive of the whole labour process. The factory worker on the line, in contrast, did not have this overview and was not engaged in all the steps; instead, for instance, they placed prefabricated stool legs into predrilled holes in a board that would become the seat of a chair. Because of this monotonous and repetitive element, technical control through the assembly line is associated with alienation and deskilling. Technical control may take many shapes and does not necessarily have to be alienating or deskilling, however. Today, information technology is an important source of technical control. IT systems and software participate in organizational control by monitoring us, instructing us, and providing frames for our behaviour. This may be deskilling if we are blindly following the instructions of this technology and disciplining if we are constantly under surveillance. But we are also often working with technology, and it is debatable whether technology should be seen as deskilling, disciplining, constraining, or enabling. The managerial problems associated with technical control the vulnerability of the line and the absence of positive incentives fostered the development of bureaucracy as a new form of structural control. Under technical control, authority resides in the physical structure of the organization; but under bureaucracy it resides in the social structure. Bureaucracy is based on rules: rules for who does what and how to do it and who is superior to whom, and rules for promotion procedures and wage scales. In other words, bureaucracy provides rules for the horizontal and vertical divisions of labour in the organization, and for the organization’s career system. This positive incentive solved some of the problems of motivation associated with direct and technical control. Weber, arguably the most influential writer on bureaucracy, described it as a legally established impersonal order that extends to persons by giving them authority only insofar as they occupy a position in the organization that affords certain rights. Authority is thus present not in the person, but in the position or in the “office. Weber contrasts this “legal authority” of bureaucracy, where obedience is owed to the office, with “traditional authority,” where obedience is owed to a person who occupies a traditionally sanctioned position, and with “charismatic authority,” where obedience is owed to a person who is bestowed with a gift of grace (such as Jesus in Christianity). Bureaucracy is thus characterized by rules, formalism, and impersonality. It is also associated with predictability. Modern bureaucracy was developed in the early 20th century, primarily in large manufacturing organizations and public administration, which operated in a relatively 238 CU IDOL SELF LEARNING MATERIAL (SLM)

predictable environment where bureaucratic control could enable efficient production. The common association between bureaucracy and inefficiency is thus somewhat flawed. Under certain conditions, bureaucracy is highly efficient. In fact, Weber stressed that bureaucracy is “capable of attaining the highest degree of efficiency.” This does not mean that Weber was an advocate of bureaucracy. He stressed that the statement about efficiency was made from a “purely technical point of view.” Most notably, he also called bureaucracy an “iron cage” (see below). Yet, bureaucracy is associated with efficiency problems for at least two reasons. First, bureaucracies are based on rigid systems of rules, rely on standardization and formalization, and are efficient if work processes can be described in detail and are instrumental in reaching organizational goals. But if the work processes are uncertain and there is a need for swift change, then bureaucracy is not very efficient. Consider, for instance, a company that develops technology for mobile phones. Although some standards for technology development exist, the process through which this is done cannot be specified in detail beforehand. Therefore, other forms of control, such as output and normative control tend to be more efficient, because they allow for more flexibility. Second, bureaucracy is inefficient when outstanding performance and innovativeness are keys to organizational success. Bureaucracy’s efficiency relies on predictability andnormalization of the average, and rewards rule following rather than outstanding performance. Therefore, organization that depends greatly on creativity and innovation such as theatre, music, and art but also research, technology development, preschool teaching, and various types of consultancies – is unlikely to reach its goals efficiently if it relies too much on bureaucracy 14.2 CONTROL INSTALLATION OF AN APPLICATION PLC Control Builder is a programming tool for creating PLC based control solutions when using the AC 800M hardware as your PLC hardware. The PLC Control Builder comes with type solutions for simple logic control, device control, loop control, alarm handling etc. packaged as standard libraries. You can also insert self-defined types from other projects into your current project. The Control Builder supports five different programming languages, Function Block Diagram, Structured Text, Instruction List, Ladder Diagram and Sequential Function Chart according to IEC 61131-3. In addition to this it supports the Control Module language. Other useful functionality is online debugger and test mode two introducing manuals are available: Getting Started and IEC 61131 Control Languages Getting Started (this manual) gives an introduction for new users of the PLC Control Builder. The manual also gives a description of the installation procedure. IEC 61131 Control Languages is a good place to start for learning the basics of the different aspects of automatic control and the control languages following the IEC61131 standard. For more information about online manuals and online help in PLC Control Builder, see Getting Help in PLC Control Builder on page 24. 239 CU IDOL SELF LEARNING MATERIAL (SLM)

The PLC Control Builder core user interface is called Project Explorer, and this is where you create and build your projects. A project contains the entire configuration needed for a PLC based control solution, including control applications and hardware settings. Context menus are helpful while configuring hardware units or connecting parameters etc You right-click an object to open its corresponding context menu. The PLC Control builder is used to create control solutions. The solutions are created within control builder projects, and several levels of structuring are available inside one project. A project in PLC Control Builder can handle up to 256 applications where each application can handle 64 programs at the most. A maximum of 32 Control Builder PCs can be used together in multi-user environment and up to 32 PLCs can be created and handled within a project. You can create self-defined libraries containing data types, function block types etc. which can be used in any project. Besides function, block types, your Control Builder can also handle control modules, which are components for object-oriented programming. PLC Control Builder supports multi-user engineering with a maximum of 32 separate engineering workplaces. In a multi-user configuration all Control Builder PCs and the OPC Server must have access to the common project file. This means that a common Project folder must be created on a shared network server. The network server can be placed anywhere suitable in your network; thus, located and handled by a Control Builder PC, or in an OPC Server PC, or located as a standalone file server. 240 CU IDOL SELF LEARNING MATERIAL (SLM)

Figure 14.1: Control Installation of an Application This section explains how to install and start-up a single-user configuration, which means basically a PLC Control Builder and an OPC Server installed together on the same PC station. The software delivered on the CD is divided in two parts - the PLC Control Builder AC 800M and the OPC Server for AC 800M. Each of these is installed with the help of installation wizards. • The first wizard contains PLC Control Builder, PLC firmware, Base software for Soft Controller, RNRP and User Documentation. The second wizard contains OPC Server for AC 800M. Note, that you must first run the PLC Control Builder installation before running the OPC Server installation. Simply follow the default installation instructions given in the Wizard. 14.3 SUMMARY  From a critical perspective, bureaucratic control has been criticized for concentrating power at the top and constraining and demotivating employees. The bureaucratic system of rules tends to form an organization that alienates its members because everything seems to be thought out in advance by the impersonal system, and there is little space for human agency. Weber pointed at this when he likened the bureaucracy to an “iron cage”  The performance of the employees is systematically followed up, evaluated, and documented in files that are used to make decisions about promotion. The system is often referred to as “up or out,” indicating that either employees advance through the hierarchy within a certain time, or they are asked, or expected, to leave. Thus, it would be premature to dismiss bureaucratic control as obsolete. This does not imply that bureaucracies look the same today as in the 1960s, however. Research indicates that the contemporary bureaucracy is “softer”.  This implies a version of bureaucracy that combines ideas of centralization and entrepreneurship, expressed in organizations that are top down but with fewer hierarchical levels and with employees who have more control over how to perform their tasks. Also, bureaucracy has been depicted as both constraining and enabling. That is, it may on the one hand be an iron cage, but on the other a source of clarity and support.  Bureaucracy provides guidance and direction and clarifies responsibilities, which may relieve stress and help people be and feel more effective. For instance, bureaucracy can be a source of support for employees claiming their rights, when worker rights are part of the bureaucracy. Also, rules about who does what and who is in charge prevent role confusion, which may help people gain control over their work life. In addition, the rigidity associated with bureaucracy is desired in some types of organizations, 241 CU IDOL SELF LEARNING MATERIAL (SLM)

especially where democratic values are treasured and quick decisions at the whim of single leaders are undesirable.  To sum up, bureaucratic control is still relevant for understanding how contemporary workplaces are controlled. The character of bureaucracy has moved in a softer and subtler direction, but traditional managerial privileges remain, such as the privilege to formulate goals and strategies, and the privilege to make decisions about reorganizations and the allocation of resources. Thus, while the workers have more discretion when it comes to deciding how to do things, bureaucratic rules often regulate who can decide what to do and where to go.  Output control is based on the measurement of outputs. Unlike direct, technical, and bureaucratic control, it is thus directed not toward employees’ behaviour, but toward the results of their work. Output can be controlled quantitatively as in the case of wages based on piecework, or qualitatively as when the functionality of output is measured.  To an extent, the rise of output control was a reaction to the inefficiencies of bureaucracy. In the 1970s and 1980s, when creativity, innovation, and responsiveness to environmental change became more important, the rigid structure of the bureaucracy became a barrier to efficiency and output control was seen as a way of creating more flexible organizations. Especially in complex work, where managerial knowledge about the work process is limited, it becomes difficult to set up detailed work rules. Consider, for instance, technology development. It is difficult to set up step-by-step rules for how to develop or apply new technology, and even if it were possible, the rules would constrain the flexibility that is needed for finding new solutions. But it is possible to measure the functionality of the new technology.  Thus, if managerial knowledge of the production process is low, but it is possible to measure output, then output control is preferred. Or put differently, under conditions when it is difficult to control the behaviour of employees through detailed instructions about how to perform various tasks, it is often argued that control should be directed toward the output of work rather than toward work itself. A common method of applying output control is by establishing “business units” in large, divisional zed organizations. Business units are parts of a larger organization and are responsible for their own costs or profits. For instance, the European division of an American car manufacturer may be a business unit. By setting profit goals and making the division responsible for these, but allowing it to develop its own methods and processes for achieving them, the mother organization communicates a certain level of responsible autonomy by measuring output but not behaviour 242 CU IDOL SELF LEARNING MATERIAL (SLM)

14.4 KEYWORDS  Access Point: A device that allows wireless-equipped computers and other devices to communicate with a wired network.  Alias: A short, easy to remember name created for use in place of a longer, more complicated name; commonly used in e-mail applications. Also referred to as a “nickname”.  Amazon Web Services: Amazon Web Services is a subsidiary of Amazon that provides on-demand cloud computing platforms and APIs to individuals, companies, and governments, on a metered pay-as-you-go basis.  Application Programming Interface (API): An application programming interface is a computing interface that defines interactions between multiple software intermediaries. It defines the kinds of calls or requests that can be made, how to make them, the data formats that should be used, the conventions to follow.  APT Threats: An advanced persistent threat (APT) is a stealthy computer network threat actor, typically a nation-state or state-sponsored group, that gains unauthorized access to a computer network and remains undetected for an extended period. 14.5 LEARNING ACTIVITY 1. Create a session on Application. ___________________________________________________________________________ ___________________________________________________________________________ 2. Create a survey on Control Installation. ___________________________________________________________________________ ___________________________________________________________________________ 14.6UNIT END QUESTIONS A. Descriptive Questions Short Questions 1. Define Install coring. 2. Define Admin studio. 3. Write the meaning of Visual installer? 4. Write the meaning of Attended installation? 5. What is the meaning of Commands? 243 CU IDOL SELF LEARNING MATERIAL (SLM)

Long Questions 1. Examine theconcept of Control Installation? 2. Illustrate the advantages of Control Installation of An Application. 3. Explain the criticms of Control Installation of An Application? 4. Discuss on the scope of An Application. 5. Elaborate the steps of using control installation. B. Multiple Choice Questions 1. Which is defining two methods with the same name but with different parameters? a. Loading b. Overloading c. Multiplexing d. Duplexing 2. Find any errors in the following Bank Account constructor: Public int Bank Account balance = 0;}. a. Name b. Formal parameters c. Return type d. No errors 3. Select the right option for the statement, in the body of a method, C# uses the variable named to refer to the current object whose method is being invoked. a. call b. this c. do d. that 4. What do String my string; Creates a(n)? a. Class b. Constructor c. Object d. A and b 5. What is an Event? 244 CU IDOL SELF LEARNING MATERIAL (SLM)

a. The result of a user’s action b. Result of a party c. Code to force user’s action d. None of these Answers 1-b, 2-c, 3-b, 4-c, 5-a 14.7 REFERENCES Book References  Baskin, C. C., & Baskin, J. M. (2014). Seeds: Ecology, biogeography, and evolution of dormancy and germination (2nd ed.). Academic Press.  Becknell, J. M., Kissing Kucek, L., & Powers, J. S. (2012). Aboveground biomass in mature and secondary seasonally dry tropical forests: A literature review and global synthesis.  Bellard, C., Cassey, P., & Blackburn, T. M. (2016). Alien species as a driver of recent extinctions. Biology Letters, 12(4), https://doi. org/10.1098/rsbl.2015.0623  Besseau, P., Graham, S., & Christophersen, T. (Eds.). (2018). Restoring forests and landscapes: The key to a sustainable future. Global partnership on forest and landscape restoration.  Betts, R. A. (2000). Offset of the potential carbon sink from boreal forestation by decreases in surface albedo. Nature, 408(6809), 187– 190. https://doi.org/10.1038/35041545 Bloomfield, G., Meli, P.,  Brancalion, P. H. S., Terris, E., Guariguata, M. R., & Garen, E. (2019). Strategic insights for capacity development on forest landscape restoration: Implications for addressing global commitments. E-References  https://community.appway.com/screen/kb/article/checkboxes-radio-buttons- dropdowns-when-to-use-what-1482810890174  https://fac.ksu.edu.sa/sites/default/files/menu_control.pdf  https://www.researchgate.net/publication/314395138_Control/link/6093a3a8299bf1ad 8d7da868/download 245 CU IDOL SELF LEARNING MATERIAL (SLM)

UNIT 15: INSTALLATION CONDITIONS STRUCTURE 15.0 Learning Objectives 15.1 Introduction 15.2 Specify Conditions of An Install 15.3 Custom Actions for After an Installation 15.4 Summary 15.5 Keywords 15.6 Learning Activity 15.7 Unit End Questions 15.8 References 15.0 LEARNING OBJECTIVES After studying this unit, you will be able to:  Describe concept of Custom Actions for After an Installation.  Illustrate the Specify Conditions of An Install.  Explain the steps of Conditions of An Install. 15.1 INTRODUCTION Another common way of practicing output control is by using a “balanced scorecard,” which is basically an attempt to include more than the financial 11 dimension into the output controlprocess. A typical balanced scorecard includes five dimensions: financial, internal processes, customers, learning/innovation, and people. The outputs are then evaluated using measures such as profit, inventory turnover (internal processes), customer satisfaction number of new products, and personnel turnover. The idea of output control largely builds on a cybernetic model of monitoring, rewarding, and punishing performance. Inputs may be people, technology, or raw materials, and outputs may be income, number and quality of produced units, or level of customer satisfaction. The idea is thus to avoid controlling behaviour directly and instead measure the output and compare it to previously set objectives. If there is deviance between the output and the previously set objectives, then something needs to be adjusted. Take a McDonald’s restaurant as a simple example. Let’s say that customer satisfaction is the desired output of an organizational change process, and the inputs are food, food processing technology, and personnel. When customer satisfaction is measured 246 CU IDOL SELF LEARNING MATERIAL (SLM)

in a survey, managers discover that customers think the food is fine, but they are dissatisfied with the service. Given this new information, the managers would develop a new training program to improve the service level. The example illustrates not only the logic of the cybernetic model, however, but also its limits as a means of control. First, the model may be good for indicating problems, but it does not say very much about how to deal with them. In the McDonald’s example, the survey may indicate that service level is a problem, but it says nothing about how to make employees more service minded. Second, and related, for something to be done about the problems, output control must be combined with other types of control. Thus, after having detected the service-related problems at McDonald’s, the managers will need behaviourcontrols in their attempts to change service behaviour. Third, the model relies on somewhat unrealistic assumptions about measurability and rational decision making. It assumes that output can be measured and deviances from set goals detected, and that the detected deviances are the reason why the goals were not attained. There is thus an operationalization problem: it is overly simplified to operationalize organizational problems in terms of deviances in output. Last, and related, the cybernetic model of output control rests on a transmission model of communication that has been widely criticized by communication scholars. Communication is seen as a neutral tool through which the objective reality of inputs, transmission processes, and outputs is transmitted. The idea that communication, and language in general, not only transmits information about reality but also constitutes it, is thus not taken into consideration by the cybernetic model of output control. Output control in police work is a classic example of these problems. The goal of most police organizations is to minimize crime. Every year the output of police work is measured in terms of, for example, the number of reported instances of domestic violence. When the numbers rise, it is assumed that there is more domestic violence, and the police organization is criticized for bad performance. But how do we know that the increased number of reports is due to increased violence, and that this in turn is because of bad police work? The increased numbers may be because societal norms have changed so that it has become more legitimate to report domestic violence. And the changed norms may in fact be due to good police work, because the police may be operating not only reactively by “catching” offenders, but also preventively by encouraging victims to report crime. In other words, the output does not necessarily say much about the input. Yet this information about the output is supposed to be used for adjusting the input, or the transformation process. The point here is thus that output control may be a valuable indication that there are problems. But it is difficult to draw conclusions about the cause of the problems based on output control alone, and it says little about how to deal with these problems other than telling people to make sure they reach their target output. For this reason, few organizations rely on output control alone, but combine it with other methods. Output control is popular in contemporary organizations. Advanced information technology makes it easy to quantify and 247 CU IDOL SELF LEARNING MATERIAL (SLM)

measure output such as profit levels, customer satisfaction, crime rates, employee turnover, and performance in terms of number of finalized projects, publications, treated patients, and so on. The public sector has picked up output measurements as one of their key control methods. The rise of “new public management” as an ideal for managing public organizations which includes a focus on setting up and measuring performance indicators has probably contributed to this. Some commentators even claim that we live in an “audit society,” where both qualitative and quantitative outputs are thoroughly measured and evaluated, and individuals and organizations are increasingly required to account for their actions. Under normative control, the target of control is shifted once more. Direct, technical, and bureaucratic control target employees’ behaviours and output control targets their results. Normative control, in turn, is directed at employees’ norms, thoughts, and values. Normative control is said to be more effective when it is difficult to measure output, and when bureaucratic rules fail to offer guidance because the work processes are difficult to predict. The idea of normative control is that under such conditions, efficiency can be reached by creating a normative community where people think the same way and value the same things, so that they need not be told what to do, or their output need not be measured. Put differently, control is achieved by creating a “strong culture,” or in Ouchi’s words, a “clan.” There are many ways of attempting such culture building, but the main methods are by recruiting like- minded people or by socializing them to adopt the norms of the organization. The theoretical underpinnings of normative control reside in culture theory. In the 1970s and 1980s, organizational theorists influenced by anthropology and 14 symbolic interactions began to rethink the nature of. The view of the organization as a cybernetic system was abandoned in favour of an understanding of organizations as socially constructed systems of meaning. In other words, organizations were understood as cultures rather than machines or organisms As a result, there was more focus on understanding how organizations were held together through cultural artefacts’ such as language use, rituals and ceremonies, and objects. These artefacts are seen as symbols and thereby carriers of values and meaning. For instance, employees in a law firm tend to wear dark suits, which symbolize, among other things, rationality, professionalism, and correctness. Male police officers tend to shave their heads, which symbolize, among other things, aggressiveness, and power. As these examples show, symbolism and meaning are ambiguous. In consequence, this theoretical perspective on control acknowledges ambiguity more than previous understandings. However, it was not symbolic integrationists with their profound interest in the origin of social organization that popularized normative control. Instead, it was academics writing for managers, partly as a reflection of the surging Japanese industry of the time. Analyzing the Japanese key to success, Americans and others concluded that the Japanese secret was a “strong organizational culture,” meaning that employees identified with and trusted their work organizations, and shared their values of flexibility, quality, and customer orientation. A strong culture, in turn, was associated with financial success. This message was picked up by managers, which resulted in less emphasis on rationalistic methods such as scientific 248 CU IDOL SELF LEARNING MATERIAL (SLM)

management and cybernetic output control and prompted the advent of various attempts at “culture change programs” intent on communicating the “core values” of the organization. Although the popularity of organizational culture and thus normative control escalated in the 1980s, normative control as such was hardly a new thing. It is the main control form in religious and political movements – the church and the political party being ideal types of normatively controlled organizations (Etzioni, 1961). Thus, the control method was not new, but the news was that it was brought from religious and political organizations into business. 15.2 SPECIFY CONDITIONS OF AN INSTALL When you are creating a Suite installation in InstallShield, you may need to specify that certain conditions must exist on the target system. For example, if your product requires that certain registry keys exist, your installation may need to check the target system to ensure that this requirement is met. In some cases, if the requirement is not met, your installation might display an error to inform the end user about the requirement; in other cases, the Suite installation may skip a package in the Suite or list a feature as unselected for installation by default.  Exit conditions—The Exit Condition setting in the General Information view lets you specify one or more exit error messages that you want the Suite installation to display under various conditions before ending the installation. If the condition that you define is true when an end user launches the Suite installation, the Suite installation displays the error message. When end users dismiss the error message, the Suite installation ends.  Detection conditions—The Detection Condition setting for a package in the Packages view lets you specify the condition that the Suite installation should use to evaluate whether the package is already installed on target systems. If this does not change from false to true (or from true to false) at run time, the Suite installation assumes that the package failed to install (or remove) its payload.  Eligibility conditions—The Eligibility Condition setting for a package in the Packages view lets you specify the condition that the Suite installation should use to determine whether the target system meets the requirements that are necessary for the package to be run. For example, if the package should be run only on 64-bit systems, you could set up an x64 platform requirement in a condition; the Suite installation would launch the package only on 64-bit systems. You may also want to set up an eligibility condition to prevent end users from being able to install the current package version over a future newer version. Feature conditionsThe Condition setting in the Features view lets you build conditional statements to evaluate whether the feature should be selected for installation by default on the InstallationFeatures wizard page. 249 CU IDOL SELF LEARNING MATERIAL (SLM)

Mode conditionsInstallShield creates mode conditions automatically behind the scenes, based on the detection conditions of all the primary packages in the Suite project. The Suite engine uses these conditions to determine whether the Suite installation runs as a first-time installation or in maintenance mode. For more information, review John Cresswell’s previous post on mode conditions in Suite installations. Once you’ve added an operator, click the New Condition button in the operator setting and then click the appropriate condition check type. At this point, InstallShield adds a subsetting (or more sub settings, depending on which condition check type you selected) under the operator setting. To nest another condition within a condition, click the New Condition button in an operator setting and then click the appropriate operator for the nested condition. One of the Any/All/None meta-conditions is referred to as a condition group. All the nested condition groups and conditions under a condition setting together form a condition tree. Figure 15.1: Specify Condition of an Install Note that if you add an .msi package to your project, InstallShield automatically creates two MSI Package eligibility condition groups for the package, and uses an asterisk in the condition’s Product Code, Package Code, and Product Version settings as placeholders for the package’s own product code, package code, and product version, as shown in the following screen shot. Figure 15.2: Steps InstallShield adds this built-in condition to prevent the Suite installation from launching the package if a package with a matching product code, but a later product version is already installed. You can override this built-in condition if necessary. 250 CU IDOL SELF LEARNING MATERIAL (SLM)


Like this book? You can publish your book online for free in a few minutes!
Create your own flipbook