420 likes | 549 Views
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
E N D
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 Specificationunder 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!
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 millionto 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 JBI Servlet EJB 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