A posting from David Noor announces the availability of Persian 'early access technology' from Rogue Wave Software. Persian is a development and deployment platform "which allows for the creation and consumption of SOAP-based Web services in C++. Persian makes it easy to use existing Web services in C++, or to write new Web services in C++, without writing any SOAP or networking code. Persian takes WSDL describing Web service as input, and generates: (1) An easy-to-use client proxy class, so you can use the Web service from any C++ program; (2) An easy-to-implement C++ servlet, so you can create a Web service from scratch in a matter of minutes; (3) Full HTML documentation for the Web service and generated classes; (4) A sample client and server; (5) A client and server makefile to ease build and deployment steps." The Persian technology preview download "contains the Persian client and server generators, Persian examples, and a User's Guide; Persian generators also make the generated classes easy to use by providing class reference documentation."
From the website document 'Generating Persian Web Services': "Persian uses standard WSDL (Web Services Description Language) as the input for defining Web services, the same standard used by .NET and J2EE. This enables standards-based, cross-language implementation of Web services. Persian Web services can be invoked by .NET or Java Web service clients that are created using the same WSDL. The development platform includes the Persian Web Services Generators, which generate Web services from WSDL files. The deployment environment includes the Persian Web Services Server, built on the Rogue Wave Bobcat C++ servlet container. This provides a container and execution environment for hosting Web services. From a standard WSDL document, Persian generates components for providing and consuming Web services, including a Web service client proxy and a Web service skeleton. The Web service client proxy provides functionality for issuing SOAP requests and receiving responses according to the WSDL used for input. The generated server skeleton provides similar functionality on the server-side, accepting SOAP requests and issuing responses according to the given WSDL. The skeleton dispatches the request, with proper parameters, to the method that completes the service..."
From the white paper: "Project Persian, a key piece of Rogue Wave Software's Web services architecture, enables easy creation and consumption of high-performance Web services in C++, without the overhead of heavyweight middleware. With Persian, developers can quickly take existing C++ code and turn it into a set of Web services without adding additional layers such as a CORBA or JNI (Java Native Interface)wrapper. These Web services are fully interoperable, and can interoperate with code written in any architecture or language. For example, a .NET, J2EE or C++ client could invoke a Persian-based Web Service implemented in C++. Rogue Wave Project Persian also enables C++ code to consume other Web services, written in any language, without writing a single line of SOAP or HTTP code. For example, WSDL for a J2EE-based Web service can be given to Persian, and Persian will create a lightweight, cross-platform C++ proxy for that Web service. Persian's code generation technology produces easy-to-use, interoperable code for both the client and server that completely decouples your client and server code from SOAP or HTTP, meaning you don't have to maintain complicated protocol handling code..."
Principal references:
- Announcement 2002-06-06: "Persian - C++ Web Services Platform"
- Project Persian website
- "Project Persian: Creation and Consumption of High-Performance Web Services in C++." White Paper. 20 pages. [source]
- "Generating Persian Web Services"
- Rogue Wave Software website