IT Research BYTE

IT Research BYTE

IT Research BYTE Glossary (continued) Mobile applications that run software and store data on the device are considered thick clients. A "thick" portion of functions run within the device and Thick Client – In general, a thick most of the server interactions are primarily used for authentication and client is an application (client) in a synchronization. Thick clients implement some form of internal data store through client-server architecture which small-footprint databases (such as SQLite), which allows them to operate with provides rich functionality less need for signal coverage. Furthermore, the local code running on the device independent from the server. A provides thick clients with sophisticated features and excellent usability thick client may use some 3 periodic network connection (i.e. compared to thin clients . to synchronize), but it has the ability to perform a few functions The benefits of using thick client mobile applications include 1) high usability 2) offline. the ability to work offline 3) support for hardware peripherals and 4) flexible security. Unlike thin client mobile applications, building thick clients may constitute higher deployment costs since special skill-sets are required to build them. Targeting a specific platform also limits the range of devices to support. Analysis The Mobile Landscape The mobile market is very fragmented, and will continue to become fragmented 4 in the coming years . From discussions with Gartner Research, they describe the mobile space as a ”turbulence", referring to the market's fast-paced divergence and fragmentation. It is important for Ford IT to have a good grasp of the mobile playing field to strategically position itself when the "waves of mobile demand" arrive. Figure 1 captures the fragmentation of the mobile landscape in terms of devices and operating systems. It also shows a hierarchy of available options for developing thick client mobile applications. As depicted from the figure, the diversity of devices and operating systems makes it impractical to target a single device. Application Development Options Packaged Solutions Costs MEAPs Customization Native SDK Target Devices and Operating Systems BlackBerry Windows Mobile Symbian iPhone Android Palm Others Figure 1 – Mobile Application Development Landscape Source: Author; Data derived from discussions with vendors. © Copyright Ford Motor Company IT Research BYTE There are numerous solutions and products in the market for developing thick client applications, but they can be lumped into three different approaches. The benefits and challenges for each approach are discussed in detail in the consequent sections. • Native SDK – this is a free software development kit for a specific device or operating system, typically provided by the vendor. This solution provides the highest degree of freedom in terms of customization and hardware interaction. • Mobile Enterprise Application Platforms (MEAP) – Gartner uses the term MEAP to describe mobile application platforms from external vendors who provide tools and client/server middleware for mobile and enterprise application development5. These vendors provide multi- platform support, as well as high-level software frameworks for building thick client mobile applications. • Packaged Solutions – these are configurable applications that require little or no writing of code. These applications are hard-coded line of business solutions with usually little opportunity for customization. Main Consideration: Devices and Operating Systems At the time of writing, there are currently six major mobile operating systems in the market with more and devices capable of running them. The following lists the devices and operating systems from major vendors in the mobile market Table 1 – Devices and Operating Systems Devices Operating Systems Apple iPhone devices iPhone OS RIM BlackBerry devices BlackBerry OS Palm devices Windows Mobile Nokia devices Google Android Samsung devices Palm webOS HTC devices Nokia Symbian Motorola Devices Nokia Maemo LG Devices Variations of Linux OS Source: Author; Data compiled from publicly-available mobile OS information. As mentioned earlier, the increasing divergence is the primary cause of the "turbulence" in the mobile space. Therefore, it is very important to understand the trends and innovations in this space because ultimately, the effectiveness of applications is highly constrained by the devices and operating systems to which they are deployed. © Copyright Ford Motor Company IT Research BYTE Option #1: Native SDK Software development toolkits provided by the operating system vendors are the most readily available options for developing thick client applications. Native SDKs provide the highest degree of freedom in terms of leveraging the hardware features that are unique to a device. The makers of operating systems provide these SDKs and distribute them for free, or very low cost. Example 1: In a scenario where an enterprise wants to develop an application and deploy it to single operating system, a typical Native SDK solution is described as follows: 1. A developer writes code using a native SDK 2. The generated code and other changes are compiled and loaded to the target device In order to have the same application running on a different operating system, a developer will need to write the application using a different native SDK. Table 2 provides an overview of the SDKs available for the most current mobile operating systems: Table 2 – Native SDKs SDK Operating System Target Device iPhone SDK iPhone OS Apple iPhone BlackBerry MDS Studio BlackBerry RIM Devices Windows.NET Compact Windows Mobile Various devices Framework (CF) Android SDK Google Android Various devices Palm Mojo Software Palm webOS Palm Devices Development Kit Symbian OS DevKit Nokia Symbian Nokia Devices Maemo SDK Nokia Maemo Nokia Devices Source: Author; Data compiled from publicly-available vendor information. Enterprises that use native SDKs for developing mobile applications benefit from (1) the potential for high customization (2) lower costs relative to packaged solutions (3) applications can be tailored to specific devices and (4) strong developer community. However, this approach requires platform specific skill- sets, and potentially limits the flexibility of deploying to other operating systems. © Copyright Ford Motor Company IT Research BYTE Option #2: Mobile Enterprise Application Platforms (MEAP) When developing thick client mobile applications using a native SDK, deployment is limited to a single platform. Moreover, the programming languages implemented by native SDKs are relatively low-level which means applications require more code to write. Mobile Enterprise Application Platforms (MEAPs) attempts to solve these issues by providing tools and client/server middleware for mobile and enterprise application development. As target devices change, MEAP vendors provide multi-platform support by necessitating only changes to small, isolated components of software. MEAP vendors implement proprietary high-level software platform to abstract low-level native code. Moreover, MEAP vendors also provide client/server middleware to allow seamless flow of data communication and application support. Thick client applications written using third party frameworks are interpreted by a client application that sits on top of the native operating system. The client application is provided by the vendor as part of the framework package. Its main function is to control, execute and render the high-level code written using the framework. This allows the same high-level code to run on multiple devices (as long as the vendor provides a client application for a target device). Figure 2 shows the design differences between applications written using native SDKs versus MEAPs. Thick Client Application Thick Client Written in a MEAP Application framework Written in Native SDK MEAP Client App Operating System Operating System Device Hardware Device Hardware Figure 2 – Differences between thick clients written using Native SDK vs. MEAP solutions Source: Author; Data derived from Antenna Software © Copyright Ford Motor Company IT Research BYTE Example 2: In a scenario where an enterprise wants to develop an application and deploy it to multiple operating systems, a typical MEAP solution is described as follows: 1. A client application is installed to a target device 2. A developer writes code using a MEAP proprietary framework 3. The generated code and other changes are sent to a server 4. The server receives the changes and pushes them down as a configuration file to the appropriate device 5. The client application running on the target device receives the configuration file. 6. The client renders, and executes the application based on the configuration file. 7. Clients running on other operating systems will execute the application in the same manner, but the UI is rendered differently for each operating system. MEAP vendors include Antenna Software, Syclo, Rhomobile, Sybase, Bluedot, Vaultus, and Pyxis Mobile (see Appendix A for list of supported platforms). Antenna Software, for example, offer a SaaS service as well as an on-premise solution6. The benefits of using MEAPs include (1) multi-platform support (2) high-level code for easier development and (3) the ability to centralize application distribution. However, they are more costly compared to native SDKs, would require additional middleware, and may not provide the same level of customization as native SDKs. Option #3: Packaged

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    10 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us