SlideShare a Scribd company logo
Java ME
MIDlets Development Workflow




MIDlets Development Workflow - “Flash Lite vs. JavaME”, Bologna 29-01-2007 - http://www.jmdf.org
Agenda

• Configurations and Profiles
• The main workflow
  – Write and package your code
  – Emulate
  – Deploy on devices
• Tools
  – Sun Wireless Toolkit
  – Manufacturers SDK
  – NetBeans and Mobility Pack
• References
  MIDlets Development Workflow - “Flash Lite vs. JavaME”, Bologna 29-01-2007 - http://www.jmdf.org
Key Components of the J2ME
Technology Stack



                                            Additional libraries for wireless
                                            devices (GUI, storage, etc.)

                                            “Lowest common denominator”
                                              libraries for small devices
            MIDP
            Profile


            CLDC
                                            The execution engine
          Configuration


             KVM




  MIDlets Development Workflow - “Flash Lite vs. JavaME”, Bologna 29-01-2007 - http://www.jmdf.org
What is a J2ME Configuration?

 • A configuration defines the minimum Java
   technology that an application developer
   can expect on a broad range of
   implementing devices
 • Configurations are specified via the Java
   Community ProcessSM (JCP) initiative
   – May not contain any optional features
   – Implementations are tested via a compatibility
     test kit (TCK)




  MIDlets Development Workflow - “Flash Lite vs. JavaME”, Bologna 29-01-2007 - http://www.jmdf.org
What is a J2ME Configuration?


 • A configuration defines the minimum Java™
   technology that an application developer
   can expect to be available on implementing
   devices
   – Broad range of devices
   – Similar requirements for memory size and
     processing capabilities
 • Configurations are specified via the Java
   Community ProcessSM (JCP) initiative


  MIDlets Development Workflow - “Flash Lite vs. JavaME”, Bologna 29-01-2007 - http://www.jmdf.org
J2ME Configurations


 • J2ME Connected, Limited Device
   Configuration (CLDC)
   – Specifies Java environment for mobile phone,
            pager and PDA class devices
   – CLDC devices are usually wireless
 • J2ME Connected Device Configuration (CDC)
   – Specifies Java environment for digital
     television set-top boxes, high end wireless
     devices and automotive telematics systems.
   – CDC devices may be wired (DTV cable, etc.)

  MIDlets Development Workflow - “Flash Lite vs. JavaME”, Bologna 29-01-2007 - http://www.jmdf.org
What Is a J2ME Profile?


 • Java technology which supplements a
   configuration to provide capabilities for a
   specific vertical market or device type
 • Defined through Java Community Process
   initiative




  MIDlets Development Workflow - “Flash Lite vs. JavaME”, Bologna 29-01-2007 - http://www.jmdf.org
J2ME Profiles


 • J2ME Mobile Information Device Profile
   (MIDP)
   – Application runtime environment for wireless
     devices based upon CLDC
 • J2ME Foundation Profile
   – Base profile for non-GUI networked devices
     based upon CDC
 • J2ME Personal Basis, Personal, and RMI
   Profiles
   – Basic graphics and RMI support for CDC &
     Foundation Profile based devices
  MIDlets Development Workflow - “Flash Lite vs. JavaME”, Bologna 29-01-2007 - http://www.jmdf.org
JavaME Wireless Device Stack


                                             Your
                                             MIDlet                Yellow Pages, train
                                                                   schedules and
                                                                   ticketing, games…
                                              MIDP                 UI, HTTP 1.1
                                              APIs
                                                                   networking...
                                  J2ME CLDC APIs
                                                                  java.lang.*, java.io.*,
                                                                  java.util.*
                                                                  javax.microedition…
                                 CLDC compliant
                                 VM (may be KVM)
                                                                  Threads, no Floats…

                                    Hardware
                                                                   RISC processor,
                                                                   ROM, Flash, RAM,
                                                                   etc.

  MIDlets Development Workflow - “Flash Lite vs. JavaME”, Bologna 29-01-2007 - http://www.jmdf.org
The simplest thing...

 • Write the Java MIDlet + Java classes using your
   favorite editor... and compile
 • Create a Java Application Descriptor (JAD)...
   it's just a text file
 • Package the classes in a JAR file
 • You've got your MIDlet Suite!!!




  MIDlets Development Workflow - “Flash Lite vs. JavaME”, Bologna 29-01-2007 - http://www.jmdf.org
The big picture


   Development Station                                  Target J2ME
                                                          Device
         Myapp.java
                                                      Download Jad and
                                                      JAR (containing
             Javac                                    Myapp.class)



                                  MyMIDletSuite.jad
                                                                                   Verifier
        Myapp.class               MyMIDletSuite.jar



          Preverifier                  Package                                  Interpreter


         Myapp.class
  MIDlets Development Workflow - “Flash Lite vs. JavaME”, Bologna 29-01-2007 - http://www.jmdf.org
Sun Wireless Toolkit

  • Based on CLDC 1.1 and MIDP 2.0 reference
    implementations
  • Support for additional APIs
  • Simple and easy to use
  • Tools to performance tune your applications
  • Can be customized to specific devices
  • Integration with commercially available Java
    IDEs: Eclipse, Netbeans




  MIDlets Development Workflow - “Flash Lite vs. JavaME”, Bologna 29-01-2007 - http://www.jmdf.org
Sun Wireless Toolkit




  MIDlets Development Workflow - “Flash Lite vs. JavaME”, Bologna 29-01-2007 - http://www.jmdf.org
Nokia Carbide.j




 MIDlets Development Workflow - “Flash Lite vs. JavaME”, Bologna 29-01-2007 - http://www.jmdf.org
Sony Ericsson SDK




 MIDlets Development Workflow - “Flash Lite vs. JavaME”, Bologna 29-01-2007 - http://www.jmdf.org
Motorola SDK




 MIDlets Development Workflow - “Flash Lite vs. JavaME”, Bologna 29-01-2007 - http://www.jmdf.org
NetBeans

 • Most Comprehensive – Create mobile, desktop,
   web & enterprise appications with one single
   tool.
 • Best out of box experience: a development
   environment that just works; no searching for
   plug-ins that cost time and money
 • NetBeans is 100% Java
 • NetBeans is Open Source & Free




  MIDlets Development Workflow - “Flash Lite vs. JavaME”, Bologna 29-01-2007 - http://www.jmdf.org
NetBeans Mobility Features
 • Support for MIDP & CLDC variants
     – MIDP 1.0/2.0
     – CLDC 1.0/1.1
     – ... also CDC
 • Visual Mobile Designer
     – Drag & drop MIDP authoring
 • Wireless Connection Wizard
     – E2E app development (web svcs, EJBs, etc.)
 • Device Fragmentation Solution
     – Preprocessing options for tackling discrepencies




  MIDlets Development Workflow - “Flash Lite vs. JavaME”, Bologna 29-01-2007 - http://www.jmdf.org
NetBeans Mobility Features
 • Emulator support
     – Sun Wireless Toolkit included
     – OEM support (Nokia, SonyEricsson, etc.)
 • Ant build support
 • MIDP localization
 • OTA testing
 • Code obfuscation
 • Code optimization




  MIDlets Development Workflow - “Flash Lite vs. JavaME”, Bologna 29-01-2007 - http://www.jmdf.org
NetBeans Mobile Application Project

 • Let's create a Project
 • Application Descriptor Management
    – Attributes
    – MIDlets details
    – Push Registry
    – Permissions
 • Build
 • Run
    – Standard
    – OTA simulation
 • Deployment


   MIDlets Development Workflow - “Flash Lite vs. JavaME”, Bologna 29-01-2007 - http://www.jmdf.org
References

 • Sun WTK: http://java.sun.com/javame

 • Netbeans: http://www.netbeans.org

 • Nokia: http://www.forum.nokia.com

 • Sony-Ericsson: http://developer.sonyericsson.com

 • Motorola: http://developer.motorola.com

 • BenQ: http://www.benqmobile.com/developer

 • Samsung: http://developer.samsungmobile.com

 • EclipseME: http://eclipseme.org/

  MIDlets Development Workflow - “Flash Lite vs. JavaME”, Bologna 29-01-2007 - http://www.jmdf.org
Java ME
MIDlets Development Workflow




MIDlets Development Workflow - “Flash Lite vs. JavaME”, Bologna 29-01-2007 - http://www.jmdf.org
Speaker


  Edoardo Schepis
  Java ME Tech Lead at Funambol
  JMDF Founder

  email: edoardo.schepis@funambol.com
  weblog: http://www.edschepis.net
  Java Mobile Developers Forum: http://www.jmdf.org




  MIDlets Development Workflow - “Flash Lite vs. JavaME”, Bologna 29-01-2007 - http://www.jmdf.org

More Related Content

What's hot

Java me introduction
Java me   introductionJava me   introduction
Java me introduction
NokiaAppForumBulgaria
 
Software development with qt
Software development with qtSoftware development with qt
Software development with qt
NokiaAppForumBulgaria
 
Polysource It Profile
Polysource It ProfilePolysource It Profile
Polysource It Profile
elenarys
 
Poly Source It Profile
Poly Source It ProfilePoly Source It Profile
Poly Source It Profile
moseskhedi
 
Agileload - load testing tool for better web performance
Agileload - load testing tool for better web performanceAgileload - load testing tool for better web performance
Agileload - load testing tool for better web performance
Agileload testing
 
Java keynote preso
Java keynote presoJava keynote preso
Java keynote preso
Artur Alves
 
Ovi store ppt_serbia
Ovi store ppt_serbiaOvi store ppt_serbia
Ovi store ppt_serbia
NokiaAppForumBulgaria
 
Aspects of Modern APM Solutions
Aspects of Modern APM SolutionsAspects of Modern APM Solutions
Aspects of Modern APM Solutions
nlwebperf
 
Object oriented programming-with_java
Object oriented programming-with_javaObject oriented programming-with_java
Object oriented programming-with_java
Hoang Nguyen
 

What's hot (9)

Java me introduction
Java me   introductionJava me   introduction
Java me introduction
 
Software development with qt
Software development with qtSoftware development with qt
Software development with qt
 
Polysource It Profile
Polysource It ProfilePolysource It Profile
Polysource It Profile
 
Poly Source It Profile
Poly Source It ProfilePoly Source It Profile
Poly Source It Profile
 
Agileload - load testing tool for better web performance
Agileload - load testing tool for better web performanceAgileload - load testing tool for better web performance
Agileload - load testing tool for better web performance
 
Java keynote preso
Java keynote presoJava keynote preso
Java keynote preso
 
Ovi store ppt_serbia
Ovi store ppt_serbiaOvi store ppt_serbia
Ovi store ppt_serbia
 
Aspects of Modern APM Solutions
Aspects of Modern APM SolutionsAspects of Modern APM Solutions
Aspects of Modern APM Solutions
 
Object oriented programming-with_java
Object oriented programming-with_javaObject oriented programming-with_java
Object oriented programming-with_java
 

Viewers also liked

Funambol: introducing SCRUM in software product development - AgileDay Italia
Funambol: introducing SCRUM in software product development - AgileDay ItaliaFunambol: introducing SCRUM in software product development - AgileDay Italia
Funambol: introducing SCRUM in software product development - AgileDay Italia
Edoardo Schepis
 
Educational augmented reality workshop @ JTELSS14
Educational augmented reality workshop @ JTELSS14Educational augmented reality workshop @ JTELSS14
Educational augmented reality workshop @ JTELSS14
Victor Alvarez
 
Proyecto
ProyectoProyecto
Proyecto
Andreacasallas
 
Mucru from the field: : Research on Southern Right Whales in South West Austr...
Mucru from the field: : Research on Southern Right Whales in South West Austr...Mucru from the field: : Research on Southern Right Whales in South West Austr...
Mucru from the field: : Research on Southern Right Whales in South West Austr...
Victor Alvarez
 
Augmented reality for learning workshop @ jtel summer school 2013 (Jtelss13)
Augmented reality for learning workshop @ jtel summer school 2013 (Jtelss13)Augmented reality for learning workshop @ jtel summer school 2013 (Jtelss13)
Augmented reality for learning workshop @ jtel summer school 2013 (Jtelss13)
Victor Alvarez
 
Introducing augmented reality @ MIW Oviedo
Introducing augmented reality @ MIW Oviedo Introducing augmented reality @ MIW Oviedo
Introducing augmented reality @ MIW Oviedo
Victor Alvarez
 
JavaME UI - JMDF 2007
JavaME UI - JMDF 2007JavaME UI - JMDF 2007
JavaME UI - JMDF 2007
Edoardo Schepis
 
Funambol JavaME Messaging Client: Lessons Learned - JavaONE 2008
Funambol  JavaME Messaging Client: Lessons Learned - JavaONE 2008Funambol  JavaME Messaging Client: Lessons Learned - JavaONE 2008
Funambol JavaME Messaging Client: Lessons Learned - JavaONE 2008
Edoardo Schepis
 
ITNG 2O11 Designing case studies for the Voice Interactive Classroom
ITNG 2O11 Designing case studies for the Voice Interactive ClassroomITNG 2O11 Designing case studies for the Voice Interactive Classroom
ITNG 2O11 Designing case studies for the Voice Interactive Classroom
Victor Alvarez
 
Introducing augmented mlearning @ mobimooc
Introducing augmented mlearning @ mobimoocIntroducing augmented mlearning @ mobimooc
Introducing augmented mlearning @ mobimooc
Victor Alvarez
 
Alla ricerca della User Story perduta
Alla ricerca della User Story perdutaAlla ricerca della User Story perduta
Alla ricerca della User Story perduta
Edoardo Schepis
 
Developing augmented reality applications for education @ mLearn 2012
Developing augmented reality applications for education @ mLearn 2012Developing augmented reality applications for education @ mLearn 2012
Developing augmented reality applications for education @ mLearn 2012
Victor Alvarez
 
Voice interactive learning. A framework and evaluation @ ITiCSE 2013
Voice interactive learning. A framework and evaluation @ ITiCSE 2013Voice interactive learning. A framework and evaluation @ ITiCSE 2013
Voice interactive learning. A framework and evaluation @ ITiCSE 2013
Victor Alvarez
 
JavaME Deploy and Test - JMDF 2005
JavaME Deploy and Test - JMDF 2005JavaME Deploy and Test - JMDF 2005
JavaME Deploy and Test - JMDF 2005
Edoardo Schepis
 
Arlg workshop-at-jtelss12
Arlg  workshop-at-jtelss12Arlg  workshop-at-jtelss12
Arlg workshop-at-jtelss12
Victor Alvarez
 
Conserv-AR: A mixed-reality mobile game to promote awareness of wildlife cons...
Conserv-AR: A mixed-reality mobile game to promote awareness of wildlife cons...Conserv-AR: A mixed-reality mobile game to promote awareness of wildlife cons...
Conserv-AR: A mixed-reality mobile game to promote awareness of wildlife cons...
Victor Alvarez
 
Augmented reality lecture @ DSV Stockholm University
Augmented reality lecture @ DSV Stockholm UniversityAugmented reality lecture @ DSV Stockholm University
Augmented reality lecture @ DSV Stockholm University
Victor Alvarez
 
Openshift Enterprise
Openshift EnterpriseOpenshift Enterprise
Openshift Enterprise
Edoardo Schepis
 
Great mosque of damascus
Great mosque of damascusGreat mosque of damascus
Great mosque of damascus
Arif Zafar
 

Viewers also liked (19)

Funambol: introducing SCRUM in software product development - AgileDay Italia
Funambol: introducing SCRUM in software product development - AgileDay ItaliaFunambol: introducing SCRUM in software product development - AgileDay Italia
Funambol: introducing SCRUM in software product development - AgileDay Italia
 
Educational augmented reality workshop @ JTELSS14
Educational augmented reality workshop @ JTELSS14Educational augmented reality workshop @ JTELSS14
Educational augmented reality workshop @ JTELSS14
 
Proyecto
ProyectoProyecto
Proyecto
 
Mucru from the field: : Research on Southern Right Whales in South West Austr...
Mucru from the field: : Research on Southern Right Whales in South West Austr...Mucru from the field: : Research on Southern Right Whales in South West Austr...
Mucru from the field: : Research on Southern Right Whales in South West Austr...
 
Augmented reality for learning workshop @ jtel summer school 2013 (Jtelss13)
Augmented reality for learning workshop @ jtel summer school 2013 (Jtelss13)Augmented reality for learning workshop @ jtel summer school 2013 (Jtelss13)
Augmented reality for learning workshop @ jtel summer school 2013 (Jtelss13)
 
Introducing augmented reality @ MIW Oviedo
Introducing augmented reality @ MIW Oviedo Introducing augmented reality @ MIW Oviedo
Introducing augmented reality @ MIW Oviedo
 
JavaME UI - JMDF 2007
JavaME UI - JMDF 2007JavaME UI - JMDF 2007
JavaME UI - JMDF 2007
 
Funambol JavaME Messaging Client: Lessons Learned - JavaONE 2008
Funambol  JavaME Messaging Client: Lessons Learned - JavaONE 2008Funambol  JavaME Messaging Client: Lessons Learned - JavaONE 2008
Funambol JavaME Messaging Client: Lessons Learned - JavaONE 2008
 
ITNG 2O11 Designing case studies for the Voice Interactive Classroom
ITNG 2O11 Designing case studies for the Voice Interactive ClassroomITNG 2O11 Designing case studies for the Voice Interactive Classroom
ITNG 2O11 Designing case studies for the Voice Interactive Classroom
 
Introducing augmented mlearning @ mobimooc
Introducing augmented mlearning @ mobimoocIntroducing augmented mlearning @ mobimooc
Introducing augmented mlearning @ mobimooc
 
Alla ricerca della User Story perduta
Alla ricerca della User Story perdutaAlla ricerca della User Story perduta
Alla ricerca della User Story perduta
 
Developing augmented reality applications for education @ mLearn 2012
Developing augmented reality applications for education @ mLearn 2012Developing augmented reality applications for education @ mLearn 2012
Developing augmented reality applications for education @ mLearn 2012
 
Voice interactive learning. A framework and evaluation @ ITiCSE 2013
Voice interactive learning. A framework and evaluation @ ITiCSE 2013Voice interactive learning. A framework and evaluation @ ITiCSE 2013
Voice interactive learning. A framework and evaluation @ ITiCSE 2013
 
JavaME Deploy and Test - JMDF 2005
JavaME Deploy and Test - JMDF 2005JavaME Deploy and Test - JMDF 2005
JavaME Deploy and Test - JMDF 2005
 
Arlg workshop-at-jtelss12
Arlg  workshop-at-jtelss12Arlg  workshop-at-jtelss12
Arlg workshop-at-jtelss12
 
Conserv-AR: A mixed-reality mobile game to promote awareness of wildlife cons...
Conserv-AR: A mixed-reality mobile game to promote awareness of wildlife cons...Conserv-AR: A mixed-reality mobile game to promote awareness of wildlife cons...
Conserv-AR: A mixed-reality mobile game to promote awareness of wildlife cons...
 
Augmented reality lecture @ DSV Stockholm University
Augmented reality lecture @ DSV Stockholm UniversityAugmented reality lecture @ DSV Stockholm University
Augmented reality lecture @ DSV Stockholm University
 
Openshift Enterprise
Openshift EnterpriseOpenshift Enterprise
Openshift Enterprise
 
Great mosque of damascus
Great mosque of damascusGreat mosque of damascus
Great mosque of damascus
 

Similar to JavaME Development Workflow - JMDF 2007

J2 me 1
J2 me 1J2 me 1
J2 me 1
myrajendra
 
J2ME mobile app development
J2ME mobile app developmentJ2ME mobile app development
J2ME mobile app development
Muthu Kumar
 
J2me Platform
J2me PlatformJ2me Platform
J2me Platform
Kamal Patel
 
2 mobile development frameworks and tools dark temp
2   mobile development frameworks and tools dark temp2   mobile development frameworks and tools dark temp
2 mobile development frameworks and tools dark temp
Shahid Riaz
 
Android architechture
Android architechtureAndroid architechture
Android architechture
Yojana Nanaware
 
J2me step by step
J2me step by stepJ2me step by step
J2me step by step
Yogesh Bindwal
 
A Taste of Java ME
A Taste of Java MEA Taste of Java ME
A Taste of Java ME
wiradikusuma
 
J2ME
J2MEJ2ME
010118565.pdf
010118565.pdf010118565.pdf
010118565.pdf
EidTahir
 
Game Development for Nokia Asha Devices with Java ME #1
Game Development for Nokia Asha Devices with Java ME #1Game Development for Nokia Asha Devices with Java ME #1
Game Development for Nokia Asha Devices with Java ME #1
Marlon Luz
 
Nokia Asha App Development - Part 1
Nokia Asha App Development - Part 1Nokia Asha App Development - Part 1
Nokia Asha App Development - Part 1
Marlon Luz
 
J2ME Unit_01
J2ME Unit_01J2ME Unit_01
J2ME Unit_01
Prashanth Shivakumar
 
Overview of Adroid Architecture.pptx
Overview of Adroid Architecture.pptxOverview of Adroid Architecture.pptx
Overview of Adroid Architecture.pptx
debasish duarah
 
J2ME
J2MEJ2ME
Introduction to mobile programing (J2ME)
Introduction to mobile programing (J2ME)Introduction to mobile programing (J2ME)
Introduction to mobile programing (J2ME)
Wambua Wambua
 
Introduction to Mobile programming(J2ME)
Introduction to Mobile programming(J2ME)Introduction to Mobile programming(J2ME)
Introduction to Mobile programming(J2ME)
Wambua Wambua
 
J2ME
J2MEJ2ME
M app slides_1
M app slides_1M app slides_1
M app slides_1
MOHANA VARMAN
 
KaranDeepSinghCV
KaranDeepSinghCVKaranDeepSinghCV
KaranDeepSinghCV
Karandeep Singh
 
Synopsis on online shopping by sudeep singh
Synopsis on online shopping by  sudeep singhSynopsis on online shopping by  sudeep singh
Synopsis on online shopping by sudeep singh
Sudeep Singh
 

Similar to JavaME Development Workflow - JMDF 2007 (20)

J2 me 1
J2 me 1J2 me 1
J2 me 1
 
J2ME mobile app development
J2ME mobile app developmentJ2ME mobile app development
J2ME mobile app development
 
J2me Platform
J2me PlatformJ2me Platform
J2me Platform
 
2 mobile development frameworks and tools dark temp
2   mobile development frameworks and tools dark temp2   mobile development frameworks and tools dark temp
2 mobile development frameworks and tools dark temp
 
Android architechture
Android architechtureAndroid architechture
Android architechture
 
J2me step by step
J2me step by stepJ2me step by step
J2me step by step
 
A Taste of Java ME
A Taste of Java MEA Taste of Java ME
A Taste of Java ME
 
J2ME
J2MEJ2ME
J2ME
 
010118565.pdf
010118565.pdf010118565.pdf
010118565.pdf
 
Game Development for Nokia Asha Devices with Java ME #1
Game Development for Nokia Asha Devices with Java ME #1Game Development for Nokia Asha Devices with Java ME #1
Game Development for Nokia Asha Devices with Java ME #1
 
Nokia Asha App Development - Part 1
Nokia Asha App Development - Part 1Nokia Asha App Development - Part 1
Nokia Asha App Development - Part 1
 
J2ME Unit_01
J2ME Unit_01J2ME Unit_01
J2ME Unit_01
 
Overview of Adroid Architecture.pptx
Overview of Adroid Architecture.pptxOverview of Adroid Architecture.pptx
Overview of Adroid Architecture.pptx
 
J2ME
J2MEJ2ME
J2ME
 
Introduction to mobile programing (J2ME)
Introduction to mobile programing (J2ME)Introduction to mobile programing (J2ME)
Introduction to mobile programing (J2ME)
 
Introduction to Mobile programming(J2ME)
Introduction to Mobile programming(J2ME)Introduction to Mobile programming(J2ME)
Introduction to Mobile programming(J2ME)
 
J2ME
J2MEJ2ME
J2ME
 
M app slides_1
M app slides_1M app slides_1
M app slides_1
 
KaranDeepSinghCV
KaranDeepSinghCVKaranDeepSinghCV
KaranDeepSinghCV
 
Synopsis on online shopping by sudeep singh
Synopsis on online shopping by  sudeep singhSynopsis on online shopping by  sudeep singh
Synopsis on online shopping by sudeep singh
 

Recently uploaded

Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-EfficiencyFreshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
ScyllaDB
 
Digital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Digital Banking in the Cloud: How Citizens Bank Unlocked Their MainframeDigital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Digital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Precisely
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
panagenda
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
Jakub Marek
 
Y-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PPY-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PP
c5vrf27qcz
 
Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Biomedical Knowledge Graphs for Data Scientists and BioinformaticiansBiomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Neo4j
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
Zilliz
 
The Microsoft 365 Migration Tutorial For Beginner.pptx
The Microsoft 365 Migration Tutorial For Beginner.pptxThe Microsoft 365 Migration Tutorial For Beginner.pptx
The Microsoft 365 Migration Tutorial For Beginner.pptx
operationspcvita
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
Pixlogix Infotech
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
tolgahangng
 
"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota
Fwdays
 
9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...
9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...
9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...
saastr
 
JavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green MasterplanJavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green Masterplan
Miro Wengner
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Safe Software
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
Chart Kalyan
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
akankshawande
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
MichaelKnudsen27
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
ssuserfac0301
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
Hiroshi SHIBATA
 
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectorsConnector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
DianaGray10
 

Recently uploaded (20)

Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-EfficiencyFreshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
 
Digital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Digital Banking in the Cloud: How Citizens Bank Unlocked Their MainframeDigital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Digital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
 
Y-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PPY-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PP
 
Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Biomedical Knowledge Graphs for Data Scientists and BioinformaticiansBiomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
 
The Microsoft 365 Migration Tutorial For Beginner.pptx
The Microsoft 365 Migration Tutorial For Beginner.pptxThe Microsoft 365 Migration Tutorial For Beginner.pptx
The Microsoft 365 Migration Tutorial For Beginner.pptx
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
 
"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota
 
9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...
9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...
9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...
 
JavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green MasterplanJavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green Masterplan
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
 
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectorsConnector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
 

JavaME Development Workflow - JMDF 2007

  • 1. Java ME MIDlets Development Workflow MIDlets Development Workflow - “Flash Lite vs. JavaME”, Bologna 29-01-2007 - http://www.jmdf.org
  • 2. Agenda • Configurations and Profiles • The main workflow – Write and package your code – Emulate – Deploy on devices • Tools – Sun Wireless Toolkit – Manufacturers SDK – NetBeans and Mobility Pack • References MIDlets Development Workflow - “Flash Lite vs. JavaME”, Bologna 29-01-2007 - http://www.jmdf.org
  • 3. Key Components of the J2ME Technology Stack Additional libraries for wireless devices (GUI, storage, etc.) “Lowest common denominator” libraries for small devices MIDP Profile CLDC The execution engine Configuration KVM MIDlets Development Workflow - “Flash Lite vs. JavaME”, Bologna 29-01-2007 - http://www.jmdf.org
  • 4. What is a J2ME Configuration? • A configuration defines the minimum Java technology that an application developer can expect on a broad range of implementing devices • Configurations are specified via the Java Community ProcessSM (JCP) initiative – May not contain any optional features – Implementations are tested via a compatibility test kit (TCK) MIDlets Development Workflow - “Flash Lite vs. JavaME”, Bologna 29-01-2007 - http://www.jmdf.org
  • 5. What is a J2ME Configuration? • A configuration defines the minimum Java™ technology that an application developer can expect to be available on implementing devices – Broad range of devices – Similar requirements for memory size and processing capabilities • Configurations are specified via the Java Community ProcessSM (JCP) initiative MIDlets Development Workflow - “Flash Lite vs. JavaME”, Bologna 29-01-2007 - http://www.jmdf.org
  • 6. J2ME Configurations • J2ME Connected, Limited Device Configuration (CLDC) – Specifies Java environment for mobile phone, pager and PDA class devices – CLDC devices are usually wireless • J2ME Connected Device Configuration (CDC) – Specifies Java environment for digital television set-top boxes, high end wireless devices and automotive telematics systems. – CDC devices may be wired (DTV cable, etc.) MIDlets Development Workflow - “Flash Lite vs. JavaME”, Bologna 29-01-2007 - http://www.jmdf.org
  • 7. What Is a J2ME Profile? • Java technology which supplements a configuration to provide capabilities for a specific vertical market or device type • Defined through Java Community Process initiative MIDlets Development Workflow - “Flash Lite vs. JavaME”, Bologna 29-01-2007 - http://www.jmdf.org
  • 8. J2ME Profiles • J2ME Mobile Information Device Profile (MIDP) – Application runtime environment for wireless devices based upon CLDC • J2ME Foundation Profile – Base profile for non-GUI networked devices based upon CDC • J2ME Personal Basis, Personal, and RMI Profiles – Basic graphics and RMI support for CDC & Foundation Profile based devices MIDlets Development Workflow - “Flash Lite vs. JavaME”, Bologna 29-01-2007 - http://www.jmdf.org
  • 9. JavaME Wireless Device Stack Your MIDlet Yellow Pages, train schedules and ticketing, games… MIDP UI, HTTP 1.1 APIs networking... J2ME CLDC APIs java.lang.*, java.io.*, java.util.* javax.microedition… CLDC compliant VM (may be KVM) Threads, no Floats… Hardware RISC processor, ROM, Flash, RAM, etc. MIDlets Development Workflow - “Flash Lite vs. JavaME”, Bologna 29-01-2007 - http://www.jmdf.org
  • 10. The simplest thing... • Write the Java MIDlet + Java classes using your favorite editor... and compile • Create a Java Application Descriptor (JAD)... it's just a text file • Package the classes in a JAR file • You've got your MIDlet Suite!!! MIDlets Development Workflow - “Flash Lite vs. JavaME”, Bologna 29-01-2007 - http://www.jmdf.org
  • 11. The big picture Development Station Target J2ME Device Myapp.java Download Jad and JAR (containing Javac Myapp.class) MyMIDletSuite.jad Verifier Myapp.class MyMIDletSuite.jar Preverifier Package Interpreter Myapp.class MIDlets Development Workflow - “Flash Lite vs. JavaME”, Bologna 29-01-2007 - http://www.jmdf.org
  • 12. Sun Wireless Toolkit • Based on CLDC 1.1 and MIDP 2.0 reference implementations • Support for additional APIs • Simple and easy to use • Tools to performance tune your applications • Can be customized to specific devices • Integration with commercially available Java IDEs: Eclipse, Netbeans MIDlets Development Workflow - “Flash Lite vs. JavaME”, Bologna 29-01-2007 - http://www.jmdf.org
  • 13. Sun Wireless Toolkit MIDlets Development Workflow - “Flash Lite vs. JavaME”, Bologna 29-01-2007 - http://www.jmdf.org
  • 14. Nokia Carbide.j MIDlets Development Workflow - “Flash Lite vs. JavaME”, Bologna 29-01-2007 - http://www.jmdf.org
  • 15. Sony Ericsson SDK MIDlets Development Workflow - “Flash Lite vs. JavaME”, Bologna 29-01-2007 - http://www.jmdf.org
  • 16. Motorola SDK MIDlets Development Workflow - “Flash Lite vs. JavaME”, Bologna 29-01-2007 - http://www.jmdf.org
  • 17. NetBeans • Most Comprehensive – Create mobile, desktop, web & enterprise appications with one single tool. • Best out of box experience: a development environment that just works; no searching for plug-ins that cost time and money • NetBeans is 100% Java • NetBeans is Open Source & Free MIDlets Development Workflow - “Flash Lite vs. JavaME”, Bologna 29-01-2007 - http://www.jmdf.org
  • 18. NetBeans Mobility Features • Support for MIDP & CLDC variants – MIDP 1.0/2.0 – CLDC 1.0/1.1 – ... also CDC • Visual Mobile Designer – Drag & drop MIDP authoring • Wireless Connection Wizard – E2E app development (web svcs, EJBs, etc.) • Device Fragmentation Solution – Preprocessing options for tackling discrepencies MIDlets Development Workflow - “Flash Lite vs. JavaME”, Bologna 29-01-2007 - http://www.jmdf.org
  • 19. NetBeans Mobility Features • Emulator support – Sun Wireless Toolkit included – OEM support (Nokia, SonyEricsson, etc.) • Ant build support • MIDP localization • OTA testing • Code obfuscation • Code optimization MIDlets Development Workflow - “Flash Lite vs. JavaME”, Bologna 29-01-2007 - http://www.jmdf.org
  • 20. NetBeans Mobile Application Project • Let's create a Project • Application Descriptor Management – Attributes – MIDlets details – Push Registry – Permissions • Build • Run – Standard – OTA simulation • Deployment MIDlets Development Workflow - “Flash Lite vs. JavaME”, Bologna 29-01-2007 - http://www.jmdf.org
  • 21. References • Sun WTK: http://java.sun.com/javame • Netbeans: http://www.netbeans.org • Nokia: http://www.forum.nokia.com • Sony-Ericsson: http://developer.sonyericsson.com • Motorola: http://developer.motorola.com • BenQ: http://www.benqmobile.com/developer • Samsung: http://developer.samsungmobile.com • EclipseME: http://eclipseme.org/ MIDlets Development Workflow - “Flash Lite vs. JavaME”, Bologna 29-01-2007 - http://www.jmdf.org
  • 22. Java ME MIDlets Development Workflow MIDlets Development Workflow - “Flash Lite vs. JavaME”, Bologna 29-01-2007 - http://www.jmdf.org
  • 23. Speaker Edoardo Schepis Java ME Tech Lead at Funambol JMDF Founder email: edoardo.schepis@funambol.com weblog: http://www.edschepis.net Java Mobile Developers Forum: http://www.jmdf.org MIDlets Development Workflow - “Flash Lite vs. JavaME”, Bologna 29-01-2007 - http://www.jmdf.org