What's New in J2EE 1.4

Similar documents
WebSphere Training Outline

JVA-561. Developing SOAP Web Services in Java

WEB SERVICES. Revised 9/29/2015

Contents. Client-server and multi-tier architectures. The Java 2 Enterprise Edition (J2EE) platform

JAVA ENTERPRISE IN A NUTSHELL. Jim Farley and William Crawford. O'REILLY 4 Beijing Cambridge Farnham Koln Paris Sebastopol Taipei Tokyo.

Building Web Applications, Servlets, JSP and JDBC

Client-Server Architecture & J2EE Platform Technologies Overview Ahmed K. Ezzat

Developing Java Web Services

How to Build an E-Commerce Application using J2EE. Carol McDonald Code Camp Engineer

Course Description. Course Audience. Course Outline. Course Page - Page 1 of 5

How To Develop A Web Service In A Microsoft J2Ee (Java) 2.5 (Oracle) 2-Year Old (Orcient) 2Dj (Oracles) 2E (Orca) 2Gj (J

ITS. Java WebService. ITS Data-Solutions Pvt Ltd BENEFITS OF ATTENDANCE:

A standards-based approach to application integration

Course Name: Course in JSP Course Code: P5

Java EE 6 Ce qui vous attends

Java 2 Platform, Enterprise Edition (J2EE): Enabling Technologies for EAI

The end. Carl Nettelblad

WebSphere Server Administration Course

Java Web Services Training

IBM WebSphere Server Administration

How To Protect Your Computer From Being Hacked On A J2Ee Application (J2Ee) On A Pc Or Macbook Or Macintosh (Jvee) On An Ipo (J 2Ee) (Jpe) On Pc Or

Java 2 Platform, Enterprise Edition (J2EE) Bruno Souza Java Technologist, Sun Microsystems, Inc.

Oracle WebLogic Foundation of Oracle Fusion Middleware. Lawrence Manickam Toyork Systems Inc

Java EE 7: Back-End Server Application Development

Complete Java Web Development

Java in Web 2.0. Alexis Roos Principal Field Technologist, CTO Office OEM SW Sales Sun Microsystems, Inc.

T Network Application Frameworks and XML Web Services and WSDL Tancred Lindholm

Reusing Existing * Java EE Applications from Oracle SOA Suite

ActiveVOS Server Architecture. March 2009

Announcements. Comments on project proposals will go out by in next couple of days...

CST6445: Web Services Development with Java and XML Lesson 1 Introduction To Web Services Skilltop Technology Limited. All rights reserved.

Introduction to WebSphere Process Server and WebSphere Enterprise Service Bus

Topics. Incorporating JSP Custom Tags Into Your Web Apps. A Quick Example of Using One. What They Are. Why Developers Should Consider Them

Web Services in Oracle Fusion Middleware. Raghu Kodali Consulting Product Manager & SOA Evangelist Oracle Fusion Middleware Oracle USA

Further evolved with trusted and proven technologies

Java Web Services Developer Pack. Copyright 2003 David A. Wilson. All rights reserved.

Java 2 Platform Enterprise Edition Specification, v1.4

Web Application Architecture (based J2EE 1.4 Tutorial)

Outline SOA. Properties of SOA. Service 2/19/2016. Definitions. Comparison of component technologies. Definitions Component technologies

CHAPTER 1 - JAVA EE OVERVIEW FOR ADMINISTRATORS

Services. Custom Tag Libraries. Today. Web Development. Role-Based. Development. Code Reuse. Tag Libraries Custom Tags. Tag Lifecycle.

Tomcat 5 New Features

SCA-based Enterprise Service Bus WebSphere ESB

FUSE-ESB4 An open-source OSGi based platform for EAI and SOA

Mastering Tomcat Development

Oracle WebLogic Server 11g Administration

JBoss SOAP Web Services User Guide. Version: M5

WASv6_Scheduler.ppt Page 1 of 18

3-Tier Architecture. 3-Tier Architecture. Prepared By. Channu Kambalyal. Page 1 of 19

Oracle Application Server 10g Web Services Frequently Asked Questions Oct, 2006

Methods and tools for data and software integration Enterprise Service Bus

Introduction to Sun ONE Application Server 7

What Is the Java TM 2 Platform, Enterprise Edition?

Java EE Introduction, Content. Component Architecture: Why and How Java EE: Enterprise Java

IBM Rational Rapid Developer Components & Web Services

CrownPeak Java Web Hosting. Version 0.20

NetBeans IDE Field Guide

IT6503 WEB PROGRAMMING. Unit-I

Agilité des applications Java EE 6

Enterprise Applications

EJB & J2EE. Component Technology with thanks to Jim Dowling. Components. Problems with Previous Paradigms. What EJB Accomplishes

Apache Jakarta Tomcat

Extreme Java G Session 3 Main Theme Java Core Technologies (Part I) Dr. Jean-Claude Franchitti

Consuming and Producing Web Services with Web Tools. Christopher M. Judd. President/Consultant Judd Solutions, LLC

OpenShift is FanPaaStic For Java EE. By Shekhar Gulati Promo Code JUDCON.IN

As you learned about in Chapter 1, WebSphere Application Server V6 supports the

Consuming and Producing Web Services with WST and JST. Christopher M. Judd. President/Consultant Judd Solutions, LLC

JAVA API FOR XML WEB SERVICES INTRODUCTION TO JAX-WS, THE JAVA API FOR XML BASED WEB SERVICES (SOAP, WSDL)

Developing Web Services with Eclipse

Component Middleware. Sophie Chabridon. INT - INF Department - Distributed Systems team 2006

Creating Web Services in NetBeans

Operations and Monitoring with Spring

WebSphere ESB Best Practices

Redbooks Paper. WebSphere Application Server V5 Architecture. Carla Sadtler

BEAWebLogic. Server. Programming WebLogic Resource Adapters

JAVA/J2EE DEVELOPER RESUME

Core Java+ J2EE+Struts+Hibernate+Spring

Expert One-on-One J2EE Design and Development

Long haul product development

ucosminexus Application Server and BPM/ESB Platform Terminology Guide Y99(E)

How To Develop An Application Developer For An Ubio Websphere Studio 5.1.1

Enabling Grids for E-sciencE. Web services tools. David Fergusson. INFSO-RI

The Java EE 6 Platform. Alexis Moussine-Pouchkine GlassFish Team

Chapter 4. Architecture. Table of Contents. J2EE Technology Application Servers. Application Models

MagDiSoft Web Solutions Office No. 102, Bramha Majestic, NIBM Road Kondhwa, Pune Tel: /

WebSphere Suite Overview

FEATURE MATRIX. ORACLE WEBLOGIC SERVER STANDARD EDITION 11g ORACLE WEBLOGIC SERVER ENTERPRISE EDITION 11g ORACLE WEBLOGIC SUITE 11g

VALLIAMMAI ENGINEERING COLLEGE SRM NAGAR, KATTANKULATHUR DEPARTMENT OF COMPUTER APPLICATIONS SUBJECT : MC7502 SERVICE ORIENTED ARCHITECTURE

Copyright. Restricted Rights Legend. Trademarks or Service Marks. Copyright 2003 BEA Systems, Inc. All Rights Reserved.

JAX-WS Developer's Guide

Japan Communication India Skill Development Center

Getting Started with Web Applications

Service Oriented Architectures

MD Link Integration MDI Solutions Limited

Virtual Credit Card Processing System

This presentation is for informational purposes only and may not be incorporated into a contract or agreement.

WebLogic Server 11g Administration Handbook

Lesson 4 Web Service Interface Definition (Part I)

Java Platform, Enterprise Edition (Java EE) From Yes-M Systems LLC Length: Approx 3 weeks/30 hours Audience: Students with experience in Java SE

Web Services Development In a Java Environment

Transcription:

What's New in J2EE 1.4 Dave Landers BEA Systems, Inc. dave.landers@4dv.net dave.landers@bea.com

Agenda Quick Overview of J2EE 1.4 New Kids on the Block New specs and those new to J2EE The Gory Details New features in the main specs Putting it All Together And some examples

Quick Overview of J2EE 1.4

Do the Numbers... Major Upgrades J2EE 1.3 1.4 174 248 (42%) EJB 2.0 2.1 572 636 (11%) Servlet 2.3 2.4 257 332 (29%) JSP 1.2 2.0 268 460 (72%) JCA 1.0 1.5 188 299 (59%)

... There's More... New in J2EE 1.4 JAX-RPC 1.1 167 Web Services for J2EE 1.1 (JSR-109) 114 SAAJ 1.2 104+ JACC 1.0 138 About 3000 pages Printed double sided 6 inches 15 cm J2EE Deployment API 1.1, Management API 1.0, JMX 1.2 (partial) 84 + 214 + 196

... And Even More J2SE 1.4 JMS 1.1 JNDI JAAS JDBC JTA 1.0 RMI, RMI-IIOP, JavaIDL JavaMail 1.3 JAF 1.0 JSR-45 (Debugging) WS-I Basic Profile 1.0 WSDL 1.1 SOAP 1.1 JAXP 1.2 XML SAX 2 DOM Level 2 XSLT XML Schema JAXR 1.0 and on it goes...

Themes for J2EE 1.4 Web Services Messaging Web Services Easier Web Development Web Services Some new features Web Services

New Kids on the Block New Specs (or those new to J2EE)

J2EE Web Services Web Services for J2EE (JSR-109) New deployment descriptors supporting Web Services JAX-RPC 1.1 SAAJ 1.2 SOAP with Attachments API for Java JAXR Java API for XML Registries UDDI, ebxml, OASIS No requirement for specific registries

Management and Deployment Vendor-Neutral APIs for Tools and IDEs Management API (JSR-77) JMX 1.2 Only those parts needed by Management API Deployment API (JSR-88) Most deployment descriptors converted from DTD to Schema

XML J2EE 1.4 requires support for SAX 2 DOM level 2 XML Schema and namespaces XSLT

The Gory Details New Features in EJB, Servlet, JSP,...

EJB 2.1 Stateless Session Beans as Web Service Endpoints Message Driven Beans improvements Message Linking EJB as Web Service Client Timer Service EJB-QL Enhancements

EJB-QL Enhancements EJB-QL used by CMP Entity Beans Improvements to EJB-QL ORDER BY SUM, COUNT, AVG, MAX, MIN MOD Similar to their SQL counterparts

EJB Timer Service EJB can register to receive timed callbacks ejbtimeout(timer t) Not allowed in Stateful Session Beans Timers can be triggered At a specific date After an interval At recurring intervals EJB must register for callbacks Can't trigger timers from deployment descriptor Not "EJB cron" Initiated by some client request

Message Driven Beans Expanded to non-jms messages Integrated with Connector (JCA 1.5) Allows connectors to support other messaging systems Message Linking Allows EJBs to send messages to JMS or MDB Similar to ejb-ref message-destination-ref message-destination-link message-destination Also used with JCA 1.5 to link Inbound Resource Adapter to MDB

EJB as Web Services Clients Use Web Service via JAX-RPC Like RMI over SOAP WSDL maps to Java Objects Service Interface Similar to calling another EJB Lookup Service in JNDI service-ref in deployment descriptor java:comp/env/service/bookorderservice Get Service Interface, look up stub Make method calls Valid for any J2EE Component, not just EJBs

EJB as Web Service Endpoint Stateless Session Bean implements Web Service Provide JAX-RPC Service Endpoint Interface Matching WSDL extends java.rmi.remote, throws RemoteException Methods must be subset of EJB's Remote Interface EJB can have Remote, Local, and Web Service Endpoint interfaces Implement new Web Service or WS-enable existing EJB Declare in META-INF/ejb-jar.xml service-endpoint Declare in META-INF/webservices.xml service-impl-bean & ejb-link

J2EE Connector Architecture 1.5 Inbound Resource Adapters Ties to Message Driven Beans Work Management Threads

Inbound Resource Adapters Enables bi-directional communication between EIS and AppServer Main use-case is to tie with Message Driven Beans Adapter receives message Processes headers Queues it and notify worker threads Locate proper endpoint (MDB) Dispatch the message MDB can now receive any message type Adapters can also call EJBs

JCA and JMS J2EE AppServer required to support JMS But not any particular messaging system(s) Most only support one (their own) Limits portability and interoperability Messaging vendors can now build JCA adapters Inbound Adapter for Message Provider Delivers to MDB Outbound Adapter for Message Publisher Plug into any J2EE 1.4 AppServer Portability

Work Management AppServer reserves the right to restrict creation of Threads Enforce manageability of runtime environment Non-daemon threads can prevent server shutdown JCA Solution: Work Management Submit Work instances to WorkManager Work extends Runnable Adds release() method AppServer signals it wants thread to go away AppServer provides WorkManager and java.util.timer Hope this makes it into EJB, Servlet...

Servlet 2.4 JAX-RPC Web Services Endpoints Added listeners to Request Attributes Like session listeners Deprecated SingleThreadModel

SingleThreadModel SingleThreadModel is deprecated Does not actually protect against concurrency issues Static fields, methods Objects accessed via HTTP Session Use good programming practices instead Be aware of threading issues Avoid fields in Servlet classes Synchronize access where required

JAX-RPC Web Service Endpoint Define JAX-RPC interface Matches WSDL Provide Implementation class Declare in WEB-INF/web.xml servlet Declare in WEB-INF/webservices.xml service-impl-bean & servlet-link

JSP 2.0 Support for Script-less Pages Expression Language (EL) Simple Tags Tag Pages Improved XML syntax Debugging Support (JSR-45) JSP Standard Tag Library (JSTL) Not required by spec

JSP Expression Language (EL) Syntax based on ECMAScript and XPath Adopted from JSTL Simple, easy to use ${foo.bar} Should eliminate most need for scriptlets Maintain separation of presentation and business logic

EL Examples Simple access to request, session, etc. ${param.requestparamname} ${sessionscope.myobject.attribute} Almost like this scriptlet: <%= ((MyObjectType) context.getattribute("myobject", PageContext.SESSION_SCOPE)).getAttribute() %> Except no NPE worries And much easier to type and read Easy and consistent Maps, Lists, and Arrays ${mybean.amap['key']} or ${mybean.amap.key} ${mybean.alistorarray[3]}

EL Examples Expressions, operators ${(mybean.counter mod mybean.howoften) == 0} eq or == mod or % lt or < ge or >= etc. to avoid XML escape madness Methods ${mytag:staticmethod(42, otherbean.foo)} Static methods Declared by taglib in TLD

Simple Tags New SimpleTag interface And SimpleTagSupport class Much simpler lifecycle than classic tags dotag() No instance pooling or reuse Easier to implement correctly JSPFragment For accessing tag body content No scriptlets allowed in Simple Tag body Also added Dynamic attribute names (all tags)

Tag Files Write Tags using JSP Great for tags that output HTML or XML content Classic and Simple tags still good for "action" tags No TLD required implicit WEB-INF/tags/foo.tag <%@ taglib prefix= x tagdir= WEB-INF/tags %> <x:foo/> Can pass attributes and even body Can also be packaged in jars like normal tags

JSP Descriptor Elements Automatic prelude and coda page inclusion Header and Footer pages Can have multiple includes (they are ordered) Disable EL For older pages, to avoid "${" conflicts Disable scripting Enforce presentation / logic separation Property Groups Configure groups of JSP pages (by URI patterns)

Putting it All Together What do we do with all of this?

Three Main Themes Web Services Clients and Endpoints Web Development Script-less JSP Messaging Connectors and MDB

Options Writing Web Services in J2EE JAX-RPC class as Servlet JAX-RPC as Stateless Session Bean Deployment Generate JAX-RPC stubs, etc. from WSDL Package stubs, WSDL, classes in ejb-jar or war ejb-jar.xml or web.xml webservices.xml webservicesclient.xml Client Access JAX-RPC or plain SOAP/HTTP

Code Break Web Service Endpoints EJB Stateless Session Bean Web Service Client service-ref

Web Improvements Script-less JSPs Expression Language More understandable by HTML developers Simple Tags Easier to replace scriptlets with tags Tags Files Reusable HTML/JSP Useful to Web developers, not just Tag authors JSTL JSP Standard Tag Library Not required by JSP 2.0 or J2EE 1.4 Implementations are available (Struts)

Code Break Look at some JSP examples Expression Language Tag Files Simple Tags

Messaging JCA for receiving inbound messages Connect to MDB message-link in deployment descriptor MDB to process message Not limited to JMS Email (SMTP server) JMS providers not known to your vendor Logging or Auditing Custom Messaging systems Bi-directional EIS communication

Code Break What does connector-based messaging look like?

Summary J2EE 1.4 is a huge change New Features Web Services Messaging Web Development Think about your deployments and projects Can some of these new features help?

Web References http://java.sun.com/j2ee Check out the J2EE 1.4 Tutorial Read all the specs Or at least the first 3000 pages... http://www.theserverside.com/ Articles What's New in J2EE 1.4 by Floyd Marinescu What's New in EJB 2.1 by Richard Monson-Haefel http://www.onjava.com/ Articles

Related Sessions JSP 2.0 and EL Bryan Basham Web Services and JAX-RPC Topics Denise Hatzidakis Kelvin Lawrence Simon Nash Many others... EJB Kimberly Jennery

The End Thank You Please fill out evaluations Example Code On the conference CDROM http://www.avitek.com/landers dave.landers@4dv.net dave.landers@bea.com