...

WebSphere Liberty Profile technical overview Manu T George WebSphere Development

by user

on
Category: Documents
28

views

Report

Comments

Transcript

WebSphere Liberty Profile technical overview Manu T George WebSphere Development
WebSphere Liberty Profile
technical overview
Manu T George
WebSphere Development
Please Note
IBM’s statements regarding its plans, directions, and intent are subject to change
or withdrawal without notice at IBM’s 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 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.
2
In the beginning (2011) there was WebSphere Application
Server……
Java EE
Compliant
Secure
Scalabl
e
Robust
Well-tooled
Fast
3
… but customers asked for something more…..
Lightweight
Composable
Simple
Flexible
Dynamic
Extensible
Cloud-ready
WebSphere Application
Server
Liberty Profile
WAS 8.5, June 2012
…. but as production-ready as the original…..
…. with even higher management scale!
4
Lightweight
Java EE 6 Web Profile certified app server in a 54MB
download
5
Lightweight
Java EE 6 Web Profile certified app server in a 53MB
download
Server starts in less than 3 seconds…
6
Lightweight
Java EE 6 Web Profile certified app server in a 54MB
download
Server starts in less than 3 seconds…
… with a memory footprint less than 60 MB…
7
Lightweight
Java EE 6 Web Profile certified app server in a 54MB
download
Server starts in less than 3 seconds…
… with a memory footprint less than 60 MB…
… and developer tools as an Eclipse plugin
Portal &
Portlet
JCA
SCA
iWidgets
JSF
Web 2.0
& mobile
Java EE
Eclipse
SIP
Analysis
CEA
Profiling
Batch
Visualization
OSGi
Team
debug
Full & Liberty
Servers
WAS Developer Tools
Cloud
Team code
coverage
Rational Application Developer
8
Composable
Tiny kernel with optional features
WAS
Extensions
Java EE
Implementation
jsf jsp security
servlet
http app mgr
runtime services
config model
kernel
Liberty profile
Full profile
9
Composable
Tiny kernel with optional features
You control which features are loaded into each server instance
<feature>servlet-3.0</feature>
<feature>jsf-2.0</feature>
<feature>appSecurity-2.0</feature>
jsf jsp security
servlet
http app mgr
servlet
http app mgr
kernel
kernel
Liberty profile
Liberty profile
10
Composable
Tiny kernel with optional features
You control which features are loaded into each server instance
Each feature is self-contained: install and runtime
11
Composable feature sets
Product editions contain nested sets of features
z/OS Edition
Network Deployment
Edition
“Base”, Express and
Developers’ Editions
Liberty Core Edition
Adds z/OS exploitation features
Adds centralized
management and clustering
features
Adds some Java EE 6 Full Profile features
Java EE 6 Web Profile
Other core features
12
Composable: features in 8.5.5
new
zosLocalAdapters-1.0
zosConnect-1.0 new
zosSecurity-1.0
zosWlm-1.0
zosTransaction-1.0
collectiveController-1.0
zos
nd
base
clusterMember-1.0
wsSecurity-1.1
jaxb-2.2
jaxws-2.2
jca-1.6 new
wasJmsServer-1.0
wmqJmsClient-1.1
wasJmsClient-1.1
mongodb-2.0
jmsMdb-3.1
wasJmsSecurity-1.0
jaxrs-1.1
json-1.0
concurrent-1.0
wab-1.0
blueprint-1.0
adminCenter-1.0 new
collectiveMember-1.0
restConnector-1.0
monitor-1.0
sessionDatabase-1.0
webProfile-6.0
ldapRegistry-3.0
osgiConsole-1.0
oauth-2.0
timedOperations-1.0
webCache-1.0
distributedMap-1.0
core
ejbLite-3.1
jsf-2.0
jsp-2.2
servlet-3.0
jdbc-4.0
jndi-1.0
appSecurity-2.0
managedBeans-1.0
13
ssl-1.0
beanValidation-1.0
cdi-1.0
jpa-2.0
Simple
Download from wasdev.net with no login…
14
Simple
Download from wasdev.net with no login…
… or let the developer tools install it for you
15
Simple
Download from wasdev.net with no login…
… or let the developer tools install it for you
Install, configure a server and run an application in 1 minute
16
Simple
Download from wasdev.net with no login…
… or let the developer tools install it for you
Install, configure a server and run an application in 1 minute
Keep your server configuration in a single file
17
Simple
Download from wasdev.net with no login…
… or let the developer tools install it for you
Install, configure a server and run an application in 1 minute
Keep your server configuration in a single file
Sparse configuration - defaults keep your config simple
<webContainer
disallowAllFileServing="true">
</webContainer>
18
Simple
Download from wasdev.net with no login…
… or let the developer tools install it for you
Install, configure a server and run an application in 1 minute
Keep your server configuration in a single file
Sparse configuration - defaults keep your config simple
Hidden internals keep classloaders clean
Application
Liberty API
Internal classes (hidden)
19
Simple: future migration with Liberty profile
There is no migration needed for Liberty configuration
• the same server configurations can be used with different
versions and service levels of the runtime
• set WLP_USER_DIR to shared configuration and apps
Existing features will not change behavior
• new feature ‘versions’ will be added and will contain all updates
and changes
Supported versions of Java (J2SE) will move forward
• Several of the Java EE 7 technologies require Java 7
• Java 6 will go out of support at some point
– WebSphere Application Migration Tool already has support to
identify J2SE 6 -> 7 changes needed by an application
20
Flexible
Bring your own Java…
Any J 2S E 1.6 or J 2S E
7 c ompa tible
imple me nta tion
21
Flexible
Bring your own Java…
… and your MacBook
22
Flexible
Bring your own Java…
… and your MacBook
Structure configuration your own way….
<server description="server clone_1">
<variable
name="HTTP_default_var" value="9082" />
<include location="http://commoncfg/global.xml" />
<include location="${shared.config.dir}/datasource-1.xml" />
</server>
23
Flexible
Bring your own Java…
… and your MacBook
Structure configuration your own way….
… and maximise sharing through variables
HTTP_default_var=9081
bootstrap.properties file
<variable
name="HTTP_default_var"
value="9082" />
server.xml or included xml file
export HTTP_default_var=9083
environment variable
<httpEndpoint id="defaultHttpEndpoint”
httpPort="${HTTP_default_var}" />
<httpEndpoint id="defaultHttpEndpoint”
httpPort="${env.HTTP_default_var}" />
24
Flexible
Bring your own Java…
… and your MacBook
Structure configuration your own way….
… and maximise sharing through variables
Install and update using our archives….
java -jar wlp-developers-runtime-8.5.5.1.jar
8.5.5.1
WLP_USER_DIR
8.5.5.2
java -jar wlp-developers-runtime-8.5.5.2.jar
25
User
configuration,
applications,
resources
Flexible
Bring your own Java…
… and your MacBook
Structure configuration your own way….
… and maximise sharing through variables
Install and update using our archives….
… and build your own for backup and deployment
server package myServer –include=minify
myapp.war
server.xml
servlet-3.0
kernel
26
Dynamic
Dropin application install and update
Configured applications go here
by default, but can be anywhere
Monitored directory for
applications
27
Dynamic
Dropin application install and update
Configuration files also monitored for updates
• All configuration changes are dynamic
Add
<application/>
Add
<feature>jdbc-4.0</feature>
<dataSource/>
running server
Add <library/>
Modify
<dataSource>
<properties/>
</dataSource>
28
Extensible
Download and install new features from Liberty Repository
http://wasdev.net/repo
29
Extensible
Download and install new features from Liberty Repository
Run inside in a java process/application
Future<Result> startFuture = libertyServer.start();
Future<Result> stopFuture = libertyServer.stop();
web
app
Liberty
profile
CICS JVM
30
Extensible
Download and install new features from Liberty Repository
Run inside in a java process/application
Plugin your own features using the Liberty SPI
Package as feature or
embedded server
Tools support for feature
development
Access to powerful
product SPI
Install into your own
extension location
Liberty
Product
Extension
OSGi management of
native libraries
Manage as runtime
feature, not application
Integrate with server
configuration
Start simple, evolve into
rich solution
Expose API, services and
http endpoints
31
Cloud-ready
Low disk use
Low memory use
Very fast instance deployment
Very fast server start
Composable through features
Archive install and update
Zip file deployment
Quiet runtime
Most Java EE features available pre-integrated, tested,
supported
• Single configuration file for simple automation
•
•
•
•
•
•
•
•
•
32
Cloud-ready: Virtual System Pattern for IaaS
1 to n hosts
VSP
liberty
WHV
liberty WHV
collective
controller
liberty
WHV
liberty
WHV
Pure
AS or
SCO
new
PureApp
Service on
SoftLayer
pattern
management
HTTP requests
IHS/plu
gin
beta
33
HTTP sessions
DB or
cache
Cloud-ready: CloudFoundry PaaS
Mobile
Data
Twilio
Log Analysis
Mongo DB
On-premise Cloud
Foundry
Monitoring
and Analytics
Data Cache
IBM hosted
Codename: BlueMix
Elastic MQ
Beta
app is auto-wired
to cloud services
app is packaged
with runtime by
liberty buildpack
+
+
Session
Cache
cf push
app.war
SQL (DB2)
Database
MySQL
34
Like the WebSphere Full
profile, Liberty profile
remains…
Java EE (Web Profile plus) Compliant
new
JCA 1.6
JMS 1.1
JAX-WS 2.2
MDB 3.1
Java EE 6 Web
Profile
36
Secure
Out of the box…
• localhost only, minimal ports opened
• no default userids or passwords
• remote admin always secured
Registries
• Simple registry in server.xml to get started
• Federated LDAPs or SAF for production
• also Custom User Registry
OAuth 2.0
• allows apps to delegate authorization to a third-party
37
Robust
Tried and tested components reused in Liberty Profile
Industrial strength Transaction Manager
Failover of HTTP Sessions via DB or WXS
Failover of Collective Controller via replica set
Disaster recovery is similar to Full profile
• Best practice is to have dual, independent collectives ideally in
separate data centers
38
Fast
Create a server and start an application in less than 1 minute….
…. but get true production throughput
39
Fast
Create a server and start an application in less than 1 minute….
…. but get true production throughput
40
Scalable
Liberty Collective architecture is even more highly scalable than
Full Profile ND Cells
Ten thousand collective members (liberty
app servers)
Controller replica set
WAS Liberty test team has validated a collective of 10K servers on 5 controllers
41
Well-tooled
WebSphere Developer Tools drop in
to your existing eclipse
Migration tools (WAMT) to help your
move from other app servers
Liberty Admin Center is the nextgeneration management tool with
form factors for browser, tablet and
phone
Lightweight, task-oriented app store
approach with customizable toolbox
for “right-sized” UI per user / device
Monitoring tools include:
• IBM Application Performance
Diagnostics 1.1
• CA Wily Introspect APM 9.1.0
42
new
So what now?
Use the WebSphere Liberty Application Tool to evaluate your
applications for moving to the Liberty Profile
Download WDT and the Liberty runtime and try it out
Think about management options
• Add Liberty servers to your existing WAS ND Cell
• Build a Collective for a ‘pure liberty’ solution
• Roll-your-own using JMX and scripting with Liberty Core Edition
Tell us what you think, what you need
• http://wasdev.net/answers
43
Questions?
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 IBM’s 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 IBM’s 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.
46
Fly UP