I'm building a
comercial consumer-oriented web site using Microsoft's new .NET infrastructure
and I am attempting to use Jess as a back-end service behind the web
application. The issue I'm facing is how to bridge the Win32<->Java
gap while trying to minimize the Java-architecture-learning-curve and $
expense. It also needs to be architected so that I can achieve
scaleability in the future. I've spent a week researching
this (including the archive of this list), and before I get down to serious
coding, I wanted to run my analysis by this group to make sure I'm on the right
track.
I don't want to go
back to CLIPS, because it doesn't use the Rete algorithim, and doesn't seem to
be being maintained much and I'm not willing to write the whole app in
Java. I could use a comercial product such Haley, however besides the
cost, they don't seem to have fuzzy rule support which I would like to use in
the future.
The basic
architecture that I think scaleability requires is to have a Jess Server
capable of managing multiple Rete() engines, one for each task - each with its
own thread, and possibly in the future having multiple Jess Servers clustered
together. So the issue is is how to build this with minimum fuss, and how
to communicate with it.
So, my options
I see are:
1) COM Wrapper such
as Sun's CAS COM. Problem here is that It doesn't seem scaleable (each
instance is a seperate JVM - do I have this right?).
2) Use CORBA as a
trasport between Win32<->Jess Server. Problem here is CORBA support
seems week on the .NET side and this seems to be alot of trouble and perhaps
overkill, plus I still need an App Server. But this could just be my
inexperience with CORBA talking.
3)
JNI - Not
really a transport solution, but could be part of a solution
4) Web Services (via
SOAP) - this is my prefered method, however on the Java side I would have to buy
lots of expensive tools (such as CapeConnect + an App Server) - Isn't there
an easier way to handle SOAP in the Java side?
5) Sockets - this is
what I'm currently leaning toward. I'm considering building a simple Jess
Server via Sockets using the App Server framework outlined in the book 'Server
based Java Programming' by Neward.
So, I ask this group
- Is my thinking on track or am I missing something? Any experience or
advice (or code) would be appreciated.
Thanks in
advance,
Randy
Bradley
