WebSphere Liberty Profile technical overview Manu T George WebSphere Development
by user
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