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 Andreas Prouza Web Programmierung mit CGI, ILE RPG und SQL

2 © Andreas Prouza 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

4 CGI Technik © Andreas Prouza

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

6 RPG Aufruf (httpd.conf) LIB: WFM40OBJ PGM: DFMTEST © Andreas Prouza

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

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

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

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

11 RPG Aufruf © Andreas Prouza

12 RPG Aufruf 2 (LOGIN) © Andreas Prouza

13 PGM-Aufruf via HTML

© Andreas Prouza

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

15 Webseite © Andreas Prouza

16 Datenstrom Client PGM &Feld=Wert Konvertierung von Zeichen & %50 Blank + &P3TXT=Muster+%50+Maxi&P3DP=&DRPLG=G&P3 © Andreas Prouza

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

18 © Andreas Prouza 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

20 © Andreas Prouza 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

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

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

24 © Andreas Prouza CQE

25 © Andreas Prouza SQE

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

27 © Andreas Prouza 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 Native I/O vs. SQL Native I/O (z.B. in RPG) READE WRITE DELETE UPDATE SQL SELECT * FROM TABLE

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

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

31 © Andreas Prouza 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 Index Advisor Vorschläge vom System Mit statistische Informationen Art des Vorschlages (Binär, EVI)

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

34 © Andreas Prouza 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

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

37 © Andreas Prouza 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 Error Handling Whenever Statement Get Diagnostic Statement

39 Workflow-System TQS EDV-Software GesmbH Tel.: +43 (2252) Fax: +43 (2252) © Andreas Prouza

40 DB2 und RPG Schulungen DB2 Optimierung und Tuning ILE RPG Auf Anfrage mit 1 oder 2 Tage auch: CGI mit RPG © Andreas Prouza

41 © Andreas Prouza Danke! Fragen? Andreas Prouza


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

Ähnliche Präsentationen


Google-Anzeigen