Author |
Message
|
sunny_30 |
Posted: Wed Jan 16, 2013 7:11 am Post subject: Design Q: Integrate WMBv7(AIX) with JDEdwards(Iseries7.1) |
|
|
 Master
Joined: 03 Oct 2005 Posts: 258
|
Looking for help from some one that has modeled JDEdwards data structures in WMB to communicte to iseries.
Requirement is to integrate JDEdwards (running on iseries v7.1) via WMBv7 to map to the otherside WebService SOAP-XML format.
Im trying to understand how the message-sets need to be built in WMB & importing what iseries artifacts to support JDE data?
I have no questions on the SOAP handling in WMB.
I see there are couple of JDEdwards WebSphere Adapter nodes that are shipped with WMBv7 to integrate with JDEdwards EnterpriseOne system.
I was told the JDE version we are dealing with is different. So this option is ruled out.
I found the following available options online:
A supportpac IAM7 that supplies node plugins to invoke ILE RPG programs using PCML calls.
However there seem to be some datatypes such as 8-byte unsigned integers that are not supported. If this pac is used, the data will be XMLNS.
Invocation of this node is not automatic. A MQ message from iseries system could be used to trigger this node to pull RPG program data.
The same supportpac (IAM7) or the Java calls can be used to communicate to JDE DataQueues directly.
The data can be Blob or CWF. But Im not sure if there is any automated way other than by manually defining each field in C-headers to construct the Message definition file to use for MRM CWF parser.
MQ approach: if this is used I have a question whether the data will be CWF or XML & how the CWF structures can be modeled.
Couple of Adapters are an option: WBI Adapter for iseries & also latest WebSphere JCA adapter to iseries.
Im sure with this approach the data will be XMLNS.
http://m.ibm.com/http/www-01.ibm.com/software/integration/wbiadapters/ibmi/
Could one of you help me clearing this up
Thanks in advance |
|
Back to top |
|
 |
lancelotlinc |
Posted: Wed Jan 16, 2013 7:13 am Post subject: |
|
|
 Jedi Knight
Joined: 22 Mar 2010 Posts: 4941 Location: Bloomington, IL USA
|
1. XMLNS is deprecated : use XMLNSC.
2. Explain this more fully: "map to the otherside WebService SOAP-XML format. " Who will create these XSD/WSDLs? _________________ http://leanpub.com/IIB_Tips_and_Tricks
Save $20: Coupon Code: MQSERIES_READER |
|
Back to top |
|
 |
sunny_30 |
Posted: Wed Jan 16, 2013 7:24 am Post subject: |
|
|
 Master
Joined: 03 Oct 2005 Posts: 258
|
Understood about XMLNSC part.
The SOAP xsd/wsdls are already supplied by the WebService. No questions on this.
The flow will be like this: JDE (iseries) <-> WMB <-> WebService
My question is on the: communication protocol to use, data format, connectors/adapters to use, create CWF message sets if needed ? for the flow between JDE <-> WMB
Forgot to mention in my above post that if WBI / WebSphere adapters are used I know XMLNSC BOs can be automatically built to communicate to JDE.
I understand that both Adapters & Data-queues or MQ queues approach will invoke the message flow automatically. |
|
Back to top |
|
 |
NealM |
Posted: Wed Jan 16, 2013 7:35 am Post subject: |
|
|
 Master
Joined: 22 Feb 2011 Posts: 230 Location: NC or Utah (depends)
|
I haven't been near JDE in maybe 12 years, but back then we did it via adding triggers and events tables to their database (pre-CrossWorlds, and our JDE support pac was withdrawn many years ago). The new MB8 DatabaseInput Node is like maybe the 4th IBM iteration of that approach. You might want to add that to your list of possibilities. |
|
Back to top |
|
 |
lancelotlinc |
Posted: Wed Jan 16, 2013 7:59 am Post subject: |
|
|
 Jedi Knight
Joined: 22 Mar 2010 Posts: 4941 Location: Bloomington, IL USA
|
|
Back to top |
|
 |
sunny_30 |
Posted: Wed Jan 16, 2013 8:58 am Post subject: |
|
|
 Master
Joined: 03 Oct 2005 Posts: 258
|
Thank you both: NealM & lancelotlinc
NealM: Thats very good information. I will explore that option as well. But my question is, for JDE on iseries, is there always a backend database that stores all data ? Pardon me for my ignorance on JDE/ iseries side. Im a novice in this area.
Also- if DatabaseInput node is used, Im guessing the data format always be XMLNS similar to WBI JDBC adapters ?
lancelotlinc: The JDEdwards version currently being used is JDEdwards World v9.1
From what I figured looking at both: WMB v7 & v8 infocenters is that the JDEdwards nodes supplied: JDEdwardsRequest & Reply only work with JDEdwards Enterprise One version. Looks like Enterprise One is very different from World type which doesnt seem to be supported for these nodes. Can any one from IBM confirm this for me please ?
The 'WebSphere Adapter for iseries' may be the one looks like I can use to communicate to JDE on iseries ..
As I mentioned above, the 'WebSphere Adapter for JDEdwards' seems to be only supported for EnterpriseOne version. It doesnt look like I can use this adapter for the 'JDE world' version. Broker supplied nodes are the same thing as this adapter.. |
|
Back to top |
|
 |
NealM |
Posted: Wed Jan 16, 2013 10:13 am Post subject: |
|
|
 Master
Joined: 22 Feb 2011 Posts: 230 Location: NC or Utah (depends)
|
We (well, not me, my expertise was Baan back then. ) worked on JDEdwards World Vision 7.3 and 8.1. That was the name for their product that ran on the AS/400. Their One World product ran on Unix. Dunno about Enterprise One, it didn't exist at the time. At least on World Vision v8.1 all that was needed for interfacing was on the database. I haven't used the new DatabaseInput Node yet, but I assume it has a discovery feature like the JDBC adapter had. And it looks like the i-Series database is supported. |
|
Back to top |
|
 |
sunny_30 |
Posted: Wed Jan 16, 2013 11:18 am Post subject: |
|
|
 Master
Joined: 03 Oct 2005 Posts: 258
|
Neal- Thank you for clarification. Will all the iseries datatypes be supported by Broker if JDBC interaction is used ?
On a different note, with your background on JDE, would you please let me know what are the "artifacts" that I can use from JDE/iseries that helps me build a Fixed-width (CWF) Message-definition file automatically. Whats the best way to approach that. I know I could create a C-header definition manually..
Looking at the IBM help & supportpac:IAM7 documentation, it looks if WebSphere adapter is used to connect to iseries, some of the datatypes may not be supported (as they are not supported by PCML to invoke RPG) as per following link:
http://publib.boulder.ibm.com/infocenter/iadthelp/v7r0/index.jsp?topic=/com.ibm.etools.iseries.pgmgd.doc/c0925076180.htm
My question is if some of datatypes like "8-byte Unsigned Integer" are not supported, can these be manually handled by using ESQL or some predefined datatypes in toolkit..
Because, if I propose the route of using WebSphere Adapters (although I will do a POC.. )I dont want to end up in a situation where some datatypes are not supported & we scrap the implementation ! |
|
Back to top |
|
 |
NealM |
Posted: Wed Jan 16, 2013 3:23 pm Post subject: |
|
|
 Master
Joined: 22 Feb 2011 Posts: 230 Location: NC or Utah (depends)
|
Sunny, what we did was part of an MQ adapter "service offering" that IBM had available for connecting to various ERP systems prior to purchasing the entire CrossWorlds company. Our stuff required a lot more custom work than the new purchase, and so was quickly phased out as the CW stuff was tested, tweaked and phased in. I may be able to find out what JDE tables were involved (for that release), but likely not much more. And it was the guy sitting at the next desk who did JDE; my expertise was in the now long-gone Baan ERP.
Regarding datatypes, if you do any table "discovery", just look up what the Broker uses as equivalents for the DB2 column datatypes. They are all covered. Look up "Data types of values from external databases" in the info center.
From the standpoint of XML, a short, int, and long are all treated as type INTEGER in the Broker, non-negative is handled by using a restriction on those base types in your schema. So your "8-byte Unsigned Integer" could become:
Code: |
<simpleType name="NonNegativeInt_8">
<restriction base="int">
<totalDigits value="8"/>
<minInclusive value="0"/>
</restriction>
</simpleType>
|
Oh, and going the other way, an xml nonNegativeInteger becomes a DECIMAL datatype in the Broker, so note the diff. |
|
Back to top |
|
 |
sunny_30 |
Posted: Thu Jan 17, 2013 2:41 pm Post subject: |
|
|
 Master
Joined: 03 Oct 2005 Posts: 258
|
Neal- Nice info. Thanks again !
Looks like you are pretty much saying that any DB2 or iseries datatype can be handled in WMB integration layer.
I have suggested to the JDE app team here that we could use DataBase or compute nodes to directly interact with iseries database. They are generally liking this idea but from the feedback I received, I might end up with atleast some flows that will use supportpac: IAM7 or the WebSphere iseries adapter to invoke the RPG programs directly, instead of its database...
But there seems to be a problem with using the supportpac or the adapters as per their documentation. There are some datatypes that are not supported by PCML:
Supportpac link:
http://www-01.ibm.com/support/docview.wss?uid=swg24030516
Some info on what PCML is:
‘Iseries’ data structures can be modeled inside Broker by obtaining PCML program call documents.
XML Style sheet documents (XSLs) are provided in the IAM7 supportpac to convert the imported PCML into XML schema, that can be used inside Broker..
Here is what it says in IAM7 supportpac documentation (page-5):
Code: |
Note:
There are some data types not supported by PCML currently. See the restrictions at:
http://publib.boulder.ibm.com/infocenter/iadthelp/v7r0/index.jsp?
topic=/com.ibm.etools.iseries.pgmgd.doc/c0925076180.htm
The generated PCML file will have additional comments if there are not supported data types. |
Im not sure what this means. Does this mean that any datatypes that are not supported by PCML cannot be handled inside Broker as they are already lost format in JDE ? Any workaround that I do inside Broker ?
I also reached out to the supportpac authors. I will post here if I receive any feedback from them |
|
Back to top |
|
 |
jwende |
Posted: Mon Jan 21, 2013 6:56 am Post subject: Supportpack IAM7 - Restrictions |
|
|
 Novice
Joined: 02 Jul 2001 Posts: 23
|
Hi,
I'm one of the authors of this supportpack. I haven't spent much time on the data formats for the DataQueue Nodes - but if your data structures (DDS files / RPG definitions) are not too complex you may define them by hand using MRM or DFDL. Cobol definitions can be imported directly. If there is demand (and time ...) I could change the Nodes to take MRM or DFDL directly in addition to the current BLOB format.
PCML calls are non-transactional and synchronous by nature - so if you should switch to MQ (transactional) or DataQueues (non-transactional) if you need an event based system.
Direct access to DB2/400: This can be problematicly as you need to have a good understanding of the internal (application level) dependencies. Many iSeries systems aren't configured for database transactions (journaling) ...
Restrictions on datatypes:
Quote: |
The following are restrictions imposed by PCML regarding parameter and return value types.
The following data types are not supported by PCML:
Date
Time
Timestamp
Pointer
Procedure Pointer
1-Byte Integer
8-byte Unsigned Integer
Return values and parameters passed by value can only be 4 byte integers (10i 0).
Varying-length arrays, and data structures containing varying-length subfields are not supported.
|
These datatypes are marked as non-supported in the generated PCML file - you might change these entries to strings and handle them manually in your mapping code (e.g. formatting a Date into a 'YYMMDD' string) - to do this you need to analyze the date definition section of the corresponding RPG or Cobol program.
Regards
Joerg |
|
Back to top |
|
 |
sunny_30 |
Posted: Wed Jan 23, 2013 1:40 pm Post subject: |
|
|
 Master
Joined: 03 Oct 2005 Posts: 258
|
Joerg- Thanks very much for your kind response. Really appreciate it. That answers all my questions !! |
|
Back to top |
|
 |
sunny_30 |
Posted: Wed Jan 30, 2013 5:59 pm Post subject: |
|
|
 Master
Joined: 03 Oct 2005 Posts: 258
|
Hello Joerg-
Sorry I wasnt over.. I have more questions on this topic.. Appreciate if you could answer..
Is there any significant difference you can think of, in the working of "WebSphere Adapter for IBM i" compared to the "IAM7 supportpac" ? meaning - Will there be any specific advantages in terms of: data-modeling, error-handling, transaction-handling etc if we use one over another ?
here is the link to adapter documentation:
http://publib.boulder.ibm.com/infocenter/dmndhelp/v7r0mx/index.jsp?topic=%2Fcom.ibm.wsadapters.jca.iseries.doc%2Fdoc%2Fstbp_isa_welcome.html
I know the WebSphere adapters in general require a MQ queue to be configured to communicate messages between Broker Integration engine & the adapter process. But with IAM7 supportpac nodes, I understand that Broker flows can directly communicate to iseries RPG programs or the dataqueues. I wanted to understand if there are any other major differences beyond this ?
The external service wizard that seem to be supplied with the WebSphere adapter lets us generate business objects (.xsd-s) from the selected objects automatically. But with IAM7 this process is manual but Im not sure if there are any limitations in IAM7 compared to the Adapter
Please help
Thank you ! |
|
Back to top |
|
 |
|