Ch02 - Introduction to Mobile Development Frameworks and Tools

  1. At its most primitive level, _______ is a set of instructions for hardware written in machine language.
    software
  2. At a higher level, there are _______ and higher level programming _______. There are frameworks, tools, and other methods of abstracting various aspects of software design that help us achieve one central goal: to handle complexity of software more reliability and faster.
    assemblers, languages
  3. The biggest problem with software design and implementation is ______ that leads into buggy systems, high cost of development, and long development cycles, and the existence of programming languages, frameworks, and other development tools is primarily to solve this very problem of software _________.
    complexity
  4. (T/F) Abstraction reduces complexity
    True
  5. (T/F) Frameworks and tools for mobile application development are evolving based on the growth of architectural techniques and innovations that accommodate the dimensions of mobility.
    True
  6. Developing fully centralized mobile applications differs from other fully centralized applications by __________.
    virtue of QOS, limited power supply, active transactions, and location awareness
  7. ____________ typically have custom-designed clients to perform specific tasks.
    Fully centralized mobile applications
  8. __________ are not a concern in software development: The abilities of the client are known beforehand.
    Resources of the device and Platform Proliferation
  9. ___________, in most fully centralized systems, is achieved as an integral part of the network system or hardware-based location information on the client device
    Location sensitivity
  10. Therefore, three of the dimensions of mobility—namely platform ____________ —do not apply to fully centralized applications.
    proliferation, limited device capabilities, and support for a variety of user interfaces
  11. (T/F) Fully centralized mobile applications are about a monolithic layer of software from the client to the server with very little software on the client. What software resides on the client is typically embedded, or at least highly coupled to the device, in nature.
    True
  12. (T/F) Fully centralized mobile applications are the right solutions for applications that require little to no flexibility in changing the requirements of the client over the lifetime of the application and that have large development and deployment budgets allowing for custom-designed hardware and embedded software.
    True
  13. __________ allow us to enable communication between two applications with one application acting as the server and the other acting as the client.
    Client–server architectures
  14. For mobile applications, the _______ may have special needs, but it is typically powerful enough to run a wide range of applications.
    server
  15. (T/F) Writing large applications for the devices to serve as the client is typically not possible, primarily because of the limited resources on the devices and the large variety of them.
    True
  16. __________, in the case of mobile development, are typically those being run on mobile devices
    Client applications
  17. The state of the art, as of the date of authoring this text, in proven distributed computing systems are the ____________.
    N-tier client–server architectures
  18. One of basic problems of application development that is magnified in mobile environments is ___________.
    code portability and mobility
  19. The primary goal of Sun’s Java Virtual Machine and Microsoft’s Common Language Run-time is to give code more _________ across platforms.
    portability
  20. We can have some homogeneous browser specifications and implement the browsers for each device in a client–server environment. The browser can then load markup code and render it or even load plug-ins.
    Thin-Client Wireless Client–Server
  21. The client application on the mobile device may be a custom application. If so, this thick client may communicate with the server, with the client executing some tasks and the server executing the others. Stationary client–server architectures using thick clients typically use the client as a means of storing a small subset of the data for use of the application when disconnected from the network and performing business logic that does not need to be centralized. Having thick clients for mobile devices is a bit more difficult.
    Thick-Client Wireless Client–Server
  22. (T/F) Client–server architectures that rely on a thick client require a full-blown development platform for the device.
    True
  23. We can build stand-alone applications for the devices using those same platforms that we mentioned for the thick-client client server-based systems. The only difference here is that stand-alone applications do not really need networking components.
    Stand-alone Applications
  24. _____ as a programming language offers the most portable commercial environment for writing software applications.
    Java
  25. The success of Java has been mostly in providing standard _________, a very thoughtfully designed infrastructure for OOP that prohibits many bad design and implementation habits such as multiple inheritance.
    Application Program Interfaces (APIs)
  26. Java three distinct features:
    • object oriented programming language
    • offers complete code mobility 
    • platform
  27. Java, as a platform and programming language, offers mobile code. But, the standard ___________ was designed for desktop computers and requires far too many resources for the typical cell phone, PDA, or mobile device.
    Java Virtual Machine
  28. ______ is a specification for a virtual machine and some accompanying tools for resource-limited devices.
    J2ME
  29. This portion of J2ME is called CLDC for Connected, Limited Device Configuration. These types of devices includecellphones,PDAs,and other small consumer devices
    Personal, mobile, connected information devices
  30. CDC,or Connected Device Configuration,  a superset of CLDC, Internet-enabled appliances,mobile computers installed in cars, and similar systems are in this group.
    Shared, fixed, connected information devices
  31. Features not offered on KVM:
    • Floating point arithmetic
    • Support for JNI
    • Thread grouping
    • Full-blown exception handling
    • Automatic garbage collection of unused objects
    • Weak references
  32. ________ is one of the most troublesome and complicated features for providers of mobile application frameworks and tools.
    Security
  33. ______ does not provide the full J2SE security model and provides a sandbox model. It also  provides a very limited and yet sufficient set of APIs to read and write and lastly, it provides a connection framework to provide basic networking capabilities
    CLDC
  34. CLDC’s input/output (I/O) package allows internationalization in two ways:
    • Dynamic
    • Static
  35. The program can determine the required character set dynamically and use the proper character set at run time.
    Dynamic
  36. The __________ is currently the only widely known and accepted CLDC profile.
    Mobile Information Device Profile (MIDP)
  37. There are three packages, namely java.lang.∗, java.io.∗, and java.util.∗, that are inherited from the J2SE environment.
    J2SE-like APIs
  38. A small set of classes provides I/O and networking capabilities particularly needed by small and mobile devices. The package holding these classes is javax.microedition.io..
    CLDC-specific APIs
  39. The main class that the J2ME application developers must familiarize themselves with is the ________ class.
    connector
  40. Applications for MIDs (Mobile Information Devices) are appropriately called _______.
    MIDlets
  41. _______ are treated as components controlled by a framework under the inversion of the control principle.
    MIDlets
  42. This is the overtool that provides a GUI to manage collecting the classes that are put into the MIDlet, any name-value property sets that are used by the classes, and any resources such as icons used by the MIDlet.
    KToolbar
  43. preverification of classes allows J2ME to offload some work from the device.
    Preverifier
  44. The J2ME ________ compiles the classes.
    compiler
  45. The _________ tool allows the developers to adjust for the virtual machine proficiency, network performance, storage monitoring, and network traffic monitoring.
    Preferences
  46. Once the code is compiled, you will run a  file in one of the emulators.
    .jad
  47. (T/F) A JAR file can have one or more MIDlets.
    True
  48. The ________ (a text file that specifies the classes that are in the JAR file along with some attributes for those classes) is used by the MIDP environment to recognize and install the applications.
    JAR manifest file
  49. (T/F) There is no treatment of location awareness in J2ME.
    True
  50. (T/F) Because CLDC/MIDP applications are components run by a virtual machine and within a tightly controlled sandbox, writing an active application is a difficult task.
    True
  51. (T/F) J2ME offers a very good treatment of dimensions of mobility
    True
  52. ______ is the document format of choice when it comes to ubiquitous applications; .
    XML
  53. These parsers go through the entire XML document and create some representation of the document in a programmatic model.
    Model Parsers
  54. These parsers emit events as they parse through the document.
    Push Parsers
  55. Pull parsers do not go through the entire document. Rather, they leave the control on how much of the document is parsed to the client.
    Pull Parsers
  56. Three types of parsers
    • model parsers
    • push parsers
    • pull parsers
  57. _______ can be used in representing the life cycles of the various objects.
    State diagrams
  58. ______ is a general tool and its use can be subjective when applied to specific things like various APIs and platforms.
    UML
  59. CLDC can have a variety of profiles built on top of it, CDC profiles are built on top of the so-called _________.
    Foundation Profile
  60. The CDC has its own virtual machine, the ________
    CVM (C Virtual Machine)
  61. The most significant classes eliminated from the CDC/Foundation Profile are the ________
    GUI classes
  62. (T/F) The architecture of CDC simply modularizes the functionality of J2SE into multiple profiles, allowing the vendors and application developers to only use the part of the Java platform that they need while still having the full functionality of a full-blown Java Virtual Machine in CVM.
    True
  63. A ________ is a card that has an embedded processor or some type of electronic memory device able to store data, interface with some known set of devices, and allow the stored data to be retrieved.
    smart card
  64. This is the most common type of smart card. These types of cards hold a small amount of data (less than 4 kB) and have no processing power.
    IC (Integrated Circuit) Memory Cards
  65. These cards typically have 16 kB or less of read-only memory andhalf of kilobyte of random-access memory
    IC Microprocessor Cards
  66. These cards provide the largest amount of storage of all smart cards. Though they do not provide any processing power, they can be very useful since they hold up to 4 MB of data.
    Optical Memory Cards
  67. Java Card has its own virtual machine, the ___________
    Java Card Virtual Machine (JCVM)
  68. The __________ allows various resources to be identified in a generic manner on the server side; however, it is far too heavy for implementation on mobile devices
    Java Naming and Directory Interface (JNDI)
  69. Java, gives us _________, a base technology for ad-hoc networking. It provides lookup services and its own discovery protocol.
    Java Intelligence Network Infrastructure (JINI)
  70. This is a JINI service that maps interfaces indicating the functionality offered by a service to sets of objects that implement the service.
    Lookup
  71. The act of finding lookup services is called ______
    discovery
  72. The various JINI participants can register to listen to the various ______ emitted by the other JINI participants.
    Events
  73. JINI devices share resources through a process called _______. This term is used because the amount of time for which the service is available to the lessee is known in advance, at the time of the lease.
    Leasing
  74. For a JINI device to offer its services to other devices, it first has to join the JINI federation.
    Joining
  75. Interactions between the various JINI devices may be compound, being made of several simple atomic interactions. Because of this, __________ is needed to ensure the proper semantics are provided to avoid partial results and bad data.
    Transaction Management
  76. ______ is a peer-to-peer protocol and part of the Java platform
    JXTA
  77. _____ provides an actual protocol for those peers to send messages back and forth to one another.
    JXTA
  78. Some or all of the peers connect to the other peers through a proxy called a _____. This proxy, sometimes also referred to as a ______, violates the trueness of a peer-to-peer architecture if it lives outside of the device.
    relay, surrogate
  79. Built directly into the hardware. It is offered as an API to access the CDMA, GSM/GPRS, or UMTS chip sets that provide the support for it. But, it is primarily intended for the variations of CDMA, a technology owned and licensed by Qualcomm.
    BREW(Binary Run-time Environment for Wireless)
  80. Also referred to as BREW applets, are written in C though some support for C++ is provided and, using code generation or virtual machine technologies, other languages such as Java can be supported.
    BREW applications
  81. Every BREW module, defined as the classes that make up one or more BREW applications, has an associated __________ that are required.
    Module Information File (MIF)
  82. This is a stand-alone application that allows developers to make up their own handset by configuring a vanilla mobile phone and specifying the behavior of the keys, the look and feel of the screen, and other specifics of the device.
    BREW Device Configurator
  83. For those who have designed and implemented any mobile application,it is obvious that one of the most difficult steps in the development process is the incremental unit testing.
    BREW Emulator
  84. There is an image authoring tool that allows creation of images for BREW.
    BREW Image Authoring Tool
  85. Many mobile devices are based on the ARM or StrongARM hardware platform. This enables the BREW developers to compile their code for the mobile devices that carry the ARM-based technologies.
    BREW ARM Compiler
  86. This tool allows the developer to deploy an application on a handset through a PC connector.
    BREW AppLoader
  87. The ______ tool provides the developer a mechanism to generate a test Class ID.
    TestSig
  88. The ______ uses the Class 3 Certification from Verisign to authenticate and sign an application.
    AppSigner
  89. (T/F) Everything in BREW is event driven.
    True
  90. (T/F) Because mobile devices vary greatly in the features that they offer, it is difficult to build a virtual machine or an operating system that allows full usage of all of the functionality of these devices.
    True
  91. An ___________ is the master control program that enables the hardware by abstracting it to the application via drivers.
    operating system
  92. This is a tool set separate from Visual Studio, the typical development environment for PC-based Windows applications. It allows for authoring mobile applications in C++.
    Embedded Visual C++
  93. This tool provides the ability to write applications using Visual Basic. Visual Basic applications can be developed faster but do not offer the developer the ability to tune and optimize the application for resource starved mobile devices.
    Embedded Visual Basic
  94. The _____ application programming platform, the newest set of tools for building Microsoft Windows-based applications, can be complemented with a set of extensions that allow developers to author .NET applications for mobile devices.
    .NET
  95. Allows a significant amount of control over the look and feel of GUI applications designed for the Stylus and the small user interface.
    eMbedded Visual C++
  96. (T/F) Windows CE utilizes a protected memory architecture.
    True
  97. Something that we should not overlook before moving on is the ability to use an asynchronous messaging model to communicate with the network. This is possible through the use of ______________.
    Microsoft Messaging Queuing (MSMQ)
  98. (T/F)  CEDB is typically a better solution for most applications on most devices because it occupies fewer resources than the MS SQL Server for Windows CE.
    True
  99. .NET Web services are based on two key technologies:
    • WSDL (Web Services Definition Language)
    • SOAP (Simple Object Access Protocol)
  100. The __________ provides some interesting controls that are designed based on sophisticated user interfaces but are small for the screen of a mobile phone. An example is the “Roll-over” box.
    Smart Phone SDK
  101. The single framework most used in building mobile applications today. It is intended to be as pervasive for wireless and mobile applications as HTTP has been for the Web, never achieved the level of success initially expected.
    Wireless Application Protocol (WAP)
  102. Intended for thin clients and is built on its own lower level communication protocol.
    Wireless Application Protocol (WAP)
  103. In HTTP, this markup language was HTML; in WAP 1.x, it is WML, the ____________.
    Wireless Markup Language
  104. Also referred to as bearer networks, like to have control of every single incoming and outgoing bit of data that travels on their network.
    Wireless carriers
  105. (T/F) WAP is a complete framework for mobile applications
    True
  106. Adheres to a client–server architecture with implementation standards for the client that interpret content, the communication mechanisms between the clients and the servers, and additional required features in the servers, particularly proxy servers.
    Wireless Application Protocol (WAP)
  107. (T/F) The difference between a proxy and a gateway is that a client determines when it will use a proxy.
    True
  108. (T/F) WAP-enabled devices do have the ability to change their proxy settings; however, this feature is typically disabled from access by the user by the network provider or the device manufacturer as it can circumvent billing mechanisms.
    True
  109. WAP is responsible for:
    • Security
    • Network Access
    • Protocol Conversion
    • Caching
  110. The WAP gateway provides a secure handoff point between __________ to external security mechanisms.
    WTLS (Wireless Transport Layer Security)
  111. MMS presentation is handled through __________ which is an XML-based language that allows one to specify the temporal behavior of various components of a multimedia message.
    SMIL (Synchronized Multimedia Integration Language)
  112. This proxy server acts as an intermediary between MMS clients and other messaging systems or MMS clients.
    MMS proxy-relay
  113. This interface would support any protocol supported by various Internet-based e-mail systems such as SMTP, POP, IMAP, and others.
    Standard e-mail interface
  114. The MMS proxy-relay can be hosted in the same environment or is a part of the _________ to facilitate sending of the message.
    Push Proxy Gateway (PPG)
  115. Refers to sending a piece of content to the mobile device without the user explicitly requesting the particular content.
    Push (from Push Access Protocol)
  116. A Push operation is accomplished by allowing a ____________ to transmit Push content and delivery instructions to a PPG, which then delivers the Push content to the WAP client.
    Push Initiator (PI)
  117. One of the most powerful and popular platforms for mobile development, was created jointly by Ericsson, Nokia, Panasonic, Psion, Samsung Electronics, and Siemens.
    Symbian
  118. (T/F) Symbian started as an operating system that supported primarily C++, but it evolved to providing support for Java as well.
    True
  119. (T/F) Symbian,as an operating system, has been designed for wirelessly connected devices.
    True
  120. (T/F) Cocoon’s framework is written in Java though the processing components can be written in a variety of languages including ASP, Java, and XSL.
    True
  121. _________ have been used, in the context of network computing applications such as the Web, to create multiple views of the same document for the users.
    Publishing frameworks
  122. (T/F) Cocoon’s architecture aims to separate content from style (the formatting of content), logic (how content is generated or chosen), and management of content (the process of creating content and everything else that goes with it)
    True
  123. ______ is typically used as an XML-based publishing framework; however, it is flexible enough to deal with any type of input and to generate any type of output. It is a “black-box” framework
    Cocoon
  124. Cocoon is a framework that employs the principle of ___________.
    inversion of control
  125. These components transform the raw content into other content.
    Transformers
  126. These components provide the output for our black box from the transformed content provided to them by the transformers.
    Serializers
  127. These components provide us with a method to feed data into our black box. It give us a hook to pull the raw content into Cocoon.
    Generators
  128. An _________ aggregates various pieces of content.
    aggregator
  129. (T/F) Because Cocoon is a Web-based application, an interaction with Cocoon is initiated through an HTTP request.
    True
  130. This particularly important generator creates another generator, at compile time, which knows what type of scripting language is used in the XSP page (if one is used for generation) so that it compiles the XSP page properly.
    Server pages generator
  131. This generator is peculiar in that it creates a series of SAX events with the data encapsulated in the incoming HTTP request.
    Request generator
  132. It allows usage of JSP pages as the source of dynamic data.
    JSP generator
  133. The _______ is a file where the instructions that form the pipelines and the definition of Cocoon components are outlined using an XML-based syntax.
    sitemap
  134. ________ that come with Cocoon allow one to make lexical pattern matches using Regular Expressions on the URI, HTTP request parameters, and HTTP session parameters.
    Matchers
  135. The _______ that come with Cocoon allow one to select the pipeline based on browser type, HTTP header parameters in the request,HTTP session parameters, or environment parameters.
    selectors
  136. _____ are used to feed dynamic content into a generator component. It can use a variety of programming languages such as Java in the form of JSP.
    XSPs
  137. Define a set of custom tags usable in an XSP document in addition to the programming language used for scripting.
    logic sheets or tag libraries
  138. (T/F) Though Cocoon is primarily used for publishing markup languages understood by browsers, to solve the problems with mobile user interfaces in particular, it can be used to publish XML that is further modified and indirectly used to produce a userinterface
    True
  139. ________ is IBM’s commercial product to satisfy the needs of those in need of a publishing framework, plus some complementing utilities, to create mobile applications.
    IBM Wireless Transcoding Publisher (WTP)
  140. It is an integrated environment with IBM’s Websphere Application Server and supports J2EE applications.
    Wireless Everyplace Suite
  141. Addresses issues related to wireless connectivity, content management for wireless clients, wireless security, provisioning and device management, and integration with the IBM Websphere application suite of products. It also includes integration with IBM’s messaging platforms, allowing for asynchronous communication.
    IBM Everyplace Suite
  142. (T/F) WTP is more focused on providing development tools and integration with the other IBM products to deliver a total solution whereas Cocoon provides a more flexible and extensible infrastructure for publishing content for mobile applications.
  143. (T/F) Asynchronous messaging systems are highly scalable, lending themselves to networks that have to serve the exchanging of messages among millions of different devices.
    True
  144. (T/F) Asynchronous messaging allows us to treat both the connected and the disconnected devices.
    True
  145. It is an open-source project managed by Tigris.org. As in the case of all other open-source projects, the price is right. It is free. Despite its bug-ridden inception, it has become much more stable and clean.
    ArgoUML
  146. _______ is the leading provider of tools for UML-based development. Rational is the most sophisticated of UML tools.
    Rational Software
  147. It is written in Java so you can develop on any platform that you want. It is not an open-source piece of software, but it is very extensible by offering scripting in Python, the standard UML extension mechanisms, as well as having an easily modifiable graphical widget set.
    Object Domain
Author
FelipeJung
ID
327443
Card Set
Ch02 - Introduction to Mobile Development Frameworks and Tools
Description
2nd Semester
Updated