JavaOne 2003, San Francisco 10.-13.6.2003 java.sun/javaone
description
Transcript of 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
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 TS-3129 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 TS-2022
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.html
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 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.
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!
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
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
J2SE
J2EE
JBIServlet EJB
PD4J
BPEL
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
EJB vs. JDO– lot of similarities
domain hiding
Thursday: JDBC Rowsets, EJB CMP, JDO
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