什么是动物园内核?¶
动物园的内核是 ZOO-Project WPS平台。它是一个用C语言编写的符合WPS的实现,它提供了一个强大的、可扩展的WPS服务器。
ZOO-Kernel is an extensible WPS server that makes your system more powerful. It provides a full-featured processing engine which runs on Linux, Mac OSX ™ and Windows ™ operating systems. ZOO-Kernel is a CGI program which works on common web servers (namely Apache or IIS ™). It can be seamlessly integrated to new or existing web platforms.
Zoo内核允许您使用格式良好的WPS请求处理地理空间或非地理空间数据。WPS服务器能够通过加载用不同编程语言编写的动态库和源代码来管理和链接WPS服务(参见Zoo服务示例)。
一流的WPS服务器¶
简单的¶
Zoo内核依赖于简单的原则,并倾向于通过为每个支持的编程语言共享类似的数据结构来简化新服务的实现。Zoo内核负责解析它接收到的请求,并返回相应的WPS响应。
如果发生 执行 请求时,zoo内核将信息存储在用于实现服务的编程语言的基本kvp数据结构中,动态加载zcfg文件中定义的服务提供程序,并运行与服务对应的特定函数,传递三个参数。函数返回后,Zoo内核通过检查返回值来判断服务是否成功运行或失败。在成功的情况下,zoo内核随后解析包含结果的第三个参数,并以所需的格式生成输出。
符合¶
动物园内核实现并符合 WPS 1.0.0 以及 WPS 2.0.0 标准由 Open Geospatial Consortium .它能够执行OpenGIS中定义的WPS操作。 ® 规格,如:
GetCapablities :返回服务级元数据信息。它提供可用处理服务的列表。
DescribeProcess :返回进程的描述,包括其支持的输入和输出。
执行 :启动计算并返回特定进程生成的输出。
GetStatus :仅在WPS 2.0.0中可用,它允许客户端获取正在运行的服务的当前状态。
GetResult :仅在WPS 2.0.0中可用,它允许客户端获取正在运行的服务的最终结果。
解除 :仅在WPS 2.0.0中可用,它允许客户端要求服务器停止正在运行的服务并删除其创建的任何文件。
Zoo内核兼容性和性能可以使用以下工具进行测试:
WPS测试套件由 OGC compliancy program
XML响应的有效性也可以使用 XMLint .
多语种¶
动物园内核是一个 多语种 .软件是以多种编程语言的有效形式编写的,这些语言独立于用于编译或解释软件的编程语言执行相同的操作。支持的编程语言如下:
Language |
ServiceProvider |
DataStructure |
Return |
C/C++ |
共享库 |
地图*M |
整数 |
Java |
类文件 |
整数 |
|
C# |
类文件 |
整数 |
|
Python |
模块文件 |
整数 |
|
PHP |
脚本文件 |
整数 |
|
珀尔 |
脚本文件 |
整数 |
|
红宝石 |
脚本文件 |
整数 |
|
Fortran |
共享库 |
字符*(1024)m(10,30) |
整数 |
R |
脚本文件 |
整数 |
|
JavaScript |
脚本文件 |
Object 或数组 |
对象/数组 |