If you can't read please download the document
Upload
nickgarrod
View
1.334
Download
7
Embed Size (px)
Citation preview
PowerPoint Presentation
CICS & Java: A Tale of Liberty
Please Note
IBMs statements regarding its plans, directions, and intent are subject to change or withdrawal without notice at IBMs sole discretion.
Information regarding potential future products is intended to outline our general product direction and it should not be relied on in making a purchasing decision.
The information mentioned regarding potential future products is not a commitment, promise, or legal obligation to deliver any material, code or functionality. Information about potential future products may not be incorporated into any contract. The development, release, and timing of any future features or functionality described for our products remains at our sole discretion.
Performance is based on measurements and projections using standard IBM benchmarks in a controlled environment. The actual throughput or performance that any user will experience will vary depending upon many factors, including considerations such as the amount of multiprogramming in the users job stream, the I/O configuration, the storage configuration, and the workload processed. Therefore, no assurance can be given that an individual user will achieve results similar to those stated here.
Introduction to the JVM Server
CICS JVM Server - Aims
Provide new APIs for Java applications deployed into CICS
Enable porting of JEE applications to CICS from other application servers
Update CICS to provide same features and functions as WebSphere Liberty Profile
Priority to API based functions
Support QoS features and integrate with CICS as required
Keep up to date with Liberty service stream
Continue to provide a robust JVM hosting environment for other components and services
ODM, SAML
PHP, Modern Batch, Mobile
JVM server environments V4/V5
Axis2
OSGi bundles
OSGi bundles and
Liberty Web
DynamicScripting
OSGi enabled
CLASSPATH
Mobile
ModernBatch
SAML
Initial PgmDPL
Web/JEE
JAXWS
Web/PHP
ODM
Programming in Java - JCICS API
JVM server - runtime
Dispatcher
LE Enclave
JVM Server
JVM
LE Enclave
JVM Server
JVM
thread
thread
Pool of T8 TCBs
Pool of T8 TCBs
pthread
pthread
pthread
thread
pthread
CICS Region
pthread
JVM server OSGi Framework
Class Loading
Each bundle has its own loader
No flat classpath
Class sharing and visibility decided by declarative dependencies, not by class loader hierarchies
OSGi framework works out the dependencies including versions
OSGi bundle dependencies
Bundle
Bundle
Package
Class
Class
Class
Package
Class
Class
Class
Package
Class
Class
Class
Package
Class
Class
Class
Explicit exports
Explicit dependencies
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: MyService bundle
Bundle-SymbolicName: com.sample.myservice
Bundle-Version: 1.0.0
Bundle-Activator: com.sample.myservice.Activator
Import-Package: com.something.i.need;version="1.1.2"
Export-Package: com.myservice.api;version="1.0.0"
OSGi Bundle Manifest
Bundle-Version: Multiple versions of bundles can live concurrently.
Import-Package: What packages from other bundles does this bundle depend upon?
Export-Package: What packages from this bundle are visible and reusable outside of the bundle?
OSGi bundle deployment
Bundle Directory
Jar File
z/OS
CICS region
Unix System Services
Eclipse IDE
packageexamples.hello
public class HelloWorld
{
public static voidmain(Stringargs[])
{System.out.printIn("HelloCICS");
}
}
CICS Explorer SDK
CICS Bundle Project
OSGi Bundle Project
Workstation
BUNDLE definition
JVM Server
OSGi bundle
Middleware Bundles
Export to USS
Comparing 'pooled' with JVM server
Traditional pooled JVMs
Multiple JVMs in a CICS region
Single-thread, program isolation
J8 (CICS Key) or J9 (User key) TCBs
MAXJVMTCBs in SIT
No JVM definition except in JVM profile via PROGRAM
EJB and CORBA support
New JVMSERVERs
Supports JCICS interfaces for CICS Java programs
Can have multiple JVM Servers per region
Multi-threaded, up to 256 parallel tasks
Facilitates data-sharing between Java applications
Industry-standard
T8 TCBs
Requires deployment as OSGi bundle within a CICS BUNDLE
Introduction to the CICS Java Web Container
What is Liberty?
Liberty is...
A LIGHTWEIGHT
COMPOSABLE
FAST
of WebSphere Application Server
'Profile'
Liberty is...
If this is tWAS...
...this is Liberty (WAS)
...so is this
...or even this!
Liberty is...
This is the entire configuration needed to run Liberty as a Web-container with Servlet support.
... YOU compose the runtime from the 'Features' you want.
... not the ones you don't.
Liberty in CICS JVM server
25/04/14
Explorer SDK
CICS
Liberty
JVM server
Web Client
HttpRequest
HttpResponse
URIMAP
Web App
Export Wizard
CICS Bundle
EBA
Deploy
install
server.xml
JVMProfile
Tran ID
security
Web.xml
OSGibundle
COBOL
Web App
EBA
VSAM
DB2
Application deployment Liberty JVM server
Explorer SDK
CICS Bundle resource
WAR, EBA
Liberty dropins directory
Liberty application definition
Liberty bundle repository
Explorer SDK
CICS
Liberty
JVM server
WAR
Export Wizard
CICS Bundle
EBA
Deploy
install
EBA
Aplicationdefinitions
Bundlerepository
OSGibundle
Dropins directory
OSGibundle
Web App
EBA
Applicationdefinition
Configuring Liberty in CICS
1. Create JVM server
Set WLP variables in JVM profile
Enable autoconfiguration system property
2. Start JVM server
Creates zFS Liberty directory structure
Creates Server.xml
HTTP and HTTPS listeners
DB2 driver configuration
3. Deploy applications
CICS bundles
Liberty dropins
Liberty application defintions
4. Remove autoconfiguration
Edit server.xml
Customise .. security
CICS TS V5.1 offers a fast and lightweight Java web container, providing developers with the rich features of the Java Servlet and JavaServer Pages (JSP) specifications, and fast local access to your existing CICS applications and data. Built on WebSphere Application Server Liberty technology, this web container runs in the CICS JVM server environment. A wide range of Java development tools can be used to develop web applications, such as WebSphere Application Server Developer Tools for Eclipse (WDT), and Rational Developer for System z.
FAST. LIGHTWEIGHT. LOCAL.
Web App
CICS
Liberty
JVM server
CICSResources
Web Client
HttpRequest
HttpResponse
Benefits for CICS
Provides off the shelf Web-server capabilities (JSPs and Servlets)
Potential to re-use even more WebSphere technology in CICS.
JSP and Web servlets have direct, local, access to CICS data and resources.
Servlets can take advantage of existing CICS OSGi applications to provide a Dynamic Web front end.
Oct 2012
CICS Liberty Roadmap - 2014
WAS 8.5.0
Liberty profile
WAS 8.5.5
Liberty core
Liberty base
EJB, JMS, clusterring, jax-ws
2013
2012
CICS TS V5.1
Liberty 8.5.0
Servlet/jsp
Explorer SDK for Web
2014
CICS TS V5.2 open beta
Liberty 8.5.5.1
JTA
JDBC
zosSecurity, appSecurity
jndi,
2Q12
WAS 8.5.0.1
WAS 8.5.0.2
WAS Liberty Vnext alpha
JCA 1.6
Web sockets
EJB 3.2
..
April 2013
2Q13
4Q2012
2Q2013
Oct 2013
V5.1APAR PM91667Liberty 8.5.5
V5.1 APAR PM85279JAX-RS, JSON
V5.1 APAR PM80214Liberty 8.5.0.1EBA support
WAS 8.5.5.1
WAS 8.5.5.2
Nought to Web-App
.
1) Create a JVM server resource in Explorer, CEDA, or CPSM.
2) Configure the JVMProfile- Copy the sample DFHWLP - Check JAVA_HOME is correct.- Uncomment the WLP_SERVER_HTTP_PORT and choose a unique port number.- Point your JVM server definition at the new JVMProfile
3) Enable the JVM server
!
4) Liberty is running! (check the logs).
Server defaultServer created.Launching defaultServer (wlp-1.0.0.20120428-1251/websphere-kernel_1.0.0) on IBM J9 VM, version pmz6470sr1-20120302_01 (SR1) (en_US)[AUDIT ] CWWKE0001I: The server defaultServer has been launched.[AUDIT ] CWWKG0028A: Processing included configuration resource: file:/u/ivanh/IYK3ZIH1/LIBERTY1/wlp/usr/servers/defaultServer/installedApps.xml[AUDIT ] CWWKG0028A: Processing included configuration resource: file:/u/ivanh/IYK3ZIH1/LIBERTY1/wlp/usr/servers/defaultServer/cicsSecurity.xml[AUDIT ] CWWKZ0058I: Monitoring dropins for applications. [AUDIT ] CWWKF0011I: The server defaultServer is ready to run a smarter planet.
5) Install Eclipse 3.6.2 - preferably JEE version, but Classic will suffice.
http://www.eclipse.org/downloads/packages/release/helios/sr2
6) Install IBM CICS SDK for WebSphere Application Server Liberty profile v5.1
7) Create a Dynamic Web Project, or choose one of the Examples
8) Export the CICS bundle project
9) Pick a zFS location for the CICS bundle project
10) Create a CICS bundle definition to control the life-cycle of the Application
11) Install the CICS bundle definition
12) Run the application!
[AUDIT ] CWWKT0016I: Web application available (default_host): http://winmvs2c.hursley.ibm.com:27245/com.ibm.cics.server.example.wlp.tsq.web/
zFS
zOS
App
App
App
CICS
Liberty
JVM server
Deploy
Eclipse with Liberty Tools
Use
CICSResources
Enable
Putting it all together
The Technology
Now let's get a little more technical .
As little customization as we can get away with.
Do things the Liberty way first, and if appropriate, only the Liberty way.
Ensure Server.xml can be configured dynamically by the user.
Support Liberty monitored drop-ins directory for applications.
Provide CICS enhancements only where absolutely necessary (Security, Tasks, JDBC, MQ)
Provide End-to-end Development and Deployment experience to enable non-mainframe professionals to develop for CICS.
Fully compatible with existing CICS OSGi Java applications running within the same JVM server.
Specifications
Java 7 (64-bit)
Equinox 3.7 as the OSGi framework.
Implements the OSGi R4.3 specification
WAS Liberty Profile 8.5.5
IBM CICS SDK for WebSphere Application Server Liberty profile v5.2
Eclipse 3.6.2
Hybrid Threads
'Standard' CICS Listener Pattern
Thread.start equivalent (from Java concurrency package)
A standard Java pattern for dispatching runnable code to threads.
CICS provides CICSExecutorService - to create CICS capable threads.
CICSExecutorService registered with OSGi registry, can be obtained and used by 'vendor' products and applications.
A convenience method provided called CICSExecutorService.runAsCICS()
Liberty requests an ExecutorService from the OSGi service registry.When running in CICS JVM server, it is given the CICSExecutorService which produces JCICS enabled threads for Liberty to run servlets on.
JCICS ExecutorService
Each 'Invocation' (think Servlet Request) on a Hybrid Thread is also a CICS Transaction (Has a Tranid, Task Context etc).
This gives you
A single common Transaction (UOW) and CICS Managed JDBC
Which can cross between Java and Cobol
Full JCICS API Access
In particular, LINK and access to VSAM
WLM (CICS WLM, Performance Classes etc).
Monitoring / Statistics
CICS Transaction Tracking / Association Data
Benefits of Hybrid Threads
CICS TS V5.2 Liberty runtime extensions
Liberty 8.5.5
Integrated and optimized for CICS Web workloads
JEE RolesRACF keyringsLTPA single signonForm based securitySSL client authenticationTrust Association Interceptors
Security
JTA
JDBC
JNDI naming
DB2 DataSource
Java globaltransactions
IBM Java SDK V7.1
WAS/Liberty feature set
Application Manager
HTTP Transport
Feature Manager
New in Liberty 8.5.5
CICS/Liberty feature set - CICS TS V5.2
Feature Manager
Application Manager
HTTP Transport
CICS TS V5.1
cicsts:security-1.0
cicsts:jdbc-1.0
CICS TS V5.2
cicsts:security-1.0
jndi
beanvalidation
appSecurity
jdbc
zosSecurity
jaxws
CICS Security with Liberty Profile
Servlets run under default transaction CJSA with CICS default user.
SEC=YES turns Security ON.
Basic-auth only (http or https) Client cert not yet supported.
Client Application: Web.xml needs to run with Security
Liberty: Server.xml will be updated by CICS automatically
Role based Security not supported.
URIMAP enhancements
URIMAP provides CICS authorisation via Transaction Security
URIMAP allows context switch to a 'user' transaction
Transaction Security (URL mapped to transaction)
monitoring and audit purposes.
Transaction class support
Web App
CICS
Liberty
JVM server
Web Client
HttpRequest
HttpResponse
SEC=YES
Web.xml
401 - not auth403 not allowed500 error503 - DisabledOK
URIMAP
Tran
Summary and Future
Liberty Features in CICS
8.5.0
appSecurity
Bean validation
Blueprint
CICS security
JAX-RS
JDBC (Type 2 and Type 4 DataSource)
JNDI
JPA Java persistence architecture
JSF
JSON
JSP
JTA Transactions
Local JMX, Monitoring, REST connector - JMX
SSL ( RACF keyrings)
Servlet
Session datasource HA for http sessions
Server status
WAB
z/OS workload management
z/OS Security
z/OS transaction management
8.5.5
CDI & managedBeans - CDI applications
collectiveController/clusterMember - clustering
Webcache/ distributedMap - dynacache
EJBLite local EJB
JAXWS and JAXB Web services
WS-Security Security for JAX-WS
ldapRegistry LDAP security registry
JMS (jmsMdb, wasJmsClient, wasJmsSecurity)
MongoDB file base d/b
Oauth security trust
Osgiconsole debug for OSGi
Timedoperations timeout of jdbc calls
IBM Confidential
V5.1
V5.1 APARs
V5.2
CICS TS V5.2 Liberty/Java function
Java
Java7.1
Improved performance on EC12
Flexible SDK toleration:
Java 7.0 or Java 7.1
Optimized EI domain internal tracing
significant improved performance at level 1
New Liberty features
JNDI, bean validation, jdbc, appSecurity, jaxws, jaxb
Security integration
RACF keyrings for SSL
Liberty standard authentication mechanisms
JDBC
Type 2 data sources and JNDI support
Type 4 data sources for remote databases
JTA
UserTransaction API integration
-> Provides transactional integration for CICS UOW and Type4 JDBC
Java Transaction API
Support for UserTransaction API in servlet/Web applications in CICS
Integration of JTA UserTransaction with CICS UOW/syncpointing
Two phase commit for Liberty Web applications
Liberty will be TM, and CICS UOW will be restricted to DPL subset
Integration with CICS RM provides single CICS UOW for
VSAM
TS/TD etc
CICS DB2
MQ
Type4 JDBC (Derby, DB2 etc)
Enabler for future transactional features such as EJB
Java Transaction API (JTA)
CICS TS 5.2 beta
TransactionManager
CICS JavaApplication
CICSXAResource
Database
Liberty JVM server
OT Domain
RM Domain
JTA provides coordination of updatesacross CICS UOW and a remote XA Resources:
JDBC type 4 database driver
T4 d/bdriver
JDBC
Support JDBC DataSource API and JNDI definitional model for type 2 (local) DB2 connections and type 4 remote JDBC databases.
DataSource interface as API for defining databases and acquiring d/b connections
Prereqs JNDI directory service for lookup of data sources
DriverManager remains supported
DataSource and JNDI only supported in Liberty JVM server
Type 2
Integrate with CICS DB2CONN for security and UOW support
Does not require JTA for UOW support in CICS
Type 4
Uses Liberty JDBC feature
Requires JTA for UOW integration with CICS
JDBC Data source server.xml
cicsts:jdbc-1.0
CICS TS V5.2 Liberty Security
RACF keyrings for SSL
SSL keyrings can be stored in RACF
SSL client certs can be used for authentication
Integration of zosSecurity feature with cicsts:security-1.0 feature
AppSecurity feature
Extended authentication optionsHTTP basic authentication
Form logon
TAI/ JAAS
SSL client authentication
Customer user registry
New authorisation options:JEE roles
EJB roles (RACF)
SynctoOSthreadUSS security
CICS Transaction and Resource security
Authenticated userid is set as Task ACEE
Used for CICS Transaction and Resource security checks
Not used in monitoring (CMF), or task association, or GLUEs/TRUES
Liberty JVM server security
WLP Angel process used to control access to MVS authorized services
Password authentication
Role authorization (EJBROLEs)
All WLP application security options supported in CICS TS V5.2
WLP Authentication cache provides significant performance improvement compared to V5.1
Single sign on (SSO) via LTPA cookiesSupports a security cluster
Can include Liberty JVM servers, WAS or WLP instances that share the same ltpa key store
Pluggable authenticationTrust association interceptor (TAI)
JAAS login modules
Summary of benefits
Local. Lightweight. Fast. Web Applications run locally in CICS with direct access to CICS data and resources. No adapters, no converters, same address space.
Standard tools for developers. Familiar, industry standard tools with Eclipse and Dynamic Web Projects. CICS Explorer SDK enhances the deployment experience.
Portable. Presentation logic in Servlets, business logic in OSGi bundles. Servlets are portable across runtimes. Bundles provide componentization.
Modular design. Architected in a modular way using OSGi, the server only enables and starts the features required by the applications and configuration. If you're not using a feature, it won't start in your server runtime
Dynamic runtime. Features can be added to the server dynamically, using the OSGi framework, while the server is running, with zero downtime and server restarts. Similarly server and application config can be updated without the need to restart.
Eclipse based tools. The eclipse tools for the Liberty Profile are small and very well integrated with the Liberty Profile environment
V5.1 - Security credentials provided by basic-auth (http or https) or URIMAP.
V5.2 beta Form logon, SSL client cert mapping, TAI
CICS transaction security pre-requisites:
SEC=YES (triggers JVM server to add 'CICS' UserRegistry to Liberty)
Optional use of URIMAP to switch to 'user transaction'
in server.xml must be present (CICS bundle deployed apps always get this added when SEC=YES)
in Client application web.xml must be present ( Explorer SDK provides emamples/template)
CICS Security with Liberty Profile
....and you probably don't want just anyone accessing your data. So you'll want to switch Security ON. By default, all Liberty servlets run under the CJSA transaction as CICS default User. To allow authentication as another user, you need to configure the Web Application itself with a Security constraint. When a servlet is secured, Liberty knows to ask CICS to authenticate the user. A basic-auth challenge is issued. It can be secured with SSL, but we don't support client-side certificates yet.
Nor do we support Role Security.
Liberty Features (as of WAS 8.5.0)
Bean validation
Blueprint
Java Database Connectivity (JDBC)
Java Management Extensions (JMX)
Java Persistence API (JPA)
JavaServer Faces (JSF)
JavaServer Pages (JSP)
JAX-RS, JSON
Secure Sockets Layer (SSL)
Security, supported by either the basic user registry or a Lightweight Directory Access Protocol (LDAP) user registry
Servlet
Web application bundle (WAB)
Web security
zOS Security
zOS Transactions
Liberty Features ( for CICS TS V5.1 GA)
Bean validation
Java Database Connectivity (JDBC) via CICS DB2 Connection
Java Management Extensions (JMX)
Java Persistence API (JPA)
JavaServer Faces (JSF)
JavaServer Pages (JSP)
Secure Sockets Layer (SSL)
Security, supported by either the basic user registry or a Lightweight Directory Access Protocol (LDAP) user registry
Servlet
Web security
Blueprint Fix Pack 1 APAR PM80214
Web application bundle (WAB) Fix Pack 1 APAR PM80214
JAX-RS APAR PM85279
JSON APAR PM85279
Real users speaking about CICS
3072 CPSM Optimized Workload Routing
Weds: 14.15, Delfino 4005
2880: Tales from the trenches
Weds: 15.45, Delfino 4005
3073: z/OS & CICS Consolidation project
Weds: 13.00, Delfino 4005
2436: Modernizing the mainframe
Thurs: 10.30, Delfino 4005
1966: Best practices for CICS SOA Connectivity Weds: 13.00, Delfino 4102
Follow us
CICSbuzzibm.com/cics/news
CICS Hursley
ibmcics
@ibm_cics
ibmcics
CICS Hursley
Visit us at
Lost?
System z Software Solutions Suite
Toscana 3609
Monday 11:00 18:00
Tuesday & Wednesday 8:00 18:00
Thursday 8:00 16:00Book your appointment at ibm.biz/zsolsuitePlus
Lunch & Learns 12:00 13:00 daily book a slot!
System z Peds
Infrastructure Matters zone of the EXPOMonday 10:00 19:30
Tuesday 10:00 19:30
Wednesday 10:00 14:30Pop by for a chat about CICS!
Dazed and confused about CICS or z at Impact?Visit the zConcierge - System z Software Solutions Suite - Toscana 3609
Generation z
No sales pitches, no marketing, just drinks with other Generation zs
19:30 Wednesday April 30
Public House, The Venetian
[noun] those with under 10 years experience on the mainframe
Follow us:
Join us:
Meet us:
@ibmgenz
System zStack Exchange
Build a community of like-minded people
Get the lowdown on whats going on
Win a CICS Workshop!
Collecting CICS session stickers for your entry?
Dont forget to pick one upbefore you go!
Questions?
We Value Your Feedback
Dont forget to submit your Impact session and speaker feedback! Your feedback is very important to us we use it to continually improve the conference.
Use the Conference Mobile App or the online Agenda Builder to quickly submit your survey
Navigate to Surveys to see a view of surveys for sessions youve attended
Thank You
Legal Disclaimer
IBM Corporation 2014. All Rights Reserved.
The information contained in this publication is provided for informational purposes only. While efforts were made to verify the completeness and accuracy of the information contained in this publication, it is provided AS IS without warranty of any kind, express or implied. In addition, this information is based on IBMs current product plans and strategy, which are subject to change by IBM without notice. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, this publication or any other materials. Nothing contained in this publication is intended to, nor shall have the effect of, creating any warranties or representations from IBM or its suppliers or licensors, or altering the terms and conditions of the applicable license agreement governing the use of IBM software.
References in this presentation to IBM products, programs, or services do not imply that they will be available in all countries in which IBM operates. Product release dates and/or capabilities referenced in this presentation may change at any time at IBMs sole discretion based on market opportunities or other factors, and are not intended to be a commitment to future product or feature availability in any way. Nothing contained in these materials is intended to, nor shall have the effect of, stating or implying that any activities undertaken by you will result in any specific sales, revenue growth or other results.
If the text contains performance statistics or references to
benchmarks, insert the following language; otherwise delete:
Performance is based on measurements and projections using standard
IBM benchmarks in a controlled environment. The actual throughput
or performance that any user will experience will vary depending
upon many factors, including considerations such as the amount of
multiprogramming in the user's job stream, the I/O configuration,
the storage configuration, and the workload processed. Therefore,
no assurance can be given that an individual user will achieve
results similar to those stated here.
If the text includes any customer examples, please confirm we
have prior written approval from such customer and insert the
following language; otherwise delete:
All customer examples described are presented as illustrations of
how those customers have used IBM products and the results they may
have achieved. Actual environmental costs and performance
characteristics may vary by customer.
Please review text for proper trademark attribution of IBM products. At first use, each product name must be the full name and include appropriate trademark symbols (e.g., IBM Lotus Sametime Unyte). Subsequent references can drop IBM but should include the proper branding (e.g., Lotus Sametime Gateway, or WebSphere Application Server). Please refer to http://www.ibm.com/legal/copytrade.shtml for guidance on which trademarks require the or symbol. Do not use abbreviations for IBM product names in your presentation. All product names must be used as adjectives rather than nouns. Please list all of the trademarks that you use in your presentation as follows; delete any not included in your presentation. IBM, the IBM logo, Lotus, Lotus Notes, Notes, Domino, Quickr, Sametime, WebSphere, UC2, PartnerWorld and Lotusphere are trademarks of International Business Machines Corporation in the United States, other countries, or both. Unyte is a trademark of WebDialogs, Inc., in the United States, other countries, or both.
If you reference Adobe in the text, please mark the first use
and include the following; otherwise delete:
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.
If you reference Java in the text, please mark the first use and
include the following; otherwise delete:
Java and all Java-based trademarks are trademarks of Sun
Microsystems, Inc. in the United States, other countries, or
both.
If you reference Microsoft and/or Windows in the text, please
mark the first use and include the following, as applicable;
otherwise delete:
Microsoft and Windows are trademarks of Microsoft Corporation in
the United States, other countries, or both.
If you reference Intel and/or any of the following Intel
products in the text, please mark the first use and include those
that you use as follows; otherwise delete:
Intel, Intel Centrino, 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.
If you reference UNIX in the text, please mark the first use and
include the following; otherwise delete:
UNIX is a registered trademark of The Open Group in the United
States and other countries.
If you reference Linux in your presentation, please mark the
first use and include the following; otherwise delete:
Linux is a registered trademark of Linus Torvalds in the United
States, other countries, or both. Other company, product, or
service names may be trademarks or service marks of others.
If the text/graphics include screenshots, no actual IBM employee names may be used (even your own), if your screenshots include fictitious company names (e.g., Renovations, Zeta Bank, Acme) please update and insert the following; otherwise delete: All references to [insert fictitious company name] refer to a fictitious company and are used for illustration purposes only.
2014 IBM Corporation
2012 IBM Corporation