Web Logic 81

download Web Logic 81

of 45

Transcript of Web Logic 81

  • 8/8/2019 Web Logic 81

    1/45

    Introducing WebLogic Server 8.1

    Delaware Valley BEA User Group

    Aaron MulderChief Technical Officer

    Chariot Solutions

  • 8/8/2019 Web Logic 81

    2/45

    DVBUGMarch 18 Copyright 2003 Chariot Solutions

    Tonight, well 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

  • 8/8/2019 Web Logic 81

    3/45

    DVBUGMarch 18 Copyright 2003 Chariot Solutions

    About Aaron Mulder

    Chief Technical Officer of Chariot Solutions

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

    Presented at JavaOne 2001-2003, the Philadelphia JavaUsers Group, local seminars, etc.

    Member of the JSR-88 Expert Group (J2EE ApplicationDeployment)

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

  • 8/8/2019 Web Logic 81

    4/45

    DVBUGMarch 18 Copyright 2003 Chariot Solutions

    About Chariot Solutions

    Information Technology provider focused on automatingbusiness 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 theState of New Jersey

  • 8/8/2019 Web Logic 81

    5/45

  • 8/8/2019 Web Logic 81

    6/45

    WLS 8.1 J2SE and J2EE Support

  • 8/8/2019 Web Logic 81

    7/45

    DVBUGMarch 18 Copyright 2003 Chariot Solutions

    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)

  • 8/8/2019 Web Logic 81

    8/45

    DVBUGMarch 18 Copyright 2003 Chariot Solutions

    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 notuse 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

  • 8/8/2019 Web Logic 81

    9/45

    WLS 8.1 UI Improvements

  • 8/8/2019 Web Logic 81

    10/45

    DVBUGMarch 18 Copyright 2003 Chariot Solutions

    (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 beindividual

    Configuration wizard doesnt divide domains based onnumber of servers any more

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

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

    Can use the wizard to update existing domains

  • 8/8/2019 Web Logic 81

    11/45

    DVBUGMarch 18 Copyright 2003 Chariot Solutions

    Configuration Wizard Screen Shots

  • 8/8/2019 Web Logic 81

    12/45

    DVBUGMarch 18 Copyright 2003 Chariot Solutions

    Configuration Wizard Screen Shots

  • 8/8/2019 Web Logic 81

    13/45

    DVBUGMarch 18 Copyright 2003 Chariot Solutions

    Configuration Wizard Screen Shots

  • 8/8/2019 Web Logic 81

    14/45

    DVBUGMarch 18 Copyright 2003 Chariot Solutions

    Configuration Wizard Screen Shots

  • 8/8/2019 Web Logic 81

    15/45

    DVBUGMarch 18 Copyright 2003 Chariot Solutions

    Configuration Wizard Screen Shots

  • 8/8/2019 Web Logic 81

    16/45

    DVBUGMarch 18 Copyright 2003 Chariot Solutions

    Configuration Wizard Screen Shots

  • 8/8/2019 Web Logic 81

    17/45

    DVBUGMarch 18 Copyright 2003 Chariot Solutions

    Configuration Wizard Screen Shots

  • 8/8/2019 Web Logic 81

    18/45

    DVBUGMarch 18 Copyright 2003 Chariot Solutions

    Configuration Wizard Screen Shots

  • 8/8/2019 Web Logic 81

    19/45

    DVBUGMarch 18 Copyright 2003 Chariot Solutions

    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

  • 8/8/2019 Web Logic 81

    20/45

    DVBUGMarch 18 Copyright 2003 Chariot Solutions

    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 anincomplete 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 therelevant J2EE properties than it is to learn Basic?)

    Its not clear who wants their least-skilled developers working ondistributed enterprise applications

  • 8/8/2019 Web Logic 81

    21/45

  • 8/8/2019 Web Logic 81

    22/45

    DVBUGMarch 18 Copyright 2003 Chariot Solutions

    Server Changes

    Error messages and suggested actions are indexed onthe 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

  • 8/8/2019 Web Logic 81

    23/45

    DVBUGMarch 18 Copyright 2003 Chariot Solutions

    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 froma full pool (previously only limited by TX timeout)

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

    Can test connections as they are created

    Better support for vendor extensions, including themethod getVendorConnection()

    Support for JDBC RowSets

  • 8/8/2019 Web Logic 81

    24/45

    DVBUGMarch 18 Copyright 2003 Chariot Solutions

    Development Tool Enhancements

    New recommended development directory structure, laysout all source code like the EAR, builds to a separatedirectory

    3 new tools compile, package, and deploy projects

    structured like this

    src/META-INF/application.xml (& weblogic-application.xml)

    src/APP-INF/lib/3rdparty.jar

    src/ejbjar/META-INF/ejb-jar.xml (& weblogic DDs)

    src/ejbjar/com/somewhere/SomeBean.java

    src/ejbjar/com/somewhere/SomeHome.java (etc)src/webwar/WEB-INF/web.xml (& weblogic.xml)

    src/webwar/WEB-INF/lib/3rdparty.jar

    src/webwar/WEB-INF/classes/com/somewhere/Servlet.java

    src/webwar/index.jsp

  • 8/8/2019 Web Logic 81

    25/45

    DVBUGMarch 18 Copyright 2003 Chariot Solutions

    Applications: Class Loading

    Can add common application libraries to an APP-INF/libdirectory in the EAR

    Can specify how individual EJBs are loaded, to makeredeployment 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 redeployedwithout redeploying the entire EJB JAR

    Not recommended for production use

    Can manually arrange an entire hierarchy of classloaders involving individual EJB JARs and WARs in theweblogic-application.xml deployment descriptor

  • 8/8/2019 Web Logic 81

    26/45

    DVBUGMarch 18 Copyright 2003 Chariot Solutions

    Applications: Class Loading Example

    parent-ejb.jar

    parent-web.war

    child-ejb.jar

    child-web.war

  • 8/8/2019 Web Logic 81

    27/45

    DVBUGMarch 18 Copyright 2003 Chariot Solutions

    Applications: Lifecycle Classes& Listeners

    Startup & shutdown classes are similar to server startup &shutdown classes, but for individual applications

    Listeners extendweblogic.application.ApplicationLifecycleListener

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

    com.test.AppListener

    listeners.jar

  • 8/8/2019 Web Logic 81

    28/45

    DVBUGMarch 18 Copyright 2003 Chariot Solutions

    EJB Enhancements

    J2EE 1.3 compliant defaults

    parameters by value for remote interfaces

    MDBs can be assigned to execute queues using thedispatch-policy element in weblogic-ejb-jar.xml

    (previously only sessions & entities could do this)

    There are some new warnings (EJB loaded from serverclasspath, etc.) and the disable-warning element in

    weblogic-ejb-jar.xml

  • 8/8/2019 Web Logic 81

    29/45

    DVBUGMarch 18 Copyright 2003 Chariot Solutions

    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/CMRfields 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

  • 8/8/2019 Web Logic 81

    30/45

    DVBUGMarch 18 Copyright 2003 Chariot Solutions

    JMS Enhancements

    3rd-party JMS objects can be included in JNDI via theconsole

    JMS objects declared in an EJB deployment descriptor:

    register in transactions automatically (the JMS provider mustsupport XA transactions if the EJB method uses one)

    Support application or container authentication to JMS

    Periodically test JMS connections for errors

    Restrict methods which shouldnt be called in J2EE apps

    Use pooled JMS sessions

  • 8/8/2019 Web Logic 81

    31/45

    DVBUGMarch 18 Copyright 2003 Chariot Solutions

    JTA Enhancements

    A single non-XA resource can be enlisted in atransaction. The XA resources support 2-phase commit(prepare then commit) while the non-XA resourcedoesnt. 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.

  • 8/8/2019 Web Logic 81

    32/45

    DVBUGMarch 18 Copyright 2003 Chariot Solutions

    Web Services Enhancements

    Uses SOAP 1.2

    Implements a pre-release version of WS-Security formessage integrity and confidentiality

    Current spec drafts already differ from WebLogicimplementation

    Includes proprietary features for reliable delivery, onlyusable between WebLogic clients/servers

    Includes proprietary features for Web Services over JMS

    (not HTTP[s]), only usable between WebLogicclients/servers

    Not clear why wed want to take advantage of any of this

  • 8/8/2019 Web Logic 81

    33/45

    WLS 8.1: Under the Hood

  • 8/8/2019 Web Logic 81

    34/45

  • 8/8/2019 Web Logic 81

    35/45

    DVBUGMarch 18 Copyright 2003 Chariot Solutions

    Queues (part 1)

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

    Most queues are only created when theyre 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

  • 8/8/2019 Web Logic 81

    36/45

    DVBUGMarch 18 Copyright 2003 Chariot Solutions

    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.

  • 8/8/2019 Web Logic 81

    37/45

    DVBUGMarch 18 Copyright 2003 Chariot Solutions

    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)

  • 8/8/2019 Web Logic 81

    38/45

    DVBUGMarch 18 Copyright 2003 Chariot Solutions

    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

  • 8/8/2019 Web Logic 81

    39/45

    DVBUGMarch 18 Copyright 2003 Chariot Solutions

    Threads (part 2)

    Socket Reader threads % of threads in the default queue

    Synchronous reading when using Java IO (havent got all the kinksworked 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 andconservation 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

  • 8/8/2019 Web Logic 81

    40/45

    DVBUGMarch 18 Copyright 2003 Chariot Solutions

    JDBC

    No JDO support planned

    RowSet support introduced in 8.1

    Supports disconnected operation (get data, manipulate, sendback 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-tablequery

    RowSets will likely be expanded in future releases

    caching, explicit PKs/FKs, Object/XML wrappers, QL, etc.

  • 8/8/2019 Web Logic 81

    41/45

    WebLogic 8.1 Platform Timeline

  • 8/8/2019 Web Logic 81

    42/45

    DVBUGMarch 18 Copyright 2003 Chariot Solutions

    Timeline

    WebLogic Server 8.1 final and JRockit 8.1 final due atthe 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

  • 8/8/2019 Web Logic 81

    43/45

    DVBUGMarch 18 Copyright 2003 Chariot Solutions

    Bonus Slide

    If you havent 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 8WebLogic Edition with JBuilder Enterprise support

  • 8/8/2019 Web Logic 81

    44/45

    Questions?

  • 8/8/2019 Web Logic 81

    45/45

    DVBUGMarch 18 Copyright 2003 Chariot Solutions

    Download slides at:

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

    Presentation feedback at:

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