PDA

View Full Version : APIs oder CL-Commands nutzen?



bussibaer
09-09-10, 07:58
Hallo zusammen,

wie ich ja in einem anderen Beitrag schon schrieb, mache ich eine Anwendung zur Drucker-/Outqerstellung und Verwaltung in PHP über ODBC.
Ich habe bisher alles was ich brauchte über CL-Commands gemacht, was auch funktioniert.

Nun bin ich über das Printer API - Handbuch für V5R3 gestolpert, und da tun sich mir zwei Fragen auf:
Ist es sinnvoller nur die APIs zu nutzen, oder sollte man die nur da nutzen, wo man mit CL-Commands nicht weiter kommt?
Ich habe schon gesucht, aber nichts gefunden: Gibt es bei den APIs Unterschiede zwischen V5R3 und V5R4? Hat da evtl. jemand einen Link?

B.Hauser
09-09-10, 08:07
Grundsätzlich gilt:

CL-Commands haben ihre Berechtigung.
APIs liefern i.d.R. mehr und detailliertere Daten als CL-Commands.
Die Verwendung von List-APIs (anstatt CL-Commands mit Output in physische Dateien) liefert das Ergebnis wesentlich schneller, ist jedoch komplizierter zu programmieren.


Laut IBM: Werden APIs nur der Gestalt verändert, dass:

Optionale Parameter hinzugefügt werden
Neue Datenstruktur-Unterfelder allenfalls am Ende der Datenstrukturen eingefügt werden.
Sind neue Datenstrukturen erforderlich werden neue Formate eingeführt.


... das stimmt auch (fast immer!).

Die Änderungen in den APIs sollten in der Dokumentation des aktuellen (in Deinem Fall V5R4) erkennbar sein.

Birgitta

BenderD
09-09-10, 08:42
.. APIs und Commands sind ein Lehrbeispiel, des Einflusses von Namen auf die gefühlte Komplexität einer Software Komponente...
In deinem Fall (Aufruf via ODBC) sind APIs eigentlich leichter verwendbar, man kann sie direkt als Stored Procedure verdrahten, oder über RPC oder REXEC aufrufen, Commands müssen vorher erst wieder in ein Programm verpackt werden (doppelt verpackt, denn ein Command ist die Verpackung eines Programms).
Die oft beschworenen Performance Unterschiede kannst du getrost vernachlässigen, das verschwindet im Grundrauschen.

D*B


Hallo zusammen,

wie ich ja in einem anderen Beitrag schon schrieb, mache ich eine Anwendung zur Drucker-/Outqerstellung und Verwaltung in PHP über ODBC.
Ich habe bisher alles was ich brauchte über CL-Commands gemacht, was auch funktioniert.

Nun bin ich über das Printer API - Handbuch für V5R3 gestolpert, und da tun sich mir zwei Fragen auf:
Ist es sinnvoller nur die APIs zu nutzen, oder sollte man die nur da nutzen, wo man mit CL-Commands nicht weiter kommt?
Ich habe schon gesucht, aber nichts gefunden: Gibt es bei den APIs Unterschiede zwischen V5R3 und V5R4? Hat da evtl. jemand einen Link?

bussibaer
09-09-10, 15:22
Danke für eure Ausführungen. Also werde ich weiterhin CL-Befehle benutzen. Nur wo ich detaillierte Informationen benötige (z.B. Drucker ist gestartet, aber an welcher Outq hängt der) sind also APIs eine Sinnvolle Ergänzung, bzw. wo ich Informationen wie Outq-Inhalt benötige dieses über APIs lösen.

@D*B

Normale CL-Befehle gehen auch wunderbar direkt über ODBC. Ich habe mir dafür extra eine kleine Routine gestrickt, die diese Befehle in die QCMDEXE einpflanzt und ausführt.