2.5.3 Two Applications Communicate via a Shared File
Context of Use: When two Applications, one using NFS Access Protocols and the other using SMB Access Protocols, communicate via a shared file.
Figure 7: Use case diagram for Two applications communicate via a shared file
Goal: This use case demonstrates how two applications can use a shared file to communicate and synchronize workflows in a request/reply fashion, while using different network file access protocols.
Application1 is the primary actor that triggers this use case. Application1 is a program that is used to create, open, read, write and/or delete files on the file server. It interacts with the File Access Services System through the File Client, using the SMB network access protocol.
Application2 is the primary actor that triggers this use case. Application2 is a program that is used to create, open, read, write and/or delete files on the file server. It interacts with the File Access Services System through the file client, using the NFS network access protocol
SMB File Service
The SMB File Service is a supporting actor that is internal to the File Access Services System. It implements server-side protocol components and the file services that are consumed by the File Client.
NFS File Service
The NFS File Service is a supporting actor that provides and maintains a secure and consistent file service.
The File Client is a supporting actor that is internal to the File Access Services System and implements client-side protocol components. It consumes the file services that are offered by the file server. The File Client can be an instance of an SMB File Client or an NFS File Client.
Active Directory Service
The Active Directory Service is a supporting actor. The File Access Services System stores DFS namespace information in an Active Directory-based system. Additionally, the File Access Services System locates its DFS Service component with Directory Services on the domain controller and discovers the DFS Service by first locating the domain controller and then attempting to connect with the DFS Service on the same computer.
Authentication Services is a supporting actor that is used for authentication purposes.
The User is the person who requires remote file access in order to read, create or modify files on another computer. The User is external to the File Access Services System and interacts with the File Access Services System through the Application. There are two Users, one using the SMB access protocol and the other using the NFS access protocol.
The client and server computers are configured in a domain.
Two file shares, one NFS and one SMB, have been created on the file server, both backed by the same directory in the object store.
Both Users have identities for use with both NFS and SMB shares.
Both Users have located the desired file shares and have navigated to the desired directory in each share.
Application2 has data ready to place in a file.
Main Success Scenario
Trigger: Users open Application1 and Application2 to communicate through the shared file.
Application1 prepares to receive a request message file by registering for a directory change notification on a specific directory using Open a File in an SMB File Share (section 188.8.131.52) to obtain a file handle to the directory, and then using Perform a File Operation Using SMB (section 184.108.40.206) to request directory change notification and wait on notification.
Application2 requests that a new file be created in the directory, using Open a File in an NFS File Share (section 220.127.116.11) and obtains a file handle. Application2 then uses Perform File Operation Using NFS (section 18.104.22.168) to write data into the file, and finally uses Perform File Operation using NFS to close the file.
A directory change notification is triggered to Application1 via the file client using Directory Change Notification Using SMB (section 22.214.171.124).
Application1 opens the new file and obtains a file handle using Open a File in an SMB File Share, reads the contents of file using Perform a File Operation Using SMB, processes the message, appends its reply data to the end of the file using Perform a File Operation Using SMB, and closes the file using Perform a File Operation Using SMB.
Application2 re-opens the file and obtains a file handle using Open a File in an NFS File Share. Application2 reads the contents of the file using Perform File Operation using NFS, completes its processing of the reply message, and closes the file using Perform File Operation using NFS.
The SMB and NFS applications communicate and synchronize workflows, using a shared file.