1 / 33

Barry Atkins Heather Kreger Steve Graham

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.

Jeffrey
Download Presentation

Barry Atkins Heather Kreger Steve Graham

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Micro Managing – Implementing WSDM in the Small Tiny WSDM Demo Barry Atkins Heather Kreger Steve Graham

  2. Agenda • The Demo • Motivation • Tiny WSRF - Resource Properties • Tiny WS-Notifications – Base Notifications • Tiny WSDM • WSDM Management Event • Identity • How Hard was That?

  3. 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.

  4. 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

  5. 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

  6. Cost • 1 developer 25 days • Developer had good knowledge of Blackberry programming • Good knowledge of ETTK • No background with WSRF, WS-N, or WSDM

  7. 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)

  8. Tiny WSRF

  9. Tiny WSRF GetResourceProperty

  10. Tiny WSRF – GetMultipleResourceProperties

  11. Tiny WSRF - SetResourceProperty

  12. Tiny WSRF GetResourcePropertiesDocument

  13. 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.

  14. Tiny Notifications - Subscribe

  15. Tiny Notifications - Unsubscribe

  16. Tiny Notifications - Unsubscribe

  17. Tiny Notifications - Unsubscribe

  18. Tiny Notifications – ShowSubscriptions

  19. Tiny Notifications – Seeing Notifications

  20. Tiny Notifications – Notification received

  21. 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>

  22. 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).

  23. Tiny WSDM – Subscribe to CodeModuleSizeChange

  24. TinyWSDM – Load a New Application - HelloWorld At: http://barryxplaptop:4400/WSRF4PDA_V6/jad.html

  25. Tiny WSDM – Get Link to New Application

  26. TinyWSDM – Download New Application

  27. TinyWSDM – Application Installed!

  28. TinyWSDM –Notification Received & Application Removed

  29. 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

  30. 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)

  31. 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.

  32. 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

  33. Questions

More Related