JavaOne 2003, San Francisco 10.-13.6.2003

Download Report

Transcript JavaOne 2003, San Francisco 10.-13.6.2003

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
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!
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
Topics - Mobility top 3



Advanced MIDP Programming: Developing High
Performance, Highly Responsive Wireless
Applications TS-2037
Speeding Up MIDlets Without Speeding Up Your Code TS3129
Getting the Most Out of MIDP 2.0 Security and
Networking TS-2111
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
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
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!
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
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
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 TS2022
Sessions - tuesday




Keynote 2 with Graham Hamilton & Tim Lindholm
JavaServer Faces
J2SE, J2EE & J2ME Roadmap
1 Billion Transactions per day
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
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.ht
ml
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.
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(?)
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 JSR185,
– 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.
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!
Sessions, tuesday: One Billion Transactions a Day:
A J2EETM System Architected with the Core J2EE
Patterns TS-3264

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 - wednesday





Keynote with Richard Green et co.
Model vs. Code
Patterns for high load websites
EJB 2.1 & 3.0
Optimizing J2EE DW Application
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)
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
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-...
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.
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
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
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
Thursday: J2ME Architecture overview

Challenges
–
–
–
–

Portability
Security
Provisioning
Fragmentation vs. flexibility
Goals
– Identifiable platform targets
– Reuse of APIs
– Subsets of APIs

J2ME Building Blocks!
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
Thursday: J2ME Architecture overview

Optional Packages
– MMA (JSR 135)
– WMA (JSR 120)
– Bluetooth
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
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
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
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
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
BPEL
PD4J
Servlet
EJB
JBI
J2EE
J2SE
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
Thursday: J2EE AVK



EJBs, JSPs & servlets
Dynamic verification & static verification
Use it!
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
Thursday: JDBC Rowsets, EJB CMP, JDO

EJB vs. JDO
– lot of similarities

domain hiding
Sessions - friday




Keynote with Scott McNealy
WebServices Strategies, Patterns, and Best
Practices
Java Content Repository API
Solving common J2EE Performance problems
Friday: Keynote with Scott McNealy



Self-assessment
Overview of so far
Couple of demos