Taking it on the road – Developer tools for J2ME

Kevin Horowitz IBM Lotus Boca Raton, FL

© 2006 by IBM; made available under the EPL v1.0 | 22 March 2006 |

What is this presentation about?
      What is the J2ME™ environment? What is the MTJ Project? What are the plans? What is out there already? How is MTJ developing to meet the need? Where can I get it and how can I help?

2

Taking it on the road – Developer tools for J2ME | © 2006 by IBM; made available under the EPL v1.0

Why do I need something different for Mobile Devices?
 Java™ 2 Platform, Micro Edition (J2ME™) is the programming model introduced to standardize programming for embedded devices  Specifications are designed as part of the Java Community Process (JCP)  J2ME is a family of specifications, designed as a series of layered APIs
 Configuration  Profiles  Optional APIs Optional APIs Profile Configuration JVM

3

Taking it on the road – Developer tools for J2ME | © 2006 by IBM; made available under the EPL v1.0

J2ME Considerations
 J2ME Build considerations
 Code size  Performance optimization  Device variances  Obfuscation  Signing tools  Special packaging requirements Optional APIs Profile Configuration JVM

 Test Environment
 Emulators and simulators  Device connections

4

Taking it on the road – Developer tools for J2ME | © 2006 by IBM; made available under the EPL v1.0

J2ME Considerations cont.
 Remote execution environment
 Remote debugging

 Deployment
 Runtime deployment  Execution code deployment  Connection environments  Network  Direct connects (USB, serial, etc)  Over the air (OTA) Optional APIs Profile Configuration JVM

5

Taking it on the road – Developer tools for J2ME | © 2006 by IBM; made available under the EPL v1.0

What is MTJ?
 Mobile Tools for the Java Platform (MTJ)  Subproject under the Device Software Development Platform (DSDP) Project  Project to extend the Eclipse platform to support mobile Java application development  Goals
 Enhance the Eclipse platform to support Java development for mobile devices  Provide an extensible framework that vendors can extend for their devices  Provide default tools to develop mobile Java applications

6

Taking it on the road – Developer tools for J2ME | © 2006 by IBM; made available under the EPL v1.0

First Release
 Create a platform that vendors can extend for their devices
 Device and Emulator framework  Manage mobile runtimes  Debugging  Deployment framework  Develop methods for transfer to devices or emulators  Provide a framework for vendor specific deployment needs  Build framework  Build considerations based on J2ME needs  Application creation  UI Design tools

7

Taking it on the road – Developer tools for J2ME | © 2006 by IBM; made available under the EPL v1.0

Next Steps
    Visual Editing Screen flow tool for J2ME development Tools to help developers manage device fragmentation Localization Support

8

Taking it on the road – Developer tools for J2ME | © 2006 by IBM; made available under the EPL v1.0

Roadmap 2006
1Q06 2Q06 3Q06 4Q06 1Q07
1.0

Project building Runtime management Deployment to devices and emulators Obfuscation Signing First generation UI builders (optional) Frameworks

1.1

Features to device fragmentation Visual Builders + Screen flow builders Support for localization

9

• Runtime management • Building Taking • Deployment it on the road – Developer tools for J2ME | © 2006 by IBM; made available under the EPL v1.0

Who are we?
        Nokia IBM Craig Setera, EclipseME SonyEricsson Apogee Software ShareME Technologies LLC Sybase Wirelexsoft

Initial Contributors

10

Taking it on the road – Developer tools for J2ME | © 2006 by IBM; made available under the EPL v1.0

What is out there already?
 Eclipse Based Toolsets
 IBM® WebSphere® Studio Device Developer  Nokia Developer’s Suite for J2ME  EclipseME  Other SDKs that extend these or existing functionality

 Non-Eclipse Based Toolsets
 NetBeans  Sun Java Wireless Toolkit  Borland jBuilder Mobile Edition  Other SDKs

11

Taking it on the road – Developer tools for J2ME | © 2006 by IBM; made available under the EPL v1.0

Nokia Developer’s Suite for J2ME
 Development environment utilizing Nokia SDKs  Provides a base for development of MIDP 1.0/2.0 and Personal Profile 1.0 profiles  Available for many IDEs on the market including
 Eclipse 3.0  WebSphere Studio Device Developer  Borland Jbuilder  NetBeans  Sun Java Studio Mobility

 Nokia is leading the MTJ Project

12

Taking it on the road – Developer tools for J2ME | © 2006 by IBM; made available under the EPL v1.0

IBM WebSphere Studio Device Developer
 Eclipse based (2.1) Tools to help develop J2ME applications using IBM J9 (2.2)  Provides a base for development of a variety of J2ME Configurations, Profiles, and Optional APIs  Features
      Extensible framework to allow the addition of vendor SDKs Deployment framework to communicate and deploy to devices Local emulator execution controls Remote device execution controls Local and remote debugging support MIDP Editors  MIDP Visual Editor  JAD Editor Support for building JXE objects

 Extended by IBM and other vendors to provide additional profiles and deployment environments  MicroEnvironment Toolkit for WebSphere Studio for OSGi-based development  IBM and the WebSphere Studio Device Developer team are contributing to MTJ

13

Taking it on the road – Developer tools for J2ME | © 2006 by IBM; made available under the EPL v1.0

EclipseME
 Eclipse based (3.1) tools for developing MIDP 1.0/2.0 applications using a variety of runtime SDKs  Supports a variety of vendor SDKs as well as the ability to configure an unknown SDK  EclipseME developers are fully involved in helping to define MTJ design and architecture
 EclipseME development will continue for a period of time, while MTJ project is starting  EclipseME and MTJ have a very similar set of goals  EclipseME developers are representing EclipseME users to the MTJ project  EclipseME project will offer code of interest to the MTJ project  In the future, EclipseME will move toward MTJ  EclipseME will provide migration support to an MTJ base  EclipseME may become an extension of MTJ or may become obsolete

14

Taking it on the road – Developer tools for J2ME | © 2006 by IBM; made available under the EPL v1.0

NetBeans with NetBeans Mobility Pack
 NetBeans community IDE with modules to support MIDP development  Support for MIDP 2.0 Development  Mobility Pack features
 Emulator execution as well as support for adding third-party emulators  Drag-and-drop objects in Flow Designer, Screen Designer, and Action Editor  Deployment  Support for obfuscation and optimization  Fragmentation support

15

Taking it on the road – Developer tools for J2ME | © 2006 by IBM; made available under the EPL v1.0

Sun Java Wireless Toolkit
 Based on MIDP 2.0  Supports a variety of Configurations, Profiles, and Optional APIs  Features
 Source Code Editor  Project Building/Packaging  Emulator Execution  Execution Profiler

16

Taking it on the road – Developer tools for J2ME | © 2006 by IBM; made available under the EPL v1.0

Other SDKs
 Developed to run standalone for a particular vendor  Developed to extend an existing IDE  Many of the SDKs will work either standalone or one or more existing IDEs

17

Taking it on the road – Developer tools for J2ME | © 2006 by IBM; made available under the EPL v1.0

What does the architecture look like?
Core plug-ins Extendable Frameworks
Device Device Management Management
<< extension >> << extension>>

Service extensions
<<extension>>

Extended service plug-ins
<< extension >>

Eclipse Eclipse

Device Platform Device Platform Provider Provider Device Device Description Description Provider Provider
<<extension>> <<extension>>

Screen Engine Screen Engine Provider Provider Preprocessing Preprocessing Provider Provider Obfuscation Obfuscation Provider Provider Packaging Packaging Provider Provider
<<extension>> << extension >> << extension >> << extension>>

MTJ Core MTJ Core Plug-ins Plug-ins Plug-ins

GUI Builder GUI Builder Management Management Build Build Management Management Deployment Deployment Management Management Security Security Management Management
<< extension >> << extension>> << extension>>

GUI Builder GUI Builder Provider Provider
<<extension>>

Build Provider Build Provider

MTJ MTJ Development Development IDE Plug-in IDE PlugPlug-in

Deployment Deployment Provider Provider
<<extension>>

Signing Provider Signing Provider

Legend API and the implementers contribution to it’s Extension point

18

Taking it on the road – Developer tools for J2ME | © 2006 by IBM; made available under the EPL v1.0

What is the design?
 Top-level framework using EMF  MTJ Framework Plug-in Extension Points
 Device Management  GUI Builder Management  Build Management  Security Management  Deployment Management

 Eclipse-dependent Plug-in Extension Points
 Extension points which depend on Eclipse functionality to work

 Standalone Plug-in Extension Points
 Extension points that will provide functionality that will work in Eclipse, but they are not dependant on Eclipse functionality

19

Taking it on the road – Developer tools for J2ME | © 2006 by IBM; made available under the EPL v1.0

How are we doing the design?
     Developing Use Cases for each component Prioritizing work to be done Discussing the use cases on public forum Allowing open comments Approving design following a comment period

20

Taking it on the road – Developer tools for J2ME | © 2006 by IBM; made available under the EPL v1.0

Where can I see the code?

21

Taking it on the road – Developer tools for J2ME | © 2006 by IBM; made available under the EPL v1.0

What are the project artifacts?

22

Taking it on the road – Developer tools for J2ME | © 2006 by IBM; made available under the EPL v1.0

Where can I get more information?
 Eclipse Proposal
 http://www.eclipse.org/proposals/mtj/

 Wiki
 http://eclipsewiki.editme.com/MTJGroup

 Newsgroup Discussion
 news://news.eclipse.org/eclipse.dsdp.mtj  https://dev.eclipse.org/mailman/listinfo/dsdp-mtj-dev

 Bi-Weekly Status Calls

 dsp-mtj-dev mail list

 Next call 5 April 2006
Phone Time: 9 am EDT Number: +1-517-386-9625 Passcode: 6040654

23

Taking it on the road – Developer tools for J2ME | © 2006 by IBM; made available under the EPL v1.0

What can I do to help?
Participate Participate Participate Provide feedback and comments Help J2ME developers move to a common, extensible environment that will work for many devices  Join us . . .     

IBM and WebSphere are registered trademarks of International Business Machines Corp in the United States, other countries, or both. Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. Other company, product, or service names may be trademarks or service marks of others.

24

Taking it on the road – Developer tools for J2ME | © 2006 by IBM; made available under the EPL v1.0