08 Mar 2008 04:16:02 | Whizlabs Software
Summary: The mobile market is envisioned as the next
technological wave by leading industry experts. But due to
fragmented nature of the mobile market, with various
manufacturers competing to get their share of the pie, Java is
once again poised to be the best programming language for the
mobile market with its Write Once, Run Anywhere technology. This
article will help you understand the objectives, preparation
requirements, and resources available for this prestigious
certification by Sun Microsystems.
Introduction
The mobile market is envisioned as the next technological wave
by leading industry experts. With approximately 150 million
mobile phones - roughly 3 times the user base as that of desktop
computers - it might well be the case. Due to the fragmented
nature of the mobile market, with various manufacturers
competing to get their share of the pie, Java is once again
poised to be the best programming language for the mobile market
with its Write Once, Run Anywhere technology.
The specifications around the Java for Wireless Technology
initiative have been proposed and backed by most of the leading
mobile phone manufacturers (Nokia, Sony Ericsson, Siemens,
T-Mobile, to name a few) and hence, one can expect device
support and continued innovation.
The Java 2 Platform, Micro Edition (J2ME) offers a highly
optimized virtual machine which can be used to run Java
applications on devices ranging from resource constrained
devices like smart cards, pagers, and mobile phones to high end
devices like handheld computers and set-top boxes.
Keeping the limitations of the mobile devices - both in size and
in memory - in mind, the Java Community Process has developed a
series of standards constructed in a modular fashion to ensure
that various features are standardized while keeping the
architecture at an abstract level.
While the J2ME itself includes a lot of other features and is
also not limited to mobile phones, the certification
concentrates on the developer's ability to create and install
programs for mobile devices, such as cell phones and Personal
Digital Assistants (PDAs).
You might want to consider taking this exam
·If you are already into writing J2ME applications for mobile
devices and want to be recognized for your skills. ·If you are a
developer who has already written a few programs for wireless
devices, the preparation will give you in-depth knowledge of
various concepts. ·If you are a seasoned J2SE/J2EE developer and
want to start writing highly optimized Java applications for
mobile devices, this certification is a jump-start for achieving
the same. ·If you do not have too much of an idea about
technologies like Wireless Programming or Game Programming,
preparing for this certification will be a great incentive to
get a foothold in this technology. ·If you want to learn and
master the cutting-edge technologies that are round the corner.
This article will provide a basic understanding of the scope of
the certification and will also give details about the
certification along with the useful resources to get started.
What you need to know?
The Sun Certified Mobile Application Developer (SCMAD) tests the
developer's knowledge in the following five specifications.
Java Technology for the Wireless Industry (JTWI 1.0)JSR-185
Connected, Limited, Device Configuration (CLDC
1.0/1.1)JSR-030/JSR-139 Mobile Information Device Profile (MIDP
2.0)JSR-118 Wireless Messaging API (WMA 1.1)JSR-120 Mobile Media
API (MMAPI 1.1)JSR-135
Exam Information
Prerequisites
You should have passed the Sun Certified Java Programmer (SCJP)
- any version - to appear for this exam.
Objectives
Details of the certification objectives can be found at the Sun
website. The major objectives are
1.JTWI (JSR 185) and Overview / JTWI-compliant Wireless
Applications 2.CLDC 1.0/1.1 3.Security (both CLDC and MIDP)
4.Networking 5.Application Model/
Delivery/Lifecycle/Provisioning 6.MIDP Persistent Storage 7.Push
Registry 8.MIDP UI API 9.MIDP Game API 10.Media using MIDP 2.0
and the Mobile Media API 1.1 (MMAPI) 11.Wireless Messaging API
1.1 (WMA)
Passing Score & Time
The exam consists of 68 questions, and the pass percentage is
55%. The time allotted for the exam is 150 minutes. The fee for
the exam is $150 for U.S. candidates and might vary for other
countries. Please visit the Sun certification website for more
details.
What you need to do? This exam might be slightly tougher than
the other exams since the technology is fairly new and the
community support is limited.
Since the API set is relatively small, you can cover the topics
quickly. On an average, it should take you around a week to
cover each topic if you are familiar with Java and have written
or attempted to write a few programs using J2ME. If you are new
to wireless programming, you might want to allocate around 2-3
months (2 hours a day at least) for preparation.
To prepare for the exam, it we recommend that you do the
following:
1.Download the Java Wireless Toolkit (2.0 or above). 2.If you
have a J2ME enabled cell phone, download the toolkit from that
vendor. For example, Nokia and Sony provide free toolkits and
emulators that will help you program in those devices.
3.Download the PDF versions of the specifications mentioned
above.
The best way to get an idea about wireless programming is to
actually write some programs and deploy them to a cell phone.
This will go a long way in your preparation, since the creation
and delivery of wireless applications is quite different from
that of the standard or enterprise applications. You should
develop at least one program for each specification to get a
feel of the API. Some of the programs you might want to develop
are
1.A program that takes a name and prints out "Hello "
(tests the UI API) 2.A simple game or a drawing, like the
traditional Paddleball game or various geometric shapes moving
in the screen (tests the Game API) 3.A program to read an image
off a website and display it on the phone (tests networking) 4.A
‘signed' Hello World! Application (tests security) 5.A
program that plays a simple tune (tests MMAPI) 6.A program that
displays a text message (tests WMA) 7.A program that calculates
tip for various pre-defined scenarios (tests RMS)
To understand the concepts of J2ME programming, you can read the
official J2ME tutorial, which is very comprehensive. Some useful
books are also listed in the resources section.
Most of the questions will be code-based and hence, it is very
important that you understand how the code is structured for
various specifications.
You might want to consider purchasing the SCMAD exam simulator
by Whizlabs, which contains numerous questions of varying
difficulty levels spread across five mock exams and a quiz and
also lots of useful tips for the exam.
Assuming that you have Whizlabs SCMAD Exam Simulator, {available
at http://www.whizlabs.com/articles/scmad-article.html}you can
use the table below as a starting point for developing your
preparation timeline.
WeekObjectiveNotes 0Diagnostic ExamGives you a feel of what to
expect 1CLDC 1.0/1.1Basics of the VM and its requirements
2Application Lifecycle/ProvisioningBasics of MIPD and its
requirements 3-4MIDP UI APIDevelop and deploy Program 1 after
this 5NetworkingDevelop and deploy Program 3 after this 6MIDP
Persistent StorageDevelop and deploy Program 7 after this
7-8MIDP Game APIDevelop and deploy Program 2 after this
9MMAPIDevelop and deploy Program 5 after this 10WMADevelop and
deploy Program 6 after this 11Push RegistrySmall, but
complicated, and is related to WMA 11SecurityHelps in packaging
applications securely 12JTWIGives an understanding of how the
technologies are tied together 12Mock ExamsTest your
preparation. Revise weaker sections.
Finally, you can take some mock exams to prepare yourself from a
certification standpoint.
Tips and pitfalls
·Understand the conceptual difference between a J2ME
configuration (like CLDC) and a J2ME profile (like MIDP).
·Memorize the software and hardware requirements of the various
specifications. ·Memorize the class hierarchies of important
APIs like Generic Connection Framework, High level and low level
UI API, Media classes of MIDP 2.0 and MMAPI 1.1. ·The exam tests
the understanding of the features and differences between low
level and high-level API for UI programming. So, learn them
well. ·Understand that differences between the media support of
MIDP 2.0 and the MMAPI 1.1. ·Apart from the knowledge of writing
proper J2ME code, the exam also tests the ability to write valid
Java Application Descriptor (JAD) and manifest files that are
used to markup the deployment details of an application. So,
practice writing the descriptors well and deploy the application
in the toolkit to understand the behavior of various deployment
tags. ·Remember that the exam is a vendor neutral exam. So, you
can safely ignore learning the vendor APIs (like the APIs
provided by Nokia, Sony Ericsson, and so on). ·The best reading
material for this exam is the specification document. So, allot
enough time to go through these documents and learn the concepts
and API well. ·Make sure what you read is relevant to the exam
objectives. A common pitfall is reading and spending time on
things that you may not require for the exam. ·As mentioned
earlier, try to develop a practical example for each concept as
this will help in a better understanding of the concepts.
Conclusion
With a huge customer base and vast popularity, wireless devices
are here to stay. As the wireless technology improves and as the
next generation devices come into the market with increased
bandwidth, the demand for interactive and feature-rich wireless
applications will greatly increase. Having a know-how of
wireless programming will give you a competitive edge and will
prepare you for the future.
Resources
·J2ME tutorial by Sun Microsystems, Inc. ·SCMAD.com provides a
comprehensive list of preparatory resources for the
certification exam. ·Exam notes by Sathya Srinivasan, to get you
started on the certification
Forums
·Whizlabs SCMAD Certification Forum ·SCMAD trail at JavaRanch
(You might also want to visit the J2MEtrail)
Books
·Wireless Java: Developing with J2ME by Jonathan Knudsen
·Wireless J2ME Platform Programming by Vartan Piroumian ·J2ME:
The Complete Reference by James Keogh ·Enterprise J2ME:
Developing Mobile Java Applications by Michael Juntao Yuan
Exam Simulators There are many ways to prepare for certification
exams, one of them being through the use of exam simulators.
With these you cannot just identify your weak areas, but also
get a feel of the test environment.
Whizlabs has launched worlds' first-ever SCMAD (J2ME
Certification) exam simulator {available at
http://www.whizlabs.com/articles/scmad-article.html}that ensures
your success in the exam with its high-quality mock tests and
quick revision tips for the exam.
*First Published at Whizlabs' site.
About Author :
Whizlabs (www.whizlabs.com), an ISO Certified company, is a
leading provider of IT skill assessment and certification exam
preparation tools. Whizlabs' suite of offerings include "IT
Certification Exam simulators and Instructor-led, Online
Trainings" for various exams by Sun, IBM, Oracle, Microsoft, and
"IT skill Assessment Management Solution" for Corporations,
Training Institutes.