© 2015 IBM Corporation
Get Rapid Right-sized and Recent with the Liberty Repository Graham Charters, STSM, WebSphere Liberty Repository & OSGi Applications Architect
Yee-Kang Chang, WebSphere Application Server Install Architect
Agenda
• Motivation
• Introduction to the Liberty Repository
• Using the Liberty Repository
• Hosting your own Repository
• GitHub and the Repository
• Summary
1
Motivation
Motivation
• Liberty Profile is comprised of a continually growing set of
features
• Dev & Ops teams need different feature subsets are needed for
different tasks
• Web applications, OSGi Applications, Messaging, Databases,
Clustering, …
• Flexible server configuration allows servers to load only what is
needed
• Server configurations can dynamically evolve as needs evolve
• Users want it to be as simple as possible to find and use these
assets as and when they need them
3
Introduction to the Liberty Repository
What is the Liberty Repository?
An online repository of Liberty Profile-related assets for Dev and Ops teams
Servers
Simple server archive installation packages
Add-ons
Packages of capabilities for installation on a server
Features
Server capabilities as individually installable features
Tools Developer and operator productivity tools
Samples
Samples server packages demonstrating product capabilities
Admin Scripts
Samples scripts for common administrative tasks
Open Source
Demonstrate simple integration with commonly used open source projects
Config Snippets Samples server configurations for specific tasks
5
jaxws-2.2
jaxb-2.2
concurrent-1.0
json-1.0
adminCenter-1.0 new
jca-1.6 new
IBM WebSphere Liberty Repository
An online service provides information
about the repository contents and access
to download locations
6
jaxws-2.2
jaxb-2.2
concurrent-1.0
json-1.0
adminCenter-1.0 new
jca-1.6 new
IBM WebSphere Liberty Repository
The repository Web site* on WASdev.net
enables users to search for assets and
download them or find installation
instructions
7 * https://wasdev.net/downloads/
jaxws-2.2
jaxb-2.2
concurrent-1.0
json-1.0
adminCenter-1.0 new
jca-1.6 new
IBM WebSphere Liberty Repository
WebSphere Developer Tools enables
users to find and install repository
assets directly from within the IDE
8
jaxws-2.2
jaxb-2.2
concurrent-1.0
json-1.0
adminCenter-1.0 new
jca-1.6 new
IBM WebSphere Liberty Repository
Installer integration enables
operators to easily install content
for production deployments
9
jaxws-2.2
jaxb-2.2
concurrent-1.0
json-1.0
adminCenter-1.0 new
jca-1.6 new
IBM WebSphere Liberty Repository
10
Usage
A typical usage flow
• Let’s see how the repository and install technologies
help in the life-cycle of a runtime install
• Initial Install
• Install augmentation
• Using samples & open source
• Adding configuration
• Packaging up the server
Initial Install
Initial install features
webProfile-6.0
zosSecurity-1.0 zosTransaction-1.0 zosWlm-1.0
zos
collectiveController-1.0 clusterMember-1.0
nd base
wab-1.0
concurrent-1.0
collectiveMember-1.0
restConnector-1.0
sessionDatabase-1.0
ldapRegistry-3.0
webCache-1.0
jaxrs-1.1
distributedMap-1.0
osgiConsole-1.0
json-1.0
timedOperations-1.0 monitor-1.0
oauth-2.0
blueprint-1.0
servlet-3.0
jsp-2.2
jsf-2.0
ejbLite-3.1 jdbc-4.0
jndi-1.0
appSecurity-2.0
managedBeans-1.0
core
ssl-1.0
beanValidation-1.0
cdi-1.0
jpa-2.0
serverStatus-1.0
Default initial install
content matches 8.5.5
content and
varies by edition
• Base adds entitlement
to features not
included in initial
install
• ND adds clustering
• z/OS adds z/OS
Quality of Service
integration
Initial Archive Install
• Download initial install
• Liberty Repository -
Developer Edition
• PPA – Base, ND, etc.
• ‘Unzip’ the contents:
java –jar wlp-<edition>-runtime-<version>.jar
• Follow the simple instructions
• Done
WebSphere Developer Tools
• WebSphere Developer Tools
has first-class Repository
support
• Initial install can be from
downloaded archive or
directly from the Repository
16
IBM Installation Manager: Introduction
• Common installer for
~300 IBM products
• Managed install option for
Liberty Profile
• Provides full and centralized
product lifecycle management
• From install, update (fix packs
and fixes), modify to rollback
and uninstall
• Install to desired level of service
in one pass
• GUI and command line support
• Command line or response file
for silent operations
• Interactive text-based console
mode too
17
IM: Installing Liberty Profile
• Basic procedure:
1. Install IBM Installation Manager
2. Specify location (URLs) of product repositories
3. Install Liberty Profile to desired location
• Three options to obtain product repositories
• Local install via physical media
• Local install by downloading electronic images from Passport Advantage
• Web-based install via live repositories
• IBM Packaging Utility is available for creating in-house enterprise product repositories
18
Demo
• Web site
• Archive install
• WebSphere Developer Tools install
19
Adding features to the Install
Initial install features
webProfile-6.0
zosSecurity-1.0 zosTransaction-1.0 zosWlm-1.0
zos
collectiveController-1.0 clusterMember-1.0
nd base
wab-1.0
concurrent-1.0
collectiveMember-1.0
restConnector-1.0
sessionDatabase-1.0
ldapRegistry-3.0
webCache-1.0
jaxrs-1.1
distributedMap-1.0
osgiConsole-1.0
json-1.0
timedOperations-1.0 monitor-1.0
oauth-2.0
blueprint-1.0
servlet-3.0
jsp-2.2
jsf-2.0
ejbLite-3.1 jdbc-4.0
jndi-1.0
appSecurity-2.0
managedBeans-1.0
core
ssl-1.0
beanValidation-1.0
cdi-1.0
jpa-2.0
serverStatus-1.0
Default initial install
content matches 8.5.5
content and
varies by edition
• Base adds entitlement
to features not
included in initial
install
• ND adds clustering
• z/OS adds z/OS
Quality of Service
integration
Extended programming models features
webProfile-6.0
zosSecurity-1.0 zosTransaction-1.0 zosWlm-1.0
zos
collectiveController-1.0 clusterMember-1.0
nd
mongodb-2.0 wsSecurity-1.1
wmqJmsClient-1.1
wasJmsServer-1.0
jmsMdb-3.1
wasJmsClient-1.1 jaxws-2.2
jaxb-2.2
wasJmsSecurity-1.0
base
wab-1.0
concurrent-1.0
collectiveMember-1.0
restConnector-1.0
sessionDatabase-1.0
ldapRegistry-3.0
webCache-1.0
jaxrs-1.1
distributedMap-1.0
osgiConsole-1.0
json-1.0
timedOperations-1.0 monitor-1.0
oauth-2.0
blueprint-1.0
servlet-3.0
jsp-2.2
jsf-2.0
ejbLite-3.1 jdbc-4.0
jndi-1.0
appSecurity-2.0
managedBeans-1.0
core
ssl-1.0
beanValidation-1.0
cdi-1.0
jpa-2.0
serverStatus-1.0
Extended programming
models optionally
installable on all editions
beyond Liberty Core extended programming models
Repository features (up to 8.5.5.4)
webProfile-6.0
zosSecurity-1.0 zosTransaction-1.0 zosWlm-1.0
zos nd
mongodb-2.0 wsSecurity-1.1
wmqJmsClient-1.1
wasJmsServer-1.0
jmsMdb-3.1
wasJmsClient-1.1 jaxws-2.2
jaxb-2.2
wasJmsSecurity-1.0
base
wab-1.0
concurrent-1.0
collectiveMember-1.0
restConnector-1.0
sessionDatabase-1.0
ldapRegistry-3.0
webCache-1.0
jaxrs-1.1
distributedMap-1.0
osgiConsole-1.0
json-1.0
timedOperations-1.0 monitor-1.0
oauth-2.0
blueprint-1.0
servlet-3.0
jsp-2.2
jsf-2.0
ejbLite-3.1 jdbc-4.0
jndi-1.0
appSecurity-2.0
managedBeans-1.0
core
ssl-1.0
beanValidation-1.0
cdi-1.0
jpa-2.0
zosConnect-1.0
zosLocalAdapters-1.0
adminCenter-1.0
jca-1.6
servlet-3.1
scalingController-1.0
scalingMember-1.0
dynamicRouting-1.0
openid-2.0
openidConnectServer-1.0
websocket-1.0
openidConnectClient-1.0
couchdb-1.0
serverStatus-1.0
repository-only
jcaInboundSecurity-1.6 mdb-3.1
jms-1.1
jsonp-1.0
collectiveController-1.0 clusterMember-1.0
New features continually made available via the Liberty Repository
• Production-ready & fully-supported on entitled supported editions
Command Line: Extended Archive
• Download extended programming
models archive and install from
command line
• Liberty Repository - Developer
Edition
• PPA – Base, ND, etc.
• ‘Unzip’ the contents:
java –jar wlp-<edition>-extended-<version>.jar
• Follow the simple instructions
• Done
24
Command Line: featureManager
• New in 8.5.5.2: Enhanced
support for installing features
from Liberty Repository
• featureManager install
jaxws-2.2
• Simple intuitive command
• Supports simple “short name” – jaxws-2.2
– Case insensitive matching, just like the server
• Subsystem-SymbolicName – com.ibm.websphere.appserver
.jaxws-2.2
• Missing dependencies installed
automatically
25
featureManager Enhancements
• New in 8.5.5.4
• New find action for users to query features applicable to
current runtime
featureManager find searchString
• New options for the install action to download features from
the Liberty Repository to a local directory for offline use
featureManager install shortName --downloadOnly –
location=localDir --acceptLicense
• February 2015 Beta
• New uninstall action to remove features
• Support for accessing the Liberty Repository through
HTTP/HTTPS proxy
26
WebSphere Developer Tools
• Features not in initial install
can be added:
• At the same time as
performing initial install
• Later when needed (via
server in Runtime Explorer)
• Extended programming
features
• Single “add-on” install or
• individual features
• Individual repository-only
features
• Third-party features
27
Installation Manager
• New in 8.5.5.2: Integrate with Liberty Repository for managing features
• All Continuous Delivery features
• Support for Add-on Extended asset added in 8.5.5.4
• Add (or remove) features …
• When installing from scratch
• Updating to a new fix pack level
• Rolling back to a previous level
• or add (or remove) features using featureManager
• Support for response file and command line modes of IBM Installation Manager
• Console mode not supported
28
Demo
• featureManager install
• WebSphere Developer Tools install
29
Using Samples and Open Source
Product Samples and Open Source Integrations
• Product Samples
• Demonstrate a Liberty
Profile product capability
(e.g. EJB Security,
MongoDB, WebSockets,
etc)
• Open Source Integrations
• Provide integration with
popular open source
projects (e.g. Spring,
Hibernate)
31
Command Line
• Both types packaged as
archive install ‘server
packages’
• Download from repository
and install
java –jar <Sample>.jar
• Follow the instructions
• Done
• Installer will download any
third-party dependencies on
your behalf
32
WebSphere Developer Tools
• Samples and Open Source
Integrations installable through
Developer Tools
• During initial install
• Later through Runtime
Explorer
• Can install multiple
• Each becomes a server in the
Runtime Explorer view
• Drag-n-drop to Servers view to
use
33
assetManager
• New command line tool for
managing your Liberty
Profile installation
• Available under <wlp>/bin
• Enables installations of usr
server packages and their
feature dependencies, for
example: bin/assetManager deploy
JMSSampleServer.jar
34
BETA
Demo
• Command Line install of a sample
• assetManager install of a sample
35
Adding Configuration
Configuration Snippets
• Sample starter configurations
for the more advanced server
configuration tasks (typically
security)
• Examples:
• EJB Security
• Tivoli Directory Server
• Active Directory LDAP
• Easy to find the configuration
you need
• Takes the pain out of getting
started
37
Manual Inclusion
• Search for the snippet
you need
• Copy or download from
the Web site
• Paste or ‘include’ into
your server definition
• Replace the sample
values with the values for
your deployment
38
<server description="EJB application security sample configuration"> ... <featureManager> <feature>appSecurity-2.0</feature> <feature>ejbLite-3.1</feature> </featureManager> <!-- See the basicRegistry.xml and ldapRegistry.xml --> <!-- samples for details on configuring a user --> <!-- registry. --> <!-- See the SSL configuration sample, --> <!-- sslConfig.xml, for details on configuring SSL. --> <!-- Simple basicRegistry configuration in use by --> <!--the application binding below. --> <basicRegistry id="basic" realm="sampleRealm"> <user name="user1" password="user1pwd"/> <user name="user3" password="user3pwd"/> <group name="group2"> <member name="user1"/> <member name="user3"/> </group> </basicRegistry> ... </server>
WebSpere Developer Tools
• First-class repository
integration for config snippets
• Browse & search the snippets
• Choose the one you want
• ‘include’ it in your server
• Replace the sample values
with the values for your
deployment
39
Manual Inclusion
• New configUtility
for working with
configurations
• Find configurations
• Install configurations
• Substitute values
• Encode sensitive values
• etc...
40
BETA
Shrink-wrapping your Server
Server Package
• Package up a compressed archive of a configured Liberty server type along with its applications via the server package
command
• Package only what you need to minimize the footprint of a packaged server via the –include=minify option
bin/server –package <serverName> --include=minify
Hosting your own Repository
Customer Requirements
• Host Liberty product features for installation locally
• Remove dependency on systems outside your firewall
• Host in-house features
• Share internal features amongst dev & ops teams
44
jaxws-2.2
jaxb-2.2
concurrent-1.0
json-1.0
adminCenter-1.0 new
jca-1.6 new
IBM WebSphere Liberty Repository
45
jaxws-2.2
jaxb-2.2
concurrent-1.0
json-1.0
adminCenter-1.0 new
jca-1.6 new
IBM WebSphere Liberty Repository
46
Need to be able to stand up
one of these and fill it with
your own content
Implementation
• Asset Service REST Application
on Liberty
• Role-based security
• Content managed through
command-line
• initially features only
• Metadata and Assets stored in
MongoDB
• Can use sharding & database
backup for peace of mind
• Open Source available in GitHub
(contributors welcome )
MongoDB
Liberty
mongodb-1.0
jaxrs-1.1
Asset Service
Application
47
Usage
• Each install client*
extended to allow
multiple repositories
• Repositories
federated in
configuration order
• Default “liberty-
repository” can be
excluded
IBM Confidential
MongoDB
Liberty
mongodb-1.0
jaxrs-1.1
Asset Service
Application
mongodb-1.0
jaxrs-1.1
D
H
E
jaxws-
2.2
jaxb-2.2
concurr
ent-1.0
json-1.0
adminCen
ter-1.0 new
jca-1.6 new
1 2 3
BETA
*new Beta assetManager command for command line install
48
Population
• Open source command line
utility for managing repository
content
• Initially features only
• featureManager &
assetManager* download
options for pulling content
from the Liberty Repository
49
MongoD
B
Liberty
mongodb-
1.0
jaxrs-1.1
Asset
Service
Application
D
H
E
jaxws-2.2
jaxb-2.2
concurrent-1.0
json-1.0
adminCenter-1.0 new
jca-1.6 new
*Beta
Demo
• Upload a demo feature to LARS
• Perform an install that spans two repositories
50
Ecosystem
Ecosystem : Source & Binaries
Third-party
IBM
Share?
Release
Release Collaborate
Collaborate
52
Summary
Summary
• Liberty Repository is a one-stop-shop for dev and ops teams to
get the Liberty assets they need to get the job done
• Direct integration with all install approaches
• Managed install through Installation Manager
• Simple unmanaged archive install
• Developer Tools integration install
• Open source Liberty Asset Repository Service enables on-
premise and cloud-based deployments
• WASdev GitHub enables collaboration on asset development
54
Notices and Disclaimers
Copyright © 2015 by International Business Machines Corporation (IBM). No part of this document may be reproduced or
transmitted in any form without written permission from IBM.
U.S. Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with
IBM.
Information in these presentations (including information relating to products that have not yet been announced by IBM) has been
reviewed for accuracy as of the date of initial publication and could include unintentional technical or typographical errors. IBM
shall have no responsibility to update this information. THIS DOCUMENT IS DISTRIBUTED "AS IS" WITHOUT ANY WARRANTY,
EITHER EXPRESS OR IMPLIED. IN NO EVENT SHALL IBM BE LIABLE FOR ANY DAMAGE ARISING FROM THE USE OF
THIS INFORMATION, INCLUDING BUT NOT LIMITED TO, LOSS OF DATA, BUSINESS INTERRUPTION, LOSS OF PROFIT
OR LOSS OF OPPORTUNITY. IBM products and services are warranted according to the terms and conditions of the
agreements under which they are provided.
Any statements regarding IBM's future direction, intent or product plans are subject to change or withdrawal without
notice.
Performance data contained herein was generally obtained in a controlled, isolated environments. Customer examples are
presented as illustrations of how those customers have used IBM products and the results they may have achieved. Actual
performance, cost, savings or other results in other operating environments may vary.
References in this document to IBM products, programs, or services does not imply that IBM intends to make such products,
programs or services available in all countries in which IBM operates or does business.
Workshops, sessions and associated materials may have been prepared by independent session speakers, and do not
necessarily reflect the views of IBM. All materials and discussions are provided for informational purposes only, and are neither
intended to, nor shall constitute legal or other guidance or advice to any individual participant or their specific situation.
It is the customer’s responsibility to insure its own compliance with legal requirements and to obtain advice of competent legal
counsel as to the identification and interpretation of any relevant laws and regulatory requirements that may affect the customer’s
business and any actions the customer may need to take to comply with such laws. IBM does not provide legal advice or
represent or warrant that its services or products will ensure that the customer is in compliance with any law.
Notices and Disclaimers (con’t)
Information concerning non-IBM products was obtained from the suppliers of those products, their published
announcements or other publicly available sources. IBM has not tested those products in connection with this
publication and cannot confirm the accuracy of performance, compatibility or any other claims related to non-IBM
products. Questions on the capabilities of non-IBM products should be addressed to the suppliers of those products.
IBM does not warrant the quality of any third-party products, or the ability of any such third-party products to
interoperate with IBM’s products. IBM EXPRESSLY DISCLAIMS ALL WARRANTIES, EXPRESSED OR IMPLIED,
INCLUDING BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
PARTICULAR PURPOSE.
The provision of the information contained herein is not intended to, and does not, grant any right or license under any
IBM patents, copyrights, trademarks or other intellectual property right.
• IBM, the IBM logo, ibm.com, Bluemix, Blueworks Live, CICS, Clearcase, DOORS®, Enterprise Document
Management System™, Global Business Services ®, Global Technology Services ®, Information on Demand,
ILOG, Maximo®, MQIntegrator®, MQSeries®, Netcool®, OMEGAMON, OpenPower, PureAnalytics™,
PureApplication®, pureCluster™, PureCoverage®, PureData®, PureExperience®, PureFlex®, pureQuery®,
pureScale®, PureSystems®, QRadar®, Rational®, Rhapsody®, SoDA, SPSS, StoredIQ, Tivoli®, Trusteer®,
urban{code}®, Watson, WebSphere®, Worklight®, X-Force® and System z® Z/OS, are trademarks of
International Business Machines Corporation, registered in many jurisdictions worldwide. Other product and
service names might be trademarks of IBM or other companies. A current list of IBM trademarks is available on
the Web at "Copyright and trademark information" at: www.ibm.com/legal/copytrade.shtml.
Thank You Your Feedback is
Important!
Access the InterConnect 2015
Conference CONNECT Attendee
Portal to complete your session
surveys from your smartphone,
laptop or conference kiosk.