45
Introducing WebLogic Server 8.1 Delaware Valley BEA User Group Aaron Mulder Chief Technical Officer Chariot Solutions

Introducing WebLogic Server 8.1 Delaware Valley BEA User Group Aaron Mulder Chief Technical Officer Chariot Solutions

Embed Size (px)

Citation preview

Page 1: Introducing WebLogic Server 8.1 Delaware Valley BEA User Group Aaron Mulder Chief Technical Officer Chariot Solutions

Introducing WebLogic Server 8.1

Delaware Valley BEA User Group

Aaron MulderChief Technical OfficerChariot Solutions

Page 2: Introducing WebLogic Server 8.1 Delaware Valley BEA User Group Aaron Mulder Chief Technical Officer Chariot Solutions

March 18 Copyright © 2003 Chariot Solutions DVBUG

Tonight, we’ll take a look at…

• New features in WebLogic Server 8.1– Support for J2SE 1.4 (yes) & J2EE 1.4 (no)

– UI improvements

– New tools & J2EE features

• Performance improvements “under the hood”

• Timeline for the 8.1 release

• Bonus Slide

Page 3: Introducing WebLogic Server 8.1 Delaware Valley BEA User Group Aaron Mulder Chief Technical Officer Chariot Solutions

March 18 Copyright © 2003 Chariot Solutions DVBUG

About Aaron Mulder

• Chief Technical Officer of Chariot Solutions

• Published author (Professional EJB, BEA WebLogic 7.0 Server Deployment and Administration Handbook)

• Presented at JavaOne 2001-2003, the Philadelphia Java Users Group, local seminars, etc.

• Member of the JSR-88 Expert Group (J2EE Application Deployment)

• Contributed to open-source projects such as JBoss, OpenEJB, and PostgreSQL

Page 4: Introducing WebLogic Server 8.1 Delaware Valley BEA User Group Aaron Mulder Chief Technical Officer Chariot Solutions

March 18 Copyright © 2003 Chariot Solutions DVBUG

About Chariot Solutions

• Information Technology provider focused on automating business processes

• Team of leading Java architects on staff

• Technical expertise in software architecture, development, and systems integration

• Proven track record with companies such as ExxonMobil, Midas, Rosenbluth International, UGI Utilities, and the State of New Jersey

Page 5: Introducing WebLogic Server 8.1 Delaware Valley BEA User Group Aaron Mulder Chief Technical Officer Chariot Solutions

March 18 Copyright © 2003 Chariot Solutions DVBUG

The Bottom Line

• WebLogic Server 8.1 is an improved version of 7.0 (same code base, better product)

• Goal: Improve developer productivity– Workshop, JBuilder WebLogic Edition, new tools, fewer restarts,

faster startup time, etc.

• Goal: Standards-based Integration– JMS, J2CA, Web Services

• But vendor lock-in is profitable too (did I say that out loud?)– Lots of proprietary extensions, some even useful

• Goal: Reduce cost of ownership/management– Improved admin tools– Improved monitoring

• Goal: Performance enhancements

Page 6: Introducing WebLogic Server 8.1 Delaware Valley BEA User Group Aaron Mulder Chief Technical Officer Chariot Solutions

WLS 8.1 J2SE and J2EE Support

Page 7: Introducing WebLogic Server 8.1 Delaware Valley BEA User Group Aaron Mulder Chief Technical Officer Chariot Solutions

March 18 Copyright © 2003 Chariot Solutions DVBUG

J2EE Support

• Supports J2EE 1.3

• Minimal J2EE 1.4 support– Some JSR-77/JSR-88 features

– Web Services implementation is still proprietary

– No EJB 2.1/JSP 2.0 features yet

• J2EE 1.4 support may debut in “Diablo” (2004)

Page 8: Introducing WebLogic Server 8.1 Delaware Valley BEA User Group Aaron Mulder Chief Technical Officer Chariot Solutions

March 18 Copyright © 2003 Chariot Solutions DVBUG

J2SE Support

• WebLogic Server 8.1 runs on J2SE 1.4– Ships with Sun & JRockit implementations

• Includes new features such as:– new logging API

– NIO (though WebLogic does not use this currently)

– JDBC 3 (includes JDBC 2 Optional Package/Data Sources)

– Enhanced printing support

– Built-in extensions include JAAS, JCE, XML, etc.

– Better thread dumps & debugging support

– Improved garbage collector

• JRockit adds more monitoring features

Page 9: Introducing WebLogic Server 8.1 Delaware Valley BEA User Group Aaron Mulder Chief Technical Officer Chariot Solutions

WLS 8.1 UI Improvements

Page 10: Introducing WebLogic Server 8.1 Delaware Valley BEA User Group Aaron Mulder Chief Technical Officer Chariot Solutions

March 18 Copyright © 2003 Chariot Solutions DVBUG

(Domain) Configuration Wizard

• Domains are the same as before– One admin server, zero or more managed servers

– Multiple servers can be in one or more clusters, or may just be individual

• Configuration wizard doesn’t divide domains based on number of servers any more

• Still need to select a domain type for the services to include (Workshop, Examples, Platform, etc.)

• Wizard lets you configure services such as JDBC, JMS, etc.

• Can use the wizard to update existing domains

Page 11: Introducing WebLogic Server 8.1 Delaware Valley BEA User Group Aaron Mulder Chief Technical Officer Chariot Solutions

March 18 Copyright © 2003 Chariot Solutions DVBUG

Configuration Wizard Screen Shots

Page 12: Introducing WebLogic Server 8.1 Delaware Valley BEA User Group Aaron Mulder Chief Technical Officer Chariot Solutions

March 18 Copyright © 2003 Chariot Solutions DVBUG

Configuration Wizard Screen Shots

Page 13: Introducing WebLogic Server 8.1 Delaware Valley BEA User Group Aaron Mulder Chief Technical Officer Chariot Solutions

March 18 Copyright © 2003 Chariot Solutions DVBUG

Configuration Wizard Screen Shots

Page 14: Introducing WebLogic Server 8.1 Delaware Valley BEA User Group Aaron Mulder Chief Technical Officer Chariot Solutions

March 18 Copyright © 2003 Chariot Solutions DVBUG

Configuration Wizard Screen Shots

Page 15: Introducing WebLogic Server 8.1 Delaware Valley BEA User Group Aaron Mulder Chief Technical Officer Chariot Solutions

March 18 Copyright © 2003 Chariot Solutions DVBUG

Configuration Wizard Screen Shots

Page 16: Introducing WebLogic Server 8.1 Delaware Valley BEA User Group Aaron Mulder Chief Technical Officer Chariot Solutions

March 18 Copyright © 2003 Chariot Solutions DVBUG

Configuration Wizard Screen Shots

Page 17: Introducing WebLogic Server 8.1 Delaware Valley BEA User Group Aaron Mulder Chief Technical Officer Chariot Solutions

March 18 Copyright © 2003 Chariot Solutions DVBUG

Configuration Wizard Screen Shots

Page 18: Introducing WebLogic Server 8.1 Delaware Valley BEA User Group Aaron Mulder Chief Technical Officer Chariot Solutions

March 18 Copyright © 2003 Chariot Solutions DVBUG

Configuration Wizard Screen Shots

Page 19: Introducing WebLogic Server 8.1 Delaware Valley BEA User Group Aaron Mulder Chief Technical Officer Chariot Solutions

March 18 Copyright © 2003 Chariot Solutions DVBUG

Administration Console

• All screens split out and hide the “advanced” options

• Right-mouse works right in navigation applet

• Still some options buried in right-mouse menus

• Help is included on the main console screens

• New wizard for SSL/Keystore configuration

• Wizards for JDBC pools, data sources, etc.

• Can test a JDBC pool from the console

• Data sources use a drop-down to select JDBC pools!!!

• No more Data Sources vs. TX Data Sources… mostly

• Network channels rolled into server configuration

Page 20: Introducing WebLogic Server 8.1 Delaware Valley BEA User Group Aaron Mulder Chief Technical Officer Chariot Solutions

March 18 Copyright © 2003 Chariot Solutions DVBUG

WebLogic Workshop

• Now possible to use Workshop for:– Web Services (as before)– Web applications– EJBs– Connectors– Workflow/BPM (for Integration product)– etc.

• Targeted at J2EE developers with less experience and an incomplete understanding of important J2EE concepts

• The “VB-killer” (of course, is it really easier to learn Java, HTML, XML, JSP, JSP expression language, SQL, JSP tags, and all the relevant J2EE properties than it is to learn Basic?)

• It’s not clear who wants their least-skilled developers working on distributed enterprise applications

Page 21: Introducing WebLogic Server 8.1 Delaware Valley BEA User Group Aaron Mulder Chief Technical Officer Chariot Solutions

WLS 8.1 New Tools & J2EE Features

Page 22: Introducing WebLogic Server 8.1 Delaware Valley BEA User Group Aaron Mulder Chief Technical Officer Chariot Solutions

March 18 Copyright © 2003 Chariot Solutions DVBUG

Server Changes

• Error messages and suggested actions are indexed on the WebLogic documentation web site, and available via:

java weblogic.GetMessage -detail -id BEA-010202

• JCE is supported for application-level SSL, etc.

• Admin tool supports batch mode, JDBC & cluster tests, always returns 0/1 on success/failure

• appc precompiler/validator replaces ejbc & jspc

• Smaller client JARs for EJB/RMI clients & JMS clients

• Can install Node Manager during basic server install

• Server archives a preset number of config.xml files

Page 23: Introducing WebLogic Server 8.1 Delaware Valley BEA User Group Aaron Mulder Chief Technical Officer Chariot Solutions

March 18 Copyright © 2003 Chariot Solutions DVBUG

JDBC Enhancements

• JDBC Connection pools can be tested in config wizard, console, admin tool, etc.

• Can set a timeout for clients to wait for a connection from a full pool (previously only limited by TX timeout)

• Can set a retry interval for creating connections (if the DB is down, etc.)

• Can test connections as they are created

• Better support for vendor extensions, including the method getVendorConnection()

• Support for JDBC RowSets

Page 24: Introducing WebLogic Server 8.1 Delaware Valley BEA User Group Aaron Mulder Chief Technical Officer Chariot Solutions

March 18 Copyright © 2003 Chariot Solutions DVBUG

Development Tool Enhancements

• New recommended development directory structure, lays out all source code like the EAR, builds to a separate directory

• 3 new tools compile, package, and deploy projects structured like this

src/META-INF/application.xml (& weblogic-application.xml)src/APP-INF/lib/3rdparty.jarsrc/ejbjar/META-INF/ejb-jar.xml (& weblogic DDs)src/ejbjar/com/somewhere/SomeBean.javasrc/ejbjar/com/somewhere/SomeHome.java (etc)src/webwar/WEB-INF/web.xml (& weblogic.xml)src/webwar/WEB-INF/lib/3rdparty.jarsrc/webwar/WEB-INF/classes/com/somewhere/Servlet.javasrc/webwar/index.jsp…

Page 25: Introducing WebLogic Server 8.1 Delaware Valley BEA User Group Aaron Mulder Chief Technical Officer Chariot Solutions

March 18 Copyright © 2003 Chariot Solutions DVBUG

Applications: Class Loading

• Can add common application libraries to an APP-INF/lib directory in the EAR

• Can specify how individual EJBs are loaded, to make redeployment faster– If EJB Home/Remote interfaces are loaded in the normal CL,

and the impl is loaded in a child CL, the impl can be redeployed without redeploying the entire EJB JAR

– Not recommended for production use

• Can manually arrange an entire hierarchy of class loaders involving individual EJB JARs and WARs in the weblogic-application.xml deployment descriptor

Page 26: Introducing WebLogic Server 8.1 Delaware Valley BEA User Group Aaron Mulder Chief Technical Officer Chariot Solutions

March 18 Copyright © 2003 Chariot Solutions DVBUG

Applications: Class Loading Example

<classloader-structure> <module-ref> <module-uri>parent-ejb.jar</module-uri> </module-ref> <module-ref> <module-uri>parent-web.war</module-uri> </module-ref> <classloader-structure> <module-ref> <module-uri>child-ejb.jar</module-uri> </module-ref> <module-ref> <module-uri>child-web.war</module-uri> </module-ref> </classloader-structure></classloader-structure>

Page 27: Introducing WebLogic Server 8.1 Delaware Valley BEA User Group Aaron Mulder Chief Technical Officer Chariot Solutions

March 18 Copyright © 2003 Chariot Solutions DVBUG

Applications: Lifecycle Classes& Listeners• Startup & shutdown classes are similar to server startup &

shutdown classes, but for individual applications• Listeners extend

weblogic.application.ApplicationLifecycleListener • Packaged in a JAR in the EAR, or in APP-INF/classes• Activated with weblogic-application.xml like this:

<weblogic-application> <listener> <listener-class>com.test.AppListener</listener-class> <listener-uri>listeners.jar</listener-uri> </listener> <startup><startup-class …><startup-uri …></startup> <shutdown><shutdown-class …><shutdown-uri …></shutdown></weblogic-application>

Page 28: Introducing WebLogic Server 8.1 Delaware Valley BEA User Group Aaron Mulder Chief Technical Officer Chariot Solutions

March 18 Copyright © 2003 Chariot Solutions DVBUG

EJB Enhancements

• J2EE 1.3 compliant defaults– parameters by value for remote interfaces

• MDBs can be assigned to execute queues using the dispatch-policy element in weblogic-ejb-jar.xml (previously only sessions & entities could do this)

• There are some new warnings (EJB loaded from server classpath, etc.) and the disable-warning element in weblogic-ejb-jar.xml

Page 29: Introducing WebLogic Server 8.1 Delaware Valley BEA User Group Aaron Mulder Chief Technical Officer Chariot Solutions

March 18 Copyright © 2003 Chariot Solutions DVBUG

CMP Entity Bean Enhancements

• “Better performance”

• More monitoring information on EJB instance pool/cache

• WLS supports bulk updates & deletes as well as bulk inserts, with appropriate drivers (addBatch(), etc.)

• Auto-detects DB type for EJB QL optimization, DDL, etc.

• Auto-create tables will replace tables when CMP/CMR fields change

• J2EE 1.3 compliant defaults– EJB existence checked on every method call (not end of TX)

– Pending changes written before finders/selectors execute

• CMP support for DB2

Page 30: Introducing WebLogic Server 8.1 Delaware Valley BEA User Group Aaron Mulder Chief Technical Officer Chariot Solutions

March 18 Copyright © 2003 Chariot Solutions DVBUG

JMS Enhancements

• 3rd-party JMS objects can be included in JNDI via the console

• JMS objects declared in an EJB deployment descriptor:– register in transactions automatically (the JMS provider must

support XA transactions if the EJB method uses one)

– Support application or container authentication to JMS

– Periodically test JMS connections for errors

– Restrict methods which shouldn’t be called in J2EE apps

– Use pooled JMS sessions

Page 31: Introducing WebLogic Server 8.1 Delaware Valley BEA User Group Aaron Mulder Chief Technical Officer Chariot Solutions

March 18 Copyright © 2003 Chariot Solutions DVBUG

JTA Enhancements

• A single non-XA resource can be enlisted in a transaction. The XA resources support 2-phase commit (prepare then commit) while the non-XA resource doesn’t. The logic looks like this:1. Prepare all XA resources. If any fail, roll back the TX.

2. Commit the non-XA resource. If it fails, roll back the TX.

3. If everything got this far, commit the XA resources and the TX.

Page 32: Introducing WebLogic Server 8.1 Delaware Valley BEA User Group Aaron Mulder Chief Technical Officer Chariot Solutions

March 18 Copyright © 2003 Chariot Solutions DVBUG

Web Services Enhancements

• Uses SOAP 1.2

• Implements a pre-release version of WS-Security for message integrity and confidentiality– Current spec drafts already differ from WebLogic

implementation

• Includes proprietary features for reliable delivery, only usable between WebLogic clients/servers

• Includes proprietary features for Web Services over JMS (not HTTP[s]), only usable between WebLogic clients/servers

• Not clear why we’d want to take advantage of any of this

Page 33: Introducing WebLogic Server 8.1 Delaware Valley BEA User Group Aaron Mulder Chief Technical Officer Chariot Solutions

WLS 8.1: Under the Hood

Page 34: Introducing WebLogic Server 8.1 Delaware Valley BEA User Group Aaron Mulder Chief Technical Officer Chariot Solutions

March 18 Copyright © 2003 Chariot Solutions DVBUG

Network & Clustering Enhancements

• Reduces sockets required for typical operations– New client to server load-balancing algorithms can favor a

server for which the client already has open sockets

– Servers can preferentially back up to other servers which they already have open sockets to

• Console is only available on admin server– can use dedicated admin port as before

• Node Manager installation and enhancements make managed server operation easier

Page 35: Introducing WebLogic Server 8.1 Delaware Valley BEA User Group Aaron Mulder Chief Technical Officer Chariot Solutions

March 18 Copyright © 2003 Chariot Solutions DVBUG

Queues (part 1)

• Queues have a queue of pending tasks, and a group of threads to consume them and do the work

• Most queues are only created when they’re necessary• One admin queue

– JMX– weblogic.Admin– console (HTTP)– Admin server to managed server traffic

• One non-blocking queue (used to be several)– In-memory replication– Transactions– Stateful session bean replication

Page 36: Introducing WebLogic Server 8.1 Delaware Valley BEA User Group Aaron Mulder Chief Technical Officer Chariot Solutions

March 18 Copyright © 2003 Chariot Solutions DVBUG

Queues (part 2)

• Multicast queue– JNDI announcements System queue

– Internal tasks such as HTTP session invalidation

– Development mode poller for application updates

– Transaction timeouts

• JMS dispatcher queue– Sends JMS messages

• JMSStore IO queue– Reads/writes persistent messages, etc.

• JMS Timer queue– Delivery timeouts, etc.

Page 37: Introducing WebLogic Server 8.1 Delaware Valley BEA User Group Aaron Mulder Chief Technical Officer Chariot Solutions

March 18 Copyright © 2003 Chariot Solutions DVBUG

Queues (part 3)

• Default queue– Handles user requests

• User-defined queues– In 8.1, can define on:

• EJB (including MDB)• EJB JAR• Servlet (including JSP)• WAR

– Used for performance management for apps

– Used to defeat deadlocks on multi-hop requests

• A request only switches threads/queues on remote calls (to another server, or servlet to EJB)

Page 38: Introducing WebLogic Server 8.1 Delaware Valley BEA User Group Aaron Mulder Chief Technical Officer Chariot Solutions

March 18 Copyright © 2003 Chariot Solutions DVBUG

Threads (part 1)

• Listen threads– plain text (t3, http, etc.)

– secure (t3s, https, etc.)

– admin port (used to be mixed with secure)

– network channels

• Health monitor thread– More information available when using JRockit

• Timed event generator (1 thread only)– Cluster heartbeat

– Scheduled jobs

– Only high priority thread in the whole server

Page 39: Introducing WebLogic Server 8.1 Delaware Valley BEA User Group Aaron Mulder Chief Technical Officer Chariot Solutions

March 18 Copyright © 2003 Chariot Solutions DVBUG

Threads (part 2)

• Socket Reader threads– % of threads in the default queue– Synchronous reading when using Java IO (haven’t got all the kinks

worked out for NIO)• Would like to have 1 thread per socket• OK for a client, not so good for a server

– Asynchronous when using a performance pack– Fewer threads are necessary due to improved affinity and

conservation of sockets

• Thread dumps– weblogic.Admin … THREAD_DUMP– kill -3– Ctrl-Break– JRockit management console– J2SE 1.4 has better deadlock detection then most J2SE 1.3 VMs

Page 40: Introducing WebLogic Server 8.1 Delaware Valley BEA User Group Aaron Mulder Chief Technical Officer Chariot Solutions

March 18 Copyright © 2003 Chariot Solutions DVBUG

JDBC

• No JDO support planned

• RowSet support introduced in 8.1– Supports disconnected operation (get data, manipulate, send

back and apply and lose any intervening changes)

– Supports disconnected optimistic operation (get data, manipulate, send back, server checks for intervening updates)

– Can serialize as objects or to XML

– WLS aggregates changes and uses bulk updates

– Supports arbitrary SQL, some support for updating a multi-table query

• RowSets will likely be expanded in future releases– caching, explicit PKs/FKs, Object/XML wrappers, QL, etc.

Page 41: Introducing WebLogic Server 8.1 Delaware Valley BEA User Group Aaron Mulder Chief Technical Officer Chariot Solutions

WebLogic 8.1 Platform Timeline

Page 42: Introducing WebLogic Server 8.1 Delaware Valley BEA User Group Aaron Mulder Chief Technical Officer Chariot Solutions

March 18 Copyright © 2003 Chariot Solutions DVBUG

Timeline

• WebLogic Server 8.1 final and JRockit 8.1 final due at the end of March

• WebLogic Platform 8.1 final due by the end of “Q2” (JavaOne?)

• Next release is “Diablo”– beta Q1 2004

– final Q2 2004

Page 43: Introducing WebLogic Server 8.1 Delaware Valley BEA User Group Aaron Mulder Chief Technical Officer Chariot Solutions

March 18 Copyright © 2003 Chariot Solutions DVBUG

Bonus Slide

If you haven’t heard:

• It is now free to develop on WebLogic– You can download a 1-year, 20-connection license

• For $599, you get quarterly CD releases, support, “education materials”, and WebLogic Developers Journal

• For $4659 you get all that plus a copy of JBuilder 8 WebLogic Edition with JBuilder Enterprise support

Page 44: Introducing WebLogic Server 8.1 Delaware Valley BEA User Group Aaron Mulder Chief Technical Officer Chariot Solutions

Questions?

Page 45: Introducing WebLogic Server 8.1 Delaware Valley BEA User Group Aaron Mulder Chief Technical Officer Chariot Solutions

March 18 Copyright © 2003 Chariot Solutions DVBUG

• Download slides at:

http://www.chariotsolutions.com/presentations.html

• Presentation feedback at:

http://www.chariotsolutions.com/feedback.html