WebSphere Migration Workshop WebSphere 8.5 Liberty Profile ...oleary.org/WAS Version to Version...

22
WebSphere Migration Workshop WebSphere 8.5 Liberty Profile Overview Worldwide WebSphere Competitive Migration Team

Transcript of WebSphere Migration Workshop WebSphere 8.5 Liberty Profile ...oleary.org/WAS Version to Version...

Page 1: WebSphere Migration Workshop WebSphere 8.5 Liberty Profile ...oleary.org/WAS Version to Version Migration/V2V_07... · jsf jsp runtime (osgi ... - Includes directed exercises to illustrate

WebSphere Migration Workshop

WebSphere 8.5 Liberty Profile Overview

Worldwide WebSphere Competitive Migration Team

Page 2: WebSphere Migration Workshop WebSphere 8.5 Liberty Profile ...oleary.org/WAS Version to Version Migration/V2V_07... · jsf jsp runtime (osgi ... - Includes directed exercises to illustrate

2

IBM Solution

WebSphere Application Server V8.5 Liberty profile

Wouldn’t it be nice if … Simplified configuration

Free easy download for my developers of tools and runtime.

Small & modular runtime environment

Incredibly fast startup of my app server

Unzip deploy of an application and configured server.

Simple way to share product binaries, configuration and application binaries across servers

Development support for Mac OS

Fidelity to full WebSphere Profile

Goal: fast, flexible, and simplified application foundation

Page 3: WebSphere Migration Workshop WebSphere 8.5 Liberty Profile ...oleary.org/WAS Version to Version Migration/V2V_07... · jsf jsp runtime (osgi ... - Includes directed exercises to illustrate

3

What do developers care about?

Developer Experience Common Development tasks include:

All frequent tasks should be as painless as passible as not to hinder productivity

These kinds of capabilities reflect on the Application Server runtime as well as the development tools.

Page 4: WebSphere Migration Workshop WebSphere 8.5 Liberty Profile ...oleary.org/WAS Version to Version Migration/V2V_07... · jsf jsp runtime (osgi ... - Includes directed exercises to illustrate

4

WebSphere Application Server v8.5: Introduces the Lightweight “Liberty” Profile – For Web, OSGi and Mobile Apps

Dynamic Server ProfileNot static like Web Profile – determines by app at a fine-grained level

Developer First FocusSimplified, shareable server config (like a dev. artifact). One XML file or several to simplify sharing & reuse of config

Lightweight runtimeSmall memory footprint:(60MB for TradeLite)

Integration with ND Job MgrOptionally manage server lifecycle through ND Job Mgr

Fidelity to full profile WASSame reliable containers & QOS (easy migration from dev to ops)

Dynamic RuntimeAdding features & updating configs does not require server restart

A highly composable, dynamic Server profile

Popular PlatformsAdds MAC OS for development

Incredibly fast: start times: < 5 secs

Small Download: < 50MB

WAS v8.5 Liberty Profile

Unzip Install & DeployIM or unzip to install. Unzip deploy of server + app + config

Integrated ToolingPowerful tools. Simple Eclipse feature

Page 5: WebSphere Migration Workshop WebSphere 8.5 Liberty Profile ...oleary.org/WAS Version to Version Migration/V2V_07... · jsf jsp runtime (osgi ... - Includes directed exercises to illustrate

5

The problem of a lightweight development environment in WebSphere has been solved!

– Liberty Profile startup & footprint are on par with Tomcat.

– Liberty Profile starts up in less than half the time of JBoss Web profile.

Tomcat 7.0.12

JBoss 7.0 Web Profile

GlassFish 3.1 Web Profile

Liberty Profile

0.0

1.0

2.0

3.0

4.0

5.0

6.0

7.0

8.0

9.0

0

20

40

60

80

100

120

1.7

5.3

7.8

2.334

93104

46

Startup & Footprint Comparison of various lightweight servers

Startup timeFootprint

Star

tup

time

in s

econ

ds (L

ower

is B

ette

r)

Foot

prin

t in

MB

(Low

er is

Bet

ter)

Liberty Profile – Startup & Footprint

Note: Tomcat , JBoss, and GlassFish were measured with the HotSpot JDK, while Liberty

was measured with the IBM JDK.

System Info:Lenovo T60p - 2 x 2.16 GHz Intel Core Duo T2600

2GB RAM, Windows XP 32-bitApache Tomcat 7.0.12JBoss Community Edition 7.0 Web Profile serverGlassFish Server 3.1 Open Source Edition Web ProfileWAS V8.5 Liberty Profile(All servers had the TradeLite benchmark application installed)

Page 6: WebSphere Migration Workshop WebSphere 8.5 Liberty Profile ...oleary.org/WAS Version to Version Migration/V2V_07... · jsf jsp runtime (osgi ... - Includes directed exercises to illustrate

6

Liberty Profile - Throughput

A lightweight server that can service requests with the speed of a full production

server!

– Liberty Profile provides up to 20% better runtime performance than JBoss and 25% better than Tomcat.

Tomcat 7.0.12

JBoss 7.0 Web Profile

GlassFish 3.1 Web Profile

Liberty Profile

0%

20%

40%

60%

80%

100%

120%

80% 83%90%

100%

Throughput Comparison of various lightweight servers

Rela

tive

Thro

ughp

ut (h

ighe

r is

bette

r)

Note: Tomcat , JBoss, and GlassFish were measured with the HotSpot JDK, while Liberty

was measured with the IBM JDK.

System Info:IBM x3550 – 4 x 1.86 GHz Intel Xeon E5320, 8 GB RAM

RedHat Linux 5.3 32-bitApache Tomcat 7.0.12JBoss Community Edition 7.0 Web Profile serverGlassFish Server 3.1 Open Source Edition Web ProfileWAS V8.5 Liberty Profile(All servers had the TradeLite benchmark application installed)

Page 7: WebSphere Migration Workshop WebSphere 8.5 Liberty Profile ...oleary.org/WAS Version to Version Migration/V2V_07... · jsf jsp runtime (osgi ... - Includes directed exercises to illustrate

7

No Hurdles to InstallTools and runtime are free for development. No time limitEclipse feature install for tools; 40MB zip download for server profile.

Installation Manager also supported same installed result.

Two minutes from “Nothing” to “Done”:

www.wasdev.net

Use the Tools to download or install the WAS Liberty Profile.or download 40MB jar from WASdev.net

Install WAS Developer Tools for Eclipse Feature

Page 8: WebSphere Migration Workshop WebSphere 8.5 Liberty Profile ...oleary.org/WAS Version to Version Migration/V2V_07... · jsf jsp runtime (osgi ... - Includes directed exercises to illustrate

8

Simplified Server Configuration

Simplest case: One XML file for all server config

Editable within the workspace

Exportable, shareable, versionable

Dynamic update: Changes are immediately recognized by the runtime.

No server restart in most cases.

Page 9: WebSphere Migration Workshop WebSphere 8.5 Liberty Profile ...oleary.org/WAS Version to Version Migration/V2V_07... · jsf jsp runtime (osgi ... - Includes directed exercises to illustrate

9

The Simple Things Primary Goal: Expose the runtime’s simplicity

‒ Show information where and when you need it‒ Add actions where you expect, and save clicks‒ Minimal UI

Example:─ Need to know what features are enabled─ Need to know what port numbers are used

Page 10: WebSphere Migration Workshop WebSphere 8.5 Liberty Profile ...oleary.org/WAS Version to Version Migration/V2V_07... · jsf jsp runtime (osgi ... - Includes directed exercises to illustrate

10

Highly Composable Runtime Based in ‘Features’

runtime services

config model

Java EE support

WAS Extensions

Traditional WAS profile

Liberty profile

runtime (osgi) services

http transport

webcontainer

app manager

jspjsf

runtime (osgi) services

http transport

webcontainer

app manager

web app securityServlet-3.0

Page 11: WebSphere Migration Workshop WebSphere 8.5 Liberty Profile ...oleary.org/WAS Version to Version Migration/V2V_07... · jsf jsp runtime (osgi ... - Includes directed exercises to illustrate

11

Under the Hood

JDK 6.0+

Liberty KernelOSGi

framework (runtime)

WAS Container

Applications

servlet-3.0

webAppSecurity-1.0jmx-1.0

jsp-2.2jsf-2.0

WAS Extensions

Java EE support

runtime services

config model

JDK 6.0+WebSphere Liberty profile

Page 12: WebSphere Migration Workshop WebSphere 8.5 Liberty Profile ...oleary.org/WAS Version to Version Migration/V2V_07... · jsf jsp runtime (osgi ... - Includes directed exercises to illustrate

12

Liberty Features Bean validation - beanvalidation-1.0

Provides validation to Java Beans in all layers to maintain data integrity in an integrated and standard environment

Blueprint (OSGi applications) - blueprint-1.0 Provides support for deploying OSGi applications that make use of

the OSGi blueprint container specification. Java API for Restful services (JAX-RS) - jaxrs-1.1

provides support for Java API for Restful Web Services JDBC database connectivity - jdbc-4.0

provides support for applications that access a database JNDI - jndi-1.0

provides support for a single JNDI entry definition in the server configuration

Java Persistence API (JPA) - jpa-2.0 provides support for applications that use application-managed and

container-managed JPA written to the JPA 2.0 specification.

Page 13: WebSphere Migration Workshop WebSphere 8.5 Liberty Profile ...oleary.org/WAS Version to Version Migration/V2V_07... · jsf jsp runtime (osgi ... - Includes directed exercises to illustrate

13

Liberty Features cntd. Java Server Faces (JSF) - jsf-2.0 Java Server Pages (JSP) - jsp-2.2 JavaScript Object Notation (JSON) - json-1.0

JSON4J library provides a simple Java model for constructing and manipulating data to be rendered as JSON data.

Local JMX Connector - localConnector-1.0 enables local access by JMX clients such as jConsole, or other JMX

clients that use the Attach API. Monitoring - monitor-1.0

provides Performance Monitoring Infrastructure (PMI) OSGI JPA - osgi.jpa-1.0

provides JPA support for OSGi applications Remote JMX Connector - restConnector-1.0

enables remote access by JMX clients via a REST based connector and requires SSL and basic user security configuration.

SSL - ssl-1.0 provides support for Secure Sockets Layer (SSL) connections.

Page 14: WebSphere Migration Workshop WebSphere 8.5 Liberty Profile ...oleary.org/WAS Version to Version Migration/V2V_07... · jsf jsp runtime (osgi ... - Includes directed exercises to illustrate

14

Liberty Features cntd. Security - appSecurity-1.0

provides support for securing the server runtime environment and applications.

Server Status - serverStatus-1.0 enables Liberty profile servers to automatically publish their status to

WebSphere Application Server Deployment Managers and Job Managers that are aware of the server as a resource in their Job configuration.

Servlet - servlet-3.0 Database Session Persistence - sessionDatabase-1.0

provides session affinity and failover support on the Liberty profile. z/OS Security - zosSecurity-1.0

provides support on the z/OS platform for basic interactions with the SAF Registry

z/OS Transaction Management - zosTransaction-1.0 enables the application server to manage transactional activity between the

Resource Recovery Services (RRS), the application server's transaction manager, and the resource manager

z/OS Workload Manager - zosWlm-1.0 provides access to z/OS native workload management (WLM) services.

Page 15: WebSphere Migration Workshop WebSphere 8.5 Liberty Profile ...oleary.org/WAS Version to Version Migration/V2V_07... · jsf jsp runtime (osgi ... - Includes directed exercises to illustrate

15

Packaging a Liberty Profile Server

Create a compressed file containing Server runtime environment, server configuration, and applications:

Can use the Liberty eclipse packaging wizard

Use the Liberty server command line utilityserver.bat package labServer –archive=labServer.zip

The package can be used to: - Store in source code control systems- Distribute it to colleagues- Deploy the application to a different location or to another machine.- Embed it in your product distribution.

Page 16: WebSphere Migration Workshop WebSphere 8.5 Liberty Profile ...oleary.org/WAS Version to Version Migration/V2V_07... · jsf jsp runtime (osgi ... - Includes directed exercises to illustrate

16

Liberty Profile support on z/OSLiberty Profile for z/OS provides a set of extensions that take advantage of unique features and functions of the z/OS platform.

SAF (zosSecurity-1.0 feature) : The use of Security Access Facility (SAF) for user authentication.

WLM (zosWlm-1.0 feature) : The use of z/OS Workload Manager (WLM) to classify work and assign specific service and reporting classes within a Liberty Profile server instance.

JDBC Type 2 and RRS (zosTransaction-1.0 feature) : The use of cross-memory connectors into DB2 along with global transaction synchpoint coordination provided by Resource Recovery Services (RRS).

A "Quick Start" guide has been created that provides an easy path to success with Liberty Profile.- Includes directed exercises to illustrate how the Liberty Profile works on z/OS- http://www.ibm.com/support/techdocs/atsmastr.nsf/WebIndex/WP102110 

Page 17: WebSphere Migration Workshop WebSphere 8.5 Liberty Profile ...oleary.org/WAS Version to Version Migration/V2V_07... · jsf jsp runtime (osgi ... - Includes directed exercises to illustrate

17

Security

Secure out of the box

All opened ports are local host only

Exposes no remote management by default

Provides a simplified security configuration to make security painless

Three key features

‒ ssl-1.0

‒ appSecurity-1.0

‒ zosSecurity-1.0

Includes all the security services (authentication,

registry, authorization) and web specific security code

Includes the SAF registry and authorization code

Includes the SSL specific code

Page 18: WebSphere Migration Workshop WebSphere 8.5 Liberty Profile ...oleary.org/WAS Version to Version Migration/V2V_07... · jsf jsp runtime (osgi ... - Includes directed exercises to illustrate

18

Security User Registry User and Group information for authentication is stored in a user registry Various types of user registries are supported in the Liberty Profile

Quick Start (1 user setup for development) Basic User Registry (Similar to file based registry on full WAS profile) Standalone LDAP user registry (Supports the same user registries as the full

WAS profile) SAF registry for z/OS systems

Support for the use of SSL with the Liberty profile Ensure that the appSecurity-1.0 feature is defined in the server.xml Sample configuration files (Templates) are shipped for most security configurations

<WLP_INSTALL_DIR>\wlp\templates\config

Page 19: WebSphere Migration Workshop WebSphere 8.5 Liberty Profile ...oleary.org/WAS Version to Version Migration/V2V_07... · jsf jsp runtime (osgi ... - Includes directed exercises to illustrate

19

LDAP Registry

Authenticate using an LDAP server Supports: Microsoft Active Directory, IBM Lotus Domino, Novell

eDirectory, IBM Tivoli Directory Server, Sun Java System Directory Server, Netscape Directory Server, IBM SecureWay Directory Server

Note: you can also configure other open source LDAP with ldapType=”custom”

<server> <featureManager> <feature>appSecurity-1.0</feature> </featureManager> <ldapRegistry host="ccwin12.austin.ibm.com"

port="389” baseDN="o=ibm,c=us“ ldapType="IBM Tivoli Directory Server" />

</server>

Page 20: WebSphere Migration Workshop WebSphere 8.5 Liberty Profile ...oleary.org/WAS Version to Version Migration/V2V_07... · jsf jsp runtime (osgi ... - Includes directed exercises to illustrate

20

Liberty Administrative Security

One “administrator” role One user registry for apps and admin Simple configuration for a single admin user

<quickStartSecurity userName=“bob” userPassword=“{xor}Lz4sLCgwLTs”/>

<keystore id=“DefaultKeyStore” password=“{xor}DFoKyp=”/>

..but….still easy for multiple users<administrator-role> <user>fred</user> <group>administratorsGroup</group></administrator-role>

Page 21: WebSphere Migration Workshop WebSphere 8.5 Liberty Profile ...oleary.org/WAS Version to Version Migration/V2V_07... · jsf jsp runtime (osgi ... - Includes directed exercises to illustrate

21

Management Security – Differences between the Liberty profile and Full WAS Profile

• Only one management role: Administrator• No Primary Admin ID• No internal JMX security

–Access to Mbeans from applications on the system are not protected• No administrative console• No scripting (wsadmin)

Page 22: WebSphere Migration Workshop WebSphere 8.5 Liberty Profile ...oleary.org/WAS Version to Version Migration/V2V_07... · jsf jsp runtime (osgi ... - Includes directed exercises to illustrate

22

Caching: Liberty and eXtreme Scale Integration Scenarios• Running grid servers in the Liberty profile using Eclipse tools

– You can use Eclipse tools to run WebSphere eXtreme Scale servers in the Liberty profile

– You can develop, configure, and deploy eXtreme Scale applications on the Liberty Profile

Add the server feature when you want to run a catalog server you want to deploy a grid application into the Liberty profile – eXtremeScale.server-1.0

Add the client feature when you have an application running in the Liberty profile that is going to use eXtreme Scale APIs – eXtremeScale.client-1.0

• Configuring HTTP session failover in the Liberty profile– The Liberty profile does support database session persistence, just as in the full WAS

profile. – The Liberty profile does not include session replication. – You can use WebSphere eXtreme Scale with the Liberty profile to replicate HTTP

Sessions. Add the web feature when you want to replicate HTTP session data for fault

tolerance – eXtremeScale.web-1.0