You are on page 1of 24

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
Optional APIs
 Profiles
Profile
 Optional APIs
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
 Test Environment Profile
 Emulators and simulators
Configuration
 Device connections
JVM

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 Optional APIs
 Direct connects (USB, serial, etc)
Profile
 Over the air (OTA)
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

1.1
Project building

Runtime management

Deployment to devices and emulators Features to device fragmentation

Obfuscation Visual Builders + Screen flow builders

Signing Support for localization

First generation UI builders (optional)

Frameworks

• Runtime management
• Building
9
• Deployment
Taking 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 Extended service


Service extensions
Frameworks plug-ins
Eclipse
Eclipse <<extension>>
<< extension>> Device
Device Platform
Platform << extension >>
Device
Device Provider
Provider Screen
Screen Engine
Engine
Management
Management
<<extension>> Provider
Provider
Device
Device
Description << extension>>
Description Preprocessing
<< extension >>
Provider
Provider Preprocessing
MTJ
MTJ Core
Core GUI
GUI Builder
Builder Provider
Provider
Plug-
Plug -ins
ins
Plug-ins Management
Management <<extension>>
GUI
GUI Builder
Builder << extension >>

Provider Obfuscation
Obfuscation
<< extension>> Provider
Provider
Provider
Build
Build <<extension>> << extension >>
Management
Management
Build Packaging
Packaging
Build Provider
Provider Provider
Provider
<< extension>>
Deployment <<extension>>
Deployment
MTJ
MTJ Management Deployment
Deployment
Management
Development
Development Provider
Provider
IDE
IDE Plug-
Plug-in
Plug-in << extension >> <<extension>>
Security
Security
Management
Management Signing
Signing Provider
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
 dsp-mtj-dev mail list
 Bi-Weekly Status Calls
 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