Micro Managing –
1 / 33

Agenda - PowerPoint PPT Presentation

  • Updated On :

Micro Managing – Implementing WSDM in the Small Tiny WSDM Demo. Barry Atkins Heather Kreger Steve Graham. Agenda. The Demo Motivation Tiny WSRF - Resource Properties Tiny WS-Notifications – Base Notifications Tiny WSDM WSDM Management Event Identity How Hard was That?. Motivation.

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

PowerPoint Slideshow about 'Agenda' - Jeffrey

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Slide1 l.jpg

Micro Managing –

Implementing WSDM in the Small

Tiny WSDM Demo

Barry Atkins

Heather Kreger

Steve Graham

Agenda l.jpg

  • The Demo

  • Motivation

  • Tiny WSRF - Resource Properties

  • Tiny WS-Notifications – Base Notifications

  • Tiny WSDM

    • WSDM Management Event

    • Identity

  • How Hard was That?

Motivation l.jpg

  • Show that WSDM and its requisite specifications can be implemented in resource constrained devices

  • WSDM composes for minimal

    WSDM, WS-Addressing, WSRF, WS-N were designed to be composable to allow for minimal implementation requirements in simple or constrained implementations

  • WDSM composes for the enterprise

    WSDM, WS-Addressing, WSRF, WS-N also provide composable functionality required to support complex, large scale systems.

Topology l.jpg

WAS 5.1

(Wireless GW)






  • Blackberry connects to Wireless GW via BES tunneling

  • Client “discovers” Blackberry via Wireless GW

  • WSRF, WSN message exchanges to Wireless GW (proxy)

  • WSRF, WSN message exchanges to Blackberry


WSRFand WSN Endpoint

Functionality l.jpg

  • “port” of ETTK WSRF-ResourceProperties

    • GetResourceProperties

      • Retrieve value from Blackberry

        • Date, Time, Serial#, BatteryLevel, BatteryStatus, AllocatedStorage, FreeStorage, total code module size (0(n) calc)

    • GetMultipleResourceProperties

    • GetResourcePropertiesDocument

      • Equivalent to WS-Transfer Get

    • SetResourceProperties (update)

      • Modify value of Blackberry

        • Date, Time, Color (this faults)

    • WSRF-BaseFaults

    • Blackberry GUI

  • “port” of ETTK WSN

    • NotificationProducer

      • Just subscribe request/response

      • ShowSubscriptions

    • Detect situation and format message for

      • Date change and time change (from WSRF Set)

    • Drive notification message to consumer via EPR


WSDM (12k)

WSN (32k)

WSRF (19k)

KSoap (40k)


Slide6 l.jpg

  • 1 developer 25 days

    • Developer had good knowledge of Blackberry programming

    • Good knowledge of ETTK

    • No background with WSRF, WS-N, or WSDM

Implementation l.jpg

The demo consists of:

  • Running on the Server device.

    • Web interface

    • Web services running on WAS 6.0

  • Running on the Blackberry device.

    • Client code consisting of a tiny soap engine

    • Soap server

  • WirelessDeviceGateway web service EndpointReference for the TinyWSRF implementation

    • Forwards the requests to the various devices via a variety of device-specific transports

    • The device is specified by a device property contained in the soap header. (wsa reference property)

Tiny notifications subscriptions l.jpg
Tiny Notifications - Subscriptions

  • Subscriptions may be created for the following topics :

  • Date_Change

  • - notification is performed when the device's date is changed

  • Inbox_Change

  • - notification is performed when the device's email inbox is changed (email added or deleted)

  • Outbox_Change

  • - notification is performed when the device's email inbox is changed (email added or deleted)

  • CodeModuleSize_Change

  • - notification is performed when the code size for all installed modules changes.

It s a wsdm management event l.jpg
It’s a WSDM Management Event!



<wsa:componentAddress xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing">




<ResourceId xmlns="http://resource.wsrfimpl.ettk.ibm.com">



<device xmlns="http://rim.pda">






BlackBerry Device 2100000a








Date change occurred










Tiny wsdm l.jpg

The WSDM demo consists of the following scenario :

  • 1. A subscription is created for the topic "CodeModuleSize" on the Blackberry.

  • 2. An application is installed on the device, triggering a notification.

  • 3. The NotificationConsumer receives the notification, and asks the device for a list of installed applications.

  • 4. The list is compared to a known list of legal applications (via policy).

  • 5. A request to remove the offending application(s) is sent to the device, which uninstalls the requested application(s).

Tinywsdm load a new application helloworld l.jpg
TinyWSDM – Load a New Application - HelloWorld

At: http://barryxplaptop:4400/WSRF4PDA_V6/jad.html

Tinywsdm application removed l.jpg
TinyWSDM – Application Removed

  • Device limitation: Icons on the Blackberry are only removed when the device is rebooted

    • The HelloWorld application appears to remain installed becausethe icon appears on the device

    • The HelloWorld application is not listed in the list of installed applications

How hard was that l.jpg
How hard was that?

The device code consists of 2 components : A server component, and a UI component.

  • The server component runs automatically in the background. It connects to the WirelessDeviceGateway, and identifies itself using the device’s PIN.

  • The UI component provides simple feedback and configuration of the server component. It displays messages as they are received from the WirelessDeviceGateway, as a result of GetResourceProperty, etc requests. (not necessary)

How much code l.jpg
How much code?

Code size written : 4000 lines

Total compiled code size is 102Kb

  • Blackbarry: 4 main packages,

    • ksoap2.cod 62,620 (library) (the soap engine/xml parser)

    • TinyWSRF.cod 19,724 (library) (code WSRF implementation)

    • WSRFController.cod 8,772 (application)

    • WSRFServer.cod 12,880 (application)

  • Server Code

    • Module which handles the device-specific transport of the SOAP Envelope for the data transport for several different devices (WiFi, SMS, cellular, etc) that is transparent to the caller.

    • Various JSPs & servlets for running the demo.

Nitty gritty details l.jpg

package com.ibm.tinywsrf – 1448 lines

1,296 DocServer.java

2,659 EndpointReference.java

1,827 Notification.java

1,365 NotificationManager.java

10,089 NotificationMessage.java

2,765 NotificationProducer.java

951 ResourceProperties.java

9,284 Resources.java

3,232 Subscription.java

7,124 SubscriptionManager.java

5,067 Utils.java

4,610 WSConstants.java

2,294 WSRFConstants.java

package com.ibm.wsrpcontroller- - 760 lines

962 Controller.java

6,146 mainApp.java

3,568 SubscriptionsScreen.java

2,558 WDGSetupScreen.java

2,677 WSRPControllerScreen.java

package com.ibm.tinywsrfserver - 1019 lines

2,005 AppWatcher.java

19,584 CommandProcessor.java

1,931 DateWatcher.java

3,801 MailWatcher.java

5,404 mainApp.java

2,270 SOAPProcessor.java

107 UIListener.java

469 Watcher.java

package com.ibm.wireless.rim - 828 lines

2,257 Marshaller.java

717 MarshallObject.java

682 Persistant.java

472 SOAPListener.java

11,395 SOAPServer.java

1,504 WDGSetup.java

2,417 WebService.java

4,136 WebServiceProxy.java

Nitty Gritty Details