• 沒有找到結果。

Chapter 5 Implementation

5.4 Others

5.4.4 Open a PUML document

Figure 5-4: The sequence diagram of opening an existing PUML document within JBuilder.

Figure 5-4 depicts the sequence diagram of opening a saved PUML document.

After double-clicking on the PUML node in the project pane, the PUML document model will be created at first through the builder object, once the model is build without error, the visual designer will be initialized. As depicted by a loop rectangle in Figure 5-4, the design view creates the widgets from the PUML document model in a recursive way. However, if by any chance the building process has an error occurred, the design view will continue the initialization process. What different is that the error message will show on the design canvas instead of creating widgets. Therefore, developers still can modify the source code in the source view according to the error message, once the source is modified without error, the design view will be reinitialized again to provide visualized editing facility.

Chapter 6 Conclusions and Future Works

In this paper, we propose a visualized toolkit within an integrated development environment for authoring a single generic application to generate both mobile application and mobile Web application. Base on the existing PUML transformation technology from our laboratory, this paper focuses on the design issues in crafting a visualized toolkit in JBuilder instead of detailing the transformation of both application types. In this chapter, we make some conclusions related to the objectives described in section 1.3, and some future works are listed to provide a direction for future extensions.

6.1 Conclusions

The main purpose of crafting this toolkit is to reduce the efforts of developing applications for multiple mobile devices. For this reason, we discuss them in four criteria: rapidly development, extensibility, integration, and write once, generate multiple application user-interfaces.

From the rapidly development aspect, it is important to reduce the efforts of learning how to use a new toolkit for developers. Therefore, the toolkit is provided with the intuitive drag-and-drop operations as the interaction medium. Developers can develop the user-interface of application in the same fashion as developing in other visualized editing software. Multiple views over a single document is designed based on the mediator design pattern, developers can perform operations in any views they familiar with. The visualized control over the foldable widget can facilitate developers of editing widgets without dragging the scrollbar. Furthermore, the defining logic

helper dialog can even help developers generating the code skeleton in multiple logic files without creating files by themselves.

From the extensibility aspect, widgets are designed in an extensible fashion based on JavaBeans technology, in this way; new widgets can be added easily to reduce development efforts in the future. In the mean while, the extension mechanism of future transformation style sheets and mobile simulators is added as well.

Therefore, the toolkit can maximize the software reusability simply through preserving some extension frameworks for future add-ons.

From the integration aspect, providing an integrated development environment for developers is quite essential since they can perform all the editing or testing works inside a single environment. Our toolkit is integrated into the leading software – JBuilder, which is originally designed for developing Java applications. In this way, we can not only extend the function of JBuilder, but also utilize the existing features of JBuilder to provide developers with more facilities.

From the write once, generate multiple application user-interfaces aspect; it is completely feasible through our toolkit by using the PUML technology. Although there are existing software for writing once and generating multiple mobile Web applications, however, none of them can also generate locally executable mobile application with the same generic application interface. Therefore, our toolkit provides another choice for developers who want to develop both types of applications at once. For instance, assuming an express deliver delivers goods to the destination. The deliver may wants to change the goods status record while offline and then send all the updated records at once while online. These two types of applications can be created through authoring our single generic application interface, and it indeed saves some development time and efforts in this way.

6.2 Future Works

There are mainly two directions for improving the toolkit in the future, one is in adding some more transformation target languages, the other is in completing the logic content generation instead of logic skeleton generation.

Since the extension of adding new transformation targets is preserved, it is possible to add some more transformation targets. For instance, Microsoft C# .NET is one of the languages used for Microsoft’s smart device application and it has similar syntax with Java language, therefore, it may be used as another mobile application language. Compact HTML (CHTML) is a tag-based language for i-Mode mobile phones and it may be used as another mobile Web application language.

Currently, the logic of multiple applications is generated only with the code skeleton. Developers still need to fill every application logic contents. We wonder that the logic content can also be transformed for each target applications, in this way; it will indeed achieve the target of write once and generate multiple applications with both user-interfaces and logic descriptions.

Chapter 7 Bibliography

[1] Sheng-Po Shen, Shyan-Ming Yuan, “XML-based Mobile Application

Development Framework”, 國立交通大學,電資學院碩士班論文,民國 93 年 6 月

[2] W3C, XSL Transformations (XSLT) Version 1.0, http://www.w3.org/TR/xslt [3] OMA, XHTML Mobile Profile (XHTML-MP) Specification,

http://www.openmobilealliance.org/tech/affiliates/wap/wap-277-xhtmlmp-2001 1029-a.pdf

[4] OMA, Wireless Markup Language (WML) Version 1.3 Specification,

http://www.openmobilealliance.org/tech/affiliates/wap/wap-238-wml-20010911 -a.pdf

[5] Sun Microsystems, Java 2 Platform Micro Edition (J2ME) Mobile Information Device Profile (MIDP), http://java.sun.com/products/midp/

[6] IBM, Everyplace Toolkit for WebSphere Studio,

http://www.ibm.com/software/pervasive/everyplace_toolkit/

[7] Microsoft, The ASP.NET Web Matrix Project, http://www.asp.net/webmatrix/

[8] Borland, JBuilder, http://www.borland.com/jbuilder/

[9] Simple API for XML (SAX), http://www.saxproject.org/

[10] W3C, Document Object Model (DOM), http://www.w3.org/DOM/

[11] JDOM, http://www.jdom.org/

[12] Sun Microsystems, JavaBeans, http://java.sun.com/products/javabeans/

[13] Borland, JBuilder OpenTools,

http://info.borland.com/jbuilder/resources/jbopentools.html

[14] Yun-sheng Liu, Shyan-Ming Yuan, “ART-based Mobile Application

Development Kit”, 國立交通大學,電資學院碩士班論文,民國 93 年 6 月

[15] Microsoft, Visual Studio .NET, http://msdn.microsoft.com/vstudio/

[16] Guruduth Banavar, Lawrence D. Bergman, Yves Gaeremynck, Danny Soroker, Jeremy Sussman, “Tooling and system support for authoring multi-device applications”, The Journal of System and Software, vol. 69, 2004, 227-242 [17] Banavar, G., Bergman, L., Cardone, R., Chevalier, V., Gaeremynck, Y., Giraud,

F., Halverson, C., Hirose, S., Hori, M., Kitayama, F., Kondoh, G., Kundu, A., Ono, K., Schade, A., Soroker, D., Winz, K., “An authoring technology for

multidevice Web applications “, Pervasive Computing, IEEE, Volume 3, Issue 3, July-Sept. 2004, pp.83 - 93

[18] John Grundy, Biao Yang, "An environment for developing adaptive, multi-device user interfaces", Proceedings of the Fourth Australian user interface conference on User interfaces 2003, Volume 18, February 2003

[19] OMA, WMLScript Language Specification,

http://www.openmobilealliance.org/tech/affiliates/wap/wap-193-wmlscript-200 01025-a.pdf

[20] Sun Microsystems, Java 2 Platform Standard Edition (J2SE), http://java.sun.com/j2se/

[21] Openwave, Integrating Openwave simulators with Borland JBuilder Enterprise, http://developer.openwave.com/dvl/tools_and_sdk/ide_integration/borland/borl and-ide.htm

[22] Nokia, Nokia Mobile Browser Simulator,

http://www.forum.nokia.com/main/0,6566,034-13,00.html [23] Sun Microsystems, Java Foundation Classes (JFC/Swing),

http://java.sun.com/products/jfc

Appendix A Common Widget Interface

public interface PumlWidget { public String getPumlTag();

public boolean isLegalParent(String tag);

public boolean isContainer();

public boolean isDataBindable();

public boolean isDataBindingWidget();

}

相關文件