You work as the Enterprise application developer at Domain.com. The Domain.com network consists of a single Active Directory domain named Domain.com. All servers in the domain run Windows Server 2003. Your responsibilities at Domain.com include the design and development of applications. Domain.com operates as the Emergency unit of the Traffic Department. You are currently busy implementing a Microsoft .NET Remoting component. This component will be used in the traffic control environment. The component will allow the traffic department to guide all traffic officers on duty to the available alternative routes during emergencies. As such the component must meet the following requirements:
1. A specific instance of the component must be allowed to control access to the navigational system on one traffic officer’s vehicle.
2. The component must be instantiated only once while the traffic officer’s navigational system is being controlled.
3. The component must be hosted on a server that is separate from the application. To this end the design suggests making us of single-call activation over Transmission Control Protocol (TCP). You are now required to decide whether or not the design meets the requirements.
What conclusion can you draw?
A.
The design meets the requirements.
B.
The design does not meet the requirements; it should make use of inter-process communication (IPC).
C.
The design does not meet the requirements; it should make use of client activation.
D.
The design does not meet the requirements; it should make use of Singleton activation.
Explanation:
The requirements clearly indicate that the component should be stateful, being stateful means that the component can be instantiated once, and maintain its state throughout its lifetime. With client activation, the client maintains state for a remote object; also the object gets instantiated once for each client. Thus the design is inadequate and should also make use of client activation.
Incorrect answers:
A: IPC supports communication between different processes running on the same computer only. This is not the case in this scenario; instead the application needs to communicate with the component on a different computer.
B: There are definitely some inadequacies and you will need client activation to meet the stated requirements.
D: Singleton activation is when a single instance of an object is provided to multiple clients. This is not what is required in this scenario since you only need to use one object per client.