developing corporate mobile...

12
Developing corporate mobile applications An alternative approach to native development SUN J2ME Code Camp Paris, November 5th, 2001 Franck Lefèvre [email protected]

Upload: hatram

Post on 09-Mar-2018

219 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Developing corporate mobile applicationspegasus.javeriana.edu.co/~sdmovil/recursos/DevCormMobApp.pdf · The problem with developing corporate wireless applications today is that there

Developing corporate mobile applications

An alternative approach to native development

SUN J2ME Code CampParis, November 5th, 2001

Franck Lefè[email protected]

Page 2: Developing corporate mobile applicationspegasus.javeriana.edu.co/~sdmovil/recursos/DevCormMobApp.pdf · The problem with developing corporate wireless applications today is that there

2

The problem with developing corporate wireless applications today is that there is nosatisfactory combination of cost and power of expression.

The alternative faced by developers of wireless applications is summarized in the diagram:

• Pure WML/HTML browsing is quick and cheap, but is limited;

• Native or Java development offers full access to available resources but is extremely expensive. It is of interest to software publishers (e.g. game developers), but is clearly ruled out for corporate developers (mobile intranets, etc.)

In between lies the need to combine the simplicity of a markup language with the power of Java libraries. This is what Wapaka offers.

Power of expression

Developmentcost

Time to marketReusability

Existing pool of programmers

Complexityadaptation to task

Etc.

HIGH

HIGH

WML browsing

Native/Java developmentIdeal for interactive games,

consumer applications

LOW

Ideal for simple online info (Stock quote, weather, traffic...)

????

Page 3: Developing corporate mobile applicationspegasus.javeriana.edu.co/~sdmovil/recursos/DevCormMobApp.pdf · The problem with developing corporate wireless applications today is that there

3

The right approach for corporate developers is the Web-centric model – browser+markup language+Java –, but specific aspects of wireless must be taken into account.

Web-centric: working at presentation level, not at OS level

• Presentation layer with markup language

• Scripting for local processing• Java byte-code embedding• Run by a Java micro-browser

A pure Web-centric model is not enough to take into account the specifics of corporate wireless applications

• for instance, the need to work in offline mode, the need for session management, etc.

Wapaka offers an innovative solution for offline browsing, scripting and Java byte-code embedding, in a non-proprietary, all-Java environment.

IT Database(SAP R/3, Oracle, PeopleSoft, CODA)

HTTP + Middleware

*ML flow

External sources

Cache (in/out)

Wapaka Micro-Browser

Page 4: Developing corporate mobile applicationspegasus.javeriana.edu.co/~sdmovil/recursos/DevCormMobApp.pdf · The problem with developing corporate wireless applications today is that there

4

Wapaka is a Java Programmable WML/XHTML Basic micro-browser.

Wapaka is available for Palm OS, Symbian Epoc, PocketPC, QNX as well as desktop operating systems such as Windows or Linux. Basic features

• A full micro-browser. Wapaka is a real WML and XHTML Basic micro-browser. It does not require a WAP gateway or proprietary server, but works with standard HTTP servers.

• Customizable. Wapaka’s user interface is fully customizable by developers (XML configuration file).• Multi-protocols. Wapaka is protocol-independent. It is therefore able to work with different

communication protocols such as GSM, GPRS/3G terminals, Bluetooth, 802.11.Advanced features

• Offline browsing. Wapaka can combine on-line and off-line content thanks to a sophisticated cache system.

• Scripting. Wapaka offers a powerful script engine that allows the developer to program local processing on the device as well as call Java byte-code libraries.

• Java libraries. With Java, Wapaka offers the developer a unified programming environment where all the resources (OS, hardware, remote libraries) are accessed to within a single environment.

• Portability. Hardware and software platforms evolve constantly. By working at the presentation level (browser + markup language) rather than at the OS level, the developer isolates himself from most of the issues related to portability. The application works today, it will work tomorrow, even if the installed base becomes heterogeneous.

Page 5: Developing corporate mobile applicationspegasus.javeriana.edu.co/~sdmovil/recursos/DevCormMobApp.pdf · The problem with developing corporate wireless applications today is that there

5

Who uses Wapaka?

Wapaka is typically used to mobilize existing Web-centric applications or to create new mobile applications, such as mobile intranets and portals, customer relationship management, field maintenance, sales force automation, documentation on the go, etc.Mobile devices manufacturers

• They use Wapaka to promote development on their platform.Software companies

• They use Wapaka as a presentation layer for their specialized modules (3D graphics, text-to-speech, vertical tools, etc.).

Software integrators and corporate IT departments• They use Wapaka to develop specific mobile applications for their clients.• They do not want to develop native code (too slow, too expensive)

Page 6: Developing corporate mobile applicationspegasus.javeriana.edu.co/~sdmovil/recursos/DevCormMobApp.pdf · The problem with developing corporate wireless applications today is that there

6

Scripting and Java byte-code embedding.

A good script engine is a key component of a Web-centric development tool in that it unifies the markup language (declarative part) and the Java libraries (procedural parts).Wapaka Script (wpkScript) is the Wapaka script engine. It can be used in 3 different ways:

• To generate parts of the content of the page that is displayed (i.e. code generation)• To handle interactions between a page and the user’s actions (i.e. event handling)• To embed code in a displayed page (i.e. software components, SOAP requests, HTTP calls)

Wapaka Script is designed to run even on low-end “limited” devices• It uses very little memory and processing. • Most of the time, wpkScript is not used to build complete software, but to call java libraries

(classes). • The libraries can reside on the device or over the network. Several syntaxes can be used for

wpkScript.The Wapaka architecture makes it easy to integrate specific modules, such as 3D, text-to-speech, etc.

• If you develop such modules, you don’t need to write the complete application anymore, you simply call the module from a Wapaka application, in a few lines of code.

Therefore, Wapaka can also be seen (and used!) as a mobile application execution environment.

Page 7: Developing corporate mobile applicationspegasus.javeriana.edu.co/~sdmovil/recursos/DevCormMobApp.pdf · The problem with developing corporate wireless applications today is that there

7

Off-line browsing and cache management.

Corporate applications must be able to work seamlessly in both online and offline modes. Wapaka addresses this problem by effectively caching both incoming and outgoing data.

• Incoming data from the server can be cached. Static information, such as product sheet or client profile, can be pre-loaded automatically as such onto the device (synchronization). This can be used to build full offline applications, not requiring network connection.

• Outgoing data. Wapaka allows users to submit forms even when they are outside network coverage. As soon as the handheld reconnects to the server, Wapaka submits to the server those forms that have been submitted by users in offline mode.

Benefits for the developer• Same format and language for the data whether in on-line or off-line browsing mode;• Full on-line experience, full off-line experience, or a mix of both depending on application's

requirements• Only open standards are used: Java, WML/XHTML Basic, HTTP• No specific code on the client: nothing to install, update or configure

Creating offline browsing documents• Cache documents can be created on a PC and then sent to the device. In that case, a Java

middleware component (servlet or standalone) can load the content of pre-defined sites to create the cache. The exact configuration can be user-specific and defined in profiles.

• The cache document can be sent to the device by synchronizing the device and the PC, or it can also be directly loaded over the HTTP connection by Wapaka.

Page 8: Developing corporate mobile applicationspegasus.javeriana.edu.co/~sdmovil/recursos/DevCormMobApp.pdf · The problem with developing corporate wireless applications today is that there

8

Wapaka allows the developer to define the right combination of declarative (WML) and procedural (Java libraries).

Wapaka-based application

Power of expression

Developmentcost

Time to marketReusability

Existing pool of programmers

Complexityadaptation to task

Etc.

HIGH

HIGH

WML browsing

Native/Java developmentIdeal for interactive games,

consumer applications

LOW

Ideal for simple online info (Stock quote, weather, traffic...)

Ideal for corporate mobile applications

Page 9: Developing corporate mobile applicationspegasus.javeriana.edu.co/~sdmovil/recursos/DevCormMobApp.pdf · The problem with developing corporate wireless applications today is that there

9

Here’s what your application would look like.

Page 10: Developing corporate mobile applicationspegasus.javeriana.edu.co/~sdmovil/recursos/DevCormMobApp.pdf · The problem with developing corporate wireless applications today is that there

10

Wapaka - architecture

ParserWML

XHTML Basic

Rendering Engine

Script Engine

WapakaScript

ECMAScript

Operating SystemJava libraries

One single Java VM

Page 11: Developing corporate mobile applicationspegasus.javeriana.edu.co/~sdmovil/recursos/DevCormMobApp.pdf · The problem with developing corporate wireless applications today is that there

11

Conclusion: Wapaka advantages for developers of corporate wireless applications.

The choice of a Web-centric approach with the Wapaka micro-browser provides a solid alternative to conventional approaches in the development of corporate mobile applications today. We can summarize the advantages for the developer as follows:Power, speed and simplicity

• Based on WML, XHTML Basic, Script and Java, the architecture implemented by Wapaka is simple and straightforward. The developer can develop and update applications quickly.

• Wapaka gives the ability to access Java libraries, wherever they reside (PDA or server).Homogeneity

• The developer uses one single VM and can use the classes and libraries made available to him. WML, XHTML Basic and Java are blended seamlessly.

Use of standards• Wapaka uses standard technologies, such as WML, XHTML Basic and Java. The use of standards,

for which there is widely available resources, is a key factor for cost-reduction.Security

• Wapaka is a full browser working ‘end-to-end’ over HTTP and it does not require a proprietary gateway. Hence, there is no potential security breach at the gateway’s level.

Low cost of development, deployment and maintenance• There is no specific code on the client machine, so there is no upgrade when the application

evolves.

Page 12: Developing corporate mobile applicationspegasus.javeriana.edu.co/~sdmovil/recursos/DevCormMobApp.pdf · The problem with developing corporate wireless applications today is that there

12

About Digital Airways.

Digital Airways is a software company specializing in mobile Internet technologies.

The company develops infrastructure applications for mobile and connected devices.

These applications include: micro-browsers, micro-servers, voice-data integration modules, unified messaging and peer-to-peer platforms.

Digital Airways' clients include telecom operators, portals and mobile devices manufacturers.

Digital Airways partners with solution providers and software integrators to help them address their clients' needs.

www.DigitalAirways.com Optimized for the

Palm OS with

Jbed Micro Edition CLDC™ Java Virtual Machine www.esmertec.com