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
Java Developer Conference June 6-9, 2000 Conference Report Gregor Hohpe Why Attend Conferences? • • • • • • • • 2 Catch up on technology & innovation Get the inside scoop from the source Understand future directions / plans See product demos Network with peers Recruit Get into a new mind set Have fun The Facts • • • • • • • 3 5th year 25,000 attendees from 100 countries 200+ Conference sessions 10 Tracks 100+ Birds of a feather sessions 4 days, 50+ hours (6:00am – 12:00 mid) 2 million Java developers worldwide, second only to Visual Basic Key Take-Away • • • • • • • • • 4 1 backpack 1 denim shirt 3 T-shirts 2 stuffed animals (Duke) 1 cable turtle 1 mini radio 1 Java smart-card 1 pen 1 screen de-duster • • • • • • 1 hat 1 stress reliever 4 magazines 1 flashlight 5 demo CDs 1 chocolate bar Gregor’s Top 10 Observations 1. 2. Scott McNealy is a politician It’s more about what’s cool than what’s commercially available or robust 3. There is a lot of propaganda & “announceware” 4. “You guys are too busy putting Java in light bulbs, rather than making the existing JDK more robust” 5. Don’t underestimate Big Blue 6. Java programs have the worst user interfaces 7. Sun is dancing around the open source issue 8. We consultants don’t know squat about programming 9. There is a lot more to Java than the language itself 10. 25,000 people are too much for Moscone 5 Major Themes • • • • • • • • • 6 New platforms / devices (J2ME, KVM) New tools J2EE / EJB Scalable Web applications XML Performance Object Oriented Design / Frameworks Language Evolution Open Source / Java Community Process New Tools • Webgain – Venture formed by Warburg & BEA – Licensed Café Enterprise, StructureBuilder, TopLink, Macromedia DreamWeaver – Remote EJB Debugging, JSP generation from DreamWeaver – 5k for basic suite (no TopLink), 9k full suite – www.webgain.com • Macromedia – DreamWeaver Ultradev – JSP code generation – Useful only for 2-tier apps • BEA Developer Program 7 J2EE • EJB 2.0 Draft released – Enhanced CMP – Message Bean • Presentation Logic / Business Logic separation through JSP custom tags • Fine-grained EJB vs. EJB facade – Fine-grained substantial overhead, but can use CMP (container managed persistence) – Need container for development & debugging • Where does the business logic live? – JSP, Session Bean, Entity Bean • New EJB architecture patterns – www.theserverside.com 8 Scalable Web Apps • Everything is transparent – until you talk about performance (sometimes factor 1000 or more) • Performance: – Connection Rate – Request Rate – Throughput • • • • • 9 – Scalability – Latency Distributed transactions are expensive Marshalling/serialization is expensive Value Objects accessed from JSP Lazy loading of objects (composition vs. aggregation) Use load test tools XML • XML widely adopted, tools available • Syntax is defined, semantic not yet (tags) • XML Schema specs under development, DTDs most widely used today • XML parsers still evolving (e.g., Xpath) • XSLT vs. JSP for XML translation (JSP custom tag) • XSLT still moving target, little debug support • XML data binding is interesting, but not yet available • Resources (free / open source): – xml.apache.org: Xerxes, Xalan – www.ibm.com/developer/xml: XSLT editor – www.w3.org/xml 10 Performance • To write efficient Java apps, need to understand how VM / bytecode works • Java compilers do not optimize • “I like Java because I don’t have to worry about memory” are famous last words • JIT vs. static optimizer • Garbage collection is an unsolved problem – ask anyone who write a LISP interpreter • Memory footprint more critical than computational performance (swapping) • Write clean code, then tune, use profiler • Resources: 11 – Peter Haggar: Practical Java Programming Brownbag suggestions • • • • • • • • • • • 12 XML Technology Update XML and Java Developing High-Performance Java Applications Inside the Java VM JSP 1.1: Custom Tags & More Refactoring Evolution of the Java platform EJB Specification Update Web Architectures using J2EE Design Patterns Extreme Programming Exciting awards are waiting for the authors! ? 13