In this Google Summer of Code 2020 project, we propose to build a new Web Processing Service (WPS) client named wps-js-ng written in the Angular 9 framework with module classes written in typescript. It will be an extension to the 52°North’s wps-js project, which provides encoding and parsing of the basic WPS Requests/Response (such as GetCapabilities, DescribeProcess, Execute, GetStatus and GetResult). This new client will conform to the latest OGC WPS 2.0 standards and is mainly targeted for clients using Angular programming language, who can simply import the library and have all the model classes and modules generated by running simple angular commands.
This issue will be alleviated in the new wps-js-ng application we propose to build. The model classes of the new application will be able to hold the type information and handle complex datatypes since it is written in Typescript, therefore any user of the new Angular client would have the perfect knowledge of the object types returned. Another benefit is the ease of use of the new client by the users building WPS applications in Angular, as they will be able to reuse most components pre-built in this client.
The class diagram below demonstrates the 5 main classes and their tentative type information.
Furthermore, being an extension to the wps-js project, the new Angular client will be able to use the existing functionality developed for wps-js. There are two different ways to achieve the integration of wps-js: by either importing the js-min file or rewriting the whole logic in Typescript. Depending on the available time, we will decide which strategy is better.
About me: My name is Karan Singh and I am a Master’s student in Computer Science at York University, Toronto. I am more than excited to be a part of 52°North and I am going to be mentored by Benjamin Pross who is an expert in OGC and GeoInformatics. If you have any suggestions or feedback about my project, please feel free to contact me at email@example.com.