Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
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