modern development on ibm i · © 2016 ibm corporation ibm i...
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
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
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
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
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
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
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
• 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
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.