modern development on ibm i · © 2016 ibm corporation ibm i...

61
IBM i テクニカル・ワークショップ 2016 © 2016 IBM Corporation Modern Development on IBM i Tim Rowe [email protected] Architect Application Development

Upload: vuongngoc

Post on 11-Mar-2019

215 views

Category:

Documents


0 download

TRANSCRIPT

IBM i テクニカル・ワークショップ 2016

© 2016 IBM Corporation

Modern Development on IBM i

Tim Rowe [email protected]

Architect Application Development

© 2016 IBM Corporation

IBM i テクニカル・ワークショップ 2016

© 2016 IBM Corporation

IBM i テクニカル・ワークショップ 2016

IBM i Application Development Strategy

•Simple….Modernization

• Languages

• Methodologies

• Tools

• Data Access

• User Interface

• Information 3

© 2016 IBM Corporation

IBM i テクニカル・ワークショップ 2016

THE System

The Progression of Application Development

© 2016 IBM Corporation

IBM i テクニカル・ワークショップ 2016

The Server Application Servers

Aka “Surround Servers”

The Progression of Application Development

© 2016 IBM Corporation

IBM i テクニカル・ワークショップ 2016

Back-end Data & Services

Systems of Record Systems of Engagement

Middle Tier Server Client Tier Devices

The Progression of Application Development

Clouds Smartphones, Tablets, etc.

© 2016 IBM Corporation

IBM i テクニカル・ワークショップ 2016

Interface

7

http://www.redbooks.ibm.com/abstracts/sg248185.html?Open

© 2016 IBM Corporation

IBM i テクニカル・ワークショップ 2016

New RedBooks Underway!!!!

8

Latest SQL Updates!

Modern RPG!

© 2016 IBM Corporation

IBM i テクニカル・ワークショップ 2016

9

Traditional in-house …

… rich client or browser …

… mobile

© 2016 IBM Corporation

IBM i テクニカル・ワークショップ 2016

10

UI

Program StructureLanguage

Database

© 2016 IBM Corporation

IBM i テクニカル・ワークショップ 2016

Data Access

© 2016 IBM Corporation

IBM i テクニカル・ワークショップ 2016

Why SQL?

• Strategic database interface for industry

• Portability of code and skills

• Strategic interface for IBM i

• Faster delivery on IT requirements

• Performance & Scalability

• Increased Data Integrity

• Image

Want More Details…

NEW White Paper on Benefits of Modernizing with SQL

ibm.com/partnerworld/wps/servlet/ContentHandler/whitepaper/ibmi/db2/sql

You

Are

Here

12© Copyright IBM Corporation 2014

© 2016 IBM Corporation

IBM i テクニカル・ワークショップ 2016

How do you access IBM i Information ?

13

Past– Write code to call

– CL Commands – System APIs

– Write more code to sort, filter, find what you are after

Today with SQL Services

– With a single SQL statement

– Retrieve information

– Leveraging the power of SQL

– Sort, Filter, find what you are after

© 2016 IBM Corporation

IBM i テクニカル・ワークショップ 2016

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

14© 2014 International Business Machines Corporation

SELECT * from qsys2.user_info where status = '*ENABLED' AND

DATE_PASSWORD_EXPIRES BETWEEN CURRENT TIMESTAMP AND CURRENT TIMESTAMP + 7

DAYS;

SELECT USER_NAME, SUM(STORAGE_USED) AS TOTAL_STORAGE_USED from

qsys2.user_storage

GROUP BY USER_NAME ORDER BY TOTAL_STORAGE_USED DESC FETCH FIRST 10 ROWS

ONLY ;

Find who is using the most

storage!

Who’s password is about to expire

© 2016 IBM Corporation

IBM i テクニカル・ワークショップ 2016

New IBM i Services for these commands:

• Work with Locks

• Work with System StatusWork with System Activity

• Work with License Information

• Work with Output Queue

• Work with Media Library Status

• Work with TCP/IP Network Status

OBJECT_LOCK_INFO

RECORD_LOCK_INFO

MEMORY_POOL()

MEMORY_POOL_INFO

SYSTEM_STATUS()

SYSTEM_STATUS_INFO

LICENSE_INFO

OUTPUT_QUEUE_ENTRIES

OUTPUT_QUEUE_ENTRIES()

MEDIA_LIBRARY_INFO

NETSTAT_INFO

NETSTAT_JOB_INFO

NETSTAT_INTERFACE_INFO

NETSTAT_ROUTE_INFO

WRKOBJLCK

DSPRCDLCK

WRKSYSSTS

WRKSYSACT

WRKLICINF

WRKOUTQ

WRKMLBSTS

NETSTAT

IBM i SQL Services

http://ibm.biz/DB2foriServices

15

© 2016 IBM Corporation

IBM i テクニカル・ワークショップ 2016

XML Service

16

Easy access to IBM i data and resources from PHP

(similar to IBM ToolBox for Java)

–DB2 for i – SQL and Native

–Program call

–Procedure call

–Data Area

–Data Queue

–Message Queue

–Commands

–System values

–Spool files

• http://www.youngiprofessionals.com/wiki/index.php/XMLSERVICE/XMLSERVICE

IBM i

© 2016 IBM Corporation

IBM i テクニカル・ワークショップ 2016

XML Service

17

Easy access to IBM i data and resources from PHP

(similar to IBM ToolBox for Java)

–DB2 for i – SQL and Native

–Program call

–Procedure call

–Data Area

–Data Queue

–Message Queue

–Commands

–System values

–Spool files

• http://www.youngiprofessionals.com/wiki/index.php/XMLSERVICE/XMLSERVICE

IBM i

Coming Soon!!! JSON

© 2016 IBM Corporation

IBM i テクニカル・ワークショップ 2016

WebServices Faster

18

ILE Business

Logic

(RPG,

COBOL, C)

ILE Business

Logic

(RPG,

COBOL, C)

Traditional Apps Web Service

Wrappering of existing code with a refacing tool

© 2016 IBM Corporation

IBM i テクニカル・ワークショップ 2016

19

• Integrated Wed Services Server – now powered by WAS Liberty & Jax-RS

– Running on Liberty

Faster and better compliance – JAX-RS REST web service container

JSON leveraged for the communication

19

REST Web Services

Web Service enable RPG and COBOL Source Code

JSON REST packet sent now!!!

New

http://www-03.ibm.com/systems/power/software/i/iws/

© 2016 IBM Corporation

IBM i テクニカル・ワークショップ 2016

Integrated Web Service Client

Request

Response

Client

Application

RPG/C/C++ stubs

(service, method)

Axis Client

Server

Call/Return

Call/Return

SOAP Request

SOAP Response

http://www.ibm.com/systems/i/software/iws/documentation.html

© 2016 IBM Corporation

IBM i テクニカル・ワークショップ 2016

Call a REST JSON based Service!

21

Call a Web Service FROM RPG

New!!• Create a JSON payload

• Pass to the IWS Client code

• Client handles the Web Service transaction

• Your RPG then gets to parse the results

© 2016 IBM Corporation

IBM i テクニカル・ワークショップ 2016

Languages of IBM i

22

© 2016 IBM Corporation

IBM i テクニカル・ワークショップ 2016

Modern RPG – Constant Transformation

23

© 2016 IBM Corporation

IBM i テクニカル・ワークショップ 2016

RPG IV - A Modern Business Language

Primary goals for RPG IV

– Interoperability

o Java

o XML

o SQL

– Readability

o Free form

o Blank lines

o Comments

– Functionality

o Procedures

o Data areas

o Data structures

o More data types

o Extended file support

– Modern Tools

o RD i, RTC, ARCAD Power Pack

read file; // Get next record

dow not %eof(file); // Keep looping with record

if %error;

dsply ‘The read failed’;

leave;

else;

chain(n) name database data;

time = hours * num_employees

+ overtime_saved;

pos = %scan (‘,’ : name);

name = %xlate(upper : lower : name);

exsr handle_record;

read file;

endif;

enddo;

begsr handle_record;

eval(h) time = time + total_hours_array (empno);

temp_hours = total_hours - excess_hours;

record_transaction();

endsr;

Free format C specs

© 2016 IBM Corporation

IBM i テクニカル・ワークショップ 2016

25

Full Free Form RPGctl-opt bnddir('ACCRCV');

dcl-f custfile usage(*update);

dcl-ds custDs;

dcl-f report printer;

read custfile custDs;

dow not %eof;

if dueDate > %date(); // overdue?

sendOverdueNotice ();

write reportFmt;

exec sql insert :name, :duedate into

mylib/myfile;

endif;

read custfile custDs;

enddo;

inlr = '1';

dcl-proc sendOverdueNotice;

/copy invoices

sendInvoice (custDs : IS_OVERDUE);

end-proc;

No /FREE, /END-FREE

All free-form statements

Better colorization options

in the editor

© 2016 IBM Corporation

IBM i テクニカル・ワークショップ 2016

Calc Specs get out of jail

• In 9.0.1 we no longer need /free

directives

• The styling of the text is now

token-based rather than

operand-based.

• Highlighting of literals, BIFs,

control op-codes

Bracketed by /free and /end-

free directives

Calcs begin with opcode and

end with semicolon

© 2016 IBM Corporation

IBM i テクニカル・ワークショップ 2016

Today H, F, D and P specs are free too!

© 2016 IBM Corporation

IBM i テクニカル・ワークショップ 2016

Remove 8-80 Column Restriction Today column 1-8 are reserved (goes back to the punch card days)

Max Column for content is 80 (again….punch card)

• If column 1 of a source line contains '**FREE', the following lines contain free-

form RPG code beginning in column 1 and continuing to the end of the line

• If **FREE has not appeared in the source file, or if column 1 of a source line

contains **END-FREE, the following lines have RPG code in columns 6 - 80. If

columns 6 and 7 are blank, the code is free-form.

© 2016 IBM Corporation

IBM i テクニカル・ワークショップ 2016

RPG• Modern coding style

– Easier to code and maintain

– Easier for new programmers

• But older code still works• Easily express business logic

– Fully-integrated decimal arithmetic

– Powerful set of built-in functions for string processing

– Use either native I/O operations or embedded SQL

V5R3

%SUBARR

Sort and search partial arrays

%DEC(date)

%TRIM specific characters

Trim a passed parameter

63-digit support

Data structure I/O for more operations

Preprocessor to handle /IF for CRTSQLRPGI

Implicit conversion for UCS-2 for EVAL and IF

7.1

Free-form H, F, D and C statements

Removal of 8-80 column limit

Sort and search data structure arrays

Sort ascending or descending

%SCANRPL built-in function

Support for ALIAS names in files and data structures

Relaxed rules for data structure I/O

Faster return values with RTNPARM

%PARMNUM built-in function

Optional prototypes

Implicit CCSID conversion for parameters

Teraspace storage model

CCSIDCVT keyword to notify about conversion errors

Encrypted listing debug view

V5R4

EVAL-CORR

XML-INTO and XML-SAX to process XML documents

Syntax-checker support for free-form

Improved handling of EOF for shared files

Debugger support for null values

PREFIX keyword enhanced to completely remove a prefix

More granular options for the DEBUG control keyword

7.2

CCSID support for alphanumeric data

Alphanumeric subfields in external data structures can have the same CCSID as the field in the file

Implicit CCSID conversion for concatenation

Option to open database files without CCSID conversion

/SET and /RESTORE directives to temporarily change the default CCSID or date/time format

More control for %SUBDT

0 and 12 fractional seconds for timestamps

6.1

Open Access: RPG Edition

THREAD (*CONCURRENT)

Linear main

Files defined in subprocedures

Qualified record formats

Files defined like other files

File parameters

EXTDESC keyword

Library name for EXTNAME keyword

Data structure result field for EXFMT

16 MB fields

TEMPLATE keyword

PCML stored in the module

New options for XML-INTO

Value Proposition

30© Copyright Arcad Software 1992-2014 30© Copyright Arcad Software 1992-2015

ARCAD-Transformer RPG: Before and After

© 2016 IBM Corporation

IBM i テクニカル・ワークショップ 2016

© 2016 IBM Corporation

IBM i テクニカル・ワークショップ 2016

© 2016 IBM Corporation

IBM i テクニカル・ワークショップ 2016

© 2016 IBM Corporation

IBM i テクニカル・ワークショップ 2016

Joe Carpenter

© 2016 IBM Corporation

IBM i テクニカル・ワークショップ 2016

© 2016 IBM Corporation

IBM i テクニカル・ワークショップ 2016

Benefits

• Cost

• Simple to get started

• Quick to Access

Disadvantage

• Difficult with complex

• Easy to case damage

• SLOW

• Reduced productivity

© 2016 IBM Corporation

IBM i テクニカル・ワークショップ 2016

Benefits

• Speed

• Quality

• Productivity

• Accuracy

• What the skills knows

Disadvantage

• Cost

• Requires some training

© 2016 IBM Corporation

IBM i テクニカル・ワークショップ 2016

What is your Return on Investment for your

Tools, but more importantly, your developers ?

© 2016 IBM Corporation

IBM i テクニカル・ワークショップ 2016

Development tools….

Tried and True, Yes but also SLOW, OLD, No new features

© 2016 IBM Corporation

IBM i テクニカル・ワークショップ 2016

o Modern, Eclipse-based, development tools for IBM i

o Visual editors, outline views, content assist, integrated language help

o Integrated file management, search, edit, compile/build, debug capabilities

o Analysis tools (application diagram, call hierarchies, type hierarchies)

o Easily debug batch, interactive, and Web applications with a common visual debugger

o Visual DDS design tools: Screen and Report Designer

o Supports RPG, COBOL, C, C++, SQL, DDM

40

Rational Developer for i

© 2016 IBM Corporation

IBM i テクニカル・ワークショップ 2016

RDi 9.0.1 - Free Format RPG Tooling Support

41

• Outline View

• Hover/Hyperlink

• Syntax Checker

• Program Verifier

• Language-sensitive help

• Enter key behavior

• Format Line/Prompt

View

• Show Nesting

• Show Fields

• Content Assist

© 2016 IBM Corporation

IBM i テクニカル・ワークショップ 2016

RD i V9.1 Code Coverage Report

42

• After running code coverage, a report is shown as an editor.

• You can drill down through programs, modules and procedures and see

the coverage statistics for each

© 2016 IBM Corporation

IBM i テクニカル・ワークショップ 2016

Coverage annotated in the editor

• Drilling down from the report, the editor will be opened on the related

member with green and red annotations showing which lines were covered.

© 2016 IBM Corporation

IBM i テクニカル・ワークショップ 2016

Rational Developer for i• Tightly integrated• Edit/Compile/Debug• Program Understanding• Code Coverage Analysis• Extensible by IBM• Extensible by ISVs• Extensible by open source

8.5.1

Live ILE RPG outline view

Improved i Project support

Inclusion of IBM Data Studio

64-bit operation system support

8 RFEs

36 fixes

9.0.0

Hover over RPG reference

Hyperlink to RPG declaration

Improved Content Assist

Improved iProject push

Improved CL support

9 RFEs

39 fixes

9.0.0.1

11 fixes

9.1.1

Push-to-client configuration backup and distribution

Code Coverage for interactive jobs

SQL formatting improvements

Mark occurrences of all RPG declarations in editor

8 RFEs

57 fixes

9.1.1.1

14 fixes

Test Optimizing Advisor Beta

Tech Preview of application of Code Coverage to optimize test time

9.0.1

Free-form ILE RPG declarations

Improved syntax highlighting

Improved visualization of block nesting

4 RFEs

49 fixes

9.5

Fully Free RPG – no column restrictions

Integrated 5250 emulator

ILE RPG indentation action

Dramatic Code Coverage performance improvement

Snippet support in push-to-client

Improved RPG Content Assist

Update Notifier Software Updates

Software News

Eclipse 4.4.2

IBM Java 8

10 RFEs

52 fixes

9.5.0.2

Improved context-sensitive help in fixed format

Prototype parameter names in content assist

Improved indentation support

21 fixes

9.1.0

Code Coverage

Search/Filter within ILE RPG outline view

Quick open for browse

F1 help on RPG opcode/ keyword/ BIF

7 RFEs

46 fixes

Value Proposition

RDi Enhancements and Fixes per Release

Detailed description of the product evolution

© 2016 IBM Corporation

IBM i テクニカル・ワークショップ 2016

Tools for Program Understanding

45

ARCAD – Observer

Fresche - X-Analysis

© Copyright Arcad Software 1992-2016 46© Copyright Arcad Software 1992-2016 46

ARCAD-Observer : Application AnalysisMulti-platform cross-referencing, visualization and reporting

4

6

Trace all the inter-

relationships between IBM i

components (program or

file) and other open-system

components (Windows, AIX,

or Linux) from your IDE.

Sources/objects (multi-platform) cross references files

Sources/object fields cross references

RPG/ILE program calling chain

i Project access view

Workflow DiagramData relationship

model

© 2016 IBM Corporation

IBM i テクニカル・ワークショップ 2016

How is this changing the game?

http://bit.ly/1WhM7uTHear how Modern RPG and Tools allows a

23 year old developer to be success today!

© 2016 IBM Corporation

IBM i テクニカル・ワークショップ 2016

© 2016 IBM Corporation

IBM i テクニカル・ワークショップ 2016

Java

• Built by IBM to Exploit

• IBM 32-bit & 64-bit Java™ Virtual Machine

– Technology shared with AIX, IBM i and Linux

– Improves performance & portability

• Exceptional Java environment and performance

– Fully compatible with other industry standard Java applications

– Can be called by APIs or directly from other languages

• IBM Java Toolbox for IBM i

– Native Java methods to access native IBM i artifacts – files, data queues, etc

© 2016 IBM Corporation

IBM i テクニカル・ワークショップ 2016

Java Security • Developer Works Java on IBM i

• Page to show delivery of Java SR & CVE solutions

– What IBM i Java PTF Grouphttps://www.ibm.com/developerworks/ibmi/techupdates/java

© 2016 IBM Corporation

IBM i テクニカル・ワークショップ 2016

51

© 2016 IBM Corporation

IBM i テクニカル・ワークショップ 2016

• Contribute fro mthe community accelerate progress

• IBM i is the safest place to do this

• Get the apps to interact in a natural way with the DB

• Lots of data and existing business logic that can be married

with these new languages

• If IBM delivers, its already ‘integrated’ for you

• Open many other outside applications and vendors

• Work Force – this is what they know!

• Community training

• Modernization

Open Source and why do ‘i’ care

© 2016 IBM Corporation

IBM i テクニカル・ワークショップ 2016

Open Source Solutions for i • Zend Server for i

– Preloaded with IBM i 7.1 and 6.1

– One year of Silver Support from Zend

• Zend Server Development edition

– Reduced cost – include Z-Ray and other dev tools

• Zend Server for i

– Available from Zend

• Zend Studio for i

– Eclipse-based development environment

– One year of Silver support from Zend

• Zend DBi

– MySQL implementation for IBM i

– DB2 Storage Engine enables data storage in DB2

53

© 2016 IBM Corporation

IBM i テクニカル・ワークショップ 2016

54

• What is PowerRuby?

• Ruby Language + Rails framework on IBM i

• Available for download from PowerRuby.com

• Includes native DB2 database driver

• Integrates with XMLSERVICE for access to IBM i programs

and objects

• Community Edition

• Enterprise Edition

PowerRuby.com

© 2016 IBM Corporation

IBM i テクニカル・ワークショップ 2016

Open Source for IBM i

– New LPO – 5733OPS Open Source for IBM i

o New license program option

o Designed for Open Source offerings on IBM i

o Provides a safe way for Open Source to be delivered

on IBM i

o Option 1 – Node.JS

o Other options to follow this year with other offerings

http://www.ibm.com/developerworks/ibmi/techupdates/opensource

© 2016 IBM Corporation

IBM i テクニカル・ワークショップ 2016

5733 OPS – Now and the future

56

• Option 1 – Node.JS 2.x

• Option 2 - Python 3.x

• Option 3 – GCC / Chroot

• Option 4 – Python 2.7

• Option 5 – Node.JS 4.x

• Option 6 – Git

• Option 7 – Tools

• Option 8 – Orion

Coming soon…

© 2016 IBM Corporation

IBM i テクニカル・ワークショップ 2016

Open Source for IBM i - Runtime plus++

• FastCGI

• Allows fast connection from HTTP server to

backend PASE environment

• ILE Object Toolkit

• Toolkit for each environment to easily allow

connections to ILE objects and information – Built

on XML Service

• SQL Connection for DB2 on i

• Easy integrated (from the open source language)

way to transfer data to and from DB2 for i

leveraging SQL

© 2016 IBM Corporation

IBM i テクニカル・ワークショップ 2016

HATS

Others…..

© 2016 IBM Corporation

IBM i テクニカル・ワークショップ 2016

The Systems is NOT Old….its

what you have choosen to do

with the system that defines its

‘Age’

Art of the Possible

59

© 2016 IBM Corporation

IBM i テクニカル・ワークショップ 2016

Special notices

60

This document was developed for IBM offerings in the United States as of the date of publication. IBM may not make these offerings available

in other countries, and the information is subject to change without notice. Consult your local IBM business contact for information on the IBM

offerings available in your area.

Information in this document concerning non-IBM products was obtained from the suppliers of these products or other public sources.

Questions on the capabilities of non-IBM products should be addressed to the suppliers of those products.

IBM may have patents or pending patent applications covering subject matter in this document. The furnishing of this document does not give

you any license to these patents. Send license inquires, in writing, to IBM Director of Licensing, IBM Corporation, New Cast le Drive, Armonk,

NY 10504-1785 USA.

All statements regarding IBM future direction and intent are subject to change or withdrawal without notice, and represent goals and objectives

only.

The information contained in this document has not been submitted to any formal IBM test and is provided "AS IS" with no warranties or

guarantees either expressed or implied.

All examples cited or described in this document are presented as illustrations of the manner in which some IBM products can be used and the

results that may be achieved. Actual environmental costs and performance characteristics will vary depending on individual client configurations

and conditions.

IBM Global Financing offerings are provided through IBM Credit Corporation in the United States and other IBM subsidiaries and divisions

worldwide to qualified commercial and government clients. Rates are based on a client's credit rating, financing terms, offering type, equipment

type and options, and may vary by country. Other restrictions may apply. Rates and offerings are subject to change, extension or withdrawal

without notice.

IBM is not responsible for printing errors in this document that result in pricing or information inaccuracies.

All prices shown are IBM's United States suggested list prices and are subject to change without notice; reseller prices may vary.

IBM hardware products are manufactured from new parts, or new and serviceable used parts. Regardless, our warranty terms apply.

Any performance data contained in this document was determined in a controlled environment. Actual results may vary significantly and are

dependent on many factors including system hardware configuration and software design and configuration. Some measurements quoted in

this document may have been made on development-level systems. There is no guarantee these measurements will be the same on generally-

available systems. Some measurements quoted in this document may have been estimated through extrapolation. Users of this document

should verify the applicable data for their specific environment.

© 2016 IBM Corporation

IBM i テクニカル・ワークショップ 2016

Special notices (cont.)

61

IBM, the IBM logo, ibm.com AIX, AIX (logo), AIX 5L, AIX 6 (logo), AS/400, BladeCenter, Blue Gene, ClusterProven, DB2, ESCON, i5/OS, i5/OS (logo), IBM Business

Partner (logo), IntelliStation, LoadLeveler, Lotus, Lotus Notes, Notes, Operating System/400, OS/400, PartnerLink, PartnerWorld, PowerPC, pSeries, Rational, RISC

System/6000, RS/6000, THINK, Tivoli, Tivoli (logo), Tivoli Management Environment, WebSphere, xSeries, z/OS, zSeries, Active Memory, Balanced Warehouse,

CacheFlow, Cool Blue, IBM Systems Director VMControl, pureScale, TurboCore, Chiphopper, Cloudscape, DB2 Universal Database, DS4000, DS6000, DS8000,

EnergyScale, Enterprise Workload Manager, General Parallel File System, , GPFS, HACMP, HACMP/6000, HASM, IBM Systems Director Active Energy Manager,

iSeries, Micro-Partitioning, POWER, PowerExecutive, PowerVM, PowerVM (logo), PowerHA, Power Architecture, Power Everywhere, Power Family, POWER

Hypervisor, Power Systems, Power Systems (logo), Power Systems Software, Power Systems Software (logo), POWER2, POWER3, POWER4, POWER4+, POWER5,

POWER5+, POWER6, POWER6+, POWER7, System i, System p, System p5, System Storage, System z, TME 10, Workload Partitions Manager and X-Architecture

are trademarks or registered trademarks of International Business Machines Corporation in the United States, other countries, or both. If these and other IBM

trademarked terms are marked on their first occurrence in this information with a trademark symbol (® or ™), these symbols indicate U.S. registered or common law

trademarks owned by IBM at the time this information was published. Such trademarks may also be registered or common law trademarks in other countries.

A full list of U.S. trademarks owned by IBM may be found at: http://www.ibm.com/legal/copytrade.shtml.

Adobe, the Adobe logo, PostScript, and the PostScript logo are either registered trademarks or trademarks of Adobe Systems Incorporated in the United States, and/or

other countries.

AltiVec is a trademark of Freescale Semiconductor, Inc.

AMD Opteron is a trademark of Advanced Micro Devices, Inc.

InfiniBand, InfiniBand Trade Association and the InfiniBand design marks are trademarks and/or service marks of the InfiniBand Trade Association.

Intel, Intel logo, Intel Inside, Intel Inside logo, Intel Centrino, Intel Centrino logo, Celeron, Intel Xeon, Intel SpeedStep, Itanium, and Pentium are trademarks or registered

trademarks of Intel Corporation or its subsidiaries in the United States and other countries.

IT Infrastructure Library is a registered trademark of the Central Computer and Telecommunications Agency which is now part of the Office of Government Commerce.

Java and all Java-based trademarks and logos are trademarks or registered trademarks of Oracle and/or its affiliates.

Linear Tape-Open, LTO, the LTO Logo, Ultrium, and the Ultrium logo are trademarks of HP, IBM Corp. and Quantum in the U.S. and other countries.

Linux is a registered trademark of Linus Torvalds in the United States, other countries or both.

Microsoft, Windows and the Windows logo are registered trademarks of Microsoft Corporation in the United States, other countries or both.

NetBench is a registered trademark of Ziff Davis Media in the United States, other countries or both.

SPECint, SPECfp, SPECjbb, SPECweb, SPECjAppServer, SPEC OMP, SPECviewperf, SPECapc, SPEChpc, SPECjvm, SPECmail, SPECimap and SPECsfs are

trademarks of the Standard Performance Evaluation Corp (SPEC).

The Power Architecture and Power.org wordmarks and the Power and Power.org logos and related marks are trademarks and service marks licensed by Power.org.

TPC-C and TPC-H are trademarks of the Transaction Performance Processing Council (TPPC).

UNIX is a registered trademark of The Open Group in the United States, other countries or both.

Other company, product and service names may be trademarks or service marks of others.