Micro Managing –
Download
1 / 33

Agenda - PowerPoint PPT Presentation


  • 203 Views
  • 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.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
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
Agenda

  • 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
Motivation

  • 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
Topology

WAS 5.1

(Wireless GW)

2

BES

Server

3

4

  • 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

1

WSRFand WSN Endpoint


Functionality l.jpg
Functionality

  • “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

102K

WSDM (12k)

WSN (32k)

WSRF (19k)

KSoap (40k)

JVM


Slide6 l.jpg
Cost

  • 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
Implementation

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!

<ManagementEvent>

<sourceComponentId>

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

<wsa:Address> http://9.27.80.182:4400/WSRF4PDA_V6/services/WSRFWirelessDeviceGateway

</wsa:Address>

<wsa:ReferenceProperties>

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

4:2100000a

</ResourceId>

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

RIM2100000a

</device>

</wsa:ReferenceProperties>

</wsa:componentAddress>

<Caption>

BlackBerry Device 2100000a

</Caption>

</sourceComponentId>

<situation>

<situationType>

ReportSituation

</situationType>

<msg>

Date change occurred

</msg>

</situation>

<eventId>

http://rimpda/RIM2100000a/20041225175424660

</eventId>

<reportTime>

2004-12-25T17:54:24.660Z

</reportTime>

</ManagementEvent>


Tiny wsdm l.jpg
Tiny WSDM

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



ad