• 沒有找到結果。

Chapter 5 Implementation

5.2 Applications

Here, we propose two kinds of usages of ART applications which can be run independently on the client side; they are listed as follows:

1. single player in the multi-player game

We had provided an application usage of ART which can let users collaboratively work with the same application on the ART server. One fascinating application is to provide a game service on the ART server and then the users can act as a player entertaining in the multi-player game on the handheld devices.

By adopting our transforming functionality, when someone wants to play it alone, he does not need to connect to the ART server through network connectivity. It will provide great user experience and costless of the network connectivity’s fee. The most powerful functionality is that the application providers do not need to re-write the game logic for the handheld devices. In our development tools, we can automatically transform the original ARTApp into a MIDP application without additional effort.

In the left of the figure 5-5 is a selecting window in a multi-player game, named

“pushpuzzle” runs on the MIDP emulator; the player can choose which one of the game he wants to join in. And every player must connect to the servers via network connectivity support in order to collaboratively control this multi-player game. The right part of the figure 5-5 is the same application, produced through our transforming tools, which can be executed as a mobile application on the handheld devices independently without porting repeatedly to different developing platforms.

Figure 5 – 5 pushpuzzle

The enormous data storage system on the server side can record multiple kind of information which might be necessary or unnecessary. And we can connect to the persistent data storing services on the server side and operate the information such as inserting, deleting and querying through network support. But there exists a problem, discussed several times in this thesis, is the incapable network support. We cannot access the persistent data storing services without network connectivity.

By adopting our transforming functionality, the information which is necessarily during application executed can be encapsulated into the client side. So we do not need to worry about the operations of query the data will be failed or delayed through the non-robust network environments.

In the left of the figure 5-6 is a resulting window after a query operation on the server side. The data we retrieved are not only the necessarily information, name and email, but also the middle-necessarily or unnecessarily information, age and birth. But when we are in the situations that we must query the data locally on the client side, we can also get the necessarily information to use in no time. The reason why we can just provide the necessarily information is that the handheld devices are always limited-storage against the server level computers.

Figure 5 – 6 querying address book

These two kinds of mobile application have the same benefit of need no network support while executed. We provide a non-porting mechanism to let the ARTApp become disconnected-aware and can be executed independently on the handheld devices. There is no restriction that a disconnected-aware ARTApp must be only one of these two types of applications.

Chapter 6 Conclusion and Future Works

6.1 Conclusion

So far, we have described the merit of providing mobile applications based on our ART framework. The mobile applications can be executed with rich resources and strong computing power on the server side and displayed the executing results by drawing widgets within a window through the network connectivity via the handheld devices on the client side.

But, this powerful adaptive mobile application development framework has some defects that the applications could not work normally in the environment of no network connectivity support.

This paper provides a development kit which can automatically transform the ART-based mobile applications to the applications that can be run on the client side independently. By using these transforming tools we can achieve the objectives mentioned in Chapter 1 and redeem the drawbacks in the original system architecture.

The main advantages of using our development kit are as follows:

z Easily providing disconnected-aware mobile applications.

z Automatically transforming the application from the server version to client version.

z Reducing the porting effort while transforming applications to match the client side runtime environment.

We attain these objectives by designing a XML-based language named IM2L which is

detailed expression through section 4.1 to 4.3. By reading the files written in IM2L and the program logical codes in the original application which is run on the server side, we can achieve the goal of porting the applications to the ones which can be run on the client side. It can not only using the resources provided on the local side within the handheld devices as well but substantially decreasing the repeatedly porting effort about program logical codes and user interface codes on the client side by the application providers.

It should be concluded, from what has been said above, that ART, a mobile application development framework, nowadays can support the mobile applications to be run using the rich resources and the stronger computing power on the server side through network support.

And one other thing that is important for mobile applications is the local computation using the resources provided on the client side. These full-scale of capabilities provided by the ART framework could be applied in enormously aspects.

In order to ease the suffering of mobile application development on the ART framework, there are still several points can be enhanced into our development kit. We place them in the next section and wish that we could make our development kit more completely.

6.2 Future Works

There are several different directions to explore in future development of our development kit. We now provide the API transformation based on the JavaTM programming language at first. But there is not just one developing platform supported on the handheld devices. We wish that the target platform of transformation could be supported more widely and the developing works can be more easily, so we propose a few future works that enhance

z Complete the API mapping rules

The LIM2 we defined can be used in multiple aspect, such as logic model and UI model, and it can support multiple developing platforms in using APIs. As we extend the API mapping rules from one developing platform to a new one, we can easily achieve the goal of porting the original application to a new developing platform. The transformations between developing platforms have recently brought to light by the vendors of programming languages. “JUMP to .NET” Strategy [12] is one of the transformations that automatically convert existing Java-language source code into the C# programming language. But it is just a beta version.

z Develop the Graphical Integrated Development Environment

Integrated Development Environment (IDE) is the most convenient development kit to application providers. So in our continuing research, we wish to provide a graphical IDE tools in the development of user interface and the designing of data model in order to let the ART-based mobile applications be developed more facile. There is much truth in this that it will make the progress of mobile computing enormously.

Reference

[1] 姚立三, 袁賢銘, ”An Adaptive Mobile Application Development Framework”, 國立交 通大學電資學院學程碩士班論文,民國 92 年 6 月

[2] 楊淑芬, ”Code Generator for XML-based Universal Service Terminal Framework”,國立 交通大學,碩士, 民國 91 年 6 月

[3] XML User Interface Language (XUL), http://www.xulplanet.com/tutorials/xultu/

[4] Weinsberg, Y., Ben-Shaul, I., “A Programming Model and System Support for Disconnected-Aware Applications on Resource-Constrained Devices”, Software Engineering, 2002. ICSE 2002, Proceedings of the 24rd International Conference on, 19-25, May, 2002

[5] java.net, The Source for JavaTM Technology Collaboration, JavaCC Project, https://javacc.dev.java.net/

[6] Sun Microsystems, “Java 2 Platform, Micro Edition (J2ME)”, http://java.sun.com/j2me/

[7] Sun Microsystems, “CLDC”, http://java.sun.com/products/cldc/

[8] Sun Microsystems, “Mobile Information Device Profile (MIDP)”, http://java.sun.com/products/cldc/

[9] Marques, P.J.; Silva, L.M.; Silva, J.G., “A Flexible Mobile-Agent Framework for Accessing Information System in Disconnected Computing Environment”, Database and Expert Systems Applications, 2000. Proceedings. 11th International Workshop on , 4-8 Sept. 2000

Computing in Mobile Environment”, ACM Computing Surveys, Vol. 31, No. 2, June 1999

[11] JDOMTM Project, http://www.jdom.org/

[12] Java User Migration Path to Microsoft .NET

http://msdn.microsoft.com/vjsharp/jump/default.aspx [13] Sun Microsystems, “Java 2 Platform Technologies”,

http://java.sun.com/

[14] Leff, A.; Rayfield, J.T.; Enterprise Distributed Object Computing Conference, 2001.

EDOC '01. Proceedings. Fifth IEEE International , 4-7 Sept. 2001, Pages:118 - 127 [15] Softwired Inc., iBus, http://www.softwired-inc.com

[16] SQL (Structured Query Language) Tutorial, http://www.w3schools.com/sql/default.asp [17] W3C, “Composite Capability/Preference Profiles (CC/PP): A user side framework for

content negotiation”. http://www.w3.org/TR/NOTE-CCPP/

[18] 3GPP project, Universal Mobile Telecommunication System (UMTS) standard, http://www.umts-forum.org/

[19] User Interface Markup Language (UIML), http://www.uiml.org/index.php

[20] Holder, O.; Ben-Shaul, I.; Gazit, H.; “Dynamic layout of distributed applications in FarGo” Software Engineering, 1999. Proceedings of the 1999 International Conference on , 16-22 May 1999 Pages:163 – 173

[21] Holder, O.; Ben-Shaul; “FarGo”, http://www.dsg.technion.ac.il/fargo/

[22] Frans K.; David G.; Anthony J.; George M.; Joshua A.; “Rover”, http://www.pdos.lcs.mit.edu/rover/

相關文件