## Recording Configuration

- Project : A project in service virtualization refers to a directory that consists of one or more inter-related virtualized services.
  User can define various configurations that apply to all the services within that project. Projects provide a way to manage and maintain a cohesive set of virtualized services with a common context or purpose.
- Subproject : It refers to a smaller unit or subset of services within a project. It allows user for further categorization and organisation of virtualized services within the project.

There are two options for Http recording: Web Service Recording and Web Page Recording :-

## Web Service Recording

1. Recording Name: Name of the recording for reference purpose.The user is required to provide the recording name that work as a prefix while creating a service through recording. Example: Recorded Service name: 'shoppingCart', Prefix by user: 'cavisson_', Service name added in record: 'cavisson_shoppingCart'
2. Recording Port: Port on which incoming request comes. Here, a dropdown list is provided for recording port. Either user may provide own recording port or select some port from the provided dropdown list.
3. Request URL Filter: This is used to specify URL filter if user needs to send different URLs on same recorder port to different backend servers. In most cases, it is.* to indicate all URLs.
4. Protocol: This is used to specify protocol of recording whether it is SSL or Non-SSL.
5. Endpoint Hostname / IP: Hostname or IP address of the backend server or endpoint server is the server from where the response is captured to NetOcean.
6. Service Endpoint Port: Port number of the backend server port on which the application is running.
7. Client Certificate: A Client certificate is a variant of a digital certificate that is widely used by the client to make the systems authenticated so that trusted requests should go to a remote server.This certificate plays a crucial role in several joined authentication design, which offers a well- built guarantee of a requester’s identity.
8. Endpoint Certificate: Endpoint certificate are very small data files that digitally combine or join a cryptographic key to the company’s details and information.When SSL is installed on a web server, it triggers the security device and the SSL protocol (over port 443) allowing locked and safe connections from a web server to a browser.

## Web Page Recording

1. Recording Name: Name of the recording for reference purpose.
2. Recording Port: Port on which incoming request comes. Here, a dropdown list is provided for recording port.
   Either user may provide own recording port or select some port from the provided dropdown list.
3. Request URL Filter: This is used to specify URL filter if user needs to send different URLs on same recorder port
   to different backend servers. In most cases, it is.* to indicate all URLs.

## JDBC Recording Configuration

1. Connection ID: Database Name
2. JDBC Driver: It is a software component enabling a Java application to interact with a database.
3. Connection String: IP/Port
4. Login Credentials: Username and Password

## Socket Recording Configurations

User can record the generic data coming on TCP socket as configured and send it to the server. To record generic TCP services in NetOcean, a recorder is created which acts as a proxy.

### Provide the following details:

1. Name: Provide the recording name. It is treated as a service name.
2. Port:The port on which user want to record. This displays the list of defined port range. user can select any port from the list, or mention any port manually which any other processes are not using.
3. Protocol: Select the protocol from the list. It can be either SSL (secure) or NON-SSL (non-secure).
4. Note:: For now SSL port is 443 and non-ssl port is 80, but it may be change in future because that port are reserved for the http and https.
5. Service Endpoint Hostname/IP:Configure the service endpoint host name and IP.
6. Service Endpoint Port:Enter the Service Endpoint Port. For now, SSL port is 443 and Non SSL port is 80, but user can specify this port according to configuration.
7. SSL Settings:This option is enabled only if user select the SSL protocol. user can upload the certificate (client certificate and endpoint certificate) by clicking the button.

### Advanced Settings:

User can configure the advance settings for the TCP. The advance settings can be done for request and response both. On clicking the button, the Advance Settings window is displayed. Provide the following details:

### Message Boundary Policy

Message Boundary Policy tells the recorder when to consider the end of the message. Let's understand them in detail.

1. Messages are of fixed length of bytes :End of the message is considered at specified bytes so data reading is done till specified bytes.
2. Messages are delaminated by specified character : End of the message is considered when recorder finds the specified delaminate. A specific character or sequence of character, such as pipe or comma, indicates end of the message. The entire sequence must be matched. The delimiter itself is not included in the message. Following condition must be kept in mind:
   - Reading of data is stopped if a suffix message is found.
   - Max Delimiter length can be 64 bytes.
3. Messages are delimited by end-of-data (complete TCP segment) :End of the message is considered after reading single segment.
4. Messages are complete if any part of the message contains specified characters : End of the message is considered when specified character is found.
5. Messages are prefixed by message length in format of byte : End of message is considered as per the specified prefix length. Prefix type can be text or binary. For text type, prefix length can be 1 to 9 bytes while for binary type, prefix length can be 1,2,4,8 bytes.
6. Messages are complete after connection is closed : End of the message is considered at connection close so data reading is stopped as connection gets closed.
7. Message is complete after idle timeout is reached : End of message is considered when timeout is reached. It is not applicable for UDP protocol.

### Timeout Settings (ms)

Provide the values for the following timeout options:

1. First Byte Receive Timeout It waits for the first request. Connection is closed if this timeout occurs.
2. Idle Timeout It is a delay between two conjugative reads. It resets on every read. Connection is closed if end policy is not timeout and timeout occurs else process data and start reading again.
3. Max Receive Timeout It is max read timeout. It resets on every read. Connection is closed if end policy is not timeout and timeout occurs else process data and start reading again

### Decode Settings

There are following decode types:

1. Plain Text
2. Hex
3. Base64
4. Binary

Note:The policy and timeout settings are available for both request and response. To have the same policy and settings at response end, select the Same As Request check box. Once user are done with advance setting, user can save this configuration in UI. This is displayed in tabular format.