http://en.wikipedia.org/wiki/Hybrid
Zie ook de vorige blog-entry:
http://joscoenen.blogspot.com/2008/05/rpg-versus-java-op-iseries-of-is-het.html
De Java omgeving is een webapplicatie (in de vorm van een warfile) die in een webserver (WebSphere of TomCat) draait.
Dit noemt men J2EE.
Inderdaad het is mogelijk om met Java en JTOpen database driver,
de iSeries database te gebruiken.
Maar om alleen de relationele database te gebruiken (die overigens heel volwassen is en volledig SQL enabled is) is zonde van de rest van de iSeries.
De legacy applicaties (RPG of CoolGen) kennen al jaren een uitgebreide API en UPI structuur om met andere (legacy) applicaties gegevens uit te wisselen.
Juist de API's zijn zeer goed via PCML aanroepen herbruikbaar in een Java (web) omgeving.
De eerder genoemde JTOpen AS400 toolkit ondersteunt program en command calls.
Zo is het dus mogelijk om (batch) programma's aan te roepen.
En ook commando's af te vuren, zoals SBMJOB.
Zo kunnen CL en RPG programma's vanuit de Java webapplicatie in een batchjob uitgevoerd worden, eventueel zelfs op een gepland tijdstip.
Zo wordt het workmanagement van de iSeries ook gebruikt:
jobs in een jobqueue verbonden aan een batchsubsysteem.
Inclusief een boodschap(message) dat de job (ab)normaal afgelopen is.
Inclusief een spooledfile met de Java standard of error output.
De JTOpen AS400 toolkit kan jobs, messages en spooledfiles ophalen en de Java webapplicatie kan deze aan de gebruiker tonen.
Ook het aanmaken van rapporten in CSV of PDF formaat kan in batch gebeuren door het Java commando (RUNJVA of gewoon JAVA) af te vuren.
Dat vereist wel dat de Java code (in de vorm van een warfile) in de webapplicatie, nogmaals gedeployed moet worden.
Ditmaal niet in WebSphere maar als filesystem in het IFS, het Integrated File System.
Het JAVA commando wordt dan gesubmit inclusief het classpath (WEB-INF/classes en WEB-INF lib) dat verwijst naar de "dummy"webapplicatie in het IFS.
De rapporten zelf (CSV of PDF files) kunnen door de Java programmatuur in het IFS gezet worden, bijvoorbeeld in /home/
Op deze manier wordt dus ook het IFS van de iSeries gebruikt.
Door (nieuwe) SQLRPG programma's te schrijven op de iSeries, kunnen zoekschermen in de webapplicatie pagina-gevuld gemaakt worden, inclusief zoekfilters.
De SQLRPG geeft dan in een aanroep precies genoeg records (die aan het zoekfilter voldoen) terug om 1 pagina te tonen.
Met WDSC for iSeries kunnen in een (1) IDE zowel de Java code als de (SQL)RPG's gedebugged worden.
Zo kan er steeds gekozen worden waar de programmatuur (hoort) te draaien:
op de server (iSeries) of in de (Java) webapplicatie.
En dat met gebruikmaking van de bestaande legacy expertise en de (schaarse) Java kennis.
Kortom: Best of Both Worlds!
Zie ook: http://www.systemimagazine.nl/html/archief/2008/okt/2611.html
1 comment:
Wauw, wat een fantastisch verhaal. Maar alleen als je de achtergrond kent, is het denk ik te volgen.
Post a Comment