Getting Started with Python on IBM i - LISUGlisug.org/presentations/Python.pdf · IBM i Emerging...

32
10/21/2015 1 © Copyright IBM Corporation 2015. Technical University/Symposia materials may not be reproduced in whole or in part without the prior written permission of IBM. Getting Started with Python on IBM i Jesse R. Gorzinski, MBA [email protected] IBM i Emerging Solutions IBM Corporation 1 © Copyright IBM Corporation 2015. Technical University/Symposia materials may not be reproduced in whole or in part without the prior written permission of IBM. Agenda Introduction Install Python on i Use modern tools Explore what you get Install community packages Hello, world! Let's go to the web!

Transcript of Getting Started with Python on IBM i - LISUGlisug.org/presentations/Python.pdf · IBM i Emerging...

10/21/2015

1

© Copyright IBM Corporation 2015. Technical University/Symposia materials may not be reproduced in whole or in part without the prior written permission of IBM.

Getting Started with Python on IBM i

Jesse R. Gorzinski, [email protected] i Emerging Solutions IBM Corporation

1IBM Systems Technical University, October 5-9 | Hilton Orlando© Copyright IBM Corporation 2015. Technical University/Symposia materials

may not be reproduced in whole or in part without the prior written permission of

IBM.

Agenda

• Introduction

• Install Python on i

• Use modern tools

• Explore what you get

• Install community packages

• Hello, world!

• Let's go to the web!

10/21/2015

2

2IBM Systems Technical University, October 5-9 | Hilton Orlando© Copyright IBM Corporation 2015. Technical University/Symposia materials

may not be reproduced in whole or in part without the prior written permission of

IBM.

What IBM i is doing

• Supporting ecosystems

• Enabling open source software (OSS) to run "out of the box"

• Enabling software engineering on open source languages/runtimes

• Enabling easy extension of OSS for IBM i

• Shipping OSS

• Contributing code to OSS

3IBM Systems Technical University, October 5-9 | Hilton Orlando© Copyright IBM Corporation 2015. Technical University/Symposia materials

may not be reproduced in whole or in part without the prior written permission of

IBM.

Open Source for IBM i

• New LPO – 5733OPS Open Source for IBM i

• New license program option

• Designed for Open Source offerings on IBM i

• Provides a safe way for Open Source to be delivered on IBM i

10/21/2015

3

4IBM Systems Technical University, October 5-9 | Hilton Orlando© Copyright IBM Corporation 2015. Technical University/Symposia materials

may not be reproduced in whole or in part without the prior written permission of

IBM.

Open Source: a vibrant and prevalent phenomenon!

5IBM Systems Technical University, October 5-9 | Hilton Orlando© Copyright IBM Corporation 2015. Technical University/Symposia materials

may not be reproduced in whole or in part without the prior written permission of

IBM.

Popularity Contest

5

http://www.theregister.co.uk/2013/03/18/nvidia_continuum_pyhton_on_cuda_gpu/

10/21/2015

4

6IBM Systems Technical University, October 5-9 | Hilton Orlando© Copyright IBM Corporation 2015. Technical University/Symposia materials

may not be reproduced in whole or in part without the prior written permission of

IBM.

• https://www.python.org/about/success/

• 41 real-life success stories across multiple domains

Python success stories!

7IBM Systems Technical University, October 5-9 | Hilton Orlando© Copyright IBM Corporation 2015. Technical University/Symposia materials

may not be reproduced in whole or in part without the prior written permission of

IBM.

Install Python on i

10/21/2015

5

8IBM Systems Technical University, October 5-9 | Hilton Orlando© Copyright IBM Corporation 2015. Technical University/Symposia materials

may not be reproduced in whole or in part without the prior written permission of

IBM.

• 5733-OPS has 15 options available NOW!

• The options themselves are placeholders

• Function will be delivered via PTF

5733-OPS: a bit unconventional?

9IBM Systems Technical University, October 5-9 | Hilton Orlando© Copyright IBM Corporation 2015. Technical University/Symposia materials

may not be reproduced in whole or in part without the prior written permission of

IBM.

1. Install XMLSERVICEhttp://yips.idevcloud.com/wiki/index.php/XMLService/XMLSERVICEInstall

2. Install 5733OPS Option 2

3. Install latest SC1 PTF'shttps://www.ibm.com/developerworks/community/wikis/home?lang=en#!/wiki/W1c12c273752d_4cb8_b000_8375ec43426d/page/5733-SC1%20PTFs

4. Install new-function PTF'sSI57008 runtimeSI57253 SI57254 SI57255 SI57256

(or latest superceding PTF's).

5. Verify the install by running 'python3 --version' from a terminal

Installing Python on i

10/21/2015

6

10IBM Systems Technical University, October 5-9 | Hilton Orlando© Copyright IBM Corporation 2015. Technical University/Symposia materials

may not be reproduced in whole or in part without the prior written permission of

IBM.

DB2 connector (SI57253):

easy_install3 /QOpenSys/QIBM/ProdData/OPS/Python-pkgs/ibm_db/ibm_db-*.egg

Toolkit for IBM i (SI57254):easy_install3 /QOpenSys/QIBM/ProdData/OPS/Python-pkgs/itoolkit/itoolkit-*.egg

FastCGI gateway support (SI57255):easy_install3 /QOpenSys/QIBM/ProdData/OPS/Python-pkgs/flipflop/flipflop-*.egg

lightweight web framework (SI57256):easy_install3 /QOpenSys/QIBM/ProdData/OPS/Python-pkgs/bottle/bottle-*.egg

Installing shipped add-ons (install PTF first)

11IBM Systems Technical University, October 5-9 | Hilton Orlando© Copyright IBM Corporation 2015. Technical University/Symposia materials

may not be reproduced in whole or in part without the prior written permission of

IBM.

Use modern tools

10/21/2015

7

12IBM Systems Technical University, October 5-9 | Hilton Orlando© Copyright IBM Corporation 2015. Technical University/Symposia materials

may not be reproduced in whole or in part without the prior written permission of

IBM.

Modern terminal

13IBM Systems Technical University, October 5-9 | Hilton Orlando© Copyright IBM Corporation 2015. Technical University/Symposia materials

may not be reproduced in whole or in part without the prior written permission of

IBM.

• Use SSH!

• A good way from Windows (not the only way):

1. Install cygwin (make sure that SSH is part of install)

2. Programs Cygwin Cygwin64 Terminal

3. ssh -Y <userid>@<hostname>

(optional) 'exec bash' for a more friendly shell (in Jesse's opinion)

Can also make bash the default by following these steps:

http://www-01.ibm.com/support/docview.wss?uid=nas8N1011555

Modern terminal

10/21/2015

8

14IBM Systems Technical University, October 5-9 | Hilton Orlando© Copyright IBM Corporation 2015. Technical University/Symposia materials

may not be reproduced in whole or in part without the prior written permission of

IBM.

Modern terminal

15IBM Systems Technical University, October 5-9 | Hilton Orlando© Copyright IBM Corporation 2015. Technical University/Symposia materials

may not be reproduced in whole or in part without the prior written permission of

IBM.

Modern text editor

10/21/2015

9

16IBM Systems Technical University, October 5-9 | Hilton Orlando© Copyright IBM Corporation 2015. Technical University/Symposia materials

may not be reproduced in whole or in part without the prior written permission of

IBM.

Many options

• Can map a drive, use Windows editor of choice (for example)

• Or, use nedit with X11 forwarding (topic for another day

Jesse's preferred method: Eclipse with Remote System Explorer plugin

• Easily found and installed through Eclipse Marketplace

(Help Eclipse Marketplace…)

• Then, go to "Window Open Perspective"

Modern text editor

17IBM Systems Technical University, October 5-9 | Hilton Orlando© Copyright IBM Corporation 2015. Technical University/Symposia materials

may not be reproduced in whole or in part without the prior written permission of

IBM.

Remote System Explorer

10/21/2015

10

18IBM Systems Technical University, October 5-9 | Hilton Orlando© Copyright IBM Corporation 2015. Technical University/Symposia materials

may not be reproduced in whole or in part without the prior written permission of

IBM.

Remote System Explorer

19IBM Systems Technical University, October 5-9 | Hilton Orlando© Copyright IBM Corporation 2015. Technical University/Symposia materials

may not be reproduced in whole or in part without the prior written permission of

IBM.

Explore what you get

10/21/2015

11

20IBM Systems Technical University, October 5-9 | Hilton Orlando© Copyright IBM Corporation 2015. Technical University/Symposia materials

may not be reproduced in whole or in part without the prior written permission of

IBM.

python3 / python3.4

This is the main Python executable.

pip3 / pip3.4

Preferred package installer.

2to3 / 2to3-3.4

Transforms Python 2.x code to Python 3.x

pydoc3 / pydoc3.4

Documentation generator

pyvenv / pyvenv-3.4

Provides support for lightweight virtual environments.

easy_install3 / easy_install-3.4

Lets you build, install, and manage Python packages. This command is used for installing shipped add-ons.

Base Python runtime

21IBM Systems Technical University, October 5-9 | Hilton Orlando© Copyright IBM Corporation 2015. Technical University/Symposia materials

may not be reproduced in whole or in part without the prior written permission of

IBM.

• Provided by the ibm_db open source project

• Incredibly robust. Can do many DB2 functions!

• Conforms to Python Database API Specification v2.0

• Complete documentation can be found here:

https://code.google.com/p/ibm-db/wiki/APIs

Native DB2 connector

10/21/2015

12

22IBM Systems Technical University, October 5-9 | Hilton Orlando© Copyright IBM Corporation 2015. Technical University/Symposia materials

may not be reproduced in whole or in part without the prior written permission of

IBM.

QSQSRVR DB2 BCI … task 1, then task 2

Simple select statement

23IBM Systems Technical University, October 5-9 | Hilton Orlando© Copyright IBM Corporation 2015. Technical University/Symposia materials

may not be reproduced in whole or in part without the prior written permission of

IBM.

Creating HTML table from a select (we'll see a screenshot later)

10/21/2015

13

24IBM Systems Technical University, October 5-9 | Hilton Orlando© Copyright IBM Corporation 2015. Technical University/Symposia materials

may not be reproduced in whole or in part without the prior written permission of

IBM.

Built in DB2 Services – Use SQL to get info from the system!

24

PTF Services

Security Services

Work Management Services

TCP/IP Services

Storage Services

Object Services

System Health Services

Journal Services

Application Services

QSYS2.QCMDEXC()

QSYS2.DISPLAY_JOURNAL()

QSYS2.SYSLIMITS

QSYS2.OBJECT_STATISTICS()

QSYS2.SYSLIMTBL

QSYS2.USER_STORAGE

QSYS2.SYSDISKSTAT

QSYS2.SYSTMPSTG

SYSIBMADM.ENV_SYS_INFO

QSYS2.TCPIP_INFO

QSYS2.SYSTEM_VALUE_INFO

QSYS2.GET_JOB_INFO()

QSYS2.PTF_INFO

QSYS2.GROUP_PTF_INFO

QSYS2.USER_INFO

QSYS2.FUNCTION_INFO

QSYS2.FUNCTION_USAGE

QSYS2.GROUP_PROFILE_ENTRIES

QSYS2.SQL_CHECK_AUTHORITY()

QSYS2.SET_COLUMN_ATTRIBUTE()

25IBM Systems Technical University, October 5-9 | Hilton Orlando© Copyright IBM Corporation 2015. Technical University/Symposia materials

may not be reproduced in whole or in part without the prior written permission of

IBM.

Built in DB2 Services – Examples

SELECT * FROM QSYS2.USER_INFO

WHERE SIGN_ON_ATTEMPTS_NOT_VALID > 0

SELECT

ASP_NUMBER,UNITNBR,PERCENT_USED

FROM QSYS2.SYSDISKSTAT

10/21/2015

14

26IBM Systems Technical University, October 5-9 | Hilton Orlando© Copyright IBM Corporation 2015. Technical University/Symposia materials

may not be reproduced in whole or in part without the prior written permission of

IBM.

• Three different ways to use it:

• Direct calls (like CLP)

• REST calls (local/remote)

• DB2 calls (local/remote)

Toolkit for IBM i

http://youngiprofessionals.com/wiki/index.php/XMLSERVICE/Python

27IBM Systems Technical University, October 5-9 | Hilton Orlando© Copyright IBM Corporation 2015. Technical University/Symposia materials

may not be reproduced in whole or in part without the prior written permission of

IBM.

"""Configure:Requires XMSLERVICE library installed, see following link installation http://yips.idevcloud.com/wiki/index.php/XMLService/XMLSERVICE

Transports:1) XMLSERVICE direct call (current job)from itoolkit.lib.ilibcall import *itransport = iLibCall()

2) XMLSERVICE db2 call (QSQSRVR job)from itoolkit.db2.idb2call import *itransport = iDB2Call(config.user,config.password)-- or --conn = ibm_db.connect(database, user, password)itransport = iDB2Call(conn)

3) XMLSERVICE http/rest/web call (Apache job)from itoolkit.rest.irestcall import *itransport = iRestCall(url, user, password)

"""from itoolkit.lib.ilibcall import *itransport = iLibCall()

Python egg toolkit config.py

10/21/2015

15

28IBM Systems Technical University, October 5-9 | Hilton Orlando© Copyright IBM Corporation 2015. Technical University/Symposia materials

may not be reproduced in whole or in part without the prior written permission of

IBM.

Class list

XMLSERVICE transport - iLibCall iDB2Call iRestCallXMLSERVICE main - iToolKitXMLSERVICE call base - iBaseXMLSERVICE call *CMD or PASE - iCmd iSh iCmd5250XMLSERVICE call *PGM or *SRVPGM - iPgm iSrvPgm iParm iRet iDS iDataXMLSERVICE call DB2 - iSqlQuery iSqlPrepare iSqlExecute iSqlFetch iSqlParm iSqlFreeXMLSERVICE generic - iXml

Python egg toolkit classes

29IBM Systems Technical University, October 5-9 | Hilton Orlando© Copyright IBM Corporation 2015. Technical University/Symposia materials

may not be reproduced in whole or in part without the prior written permission of

IBM.

Toolkit example: rtvjoba

10/21/2015

16

30IBM Systems Technical University, October 5-9 | Hilton Orlando© Copyright IBM Corporation 2015. Technical University/Symposia materials

may not be reproduced in whole or in part without the prior written permission of

IBM.

Toolkit example: DB2

31IBM Systems Technical University, October 5-9 | Hilton Orlando© Copyright IBM Corporation 2015. Technical University/Symposia materials

may not be reproduced in whole or in part without the prior written permission of

IBM.

Toolkit example: DB2

10/21/2015

17

32IBM Systems Technical University, October 5-9 | Hilton Orlando© Copyright IBM Corporation 2015. Technical University/Symposia materials

may not be reproduced in whole or in part without the prior written permission of

IBM.

Toolkit example: *PGM

33IBM Systems Technical University, October 5-9 | Hilton Orlando© Copyright IBM Corporation 2015. Technical University/Symposia materials

may not be reproduced in whole or in part without the prior written permission of

IBM.

Toolkit example: *SRVPGM

10/21/2015

18

34IBM Systems Technical University, October 5-9 | Hilton Orlando© Copyright IBM Corporation 2015. Technical University/Symposia materials

may not be reproduced in whole or in part without the prior written permission of

IBM.

System API

# Retrieve Hardware Resource List (QGYRHRL, QgyRtvHdwRscList) API# Service Program: QGYRHR# Default Public Authority: *USE# Threadsafe: No# Required Parameter Group:# Output Char(*)..............Receiver variable (RHRL0100, RHRL0110)# Input Binary(4).............Length of receiver variable# Input Char(8)...............Format name# Input Binary(4).............Resource category# I/O Char(*).................Error code# RHRL0100 Format# BINARY(4)...................Bytes returned# BINARY(4)...................Bytes available# BINARY(4)...................Number of resources returned# BINARY(4)...................Length of resource entry# CHAR(*).....................Resource entries# These fields repeat for each resource.# BINARY(4)...................Resource category# BINARY(4)...................Family level# BINARY(4)...................Line type# CHAR(10)....................Resource name# CHAR(4).....................Type number# CHAR(3).....................Model number# CHAR(1).....................Status# CHAR(8).....................System to which adapter is connected# CHAR(12)....................Adapter address# CHAR(50)....................Description# CHAR(24)....................Resource (liar, liar, pants on fire, binary)

35IBM Systems Technical University, October 5-9 | Hilton Orlando© Copyright IBM Corporation 2015. Technical University/Symposia materials

may not be reproduced in whole or in part without the prior written permission of

IBM.

System API (input)

10/21/2015

19

36IBM Systems Technical University, October 5-9 | Hilton Orlando© Copyright IBM Corporation 2015. Technical University/Symposia materials

may not be reproduced in whole or in part without the prior written permission of

IBM.

System API (report)

37IBM Systems Technical University, October 5-9 | Hilton Orlando© Copyright IBM Corporation 2015. Technical University/Symposia materials

may not be reproduced in whole or in part without the prior written permission of

IBM.

System API (run)

bash-4.3$ python isrvpgm_qgyrhrl.py +++ success QGYRHR QgyRtvHdwRscList

Length of receiver variable......123892Format name......................RHRL0100Resource category................3RHRL0100_t:Bytes returned.................388Bytes available................388Number of resources returned...3Length of resource entry.......124--------------------------------------------------------Resource category............3Family level.................1Line type....................-1Resource name................CMB02Type number..................268CModel number.................001Status.......................1System adapter connected.....*NONEAdapter address..............*NONEDescription..................Comm ProcessorResource kind................0000000000000001000000000000000740--------------------------------------------------------Resource category............3Family level.................2Line type....................-1Resource name................CTL01Type number..................6A59Model number.................002Status.......................1System adapter connected.....*NONEAdapter address..............*NONEDescription..................Virtual ControllerResource kind................000000000000000200000000000000010000080008--------------------------------------------------------Resource category............3Family level.................3Line type....................-1Resource name................DSP001:… so on ...

10/21/2015

20

38IBM Systems Technical University, October 5-9 | Hilton Orlando© Copyright IBM Corporation 2015. Technical University/Symposia materials

may not be reproduced in whole or in part without the prior written permission of

IBM.

• We ship a fastCGI gateway, built from the flipflop open source project

FastCGI gateway

39IBM Systems Technical University, October 5-9 | Hilton Orlando© Copyright IBM Corporation 2015. Technical University/Symposia materials

may not be reproduced in whole or in part without the prior written permission of

IBM.

• We ship a slightly-modified version of the open-source bottle.py

• Lots of reference at http://bottlepy.org

• We'll see a small example later

Lightweight web framework

10/21/2015

21

40IBM Systems Technical University, October 5-9 | Hilton Orlando© Copyright IBM Corporation 2015. Technical University/Symposia materials

may not be reproduced in whole or in part without the prior written permission of

IBM.

Install community packages

41IBM Systems Technical University, October 5-9 | Hilton Orlando© Copyright IBM Corporation 2015. Technical University/Symposia materials

may not be reproduced in whole or in part without the prior written permission of

IBM.

Usage:

pip3 <command> [options]

Commands:

install Install packages.

uninstall Uninstall packages.

freeze Output installed packages in requirements format.

list List installed packages.

show Show information about installed packages.

search Search PyPI for packages.

wheel Build wheels from your requirements.

zip DEPRECATED. Zip individual packages.

unzip DEPRECATED. Unzip individual packages.

bundle DEPRECATED. Create pybundles.

help Show help for commands.

General Options:

-h, --help Show help.

-v, --verbose Give more output. Option is additive, and can be used up to 3 times.

-V, --version Show version and exit.

-q, --quiet Give less output.

--log-file <path> Path to a verbose non-appending log, that only logs failures. This log is active by

default at /home/JGORZINS/.pip/pip.log.

--log <path> Path to a verbose appending log. This log is inactive by default.

--proxy <proxy> Specify a proxy in the form [user:passwd@]proxy.server:port.

--timeout <sec> Set the socket timeout (default 15 seconds).

--exists-action <action> Default action when a path already exists: (s)witch, (i)gnore, (w)ipe, (b)ackup.

--cert <path> Path to alternate CA bundle.

Using the pip3 command (install from Internet)

10/21/2015

22

42IBM Systems Technical University, October 5-9 | Hilton Orlando© Copyright IBM Corporation 2015. Technical University/Symposia materials

may not be reproduced in whole or in part without the prior written permission of

IBM.

Installing xlsxwriter

43IBM Systems Technical University, October 5-9 | Hilton Orlando© Copyright IBM Corporation 2015. Technical University/Symposia materials

may not be reproduced in whole or in part without the prior written permission of

IBM.

xlsxwriter example

10/21/2015

23

44IBM Systems Technical University, October 5-9 | Hilton Orlando© Copyright IBM Corporation 2015. Technical University/Symposia materials

may not be reproduced in whole or in part without the prior written permission of

IBM.

xlsxwriter example

45IBM Systems Technical University, October 5-9 | Hilton Orlando© Copyright IBM Corporation 2015. Technical University/Symposia materials

may not be reproduced in whole or in part without the prior written permission of

IBM.

• Most packages from the web are pure python packages. No compile

needed!!

• Some packages require bits of C/C++ code

• pip3 will automatically download the source, compile and install.

- By default, it will use the XL C compiler

• You will likely need to install the gcc compiler and configure according

to these steps:https://www.ibm.com/developerworks/community/wikis/home?lang=en#!/wiki/IBM%20i%20Technology%20Updates/page/Downloading

%20packages%20using%20the%20pip3%20command

pip3 and native compiles

10/21/2015

24

46IBM Systems Technical University, October 5-9 | Hilton Orlando© Copyright IBM Corporation 2015. Technical University/Symposia materials

may not be reproduced in whole or in part without the prior written permission of

IBM.

• Helpful hint!!!

Set the environment variable MAX_CONCURRENCY=1 to help debug

any possible compilation problems.

pip3 and native compiles

47IBM Systems Technical University, October 5-9 | Hilton Orlando© Copyright IBM Corporation 2015. Technical University/Symposia materials

may not be reproduced in whole or in part without the prior written permission of

IBM.

10/21/2015

25

48IBM Systems Technical University, October 5-9 | Hilton Orlando© Copyright IBM Corporation 2015. Technical University/Symposia materials

may not be reproduced in whole or in part without the prior written permission of

IBM.

Hello, world!

49IBM Systems Technical University, October 5-9 | Hilton Orlando© Copyright IBM Corporation 2015. Technical University/Symposia materials

may not be reproduced in whole or in part without the prior written permission of

IBM.

• Interactive:

• Script:

Python interactive

10/21/2015

26

50IBM Systems Technical University, October 5-9 | Hilton Orlando© Copyright IBM Corporation 2015. Technical University/Symposia materials

may not be reproduced in whole or in part without the prior written permission of

IBM.

Let's go to the web!

51IBM Systems Technical University, October 5-9 | Hilton Orlando© Copyright IBM Corporation 2015. Technical University/Symposia materials

may not be reproduced in whole or in part without the prior written permission of

IBM.

fastCGI (already saw this)

10/21/2015

27

52IBM Systems Technical University, October 5-9 | Hilton Orlando© Copyright IBM Corporation 2015. Technical University/Symposia materials

may not be reproduced in whole or in part without the prior written permission of

IBM.

http.server (included with Python)

53IBM Systems Technical University, October 5-9 | Hilton Orlando© Copyright IBM Corporation 2015. Technical University/Symposia materials

may not be reproduced in whole or in part without the prior written permission of

IBM.

https://www.ibm.com/developerworks/community/wikis/home?lang=en#!/

wiki/IBM%20i%20Technology%20Updates/page/Sample%20web%20app

lication%20with%20Python

bottle.py (shipped add-on)

10/21/2015

28

54IBM Systems Technical University, October 5-9 | Hilton Orlando© Copyright IBM Corporation 2015. Technical University/Symposia materials

may not be reproduced in whole or in part without the prior written permission of

IBM.

• Quick, easy-to-use, lightweight web framework!

• Lets you serve up static files, images, dynamically-generate code, and

much more

bottle.py

55IBM Systems Technical University, October 5-9 | Hilton Orlando© Copyright IBM Corporation 2015. Technical University/Symposia materials

may not be reproduced in whole or in part without the prior written permission of

IBM.

https://www.ibm.com/developerworks/community/wikis/home?lang=en#!/

wiki/IBM%20i%20Technology%20Updates/page/Sample%20web%20app

lication%20with%20Python

bottle (shipped add-on)

10/21/2015

29

56IBM Systems Technical University, October 5-9 | Hilton Orlando© Copyright IBM Corporation 2015. Technical University/Symposia materials

may not be reproduced in whole or in part without the prior written permission of

IBM.

57IBM Systems Technical University, October 5-9 | Hilton Orlando© Copyright IBM Corporation 2015. Technical University/Symposia materials

may not be reproduced in whole or in part without the prior written permission of

IBM.

code for DB2 query function

10/21/2015

30

58IBM Systems Technical University, October 5-9 | Hilton Orlando© Copyright IBM Corporation 2015. Technical University/Symposia materials

may not be reproduced in whole or in part without the prior written permission of

IBM.

59IBM Systems Technical University, October 5-9 | Hilton Orlando© Copyright IBM Corporation 2015. Technical University/Symposia materials

may not be reproduced in whole or in part without the prior written permission of

IBM.

Code for CL command function

10/21/2015

31

60IBM Systems Technical University, October 5-9 | Hilton Orlando© Copyright IBM Corporation 2015. Technical University/Symposia materials

may not be reproduced in whole or in part without the prior written permission of

IBM.

• "The web framework for perfectionists with deadlines"

• Very powerful. Has MVC frameworks built-in. Requires a database connection for keeping relationship mappings, structural data, etc

• On IBM i, one can use MySQL via Zend Dbihttps://www.ibm.com/developerworks/community/wikis/home?lang=en#!/wiki/IBM%20i%20Technology%20Updates/page/First%20Django%20web%20application

61IBM Systems Technical University, October 5-9 | Hilton Orlando© Copyright IBM Corporation 2015. Technical University/Symposia materials

may not be reproduced in whole or in part without the prior written permission of

IBM.

Django example

http://lightbird.net/dbe2/questionnaire.html#questionnaire-model

10/21/2015

32

62IBM Systems Technical University, October 5-9 | Hilton Orlando© Copyright IBM Corporation 2015. Technical University/Symposia materials

may not be reproduced in whole or in part without the prior written permission of

IBM.

Questions?