Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

© Andreas Prouza 20111 Andreas Prouza Web Programmierung mit CGI, ILE RPG und SQL.

Ähnliche Präsentationen


Präsentation zum Thema: "© Andreas Prouza 20111 Andreas Prouza Web Programmierung mit CGI, ILE RPG und SQL."—  Präsentation transkript:

1 © Andreas Prouza 20111 Andreas Prouza Andreas.Prouza@tasklink.com Web Programmierung mit CGI, ILE RPG und SQL

2 © Andreas Prouza 2011 2 Themen CGI Technik Installation Webserver Aufruf von CGI (RPG) Programmen via HTTP Kommunikation Client mit RPG Programm SQL Optimierung

3 Abkürzungen CGI Common Gateway Interface RPG Report Program Generator SQL Structured Query Language © Andreas Prouza 2011 3

4 CGI Technik © Andreas Prouza 2011 4

5 Installation Webserver /www/WebServer/conf/httpd.conf STRTCPSVR SERVER(*HTTP) HTTPSVR(*ADMIN) http://192.168.0.10:2001/HTTPAdmin Mit QSECOFR oder gleichwertigen User anmelden PDF Anleitung © Andreas Prouza 2011 5

6 RPG Aufruf (httpd.conf) http://192.168.0.10:95/pgms/dfmtest.pgm LIB: WFM40OBJ PGM: DFMTEST © Andreas Prouza 2011 6

7 Kommunikation Client RPG HTML-Buffer einlesen QtmhRdStin HTML-Buffer ausgeben QtmhWrStout Umgebungs-Variable einlesen QtmhGetEnv © Andreas Prouza 2011 7

8 QtmhRdStin D*===================================== D*?API StdIn D*===================================== DAPIStdIn C 'QtmhRdStin' DInData S 4096A INZ DInDataln S 9B 0 INZ(4096) DInActLn S 9B 0 © Andreas Prouza 2011 8

9 QtmhWrStout D*====================================== D*?API StdOut D*====================================== DAPIStdOut C 'QtmhWrStout' DOutBuff S 4096A INZ DOutBuffln S 9B 0 INZ(4096) © Andreas Prouza 2011 9

10 Programm-Beispiel RPG C*================================ C** ?Buffer C*================================ C ' ' checkr OutBuff in C CALLB APIStdOut C PARM OutBuff C PARM in OutBuffLn C PARM QUSEC © Andreas Prouza 2011 10

11 RPG Aufruf © Andreas Prouza 2011 11

12 RPG Aufruf 2 (LOGIN) © Andreas Prouza 2011 12

13 PGM-Aufruf via HTML

© Andreas Prouza 2011 13

14 Programm-Beispiel RPG C*================================ C** ?Buffer C*================================ C CALLB APIStdIn C PARM ' ' INData C PARM INDataLn C PARM INActLn C PARM QUSEC © Andreas Prouza 2011 14

15 Webseite © Andreas Prouza 2011 15

16 Datenstrom Client PGM &Feld=Wert Konvertierung von Zeichen & %50 Blank + &P3TXT=Muster+%50+Maxi&P3DP=&DRPLG=G&P3 ML=Maxi.Muster@tqs.at&DRPSL=U © Andreas Prouza 2011 16

17 HTML-Beispiele Workflows Stammdaten Client/Server Filter Firmenabgleich Dynamischer SQL Aufbau © Andreas Prouza 2011 17

18 © Andreas Prouza 2011 18 Index Binary Radix Tree Index Logischer Baum Encoded Vector Index (EVI) Auch Bitmap Index genannt

19 Binary Radix Tree Index Seit 1988 Verwendung Auswahlkriterien Sortierung Summe der DS < 70 % - 80 % Entscheidung vom Optimizer © Andreas Prouza 2011 19

20 © Andreas Prouza 2011 20 Binary Radix Tree Index

21 Encoded Vector Index (EVI) Seit 1998 (10 Jahre später) Verwendung Gruppierung Zeilenauswahl Logische Operationen (AND, OR, …) Summe der DS 20 % – 70 % Entscheidung vom Optimizer © Andreas Prouza 2011 21

22 © Andreas Prouza 2011 22 Encoded Vector Index (EVI) System Tabelle Unique-Key Statistiken Vector

23 © Andreas Prouza 2011 23 DB2 Engine SQE (SQL Query Engine) Eingeführt ab V5R2 CQE (Classic Query Engine)

24 © Andreas Prouza 2011 24 CQE

25 © Andreas Prouza 2011 25 SQE

26 © Andreas Prouza 2011 26 DDS vs. DDL DDL Data Definition Language CREATE TABLE DDS Data Description Specifications

27 © Andreas Prouza 2011 27 DDS vs. DDL DDS ist stabilisiert Keine Neuheiten DDS ist potentielle Gefahr für SQE DDL bieten viele Möglichkeiten (Index, MQTs, UDF, SP, …)

28 © Andreas Prouza 2011 28 Native I/O vs. SQL Native I/O (z.B. in RPG) READE WRITE DELETE UPDATE SQL SELECT * FROM TABLE

29 © Andreas Prouza 2011 29 Native I/O Fixer Zugriffspfad Dadurch kein Overhead wie bei SQL Direkter Datenzugriff

30 © Andreas Prouza 2011 30 SQL Dynamischer Zugriffspfad Immer der Optimale Internationale Sprache Anpassungen sind einfacher Plattform unabhängiger Zugriff Monitoring

31 © Andreas Prouza 2011 31 SQL Vielfalt an Funktionen (Order By) Mehrere Cursor für den gleichen Zugriffsplan möglich Keine Abstürze von Programmen Error Handling SQL (und SQE) wird weiter entwickelt uvm.

32 © Andreas Prouza 2011 32 Index Advisor Vorschläge vom System Mit statistische Informationen Art des Vorschlages (Binär, EVI)

33 © Andreas Prouza 2011 33 Materialized Query Table Eine Tabelle ähnlich wie ein View erstellt. Daten sind Physisch vorhanden Aktualisierung der Daten geschieht manuell

34 © Andreas Prouza 2011 34 MQT Vorteil Schneller Zugriff durch Aufteilung Zusätzliche Indizes möglich Nachteil Speicherverbrauch Know-How

35 Stored Procedure (SP) SQL Prozedur Externe Prozedur © Andreas Prouza 2011 35

36 © Andreas Prouza 2011 36 User-Defined Function Sourced UDF SQL UDF External UDF

37 © Andreas Prouza 2011 37 Tuning des Systems Aktivierungsgruppen Indizes MQTs DDS LF mit Select/Omit Spezifikation SQL immer auf Basistabellen Select Into Dynamisches SQL wieder verwenden In Blöcke einlesen

38 © Andreas Prouza 2011 38 Error Handling Whenever Statement Get Diagnostic Statement

39 Workflow-System http://tasklink.com/ TQS EDV-Software GesmbH Tel.: +43 (2252) 508 708 - 17 Fax: +43 (2252) 508 708 - 13 andreas.prouza@tasklink.com © Andreas Prouza 2011 39

40 DB2 und RPG Schulungen http://www.erfolgsbildung.at/ DB2 Optimierung und Tuning ILE RPG Auf Anfrage mit 1 oder 2 Tage auch: CGI mit RPG © Andreas Prouza 2011 40

41 © Andreas Prouza 201141 Danke! Fragen? Andreas Prouza Andreas.Prouza@tasklink.com


Herunterladen ppt "© Andreas Prouza 20111 Andreas Prouza Web Programmierung mit CGI, ILE RPG und SQL."

Ähnliche Präsentationen


Google-Anzeigen