I just finished a project I did on my own time to do all of this for my
company. Basically what I did was abstract away all the details of
connecting to the AS/400 through Java and results are returned as text
records.
A single Java class has methods to set parameters (Service Program Name,
Library Name, Procedure Name, Data) and then a Send Method.
In the class, it looks a property to see how to send. Can send as a
program call, service program call, data queue, stored procedure call,
etc. A result comes back and results are retrieved from a user space or
a text file. Since result is just text, can be different fixed records,
~ delimitted strings or XML.
On the AS/400 side, I wrote a mediator for each type of service. The
mediator just loads the correct service program and calls the correct
procedure through a service layer.
The service layer also provides functions to create a result set and
write to it.
Every service program written to implement receives the same parameters.
Parameters are usually sent as a ~ delimited string but also can just be
XML.
Using this system with data queues we got about 100 calls in 3 seconds.
Stored procedure calls should be about the same. Calls through program
calls took about 27 seconds for 100 calls because each time you call it
unloads and has to reload again on next call.
Maybe this can give you some ideas on how to implement this on your
system.
-----Original Message-----
From: java400-l-bounces@xxxxxxxxxxxx
[mailto:java400-l-bounces@xxxxxxxxxxxx] On Behalf Of
EStrobel@xxxxxxxxxxxxxxxx
Sent: Tuesday, December 23, 2008 8:37 AM
To: java400-l@xxxxxxxxxxxx
Subject: RPG to Java-based Services
We are in the process of implementing a new policy admin system under
Insurance Application Architecture (IAA) and some third party software
components we've purchased and can no longer directly access a database
file to get the data we need for legacy systems. This is a rule by the
vendor - all data within their components must be retrieved via their
Java based services - no direct access or SQL. However, all of our
back-end systems (Billing, Claims, etc) are written in RPG and Synon
RPG. We need to integrate this new policy admin system with the old
back-end systems and do not have any experience in the techniques or
technical implementation options to make this happen.
My job is to figure out how to do this - have our legacy RPG/Synon based
applications access their Java based services - what methods are
possible, pros/cons, performance implications, etc. These "services" can
be exposed as either web services (SOAP/HTTP) or EJB2 RMI. I believe at
the moment they are EJB's and are remote - they will not reside on the
same physical box as the RPG code. The platforms of each box more than
likely will be
different: Our legacy RPG code is on an iSeries, and the Java based
services will be deployed within Websphere Application Server on
Windows, AIX or Linux. More often than not, we'll need to send in
parameters, and be able to get back all of the relevant data we're
looking for.
Any ideas or experiences?
Erin L Strobel
Information Services - Programmer
Church Mutual Insurance
1-800-554-2642 Ext. 4947
--
This is the Java Programming on and around the iSeries / AS400
(JAVA400-L) mailing list To post a message email: JAVA400-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit:
http://lists.midrange.com/mailman/listinfo/java400-l
or email: JAVA400-L-request@xxxxxxxxxxxx Before posting, please take a
moment to review the archives at
http://archive.midrange.com/java400-l.
As an Amazon Associate we earn from qualifying purchases.