1 / 43

IBM Ottawa, J9 and Eclipse Overview

IBM Ottawa, J9 and Eclipse Overview. John Duimovich IBM Distinguished Engineer Java Virtual Machines IBM Ottawa Lab. Title slide. Agenda. Introductions IBM Ottawa History Technology Technology J9 Virtual Machines Eclipse Tooling Platform. Introductions. John Duimovich

Download Presentation

IBM Ottawa, J9 and Eclipse Overview

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. IBM Ottawa, J9 and EclipseOverview John Duimovich IBM Distinguished Engineer Java Virtual Machines IBM Ottawa Lab Title slide

  2. Agenda • Introductions • IBM Ottawa • History • Technology • Technology • J9 Virtual Machines • Eclipse Tooling Platform

  3. Introductions John Duimovich IBM Distinguished Engineer Java Virtual Machines IBM Ottawa Lab Techie Angus McIntyre Product Line Manager Embedded Java Products IBM Toronto Lab Products Peter Tanner Business Development Exec Pervasive Computing Division IBM Ottawa Lab Business Dev

  4. Our History … • Acquisition history • 1996 (Feb) IBM acquires OTI • 2000 (Jan) Rational acquires ObjecTime • 2002 (Nov) IBM acquires Tarian Software • 2003 (Jan) OTI fully transitions to IBM • 2003 (April) IBM acquires Rational • Divisions and products • AIM Eclipse, Runtimes, WBI / WSAD-IE • DB IBM Records Manager • Rational Rose RT, XDE, Eclipse CDT Basic text slide

  5. OTI - History • 1984 Object-oriented Research Group, Carleton University • OO systems for industrial process control and real time • Introduced Smalltalk as principle teaching language • 1988 Object Technology International formed • R&D profile and company style – technical alliances • “mainframe to wristwatch” • “hide the mess” – standards-based platform independence

  6. OTI - History • VM work targets embedded systems • ENVY/Developer captures industrial Smalltalk market • VM, class library, ENVY/Developer • VisualAge Smalltalk • VisualAge for Java • VisualAge Micro Edition (J9 and Tools) • Eclipse Platform

  7. Ottawa lab contributes to three divisions • AIM • Eclipse universal tool platform • J9 Java Runtimes • WSAD-IE • Database • IBM Records Manager • Rational • Model-driven development (MDD) • Rose RT (wireless / embedded) • XDE • Process modeling (mostly in Vancouver) • RUP Basic text slide

  8. IBM Software Group (Ottawa Lab) IBM SOFTWARE GROUP Steve Mills Senior VP & Group Executive Robert LeBlanc GM, Application and Integration Middleware Janet Perna GM, Data Management Ambuj Goyal GM, Lotus Mike Devlin GM, Rational Al Zollar GM, Tivoli Systems IBM Ottawa Lab OTI Technology IBM Ottawa Lab Tarian Database Technology IBM Ottawa Lab Rational me

  9. Application and Integration Middleware Toronto WebSphere Studios Tools WebSphere Development Studio for iSeries WebSphere Messaging & Queuing Integrator VisualAge Tools (C++, Java, TPF) XL Fortran Linux PPC Fortran/C/C++ Linux Application Development Tools WebSphere Commerce Ottawa Eclipse Open Source Project WebSphere Studio Device Developer WebSphere Micro Environment J9 Virtual Machines Hursley Java CICS/TXSeries MQSeries WebSphere MQI MQ Everyplace WebSphere Business Integrator WebSphere PAM Poughkeepsie WebSphere Application Server for z/OS TPF Rochester WebSphere Application Server Enterprise Extensions Boeblingen MQ Series Workflow Paris VisualAge Pacbase & Generator MQ Series Tooling MQ Series Integration Pittsburgh WebSphere Edge Server Silicon Valley WebSphere VisualAge XML Toolkit Fortran Yamato/Beijing Research WebSphere Commerce WebSphere Studio Tools WebSphere Hompage Bldr Research Triangle Park WebSphere Application Server WebSphere Studio Tools WebSphere VisualAge WebSphere Edge Server WebSphere Personalization WebSphere Workbench WebSphere Site Analyzer WebSphere Business Components Host Access Client Package Comm. Server for z/OS, ISPF Austin WebSphere App. Server Build Enterprise Extensions Component Broker WebSphere Components DCE Kerberos

  10. J9 – Virtual Machines from a mainframe to a watch • World-class Java VM and class library solution • advanced GC strategies, modular implementation • WSAD 5.1 runtime, full speed debug, hot code replace, reduced footprint • 100% independent implementation • Strategic IBM VM, single source code base, control over licensing • freedom to innovate, customizable to meet customer objectives (WCE) • Clear winner in earliest/most certified platforms/profiles • 8 certified J2ME profiles/configs on over 2 dozen OS/processor combos • CLDC, CDC, MIDP, Foundation, Personal Profile, RMI OP, … • Recipient of 2 Java Pro Magazine 2002 Reader's Choice Awards, and a JavaWorld 2002 Editor’s Choice Award • Leadership in Java Community Process Basic text slide

  11. Eclipse • Open, extensible IDE platform • culmination of experience: VAST, VA/J, VAME, native widgets • major IBM open-source initiative • model for truly open, fast-paced community development • We changed the way IBM thinks about tool strategy • Say goodbye to vertical stacks • Focus on core competencies – everyone benefits • Rich Client Platform allows support for more than just IDEs • Base technology of IBM’s WebSphere product line, others • unbelievable download numbers, installed base estimated in the millions • hundreds of commercial and academic projects underway worldwide Basic text slide

  12. J9 Technical Sampler

  13. J9 Java Virtual Machine • Fully compliant (1.3/1.4/1.5) / "Java Powered" (J2ME) and J2SE runtime • Highly configurable class library implementation • Multi-platform • Production level code – shipping now • IBM Websphere Studio Device Developer (WSDD) product V5.5 • IBM JDK 1.3.1 and 1.4.2 • x86, AMD64 Windows and Linux • WebSphere Studio Application Developer 5.1 • WebSphere Application Server – 5.1

  14. Java 2 MicroEdition (J2ME) in a Nutshell • Java for the embedded market, in particular Cell phones • J2SE libraries (currently > 35Mb) just didn’t seem to fit on Cell phone • configurable library sizes to meet differing needs of Cell phone makers and carriers • Specifications are developed through the Java Community Process (JCP – www.jcp.org) • controlled by Sun (as Java steward) and they run a process for Java changes and enhancements • Anyone can submit a Java Specification Request (JSR) and produce new Java API’s for various Java platorms (J2SE/EE/ME). • IBM has been and is involved very heavily in the JCP as leaders and participants Basic text slide

  15. Configurations and Profiles • A Configuration is a set of classes (non-UI) providing a base set of functionality • Specific classes from java.lang, java.io, java.util, etc. • Currently there 3 finished and 1 under spec development • Connected Limited Device Configuration (Small, minimal VM) • Connected Device Configuration (Larger, standard VM) • JSR-30 CLDC 1.0, JSR-036 CDC 1.0, JSR-139 CLDC 1.1, JSR-218 CDC 1.1 • A Profile is a set of classes (can also be UI related) which can stack on top of a Configuration which can stand alone if needed • You can combine multiple profiles together • There are numerous profiles • JSR-037 MIDP 1.0, JSR-046 Foundation 1.0, JSR-118 MIDP 2.0, … • An optional package is a set of classes which extend either a configuration or profile and extends the functionality • JSR-075 PIM and FileConnection, JSR-082 Bluetooth, JSR-135 MMAPI Basic text slide

  16. Pager NC Vehicles PC Smartphone Cell Phone Communicator Laptop Set top Box, Net TV POS Screen phone Smart card Servers J2ME Javacard J2EE J2SE CDC CLDC Configurations and Profiles (cont…) How J2ME Configurations/Profiles fit into Java J9 Basic text slide

  17. JCL natives J9 Architecture Java application code Uses 1 of many possible configurations Java calls JNI J2SE Foundation Pluggable components that dynamically load into the virtual machine CDC MIDP CLDCclass library Virtual machine Calls toClibraries Nativeapplications JVM Profiler Class loader JNI Debugger Interpreter Realtime Profiler Exception handler JIT Garbage collector OS-specific calls Thread model Port Library (file IO, sockets, memory allocation, etc.) Operating system

  18. J9 Virtual Machines and Testarossa JIT • Developed jointly between IBM Ottawa Laboratory and IBM Toronto Laboratory • J2METM • CLDCTM Connected Limited Device Configuration • CDCTMConnected Device Configuration • MIDPTMMobile Information Device Profile (ex cell phone) • PDAPPersonal Digital Assistant Profile • J2SETM configuration • 1.3,1.4 and coming soon Java 5 (aka 1.5) Single Binary can run all configurations listed above

  19. Flexible and sophisticated technology • Port library, Thread layer • Multi-VM • Garbage Collection • Sharing, eXecute In Place (XIP), Ahead Of Time (AOT) compile • Debug, profile and runtime JVM interfaces • Runtime Hookable • Hot Code Replace • Testarossa JIT • Full Speed Debug • Best of breed - world class performance

  20. Port Library / Thread Interface • Designed for Porting • complete interface to the operating system • Memory • Sockets • Interrupts • File I/O • Shared memory • Threading • Adapt RTOS or OS threading model for Java • Support native or green threads

  21. Multi-VM • Multiple JVMs in single address space • No MMU support required • Flexible deployment story • Multiple jcls on same target, eg. RT - non-RT • will share "stuff" if the same • Each JVM instance may have different port library • Each JVM instance may have different invocation parameters (GC, code cache, increments, etc) • JVM-local storage • Used for globals • JNI code made re-entrant per VM (no statics)

  22. VM Local Storage • JVM-local storage Used for globals JNI code made re-entrant per VM (no statics) • Exploitation of this feature requires class libraries to support re-entrant natives virtualized (per process) resources Code page, colour defaults … • access via JNIEnv in native code • Also reached via TLS • Only attach one vm per thread • Stacked attachments for recursive attach

  23. Garbage Collection (GC) • Four (accurate) GC implementations with Thread Local Heap (TLH) • Generational scavenger (write barriers req'd) • Mark & sweep - full stop and optional compact • 3-colour concurrent incremental (write barriers req'd) • Predictable, low latency, user callable (with bounds) • Large Heap/Parallel GC • Mix and Match GC strategies • Highly configurable through the invocation API or command line • Nursery size • Tenure size + increment • Memory maximum • Remembered set size • TLH parameters

  24. Performance

  25. JBenchmark 1 • IBM WEME on PalmOne(ARM) has largest JBench score • Jbenchmark Score of 16,000 and holds top four positions • Nearest Competitor 4th Place is Sony Clie with score of 8376

  26. Example – JBenchmark 2 • IBM WEME on Palm Arm • Seventh place out of 66 devices • Prior to new graphic enhancements in Version 5.7.5

  27. Full Speed Debug (FSD): WSAD online auction example HW: P4 2.0GHz machine with 1GB of RAM under WSAD5.0. * time taken from the "Operation in progress" dialogue disappearing to the Auction web page coming up with the "Done" status.

  28. Footprint: WSAD scenarios HW: P4 2.0GHz machine with 1GB of RAM under WSAD5.0.

  29. Eclipse Technologywww.eclipse.org

  30. What Is Eclipse? • Eclipse is an open source community focused on developing a universal platform of frameworks and exemplary tools that make it easy and cost-effective to build and deploy software in today’s connected and unconnected world. • Eclipse is a consortium of major software vendors, solution providers, corporations, educational and research institutions and individuals working together to create an eco-system that enhances, promotes and cultivates the Eclipse open platform with complementary products, services and capabilities.

  31. The Members of Eclipse • 9 Strategic Members • 50+ Add-in Providers • 8 Associate Members (Publishers, Research Institutes, OMG, etc.) • Large community of open source developers

  32. The Projects at Eclipse • Eclipse Platform PMC • Platform, Plug-in Development Environment, Java Development Tools • Tools PMC • C/C++ Development Tools, COBOL, Graphical Editing Framework, Eclipse Modeling Framework, Visual Editor, UML2 • Test and Performance Tools Platform PMC • Hyades Platform Project, Hyades Test Tools Project, Hyades Tracing and Profiling Project, Hyades Monitoring Project • Web Tools Platform PMC • Web Standard Tools, J2EE Standard Tools • Technology PMC • AspectJ, AJDT, CME, ECESIS, Equinox, GMT, Koi, OMELET, Stellation, WSVT, XSD

  33. The Value of Eclipse • Software Development Organizations • Ex. SAP, Serena, IBM, SAS, Actuate • Take advantage of $200 million technology investment • Key developers can focus on core competencies; not tools • Access to large established eco-system • 450+ plug-ins available • 400+ open source projects related to Eclipse on SourceForge • Rich Client Platform reduces the cost and complexity of developing and deploying applications. • Platform Vendors • Ex. QNX, Monta Vista, HP, Red Hat, Novell SUSE • Make available industry leading tools for their platform • Access to large established eco-system

  34. The Value of Eclipse • IT Organizations • Great ROI to standardized on the industry leading tools platform • Large established eco-system allows them to protect their investment • Individuals • A great IDE and it is free • Lots of support! • 20+ information web sites worldwide • 20+ books available in English, German, Japanese Korean • EclipseCon Conference in 2003 had 600+ attendees

  35. Eclipse Tools • Objective is to build exemplary tools to support the Platform and prove it works! • We started with an IDE! • Create an extensible tool platform that provides basic services and extensibility to allow for third party providers to compliment and add to the solution. • Complete the tooling for the entire application development lifecycle Vendor AD Tools Java IDE C/C++ IDE Design & Modelling Web Tools Test & Performance Add-in Tool Providers Tool Framework Meta Model Debug Search Team Eclipse RCP

  36. Eclipse Tools – Leading Java IDE • 29 million downloads to date • “Within the tools market, the options have narrowed to two front-line players: MS Visual Studio family, and the Eclipse based technologies…” • SD Times, August 1, 2004 • ‘Most popular IDE in use…’ – EDC, May 2004. • Lots of industry awards

  37. Borland Together Edition for Eclipser Monta Vista DevRocket IBM WebSphere Studio QNX Momentics Red Hat Developer Studio SAP NetWeaver Studio IBM Lotus Workplace Developer HP OCMP OClet Development Env. PalmOS Dev Suite Novell/SuSE Linux SDK Oracle Collaxa BPEL Designer TimeSys TimeStorm IDE Tensilica Xtensa Xplorer IDE IBM Rational XDE Eclipse Tools – Eclipse Based Commercial Tools

  38. The Eclipse RCP – Application Characteristics • Widely deployed applications • Automatic update mechanism very important. • Rich user experience; connected and disconnected • A browser is not sufficient • Being able to add new features in a timely fashion • Applications will run on variety of platforms Eclipse AD Tools are a good example!

  39. The Eclipse RCP – Main Features • Generic workbench • Extensible infrastructure • Editors, hierarchical lists, task/error reporting • Run on variety of platforms • Integrated help system • Pluggable component model • Automatic awareness of new plug-ins. • Automatic update manager • Product packaging allows for custom branding of deployed applications • Native support for Windows, Linux GTK and Motif, Mac OS X, and POSIX operating systems like AIX, HP/UX, and Solaris Eclipse RCP Update Manager Generic Workbench Plug-in Model Product Packaging

  40. The Eclipse RCP – Applications and Technology • Eclipse Tools are built on the Eclipse RCP • Eclipse Business Intelligence and Reporting project • Targets developer and report designers • IBM Workplace • PIM style applications (e-mail, word processing, spreadsheet, etc) Many more to come Eclipse AD Tools Actuate/ Business Intelligence IBM Lotus Workplace Many more to come Many more to come Eclipse RCP

  41. The Eclipse Platform – The Future • Target RCP for additional operating environments • Ex. embedded constrained devices • Additional application frameworks based on the RCP • Ex. Business intelligence and tool • Enhance and evolve the Eclipse Tools • Support for Service Oriented Architecture • Evolve Eclipse modeling tools • Enhance embedded tooling support • Expand the solutions for the memberships Member Products and Plug-ins Member Products and Plug-ins Eclipse AD Tools Business Intelligence Add’l Eclipse Technology Eclipse RCP

  42. eRCP • Adapt the Eclipse RCP for embedded systems, mobile and other • Display: • 8-bit color • 176x220 • Input: • T9, touch, or QWERTY • Processing Power: • ARM9 100Mhz or equivalent • Memory Constraints: • Total RAM: 8M • Total ROM/Flash: 16M • Heap: 2-4M • Connectivity: • Cellular: GPRS, EDGE, or 3G • WiFi

  43. eRCP - its just starting – get involved • proposal at eclipse.org • See http://www.eclipse.org/proposals/eclipse-ercp/index.html • Informal gathering at OSGiWorldCongress 2004 • Jim Robbins (robbinsj@us.ibm.com ) or Jim Colson (jccolson@us.ibm.com ) • OSGiWorld Oct 11-15 • http://www.osgiworldcongress.com

More Related