1. Server Object extensions
Server Object extensions (SOE) is an extension of server objects, such as mapserver and gpserver. Unlike utility objects, Soe is initialized only when the server object is created. Its lifecycle is the same as that of the server object. Compared with utility objects, SOE has the following features:
Developer does not need to manually instantiate Soe. SOE is instantiated when the server object is created
The ArcGIS Server administrator can display SOE parameter configurations.
O. The running information of SOE will be recorded in the log of ArcGIS Server.
Ø SOE functions can be accessed through soap
More intuitively, let's take a look at the figure below. This is a map service management interface with a custom SOE added:
Figure 30 map service with SOE added
Can SOE be understood as a service's custom capability? It seems that ESRI understands this. Next, we will define a new capability to see SOE usage.
2. Create a custom Server Object extension [Case Study]
First, we use the IDE plug-in to help us create this Soe. Choose File> New> Server Object extension from the menu to open the new window, 31; then, make custom edits on the properties page of 32. The ArcGIS plug-in will automatically create some classes and configuration files.
Figure
31. New SOE window
Figure
32. Edit some SOE attributes
Well, although we have not added any substantive functional code, the SOE framework has been set up. Let's try to deploy this SOE to ArcGIS Server.
First, right-click the project, select export, find the JAR file option in the Java folder, and export the SOE to a jar package. Then, copy the JAR file to the % arcgishome %/Java/lib/EXT directory. Finally, you need to use a tool to add the SOE to map service. This tool is called sommanager, you can open the console in the % arcgishome %/Java/tools directory and execute the following command:
Soemanager-A [server name] [domain name] [username] [Password] [fully qualified SOE name] [SOE display name]
For example, a new nmeaserverobjectext class is created in the wuyf namespace, so the approximate command is as follows:
Soemanager-A localhost arcgismanager passwd wuyf. nmeaserverobjectext NMEA
Now, we can see a new capability when adding a new map service:
Figure 33 custom NMEA capability