# The Derby Network Server

The Derby Network Server provides multi-user connectivity to Derby databases within a single system or over a network.

The Network Server uses the standard Distributed Relational Database Architecture (DRDA) protocol to receive and reply to queries from clients. Databases are accessed through the Derby Network Server by using the Derby Network Client driver.

The Network Server is a solution for multiple JVMs that connect to the database, unlike the embedded scenario where only one JVM runs as part of the system. When Derby is embedded in a single-JVM application, the embedded JDBC driver calls the local Derby database. When Derby is embedded in a server framework, the server framework's connectivity software provides data to multiple client JDBC applications over a network or the Internet.

To run the Derby Network Server, you need to install the following files:

- On the server side, install `derby.jar` and `derbynet.jar`.
- On the client side, install `derbyclient.jar`.

There are several ways to manage the Derby Network Server, including:

- Through the command line
- By using `.bat` and `.ksh` scripts
- With your own Java program (written using the Network Server API)
- By setting Network Server properties

By default a security manager will be installed with a basic security policy when a Network Server is started. This policy file is called `server.policy` and is part of `derbynet.jar`. For information about policy files, granting permissions, and property expansion, see "Default Policy Implementation and Policy File Syntax" at http://docs.oracle.com/javase/7/docs/technotes/guides/security/PolicyFiles.html and "Policy File Creation and Management" at http://docs.oracle.com/javase/7/docs/technotes/guides/security/PolicyGuide.html.

Using the Network Server with preexisting Derby applications explains how to change existing Java applications that currently run against Derby in embedded mode to run against the Derby Network Server.

Managing the Derby Network Server explains how to manage the Network Server by using the command line, including starting and stopping it.

Derby Network Server advanced topics contains advanced topics for Derby Network Server users.

Because of the differences in JDBC drivers that are used, you might encounter differences in functionality when running Derby in the Network Server framework as opposed to running it embedded in a user application. Refer to Using the Network Server with preexisting Derby applications for a complete list of the differences between embedded and Network Server configurations.

Parent topic: Derby in a server framework
Related concepts
Connectivity configurations
Multiple-client features available in Derby
Embedded servers
How to start an embedded server from an application
Related reference
Embedded server example