Platforms and tools for Web Services and Mobile Applications

 

Mobile Applications

 

Welcome to the homepage of the Mobile Applications Part of the PhD Course in Platforms and tools for Web Services and Mobile Applications.

 

The schedule is as follows:

 

Day 1 Thursday 3rd of June 2004

Day 2 Friday 4th of June 2004

9.00-9.45 Introduction and Overview

Slides

9.00-9.45 Introduction to .Net and C#

Slides and slides

9.45-10.00 Break

9.45-10.00 Break

10.00-10.45 Browser based systems

Slides

10.00-10.45 Introduction to .Net Compact Framework

Slides

10.45-11.00 Break

10.45-11.00 Break

10.00-12.00 Exercises

10.00-12.00 Exercises

12.00-13.00 Lunch

12.00-13.00 Lunch

13.00-13.45 Introduction to J2ME

Slides

13.00-14.00 What I didn’t cover so far

Slides

13.45-14.00 Break

13.45-14.00 Break

14.00-15.00 Exercises

14.00-15.00 Exercises

 

Resources

 

During the exercises I will introduce you to a number of tools that can help you develop wireless applications.

These tools will be installed on the machines used for the exercises, but you may want to download and install the tools on your own computer.

 

For the browser based exercises we will use the

Openwave Mobile SDK

(You will have to register to download these tools free of charge)

 

For exercises in J2ME we will use the

J2ME Wireless Toolkit

 

and (if time permit) the

kSOAP implementation for Web Services

 

For the exercises on .Net and .Net Compact framework we will use Visual Studio.Net 

For students at Aalborg University, this can be downloaded from the MSDN Academic Alliance Program at CS.AAU.DK

You will need to get an account (mailto:msdnaa@cs.auc.dk) and follow the link to MSDNAA at CS.AAU.DK

 

Furthermore you need to

Download: SDK for Windows Mobile 2003-based Smartphones

 

Download: SDK for Windows Mobile 2003-based Pocket PCs

 

Download: Windows Mobile Developer Power Toys

 

There are a number of additional tools that you may want to make use of when developing mobile applications, especially vendor specific tool will be needed when developing J2ME application.

 

For Nokia go to Forum Nokia - Developer resources

Note that you will have to register and that all tools require (a free) product key.

 

On BillDay.com J2ME Archive you can find a long list of J2ME tools for phones from Siemens, Motorola, SonyEricsson, etc.

 

If you do not have access to Visual Studio.Net or just want a lighter weight tool for building browser based application on .Net you can use the tool

WebMatrix

 

 

Literature

 

The course will be based on web references, which I will list below. However for those of you who prefer books I can recommend the books:

 

Mobile and Wireless Design Essentials, by Martyn Mallick, Wiley Publishing (2003), ISBN 0-471-21419-1

 

Wireless Java, by Qusay H. Mabmoud, O’Reilly (2002), ISBN 0-596-00243-0

 

I haven’t seen any good books on .Net Compact Framework yet, but I am told that the book below will come out end of May 2004:

 

.NET Compact Framework Programming with C#, by Paul Yao and David Durant, Addison-Wesley Professional, ISBN 0321174038

 

Web References

 

Network Technologies

 

Course material:

Making Sense of Cellular

 

Background references:

 

Wireless Developer Network - Mobile Wireless Tomorrow

 

GSM World - What is GPRS?

 

GSM World - What is SMS?

 

MobileMMS.com : MMS FAQ

 

Introduction to Bluetooth

 

Howstuffworks "How WiFi Works"

 

Browser Technologies

 

Course Material:

Wireless Developer Network - WAP Overview

Wireless Developer Network - WML Tutorial

 

Background references:

Building WAP applications with PHP

WAP builds Java applications

 

Course Material:

XML.com: Developing Wireless Content using XHTML Mobile [Apr. 14, 2004]

jessey.net | Simon | XHTML tutorial

 

Background references:

WAP: Now And Into The Future!

 

Develop AvantGo applications

 

Java J2ME

 

Course material:

Learning Path: Getting Started With MIDP

Wireless Development Tutorial Part I

Wireless Development Tutorial Part II

 

Using the Java Wireless Toolkit

 

Access Web services from wireless devices

 

Background references:

Developing an End to End Wireless Application Using Java Smart Ticket Demo

 

 

ONJava.com: The Mobile Information Device Profile and MIDlets, Part 1

ONJava.com: The Mobile Information Device Profile and MIDlets, Part 2

ONJava.com: The Mobile Information Device Profile and MIDlets, Part 3

ONJava.com: The Mobile Information Device Profile and MIDlets, Part 4

ONJava.com: The Mobile Information Device Profile and MIDlets, Part 5

 

ONJava.com: MIDP GUI Programming, Part 1

ONJava.com: MIDP GUI Programming, Part 2

ONJava.com: MIDP GUI Programming, Part 3

 

ONJava.com: Building Wireless Web Clients, Part 1: Pitfalls of MIDP HTTP

ONJava.com: Building Wireless Web Clients, Part 2

 

ONJava.com: Extending J2EE for Mobile Application Development

 

Avoid the 9 Common Flaws of Unportable Mobile Java Apps

 

.Net CF

 

Course material:

Microsoft QuickStart Tutorials: Compact Framework

 

Getting Started: Getting Started with Visual Studio .NET and the Microsoft .NET Compact Framework (.NET Compact Framework)

 

Microsoft .NET Compact Framework QuickStarts Tutorial Connecting to a Web Service

 

Microsoft .NET Compact Framework QuickStarts Tutorial SmartPhone Menus

 

Background references:

Developing SmartPhone 2003 applications

 

ONDotnet.com: Developing Web-Service-Driven, Smart Mobile Applications [Feb. 23, 2004]

 

SmartPhone 2003 and .NETcf Primer

 

Writing Mobile Games Using DOTNET Compact Framework

 

Writing WiFI applications with .Net CF

Java vs. .Net CF

 

Background references:

Let the mobile games begin, Part 1

Let the mobile games begin, Part 2

 

.Net

 

Course material:

The Code Project - Introduction to .NET - .NET

 

Visual Studio Walkthroughs

 

Background reference:

Microsoft QuickStart Tutorials: ASP.NET

C#

 

Course material:

ONDotnet.com: Conversational C# for Java Programmers, Part 1 [May. 31, 2001]

 

Streaming Media Presentations

 

For those of you taking this part of the course as self study and for those of you who would like to hear somebody else explain some of the technologies you can find some excellent streaming media presentations on the following links:

 

The .NET Show: The .NET Compact Framework

 

TechEd 2004 WebCasts

 

Microsoft On-Demand Webcasts

 

JavaOne Online

Exercises

 

Browser exercises

 

  1. Start the Openwave Phone emulator and checkout a few WAP sites eg:
    1. http://wap.taxi-wap.com
    2. http://www.bbc.co.uk/mobile/
    3. http://mobil.benzinpriser.dk/    (in Danish)
  2. Build your first WML page (maybe by following the steps below)
    1. Read through the WML Tutorial on the Wireless Developer Network
    2. Create a file using notepad containing the WML code on  Step 5: creating a wml deck
    3. Remember to save the file with the .wml extension
    4. Load the file into the Openwave emulator.
  3. Follow the Tutorial on WAP and PhP
  4. Build a WAP interface to your own Web Services
  5. Follow the XHTML tutorial | lesson 1 and build your first xHTML page
  6. Build an xHTML interface to your own Web Service

 

J2ME

 

  1. Follow the steps for starting Sun J2ME Wireless Toolkit and loading your first midlet from Wireless Development Tutorial Part I
  2. Build a midlet with a GUI using the steps described in the ONJava.com: MIDP GUI Programming, Part 1 Part2 and Part3 and/or modify one of the code samples in http://examples.oreilly.com/wirelessjava/wirelessjava_examples.zip
  3. Follow the steps in the Wireless Development Tutorial Part II and try out a midlet talking to a servlet on a Tomcat server.
  4. Downlad the kSAOP samples from http://www.javaworld.com/javaworld/jw-08-2002/wireless/jw-0823-wireless.zip and try them out.
  5. Build a J2ME MIDP client for your own web service

.Net CF

 

  1. Follow the MSDN tutorial on creating a simple windows form in Visual Studio.Net
  2. Follow the MSDN tutorial on creating a client for interacting with a Web Server
  3. Follow the Microsoft .NET Compact Framework QuickStarts Tutorial on how to interact with a Web Service
  4. Follow the Microsoft .NET Compact Framework QuickStarts Tutorial on how to build menus for SmartPhones
  5. Modify the example in exercise 1 to work on a SmartPhone
  6. Follow the tutorial on Building Applications: Writing Mobile Games Using the Microsoft .NET Compact Framework (.NET Compact Framework)
  7. Build a .Net CF client (either PocketPC or SmartPhone or both) for your own web service.