Discussions related to Visual Prolog
Paul Cerkez
VIP Member
Posts: 106
Joined: 6 Mar 2000 0:01

VIP Prolog and SOA

Unread post by Paul Cerkez »

This might be more for PDC but has any one applied/used VIP applications in a Service Oriented Architecture (SOA)?

I have a potential effort to replace an old legacy rule based application that was founded on CLIPS (C-language Inference Production System) with a newer approach but it must be a SOA compliant implementation (customer mandate - absolute). The final application has to work as both a web app and a standalone desktop app (hence the SOA approach).

If anyone has done VIP-SOA, in very general terms, what would it take to do it (ex: VIP code can be used natively, wrap all VIP generated code in a C++ or C# wrapper, etc.)?

P
AI Rules!
P.
User avatar
Thomas Linder Puls
VIP Member
Posts: 1395
Joined: 28 Feb 2000 0:01

Unread post by Thomas Linder Puls »

Visual Prolog 7.5 (i.e. the next release) will have support for creating Web Services (based on JSON RPC). The services can run both as a standalone server or as an ISAPI plugin in the IIS.
Regards Thomas Linder Puls
PDC
Paul Cerkez
VIP Member
Posts: 106
Joined: 6 Mar 2000 0:01

Unread post by Paul Cerkez »

Great news Thomas.

How soon before 7.5 is released?
AI Rules!
P.
User avatar
Thomas Linder Puls
VIP Member
Posts: 1395
Joined: 28 Feb 2000 0:01

Unread post by Thomas Linder Puls »

We will update of the language reference, etc now. Then I will have vacation (I am actually going to USA, but not near you). Anyways, I think it will be in the end of July.
Regards Thomas Linder Puls
PDC
Paul Cerkez
VIP Member
Posts: 106
Joined: 6 Mar 2000 0:01

Unread post by Paul Cerkez »

end of July might actually work for us.

we will be putting together a bid proposal during July, is there anything you could send me on the implementation in VIP that i could read up on in advance?

P.
AI Rules!
P.
User avatar
Thomas Linder Puls
VIP Member
Posts: 1395
Joined: 28 Feb 2000 0:01

Unread post by Thomas Linder Puls »

Not really. The plan is to write wiki tutorial(s) after the release.

You should however be aware that we have focused on JSON-RPC opposed to WSDL/SOAP. This may break your customer requirements.

While it is by no means impossible to use WSDL/SOAP you should just expect rather little support from the system.

Basically, you will expose an RPC (Remote Procedure Call) service. The glue code necessary to make your predicates into RPC methods is rather trivial and can be mastered almost immediately (since you already know Visual Prolog).

Once your predicates have been wrapped as a "service" you can embed it in a program that expose it as a stand alone HTTP/HTTPS server, this requires less than 100 lines of code. Or you can embed it in an ISAPI dll that can run in the Internet Information Services (IIS).

In both cases using HTTPS is only a matter of certificate setup on the server computer, in the program (or its configuration file) you only need to change a single character (namely the 's' in the url).

Vip 7.5 contains demonstration programs:
  • A stand alone HTTP/HTTPS server exposing some HTML files and a Web service. The HTML contain HTML5+JavaScript for accessing the service.
  • An ISAPI program exposing the same Web Service. With some configuration if the IIS it will run the same demo.
  • A GUI program which also acts as a HTTP/HTTPS stand-alone server. It has same functionality as the other servers and mainly illustrates how the functinality of an existing GUI program can be exposed as a Web Service without complete rewrite. (It is not really advisable to use this method in an operating environment).
All these variants of the demo can be run directly from a browser, but there is also demo showing how a Visual Prolog client program can access such services.

It is these programs that will be described in the tutorial(s).

You can look at the JSON-RPC background material:
Regards Thomas Linder Puls
PDC
Paul Cerkez
VIP Member
Posts: 106
Joined: 6 Mar 2000 0:01

Unread post by Paul Cerkez »

Thank You Thomas.

Yes, you are correct, I may be driven to wsdl/SOAP by the customer (there have been hints of such).

I'll do some more digging.

P.
AI Rules!
P.
Post Reply