...
...
...
...
...
...
...
...
...
...
System overview
The EDMserver consists of one EDM database server and optionally one or more EDM application servers. The main task for the EDM database server is to maintain the persistent EDM database and to perform concurrency control of all the EDM clients. All operations that effect common resources, i.e., creation/opening/closing/deletion of repositories, models, schemata, etc., locking of data, transaction controls, etc., are performed by the EDM database server. Hence, the compilers are running in the EDM database server. But the clients normally perform all low-level data manipulation operations.
The EDM application server is an application interface needed to obtain access to the EDM database server using the EDMI Remote Interface. EDM clients using the EDMI Remote Interface can access any EDM database, both remote and locally using the same interface. The EDMI Remote Interface is transaction oriented and makes it easier to implement applications using the EDM database. Repositories and models will be opened in the correct mode automatically.
EDMsupervisor is a client delivered to supervise any EDM database.
EDM Server Context
...
Using the EDMI Remote Interface one may define as many server contexts as wanted.
The server contexts are distinguished by their unique context name and can be defined in the EDMsupervisor with the command
- Remote Systems->Server Context->Define Context
or with the EDMI functions
- edmiDefineServerContext()
- edmiDefineServerContextEx()
The client can use these server contexts to communicate with databases on different hosts and with different user accounts and access rights. This feature is possible because the EDMI Remote functions are transaction oriented and stateless. Each function operates within a transaction, and is either successful (with commit) or abortive (with abort and no change).
Using HTTP-communication
...
The HTTP (Hypertext Transfer Protocol) is an application protocol that runs on top of the TCP/IP suite of protocols. The HTTP protocol is using port number 80 and this port number is normally accepted by firewalls, because normal web browsing is using HTTP. The disadvantage with this communication is that it is a bit slower and requires a tunnel servlet in between, to pack/unpack all messages between client and server into HTTP-packets. This calls for additional parameters to be set. The required parameters are tunnel program name, tunnel host name and tunnel port number (normally 80). In addition it is possible to define a proxy host if it necessary to go through another host to obtain the communication.
...