Tuesday, November 5, 2024

All about the new SCMAD Certification Exam

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, you can use the table below as a starting point for developing your preparation timeline.

    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 that ensures your success in the exam with its high-quality mock tests and quick revision tips for the exam.

    Check out the trial version of the Whizlabs SCMAD (J2ME Certification) Exam Simulator.

    Sathyanarayanan C. Srinivasan is Electronics and Electrical engineer and an MS in Computer Science. He is currently working as a Senior Software engineer in US and has over four years of experience in software design and development using various Java-related tools and technologies. Sathya is a Sun Certified Java Programmer and Sun Certified Web Component Developer. He is also a winner of Bell Labs President’s Gold Award (2000).

    Sivasundaram Umapathy is presently associated with Sella Synergy India Limited, India, the software division of Banca Sella, S.p.A., where he has been designing and developing mission critical banking applications with the J2EE platform using BEA WebLogic application server for the past 4.5 yrs. He holds a Bachelor of Engineering in Computer Science from University of Madras and a Master of Science in Software Systems from BITS, Pilani. He is certified in SCJP, SCBCD, SCWCD, SCEA, OCA, BEA, and IBM Certifications. In the free time, he can be seen in Apache Geronimo community as well as in Javaranch forums.

    Related Articles

    LEAVE A REPLY

    Please enter your comment!
    Please enter your name here

    Latest Articles