Anyone out there been looking at a way of migrating ABF code to JBOSS?
What I am thinking is that Ingres Forms contain display & validation
code, which could be converted to Java servlets (or maybe JSP / Struts
?). The OSQ Frame behind them could then become EJBs which communicate
with the front-end.
Fantasy?
It would take a lot of careful design to put together a cross-compiling
utility which could generate the new code from reading the abf database
and underlying osq files. By my estimates, it would take about 6 months
to get a proof of concept together.
Any thoughts ?
Anyone out there with hot "C" parsing knowledge ? From what I have seen
so far, it may require a 2-phase parser, firstly to identify all the
event code entry points and common variables, the second to actually
parse the source code and generate the Java class files.
First part of the project would require mapping all the ABF elements to
the target Java types (Servlet, JSP, EJB, Session Beans etc. etc.). For
that, we need a hot Enterprise Java architect, to sit alongside someone
with understanding of ABF construction.
This idea has been nagging me ever since CA Open Sourced Ingres.
Please, someone put me out of my misery by either telling me it's a
stupid idea, or that it has some potential.
Dennis
Roy Hann - 24 Feb 2005 23:37 GMT
> Anyone out there been looking at a way of migrating ABF code to JBOSS?
>
[quoted text clipped - 25 lines]
> Please, someone put me out of my misery by either telling me it's a
> stupid idea, or that it has some potential.
It's a fine idea, and Cognesis thought so too. But they went bust trying.
There is also the problem that you would be using an OO paradigm to
implement procedural code, so you'd end up with a dead-end solution: your
Java code wouldn't really serve as the basis for future development.
Perhaps my colleague Wojtek Rappak will elaborate. He has spent much more
time thinking about this than I have. I am probably grossly simplifying his
views, but I think he feels it's a no-hoper. All you can do is attempt to
manually extract the business logic from the ABF (usually a titanic struggle
all by itself), and then use that to design and implement an OO solution in
the traditional way. The fundamental problem is that you can't write tools
that will intuit meaningful business objects from traditional "4GL" code.
A couple of years ago we tried to develop a server to run ABF by proxy: the
idea was to provide an interface to the ABF logic so that it could be
invoked from Java clients. We sorta got it working, but ABF's limited and
patchy ability to "introspect" and fully expose its own meta-data made it
impossible to use except in special cases, so we abandoned it. I suppose
that we could now fix ABF so that it could give us the meta-data we would
need, but I can think of about 20 other things I'd rather spend my energy on
now. I still think this would be a better approach though, because you
would use good Java to run good ABF/4GL, instead of generating (necessarily)
crap Java to do things in an inescapably crap way. And you could continue
to develop the 4GL code, so it wouldn't be a dead-end.
However, the ideal solution is much more radical than anything we've
mentioned above...but that's another thread for another time.
Roy Hann (rhann at rationalcommerce dot com)
Rational Commerce Ltd.
www.rationalcommerce.com
"Ingres development, tuning, and training experts"