JavaOne 2003, San Francisco 10.-13.6.2003 java.sun/javaone

41
JavaOne 2003, San Francisco 10.- 13.6.2003 http://java.sun.com/javaone Simo Vuorinen TietoEnator P&H dGov

description

JavaOne 2003, San Francisco 10.-13.6.2003 http://java.sun.com/javaone. Simo Vuorinen TietoEnator P&H dGov. Agenda. Overview Topics Sessions attended Other interesting stuff. Overview. Estimated 15000(?) attendees - PowerPoint PPT Presentation

Transcript of JavaOne 2003, San Francisco 10.-13.6.2003 java.sun/javaone

Page 1: JavaOne 2003, San Francisco 10.-13.6.2003 java.sun/javaone

JavaOne 2003, San Francisco 10.-13.6.2003http://java.sun.com/javaone

Simo Vuorinen TietoEnator P&H dGov

Page 2: JavaOne 2003, San Francisco 10.-13.6.2003 java.sun/javaone

Agenda

Overview Topics Sessions attended Other interesting stuff

Page 3: JavaOne 2003, San Francisco 10.-13.6.2003 java.sun/javaone

Overview

Estimated 15000(?) attendees More than 200 technical sessions and 175 Birds-of-a-Feather

sessions (BOFs) Sponsors & Exhibitors Every day from 8.30 AM to 00.20 AM covering topics such as Mobility, J2EE, Core platform, Web tier,

WebServices, Success stories, Desktop, & Networking Announcements!

Page 4: JavaOne 2003, San Francisco 10.-13.6.2003 java.sun/javaone

Topics - Core Technology top 4

TS-3708(USA,2003) - Concurrency Utilities -- Multithreading Made Easy

TS-3072(USA,2003) - Forthcoming Java[tm] Programming Language Features

TS-3063(USA,2003) - Adding Generics to the Java[tm] Programming Language

TS-1540(USA,2003) - Java[tm] 2 Platform, Standard Edition (J2SE[tm]) Update and Roadmap

Page 5: JavaOne 2003, San Francisco 10.-13.6.2003 java.sun/javaone

Topics - Mobility top 3

Advanced MIDP Programming: Developing High Performance, Highly Responsive Wireless Applications TS-2037

Speeding Up MIDlets Without Speeding Up Your Code TS-3129 Getting the Most Out of MIDP 2.0 Security and Networking TS-2111

Page 6: JavaOne 2003, San Francisco 10.-13.6.2003 java.sun/javaone

Topics - Core Enterprise top 3

   Advanced Core JavaTM 2 Platform, Enterprise Edition (J2EETM) Patterns and Refactoring TS-3235

The JavaTM 2 Platform, Enterprise Edition (J2EETM) Overview and Roadmap TS-1477

JavaTM 2 Platform, Enterprise Edition (J2EETM) or .NET: An Objective Technology Comparison TS-1102

Page 7: JavaOne 2003, San Francisco 10.-13.6.2003 java.sun/javaone

Topics – Web Tier top 3

About Faces: The JavaServerTM Faces GUI Component Framework TS-2301

JavaTM Technology Design Patterns for High-Load Web Sites TS-3588

Overview of JavaTM Servlet 2.4 API and JavaServer PagesTM (JSPTM) 2.0 Specifications TS-1625

Page 8: JavaOne 2003, San Francisco 10.-13.6.2003 java.sun/javaone

Topics – WebServices top 3

BluePrints for Web Services: Recommendations, Strategies, and Best Practices for Designing Web Services TS-1636

JavaTM API for XML-based RPC (JAX-RPC), JavaTM Technology Containers, Identity Services, and Secure Web Services TS-3684

Implementing Web Services with JavaTM 2 Platform, Enterprise Edition (J2EETM) and JavaTM API for XML-Based RPC (JAX-RPC) TS-1860

+ Labs!

Page 9: JavaOne 2003, San Francisco 10.-13.6.2003 java.sun/javaone

Topics – Desktop top 3

Desktop Client JavaTM Technology Roadmap TS-1662 Get Rich Quick: Taking Advantage of Java 2DTM API in

Your Rich Client Application TS-1493 What's New in JavaTM Plug-in and Java Web Start

Software? TS-1486

Page 10: JavaOne 2003, San Francisco 10.-13.6.2003 java.sun/javaone

Topics – Success Stories top 5 Implementing Large-Scale Application Architecture at a

Global 10 Company Using Service Oriented JavaTM 2 Platform, Enterprise Edition (J2EETM) Platform Frameworks BUS-2862

Inside AA.com: Mastering Large-Scale JavaTM 2 Platform, Enterprise Edition (J2EETM) Application Development and Deployment TS-3284

Successfully delivering and supporting large scale JavaTM 2 Platform, Enterprise Edition (J2EETM platform) applications in a distributed mixed-language environment TS-2943

The Brazilian National Health Card Project: Building the National Health Informatics Infrastructure BUS-2680

The New U.S. Department of Defense Java CardTM Platform-Based Applet Architecture TS-3724

Page 11: JavaOne 2003, San Francisco 10.-13.6.2003 java.sun/javaone

Topics – Advanced Networking top 3

Beyond Web Services: Combining JiniTM Network Technology and Project JXTA to Take Advantage of Edge Computing TS-2220

P2P for the Enterprise: A Project JXTA and JavaTM 2 Platform, Enterprise Edition (J2EETM) Connector Architecture Solution TS-3580

Presence, Availability, and Instant Messaging TS-2022

Page 12: JavaOne 2003, San Francisco 10.-13.6.2003 java.sun/javaone

Sessions - tuesday

Keynote 2 with Graham Hamilton & Tim Lindholm JavaServer Faces J2SE, J2EE & J2ME Roadmap 1 Billion Transactions per day

Page 13: JavaOne 2003, San Francisco 10.-13.6.2003 java.sun/javaone

Sessions, tuesday: Keynote with Graham Hamilton & Tim Lindholm

J2SE 1.5 "Tiger" release, targeted at summer 2004: Ease of development– Generics– Autoboxing– metadata– annotations (@create)

Ease-of-Development the main theme for J2EE 1.5– metadata – simplify the development and deployment model for basic

tasks– JSR-223 to define how scripting languages can be used in

the J2EE web tier

Page 14: JavaOne 2003, San Francisco 10.-13.6.2003 java.sun/javaone

Sessions, tuesday: JavaServer Faces

JavaServerTM Faces 1.0 Specification under development in the JCP as (JSR-127)– A set of APIs for representing UI components and managing their

state, handling events and input validation, defining page navigation, and supporting internationalization and accessibility.

– A JavaServer Pages (JSP) custom tag library for expressing a JavaServer Faces interface within a JSP page

JavaServer Faces v1.0 Reference Implementation Early Access 4 is available through the Java Web Services Developer Pack 1.2

http://java.sun.com/j2ee/javaserverfaces/docs/JSFTOC.html

Page 15: JavaOne 2003, San Francisco 10.-13.6.2003 java.sun/javaone

Sessions, tuesday: J2SE Roadmap

J2SE 1.5 ”Tiger” summer ’04 Metadata Generics

– HashMap<String, Mammal> map = new HashMap<String,Mammal>();map.put("wombat", new Mammal());

autoboxing of primitive types simple formatted I/O, such as printf enum types.

Page 16: JavaOne 2003, San Francisco 10.-13.6.2003 java.sun/javaone

Sessions, tuesday: J2EE Roadmap

1.4 – not out yet J2SE 1.5 planned out: summer ’04-> J2EE 1.5 out

after that– Descriptors– JavaServer Faces– JDBC 4.0– Scripting Language Support on Web Tier– JDO(?)

Page 17: JavaOne 2003, San Francisco 10.-13.6.2003 java.sun/javaone

Sessions, tuesday: J2ME ”Roadmap”

Mobile Information Device Profile (MIDP) 2.0, – richer GUI support, such as sprites for gaming, better server-side

push, and security. Java Technology for the Wireless Industry (JTWI), or JSR-

185, – industry-standard platform for the next generation of Java

technology-enabled mobile phones. Java runtime environment for mobile devices based on

– Connected Limited Device Configuration (CLDC) 1.0 (JSR-30),

– MIDP 2.0 (JSR-118), – Wireless Messaging API (WMA) 1.0 (JSR-120), and – Mobile Media API (MMAPI; JSR-135) where applicable.– An integrated reference implementation and TCK bundle

will be provided for the described technologies.

Page 18: JavaOne 2003, San Francisco 10.-13.6.2003 java.sun/javaone

Sessions, tuesday: One Billion Transactions a Day: A J2EETM System Architected with the Core J2EE Patterns TS-3264

eBay– 69 M users– 1 billion hits a day– legacy: from ISAPI & C++ DLLs to J2EE, a farm of servers

Platform– WAS 4, Tivoli, highly tuned, Sun platform(?)– Client side state (cookies)

Architecture issues– scalability, maintainability, etc.– already fire-fighting!– beyond refactoring!

Page 19: JavaOne 2003, San Francisco 10.-13.6.2003 java.sun/javaone

Patterns used– Intercepting filter for authentication– FrontController for request validation– New: Context Object for JNDI context handling– New: ApplicationController– BusinessDelegate

Session Facade New: Application Service ValueListHandler DAO Changed: Transfer Object

Sessions, tuesday: One Billion Transactions a Day: A J2EETM System Architected with the Core J2EE Patterns TS-3264

Page 20: JavaOne 2003, San Francisco 10.-13.6.2003 java.sun/javaone

Sessions - wednesday

Keynote with Richard Green et co. Model vs. Code Patterns for high load websites EJB 2.1 & 3.0 Optimizing J2EE DW Application

Page 21: JavaOne 2003, San Francisco 10.-13.6.2003 java.sun/javaone

Wednesday – keynote, R.Green

The Java platform will now be shipped on all Hewlett-Packard PCs.

The Java platform will now be shipped on all Dell computers and laptops running the Linux operating system

Java technology developers from 3 million to increase to 10 million– corporate developers– project RAVE (see next slide)

Page 22: JavaOne 2003, San Francisco 10.-13.6.2003 java.sun/javaone

Project RAVE

Key features– Increases developer productivity – Decreases deployment time– Reduces application development complexity – Represents a development solution based on Java

platform and J2EE standards The enabled technologies in Project Rave are:

– JavaServer Faces – JDBC Rowsets – NetBeans – Java Web Services Developer Pack

Page 23: JavaOne 2003, San Francisco 10.-13.6.2003 java.sun/javaone

Sessions – wednesday: Model vs. code

Not all concepts are best communicated with diagrams

code often fails to express the big picture guidelines for combining rapid prototyping and

formal design into an efficient development process.– Software archeology: discovering the structure

Modeling = communication Modeling vs. code -> Picture books vs. written word Iteration: design-develop-design-develop-...

Page 24: JavaOne 2003, San Francisco 10.-13.6.2003 java.sun/javaone

Sessions Wednesday: Enterprise JavaBeansTM 2.1 and 3.0 Architecture 2.1. is PFD. J2EE 1.4 Q3/03 New:

– WebServices– TimerService– MDB with Connectors– EJB-QL modifications

Check JAX-RPC specs vs. RMI specs; differences between serialization of private attributes

EJB 3.0 -> J2EE 1.5– JSRs: 220, 181, 224, 221, ”TBD J2EE 1.5”– DDs out of the way– JSR 175: metadata -> default values– tag-like annotations: @create MySLSB;– No need for Home- Remote- ...all in one.

Page 25: JavaOne 2003, San Francisco 10.-13.6.2003 java.sun/javaone

Sessions Wednesday: Getting the Most Out of MIDP 2.0 Security and Networking

Security risks– Apps spending user’s money without permission– Apps exposing private information

Security policy– device & market specific

2 Kinds of protection domains– Trusted– Untrusted

1 Protection domain / Midlet Suite– Prompting user

Blanket-setting Session-setting One shot-setting

Check J2ME Blueprints

Page 26: JavaOne 2003, San Francisco 10.-13.6.2003 java.sun/javaone

Sessions wednesday: Optimizing EJBTM Performance in High-Volume Data-Warehousing Applications - Patterns, Strategies and Best Practices

DW schemas: star / snowflake Entitybeans useful: read-only Entitybeans make an

excellent clustered cache! EntityBean design differs in DW application BMP usage faster than CMP in this app: from

seconds to parts of second JDBC ca 10% faster in bulk inserts than CMP Use optimistic concurrency & high isolation level Use surrogate keys - > changes in structure won’t

break the design

Page 27: JavaOne 2003, San Francisco 10.-13.6.2003 java.sun/javaone

Sessions - thursday J2ME Architecture Overview Wireless Messaging API Java Business Integration Advanced J2EE Patterns PD4J CMP Beyond Specification CMP Performance Myths demystified J2EE Application Verification Toolkit Java Data Objects Java Business Integration working group

Page 28: JavaOne 2003, San Francisco 10.-13.6.2003 java.sun/javaone

Thursday: J2ME Architecture overview

Challenges– Portability– Security– Provisioning– Fragmentation vs. flexibility

Goals– Identifiable platform targets– Reuse of APIs– Subsets of APIs

J2ME Building Blocks!

Page 29: JavaOne 2003, San Francisco 10.-13.6.2003 java.sun/javaone

Thursday: J2ME Architecture overview Architecture elements

– Configuration: defines VM– Profile: API: defines the environment– Optional Package

CLDC Example– CLDC specs– MIDP profile– eg. MMA spec

CDC Example– CDC spec– Foundation Profile– Personal Basis Profile– Personal Profile– MMA Optional pack

Page 30: JavaOne 2003, San Francisco 10.-13.6.2003 java.sun/javaone

Thursday: J2ME Architecture overview

Optional Packages– MMA (JSR 135)– WMA (JSR 120)– Bluetooth

Page 31: JavaOne 2003, San Francisco 10.-13.6.2003 java.sun/javaone

Thursday: Wireless Messaging API Goals

– Interoperability between Manufacturers Networks

– Small footprint Timeline

– 1.1 finished already Very simple to use

– need an adapter CDMA GSM

Apps– Location based services– Chat– Games– News– Send-receive– Custom-SMS– Java Payment API

Page 32: JavaOne 2003, San Francisco 10.-13.6.2003 java.sun/javaone

Thursday: Java Business Integration

Goal– Provide a standard-based environment for execution of

business process BPEL Engine

– TX semantics, unit of work, security, administration– schedule: August: 1st draft, Dec: Community draft

Transformation Engine Routing Engine

– Notion of business process History

– WebServices -> Document-centric processing emerging– Business messages: data & metadata

Builds on J2EE 1.4

Page 33: JavaOne 2003, San Francisco 10.-13.6.2003 java.sun/javaone

Thursday: Java Business Integration

Business system integration– isolation of message processing from comm. protocols– must account for different comm. infras

web, when possible– robust– WSDL as vocabulary– asynchronous

Page 34: JavaOne 2003, San Francisco 10.-13.6.2003 java.sun/javaone

Thursday: Advanced Core J2EE Patterns & refactoring Pattern is the sweet spot of

– reuse– design abstractions

From bad practices to good practices: refactoring New Patterns for Presentation tier

– Context Object– Application Controller

New Patterns for Business tier– Application Service– Business Object

New Patterns for Integration tier– Web Service Broker: WebServices– Domain Store: Separate Persistence form object model

JDO-implementation! Check the JDO-article about domain store! Check also Martin Fowler’s new Enterprise Architecture

Patters book

Page 35: JavaOne 2003, San Francisco 10.-13.6.2003 java.sun/javaone

Thursday: Building Business Processes with JavaTM Technology: A Forward Glimpse at Process Definition for JavaTM (JSR-207) Not defining tools but syntax that tools can use BPEL:Cross-platform standard PD4J: Java implementation

J2SE

J2EE

JBIServlet EJB

PD4J

BPEL

Page 36: JavaOne 2003, San Francisco 10.-13.6.2003 java.sun/javaone

Thursday: CMP beyond specification

Persistence for J2EE, std features– JDBC: not a persistence framework– JDO: not part of J2EE standard before J2EE 1.5– EntityBean

CMP BMP

– state, persistence– concurrency– tx-attributes– o/r-mapping

Vendor specific features– pluggable persistence manager

Page 37: JavaOne 2003, San Francisco 10.-13.6.2003 java.sun/javaone

Thursday: J2EE AVK

EJBs, JSPs & servlets Dynamic verification & static verification Use it!

Page 38: JavaOne 2003, San Francisco 10.-13.6.2003 java.sun/javaone

Thursday: JDBC Rowsets, EJB CMP, JDO

JDBC Rowsets– SQL-based– Exposes DB

EJB– lifecycle handling– no inheritance!

JDO– object-oriented view vs. EJB’s component-oriented view– maps domain object model; transparent o/r-mapping– inheritance!

Persistence models– App-managed: EJB-BMP & JDBC– System managed: EJB-CMP & JDO

Page 39: JavaOne 2003, San Francisco 10.-13.6.2003 java.sun/javaone

EJB vs. JDO– lot of similarities

domain hiding

Thursday: JDBC Rowsets, EJB CMP, JDO

Page 40: JavaOne 2003, San Francisco 10.-13.6.2003 java.sun/javaone

Sessions - friday Keynote with Scott McNealy WebServices Strategies, Patterns, and Best Practices Java Content Repository API Solving common J2EE Performance problems

Page 41: JavaOne 2003, San Francisco 10.-13.6.2003 java.sun/javaone

Friday: Keynote with Scott McNealy

Self-assessment Overview of so far Couple of demos