using core telecom network features to develop web applications

25
Using core telecom network features to develop web applications: Part 1. Web services method Skill Level: Introductory Raghunath Nair ([email protected]) Principal Software Engineer IBM Chandrashekar Naik ([email protected]) Staff Software Engineer IBM 22 Mar 2011 Traditionally, building telecommunications applications implied dealing with telecom network complexities and having technical skills on telecom protocols, such as SMPP, MLP, and Parlay. This article describes how a third-party application developer can build web applications by using core telecom features that are available in the service provider's network. It also explains other approaches, including how to use the REST and web services capabilities included in the IBM® WebSphere® Telecom Web Services Server (TWSS) to build telecom applications with ease. Introduction to the IBM WebSphere Telecom Web Services Server IBM® WebSphere® Telecom Web Services Server, Version 7.1, provides telecom service providers ways to expose network functionality through RESTful bindings (based on the evolving OneAPI specifications) in addition to SOAP-based web services access. Together, the web service and RESTful interfaces provide easy access to service capabilities in a technology-independent way, using programming languages. To complement the RESTful offerings in the Telecom Web Services Server, Dojo widgets have been provided for Terminal Location, SMS, and Payment services in Part 1. Web services method Trademarks © Copyright IBM Corporation 2011 Page 1 of 25

Upload: others

Post on 03-Feb-2022

4 views

Category:

Documents


0 download

TRANSCRIPT

Using core telecom network features to developweb applications Part 1 Web services methodSkill Level Introductory

Raghunath Nair (raghunathnairinibmcom)Principal Software EngineerIBM

Chandrashekar Naik (chandrashekarinibmcom)Staff Software EngineerIBM

22 Mar 2011

Traditionally building telecommunications applications implied dealing with telecomnetwork complexities and having technical skills on telecom protocols such asSMPP MLP and Parlay This article describes how a third-party applicationdeveloper can build web applications by using core telecom features that areavailable in the service providers network It also explains other approachesincluding how to use the REST and web services capabilities included in the IBMregWebSpherereg Telecom Web Services Server (TWSS) to build telecom applicationswith ease

Introduction to the IBM WebSphere Telecom Web ServicesServer

IBMreg WebSpherereg Telecom Web Services Server Version 71 provides telecomservice providers ways to expose network functionality through RESTful bindings(based on the evolving OneAPI specifications) in addition to SOAP-based webservices access Together the web service and RESTful interfaces provide easyaccess to service capabilities in a technology-independent way using programminglanguages

To complement the RESTful offerings in the Telecom Web Services Server Dojowidgets have been provided for Terminal Location SMS and Payment services in

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 1 of 25

the WebSphere Telecom Toolkit These widgets can be easily embedded in a webpage to create Web 20 style applications

How the server fits into the telecom industry

Communication service providers are facing stiff competition to increase averagerevenue per user (ARPU) and to reduce churn There is an urgent need to leveragethe providers existing network capabilities (including legacy infrastructure such assignaling systems) and expose them for use by third-party applications in an easyand controllable fashion

Figure 1 TWSS in the telecom Infrastructure

Larger view of Figure 1

As Figure 1 illustrates the primary goal of the WebSphere Telecom Web ServicesServer (TWSS) is to open telecommunications services as consumable webservices as well as REST style URIs Third-party application providers benefit byleveraging these APIs to create value-added services for customers therebyeliminating the need to know the protocol-level programming This reduces thebarrier of entry for medium-sized Third Party Application providers that do not haveemployees with extensive skill sets but want to create innovative composite telecomservices for their customers For example a policy-driven service exposure ensuresthat the service is customizable for different Service Level Agreements (SLAs) fordifferent customer categories

Architecture of the Telecom Web Services Server

This section briefly describes the architecture of IBM WebSphere Telecom WebServices Server (TWSS) which has three components

bull Access Gateway (AG)

bull Service Policy Manager (SPM)

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 2 of 25

bull Service Implementations

Access Gateway

The Access Gateway provides a policy-driven traffic monitoring message captureauthorization and management capabilities These services are provided at theapplication layer and are enforced for each web service request using knowledge ofthe requester target service and invoked operation The Access Gateway providesflexibility for the construction of tailored message processing logic in accordancewith your enterprises network policies This logic can be customized to meet yournetwork requirements The services implemented in the Service Implementationlayer of TWSS are not directly exposed to the third-party applications Instead theyare made available through the Telecom Web Services Server Access Gatewaywhich runs on IBM WebSphere Enterprise Service Bus

The AG implementation follows the Service Component Architecture (SCA)component model The Access Gateway implementation comprises of mediationprimitives which are small goal driven pieces of message processing logic that canbe combined and rearranged together in any desired order to create mediationflows

See IBM Telecom Web Services Access Gateway Information Center v71 fordetails There is a link to it in the Resources section

Service Policy Manager

As the previous section explained the Access Gateway component is policy-drivenwhich means that the behavior of mediation primitives in the Access Gatewaymediation flows are governed by configured policies The Service Policy Managerprovides management storage and retrieval functions for this policy configurationdata and the runtime data used to customize service delivery for a given requester

See the Service Policy Manager section of the IBM WebSphere Telecom WebServices Server Version 71 Information Center for details There is a link to it inthe Resources section

Service Implementations

The Service Implementations (SI) actually hosts or implements the numerousservices which need to be accessed by the third-party applications These serviceimplementations can be broadly categorized into the following kinds

bull Web service implementations that operate over SIPIMS

bull Web service implementations based on IBMreg WebSpherereg software

bull Web service implementations based on the Direct Connect protocols

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 3 of 25

bull Web service implementations based on Parlay

See the Web Service Implementations of the IBM WebSphere Telecom WebServices Server Version 71 Information Center for more about the availableservices under each category There is a link to it in the Resources section

REST support in TWSS 71

From TWSS v71 onward some of the service implementations are availablethrough simpler REST (Representational State Transfer) interfaces apart fromstandard web services This is based on the GSMA OneAPI (Open Network EnablerAPI) v09 specification which is a set of specifications for network operators forexposing their network capabilities to third-party application developers There is alink to it in the Resources section As of TWSS 71 the following operations aresupported through REST

Terminal Location

bull getLocation

Payment

bull chargeAmount

bull refundAmount

SMS

bull sendSms

bull getSmsDeliveryStatus

bull getReceivedSms

See REST-style access using HTTP in the IBM WebSphere Telecom WebServices Server Version 71 Information Center for details on each of the aboveoperations There is a link to it in the Resources section

The rest of this article focuses on the different ways in which the network capabilitiesexposed by IBM TWSS can be used to develop telecom applications

Scenario 1 Create a telecom application with web services

This scenario demonstrates how to develop a telecom application by using the ShortMessage Service (SMS) and Terminal Location web services exposed by TWSS

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 4 of 25

The use case

1 Debbie registers as a subscriber to a third-party application GeoAlertwhere she has registered for a location-based reminder service thatreminds her when she is near a particular geographical area

2 Upon receiving the request the GeoAlert application starts a geographicalnotification using the Parlay X Terminal Location web service GeoAlertrequests the Terminal Location web service to send a notification at aparticular URL when Debbie enters the specified area

3 When Debbie enters the specified area a location notification is triggeredGeoAlert is notified at the URL specified while starting the geographicalnotification This URL is typically called the Catcher URL or simplyCatcher

4 Upon receiving the location notification GeoAlert sends an SMS(reminder message) to Debbie

Develop the web application

Follow these steps to begin developing the application

1 Generate TerminalLocationNotificationManager web service clientThis serves as a web service client to invoke the Parlay X TerminalLocation web service The client invokes the startGeographicalNotificationoperation of TerminalLocationNotificationManager interface

2 Develop TerminalLocationNotification web service implementationThis serves as a web service Catcher (to receive the notificationstriggered) This web service endpoint is set while triggering thestartGeographicalNotification such that it serves as a Catcher applicationto receive the notifications To accomplish our use case we will besending an SMS (reminder) message from this web serviceimplementation upon receiving the notification

3 Test your applicationThese steps demonstrate how to test the application developed usingIBM WebSphere Telecom Toolkit

Tools

bull IBM Rational Application Developer Version 751 We use this for all

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 5 of 25

of the steps because it simplifies the generation of client and web serviceimplementation

bull IBM WebSphere Telecom Toolkit Version 7 Toolkit will be installed intoRational Application Developer It enables third-party applicationdevelopers to quickly build and test rich applications involving SMSMMS Location Presence and Call control It also provides a platform todevelop Proof of Technology (demos) evaluate solutions and explore thevarious capabilities offered It also serves as a simulator for IBMWebSphere Telecom Web Services Server

Generate a TerminalLocationNotificationManager web service client

1 Start Rational Application Developer and create a new Java projectcalled StartNotificationClient

2 Create a folder named WSDL under the Java project

3 Download and copy the Parlay X 21 Terminal Location WSDL files to theWSDL folder that you created To download see the Parlay X 21Specifications There is a link to it in the Resources section

4 Locateparlayx_terminal_location_notification_manager_service_2_3wsdlin the WSDL folder right-click and from the drop-down menus selectWeb Services gt Generate Client

Figure 2 Generate Terminal Location Notification Manager Client

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 6 of 25

Larger view of Figure 2

5 Make sure that you select these options

bull Web service runtime IBM WebSphere JAX-RPC

bull Client project StartNotificationClient

Figure 3 Select the web service runtime option

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 7 of 25

Larger view of Figure 3

6 Click Finish

7 Now create a Java class under the comibmclient package calledStartNotificationClientjava

Note The entire Java code is provided as a Project Interchange in the Downloadssection Make sure that StartNotificationClient projects build path has a reference tothe comibmwswebservicesthinclient_700jar file available inltRAD75Homegtruntimesbase_v7runtimes

Code Listing 1 shows sample code for the StartNotificationClientjava packagewhich actually invokes the startGeographicalNotification operation of the TerminalLocation service This piece of code in effect starts monitoring the location ofDebbie The code in Listing 1 creates the different objects required by thestartGeographicalNotification operation

Listing 1 StartNotificationClientjava ndash Setting the parameters

Subscriber sends location information in the form of Latitude and LongitudeString address = args[0]float fLat = (float) FloatparseFloat(args[1])float fLong = (float) FloatparseFloat(args[2])

Setting the Reference object Reference specifies the endpoint where the

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 8 of 25

location notification need to sent by the terminal location web service

SimpleReference reference = new SimpleReference()URI endpoint =new URI(httplocalhost9081TestWebservicesTerminalLocationNotification)referencesetEndpoint(endpoint)referencesetInterfaceName(TerminalLocation)referencesetCorrelator(DemoCorr+CalendargetInstance()getTimeInMillis())

Converting the address to URIURI[] addresses = new URI[1]addresses[0]=new URI(address)

Setting the radius and accuracyfloat fRad = (float) 50float tAcc= (float) 1000

Setting the criteriaENTERING - Triggers the notification when subscriber enters the region specifiedby Latitude Longitude and RadiusLEAVING - Triggers the notification when subscriber leaves the region specifiedby Latitude Longitude and Radius

EnteringLeavingCriteria crt = new EnteringLeavingCriteria(Entering)

CheckImmediate specifies if the location of subscriber needs to checked immediatelyboolean chkImm = false

The frequency of the notificationTimeMetric freq = new TimeMetric()freqsetMetric(new TimeMetrics(Millisecond))freqsetUnits(10000)

The code in Listing 2 shows how the startGeographicalNotification web serviceoperation is invoked

Listing 2 StartNotificationClientjava ndash Invoking the operation

Obtain TL Manager ProxyTerminalLocationNotificationManagerProxy tlProxy =new TerminalLocationNotificationManagerProxy()

Set the endpoint where the Terminal Location Notification Manager web servicetlProxysetEndpoint(url)

Obtain the TL ManagerTerminalLocationNotificationManager tlMgr =tlProxygetTerminalLocationNotificationManager()

Invoke the startGeographicalNotificationSystemoutprintln(Calling the web service)tlMgrstartGeographicalNotification(reference addressesfLat fLong fRad tAcc crt chkImm freq)

NoteIf there are unresolved classes for example EnteringLeavingCriteria change thevisibility of the class to public

Develop TerminalLocationNotification web service implementation

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 9 of 25

For receiving notifications the GeoAlert must implement the Terminal LocationNotification web service and this implementation will be used as a Catcher toreceive the notifications triggered

1 Create a dynamic web project and call it TLCatcherWeb

2 Ensure that the Add project to an EAR check box is selected with EARProject Name being TLCatcherWebEAR

3 Download and copy the Parlay X 21 Terminal Location WSDL files intothe TLCatcherWeb gt WebContent gt WEB-INF gt wsdl folder Todownload see Parlay X 21 Specifications There is a link to it in theResources section

4 Locate the parlayx_terminal_location_notification_service_2_2wsdlfile in the WSDL folder right-click it and from the drop-down menusselect Web Services gt Generate JavaBean skeleton

Figure 4 Generate JavaBean skeleton

Larger view of Figure 4

5 Make sure that you select the following options for these fields (seeFigure 5)

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 10 of 25

bull Web service runtime IBM WebSphere JAX-RPC

bull Service project TLCatcherWeb

bull Service EAR project TLCatcherWebEAR

Figure 5 Configuration settings

Larger view of Figure 5

6 Click Finish After clicking Finish if you are prompted for server startupclick Cancel

7 The skeleton bean created in the previous step contains a set of methodsthat correspond to the operations described in the Terminal LocationNotification WSDL When the bean is created a skeleton for each methodis provided as Listing 3 shows

Listing 3 Terminal Location Notification skeleton code

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 11 of 25

package orgcsapiwwwpublic class TerminalLocationNotificationBindingImplimplements orgcsapiwwwTerminalLocationNotification

This operation is invoked on a successful location notificationpublic void locationNotification(javalangString correlatororgcsapiwwwLocationData[] dataorgcsapiwwwEnteringLeavingCriteria criteria) throws javarmiRemoteException

This operation is invoked on a location notification errorpublic void locationError(javalangString correlator javanetURI addressorgcsapiwwwServiceError reason) throws javarmiRemoteException

This operation is invoked upon location notification endpublic void locationEnd(javalangString correlator) throws javarmiRemoteException

When a Location Notification is received fulfilling Debbies criteria the GeoAlertapplication sends an SMS reminder message to Debbies mobile phone Toaccomplish this the service needs to implement the sendSMS client within thelocationNotification operation and invoke the sendSMS operation

8 To generate the SMS client download and the copyparlayx_sms_send_service_2_2wsdl file into the WSDL folderright-click and select gt Web Services gt Generate Client To downloadplease please see the Parlay X 21 Specifications There is a link to it inthe Resources section

9 Make sure that you select these options

bull Web service runtime IBM WebSphere JAX-RPC

bull Client project TLCatcherWeb

bull Client EAR project TLCatcherWebEAR

Figure 6 Web service client configuration

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 12 of 25

Larger view of Figure 6

This will create a package structure with stubs for the sendSMS operation

The locationNotification method in the TerminalLocationNotificationBindingImpl classis the one that gets invoked or notified when Debbies criteria is satisfied Accordingto the use case defined GeoAlert sends a reminder to Debbie through SMS Listing3 shows sample code for invoking the sendSMS operation of Short MessageService

Listing 4 Terminal Location Notification sample code

This operation is invoked on a successful location notificationpublic void locationNotification(javalangString correlatororgcsapiwwwLocationData[] dataorgcsapiwwwEnteringLeavingCriteria criteria)throws javarmiRemoteException

String smsResp =

Fetch the address from the LocationData elementLater use this address for sendSms operation URI[] addresses = new URI[1]addresses[0] = data[0]getAddress()

Fetch the Location Info in the form of Latitude and LongitudeSend this information in the SMS message to the subscriber

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 13 of 25

float lat = data[0]getCurrentLocation()getLatitude()float lon = data[0]getCurrentLocation()getLongitude()

Set the URL where Send SMS web service is runningString url = httplocalhost9081ParlayX21WebservicesSendSms

tryObtain SendSMS proxySendSmsProxy smsProxy = new SendSmsProxy()

Set endpoint where web service is runningsmsProxysetEndpoint(url)Systemoutprintln(---Endpoint set---)

Obtain the service handlerSendSms smsSvc = smsProxygetSendSms()Systemoutprintln(---Handle to Service obtained Invoking Web Service---)

Compose the SMS messageString msg = Hello Customer Greetings from Location Based Reminder App +You have reached the Location where you had set a reminder +Your current location is Latitude = + lat +Longitude = + lon

Invoke sendSms operation of Short Message ServicesmsResp= smsSvcsendSms(addresses LocationBasedReminderAPP null msg null)Systemoutprintln(---Sent Web Service request---)catch(Exception e)

When the locationNotification method is invoked it sends an SMS message toDebbies mobile device

Test the application on the WebSphere Telecom Toolkit

To test the application that you developed download and use the IBM WebSphereTelecom toolkit There is a link to it in the Resources section This free toolkitenables third-party application developers to quickly build and test rich applicationsinvolving SMS MMS Location Presence and Call control It also provides aplatform to develop proof of technology demonstrations to evaluate solutions and toexplore the various capabilities offered

See IBM Education Assistant - WebSphere Telecom Toolkit for more details Thereis a link to it in the Resources section

Notes

bull WebSphere Application Server v7 profile has been created in the RationalApplication Developer runtimes

bull IBM WebSphere Telecom Toolkit v71 is installed on Rational ApplicationDeveloper v751

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 14 of 25

Deploy and run the Telecom Web Services Simulator

1 Create a WebSphere Application Server v7 profile in Rational ApplicationDeveloper

2 Start the WebSphere server

3 Right-click the server and select Deploy Telecom Web ServicesSimulator (see Figure 7) This deploys an application calledWSSimulatorEAR

Figure 7 Deploy Telecom Web Services Simulator

Larger view of Figure 7

4 After deployment has finished right-click the server (see Figure 8) andselect Run Telecom Web Services Simulator Client

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 15 of 25

Figure 8 Run Telecom Web Services Simulator client

Larger view of Figure 8

There are six runtime views that display all of the simulator configuration andruntime data Activity Call Device Group Presence and Map See the IBMEducation Assistant ndash WebSphere Telecom Toolkit configuration for moreinformation on each of these views

Deploy the application

StartNotificationClient is a stand-alone Java application

The EAR project TLCatcherWebEAR needs to be deployed on a server runtimeFor this purpose use WebSphere Application Server 7 as the runtime engine for thisapplication

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 16 of 25

1 Right-click on WebSphere Application Server 7 (WAS 7) select Add andRemove Projects

2 In the Add and Remove Projects window add TLCatcherWebEAR

3 Click Finish

Now the Terminal Location Notification Web Service (Catcher) is deployed andrunning

Test your application

Before testing the GeoAlert application functionality verify the following -

bull TerminalLocationNotificationManager Endpoint is running This webservice is available as part of Telecom Web Services Simulator toolkithttplocalhost9081ParlayX21WebservicesTerminalLocationNotificationManager(Actual port number might vary)

bull TerminalLocationNotification Endpoint is running This web service wasdeveloped in the previous exercise (TLCatcherWebEAR)httplocalhost9081TLCatcherWebservicesTerminalLocationNotification(Actual port number might vary)

bull Make sure you have set the endpoints correctly in the Java classStartNotificationClientjava

1 Run the Java class StartNotificationClient providing the followingarguments

bull arg1 subscriber_phone_number This number should exist in theTelecom Web Services Simulator For example tel+1-2225552003

bull arg2 latitude For example 003

bull arg3 longitude For example 0002Example java StartNotificationClient tel+1-2225552003003 0002

2 Make sure that the latitude and longitude passed as parameter are in thevicinity of the Map view in the simulatorNote To get the latitude and longitude of a particular location in the mapdrag any of the icons to the particular place and the co-ordinates for thatlocation will be displayed as in Figure 9

3 Go to the Map view of the simulator Choose subscriber Debbie

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 17 of 25

(tel+1-2225552003) by choosing her icon which is a mobile phonegraphic

Figure 9 Map view of the Telecom Web Services Simulator

Larger view of Figure 9

Upon receiving the request from Debbie GeoAlert starts the GeographicalNotification on Debbies account The stand-alone Java application that youdeveloped kicks offs the geographical notification

Notification Started can be verified in the Map view of the toolkit simulator as shownin Figure 10

NoteIf the circular notification area does not appear click Debbies mobile phone icon

Figure 10 Notification set up for Debbie

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 18 of 25

Larger view of Figure 10

4 Switch to the Activity view of the simulator and verify that the notificationactivity has been created under Brown Motors gt Debbie

Figure 11 Activity view showing the notification created for Debbie

Larger view of Figure 11

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 19 of 25

5 Switch back to the Map view

Now Debbie goes shopping and enters the notification area that she wants to bereminded about when she is nearby In the toolkit you can simulate this event bydragging Debbies phone icon inside of the notification ring

Figure 12 Debbie enters the specified area

Larger view of Figure 12

After Debbie enters the notification ring a locationNotification is triggered by theTerminal Location web service The notification triggered is caught by the GeoAlertCatcher application that you developed earlier (TLCatcherWebEAR) so the Catchersends an SMS message to Debbie as a reminder Notice that you invoke thesendSMS operation in the locationNotification method of the Catcher

6 Switch back to the Activity view and verify that Debbie has received theSMS reminder

Figure 13 Reminder sent to Debbie

Larger view of Figure 13

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 20 of 25

Project Interchange with sample code

Ensure that the StartNotificationClient projects build path has a reference to thecomibmwswebservicesthinclient_700jar file that is available inRAD75Homeruntimesbase_v7runtimes

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 21 of 25

Downloads

Description Name Size Downloadmethod

Source code for Scenario 1 TWSS_Usage_Sample_PIzip 115KB HTTP

Information about download methods

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 22 of 25

Resources

Learn

bull Citations in this article

bull IBM Telecom Web Services Access Gateway Information Center v71

bull Service Policy Manager

bull Web Service Implementations

bull REST-style access using HTTP

bull Parlay X 21 Specifications

bull IBM WebSphere Telecom toolkit

bull IBM Education Assistant ndash WebSphere Telecom Toolkit configuration

bull GSMA OneAPI

bull IBM Rational Application Developer Version 75 documentation

bull IBM WebSphere Telecom Web Services Server Version 71 InformationCenter

bull IBM WebSphere Telecom Toolkit Version 71 Education Assistant

bull Find out more about Rational Application Developer

bull Browse the Rational Application Developer for WebSphere Software pageon developerWorks for links to technical articles and many relatedresources

bull Explore the Information Center

bull Visit the Rational software area on developerWorks for technical resources andbest practices for Rational Software Delivery Platform products

bull Stay current with developerWorks technical events and webcasts focusedon a variety of IBM products and IT industry topics

bull Attend a free developerWorks Live briefing to get up-to-speed quickly onIBM products and tools as well as IT industry trends

bull Watch developerWorks on-demand demos ranging from productinstallation and setup demos for beginners to advanced functionality forexperienced developers

bull Improve your skills Check the Rational training and certification catalog which

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 23 of 25

includes many types of courses on a wide range of topics You can take someof them anywhere any time and many of the Getting Started ones are free

Get products and technologies

bull Try Rational Application Developer for WebSphere Software free

bull Evaluate IBM software in the way that suits you best Download it for a trial tryit online use it in a cloud environment or spend a few hours in the SOASandbox learning how to implement service-oriented architecture efficiently

Discuss

bull Join the Development Tools forum to ask questions and participate indiscussions

bull Share your knowledge and help others who use Rational software by writing adeveloperWorks article Youll get worldwide exposure RSS syndication abyline and a bio and the benefit of professional editing and production on thedeveloperWorks Rational website

bull Follow Rational software on Facebook and Twitter (ibmrational) and add yourcomments and requests

bull Ask and answer questions and increase your expertise when you get involvedin the Rational forums cafeacutes and wikis

bull Connect with others who share your interests by joining the developerWorkscommunity and responding to the developer-driven blogs

About the authors

Raghunath NairRaghunath E Nair is a principal software engineer in the IBM IndiaSoftware Lab in Bangalore He joined IBM in 2006 His most recentrole has been in design development and support of software fortelecom for IBM WebSphere software including IBM WebSphereTWSS and IBM WebSphere IMS Connector His areas of expertise aremiddleware integration SOA web services and telecom Heco-authored Using WebSphere Message Broker as an ESB withWebSphere Process Server in the IBM Redbooks series and has aBachelor of Technology degree in Electronics and Communicationsfrom the University of Calicut

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 24 of 25

Chandrashekar NaikChandrashekar B Naik is a staff software engineer in the IBM IndiaSoftware Lab He joined IBM in 2004 and has experience in softwaredesign development and testing His areas of expertise include JavaJ2EE and web services programming including WebSphereApplication Server Telecom Web Services Server Mobile PortalAccelerator pervasive computing and WebSphere software fortelecom He currently focuses on development support and testing ofWebSphere Telecom Web Services Server Chandrashekar is also aSun-Certified Programmer and has a Bachelor of Engineering degree inComputer Science from Visveswaraiah Technological UniversityBelgaum

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 25 of 25

  • Table of Contents
  • Introduction to the IBM WebSphere Telecom Web Services Server
  • How the server fits into the telecom industry
  • Architecture of the Telecom Web Services Server
  • Scenario 1 Create a telecom application with web services
  • Develop the web application
  • Test the application on the WebSphere Telecom Toolkit
  • Deploy the application
  • Downloads
  • Resources
  • About the authors

the WebSphere Telecom Toolkit These widgets can be easily embedded in a webpage to create Web 20 style applications

How the server fits into the telecom industry

Communication service providers are facing stiff competition to increase averagerevenue per user (ARPU) and to reduce churn There is an urgent need to leveragethe providers existing network capabilities (including legacy infrastructure such assignaling systems) and expose them for use by third-party applications in an easyand controllable fashion

Figure 1 TWSS in the telecom Infrastructure

Larger view of Figure 1

As Figure 1 illustrates the primary goal of the WebSphere Telecom Web ServicesServer (TWSS) is to open telecommunications services as consumable webservices as well as REST style URIs Third-party application providers benefit byleveraging these APIs to create value-added services for customers therebyeliminating the need to know the protocol-level programming This reduces thebarrier of entry for medium-sized Third Party Application providers that do not haveemployees with extensive skill sets but want to create innovative composite telecomservices for their customers For example a policy-driven service exposure ensuresthat the service is customizable for different Service Level Agreements (SLAs) fordifferent customer categories

Architecture of the Telecom Web Services Server

This section briefly describes the architecture of IBM WebSphere Telecom WebServices Server (TWSS) which has three components

bull Access Gateway (AG)

bull Service Policy Manager (SPM)

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 2 of 25

bull Service Implementations

Access Gateway

The Access Gateway provides a policy-driven traffic monitoring message captureauthorization and management capabilities These services are provided at theapplication layer and are enforced for each web service request using knowledge ofthe requester target service and invoked operation The Access Gateway providesflexibility for the construction of tailored message processing logic in accordancewith your enterprises network policies This logic can be customized to meet yournetwork requirements The services implemented in the Service Implementationlayer of TWSS are not directly exposed to the third-party applications Instead theyare made available through the Telecom Web Services Server Access Gatewaywhich runs on IBM WebSphere Enterprise Service Bus

The AG implementation follows the Service Component Architecture (SCA)component model The Access Gateway implementation comprises of mediationprimitives which are small goal driven pieces of message processing logic that canbe combined and rearranged together in any desired order to create mediationflows

See IBM Telecom Web Services Access Gateway Information Center v71 fordetails There is a link to it in the Resources section

Service Policy Manager

As the previous section explained the Access Gateway component is policy-drivenwhich means that the behavior of mediation primitives in the Access Gatewaymediation flows are governed by configured policies The Service Policy Managerprovides management storage and retrieval functions for this policy configurationdata and the runtime data used to customize service delivery for a given requester

See the Service Policy Manager section of the IBM WebSphere Telecom WebServices Server Version 71 Information Center for details There is a link to it inthe Resources section

Service Implementations

The Service Implementations (SI) actually hosts or implements the numerousservices which need to be accessed by the third-party applications These serviceimplementations can be broadly categorized into the following kinds

bull Web service implementations that operate over SIPIMS

bull Web service implementations based on IBMreg WebSpherereg software

bull Web service implementations based on the Direct Connect protocols

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 3 of 25

bull Web service implementations based on Parlay

See the Web Service Implementations of the IBM WebSphere Telecom WebServices Server Version 71 Information Center for more about the availableservices under each category There is a link to it in the Resources section

REST support in TWSS 71

From TWSS v71 onward some of the service implementations are availablethrough simpler REST (Representational State Transfer) interfaces apart fromstandard web services This is based on the GSMA OneAPI (Open Network EnablerAPI) v09 specification which is a set of specifications for network operators forexposing their network capabilities to third-party application developers There is alink to it in the Resources section As of TWSS 71 the following operations aresupported through REST

Terminal Location

bull getLocation

Payment

bull chargeAmount

bull refundAmount

SMS

bull sendSms

bull getSmsDeliveryStatus

bull getReceivedSms

See REST-style access using HTTP in the IBM WebSphere Telecom WebServices Server Version 71 Information Center for details on each of the aboveoperations There is a link to it in the Resources section

The rest of this article focuses on the different ways in which the network capabilitiesexposed by IBM TWSS can be used to develop telecom applications

Scenario 1 Create a telecom application with web services

This scenario demonstrates how to develop a telecom application by using the ShortMessage Service (SMS) and Terminal Location web services exposed by TWSS

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 4 of 25

The use case

1 Debbie registers as a subscriber to a third-party application GeoAlertwhere she has registered for a location-based reminder service thatreminds her when she is near a particular geographical area

2 Upon receiving the request the GeoAlert application starts a geographicalnotification using the Parlay X Terminal Location web service GeoAlertrequests the Terminal Location web service to send a notification at aparticular URL when Debbie enters the specified area

3 When Debbie enters the specified area a location notification is triggeredGeoAlert is notified at the URL specified while starting the geographicalnotification This URL is typically called the Catcher URL or simplyCatcher

4 Upon receiving the location notification GeoAlert sends an SMS(reminder message) to Debbie

Develop the web application

Follow these steps to begin developing the application

1 Generate TerminalLocationNotificationManager web service clientThis serves as a web service client to invoke the Parlay X TerminalLocation web service The client invokes the startGeographicalNotificationoperation of TerminalLocationNotificationManager interface

2 Develop TerminalLocationNotification web service implementationThis serves as a web service Catcher (to receive the notificationstriggered) This web service endpoint is set while triggering thestartGeographicalNotification such that it serves as a Catcher applicationto receive the notifications To accomplish our use case we will besending an SMS (reminder) message from this web serviceimplementation upon receiving the notification

3 Test your applicationThese steps demonstrate how to test the application developed usingIBM WebSphere Telecom Toolkit

Tools

bull IBM Rational Application Developer Version 751 We use this for all

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 5 of 25

of the steps because it simplifies the generation of client and web serviceimplementation

bull IBM WebSphere Telecom Toolkit Version 7 Toolkit will be installed intoRational Application Developer It enables third-party applicationdevelopers to quickly build and test rich applications involving SMSMMS Location Presence and Call control It also provides a platform todevelop Proof of Technology (demos) evaluate solutions and explore thevarious capabilities offered It also serves as a simulator for IBMWebSphere Telecom Web Services Server

Generate a TerminalLocationNotificationManager web service client

1 Start Rational Application Developer and create a new Java projectcalled StartNotificationClient

2 Create a folder named WSDL under the Java project

3 Download and copy the Parlay X 21 Terminal Location WSDL files to theWSDL folder that you created To download see the Parlay X 21Specifications There is a link to it in the Resources section

4 Locateparlayx_terminal_location_notification_manager_service_2_3wsdlin the WSDL folder right-click and from the drop-down menus selectWeb Services gt Generate Client

Figure 2 Generate Terminal Location Notification Manager Client

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 6 of 25

Larger view of Figure 2

5 Make sure that you select these options

bull Web service runtime IBM WebSphere JAX-RPC

bull Client project StartNotificationClient

Figure 3 Select the web service runtime option

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 7 of 25

Larger view of Figure 3

6 Click Finish

7 Now create a Java class under the comibmclient package calledStartNotificationClientjava

Note The entire Java code is provided as a Project Interchange in the Downloadssection Make sure that StartNotificationClient projects build path has a reference tothe comibmwswebservicesthinclient_700jar file available inltRAD75Homegtruntimesbase_v7runtimes

Code Listing 1 shows sample code for the StartNotificationClientjava packagewhich actually invokes the startGeographicalNotification operation of the TerminalLocation service This piece of code in effect starts monitoring the location ofDebbie The code in Listing 1 creates the different objects required by thestartGeographicalNotification operation

Listing 1 StartNotificationClientjava ndash Setting the parameters

Subscriber sends location information in the form of Latitude and LongitudeString address = args[0]float fLat = (float) FloatparseFloat(args[1])float fLong = (float) FloatparseFloat(args[2])

Setting the Reference object Reference specifies the endpoint where the

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 8 of 25

location notification need to sent by the terminal location web service

SimpleReference reference = new SimpleReference()URI endpoint =new URI(httplocalhost9081TestWebservicesTerminalLocationNotification)referencesetEndpoint(endpoint)referencesetInterfaceName(TerminalLocation)referencesetCorrelator(DemoCorr+CalendargetInstance()getTimeInMillis())

Converting the address to URIURI[] addresses = new URI[1]addresses[0]=new URI(address)

Setting the radius and accuracyfloat fRad = (float) 50float tAcc= (float) 1000

Setting the criteriaENTERING - Triggers the notification when subscriber enters the region specifiedby Latitude Longitude and RadiusLEAVING - Triggers the notification when subscriber leaves the region specifiedby Latitude Longitude and Radius

EnteringLeavingCriteria crt = new EnteringLeavingCriteria(Entering)

CheckImmediate specifies if the location of subscriber needs to checked immediatelyboolean chkImm = false

The frequency of the notificationTimeMetric freq = new TimeMetric()freqsetMetric(new TimeMetrics(Millisecond))freqsetUnits(10000)

The code in Listing 2 shows how the startGeographicalNotification web serviceoperation is invoked

Listing 2 StartNotificationClientjava ndash Invoking the operation

Obtain TL Manager ProxyTerminalLocationNotificationManagerProxy tlProxy =new TerminalLocationNotificationManagerProxy()

Set the endpoint where the Terminal Location Notification Manager web servicetlProxysetEndpoint(url)

Obtain the TL ManagerTerminalLocationNotificationManager tlMgr =tlProxygetTerminalLocationNotificationManager()

Invoke the startGeographicalNotificationSystemoutprintln(Calling the web service)tlMgrstartGeographicalNotification(reference addressesfLat fLong fRad tAcc crt chkImm freq)

NoteIf there are unresolved classes for example EnteringLeavingCriteria change thevisibility of the class to public

Develop TerminalLocationNotification web service implementation

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 9 of 25

For receiving notifications the GeoAlert must implement the Terminal LocationNotification web service and this implementation will be used as a Catcher toreceive the notifications triggered

1 Create a dynamic web project and call it TLCatcherWeb

2 Ensure that the Add project to an EAR check box is selected with EARProject Name being TLCatcherWebEAR

3 Download and copy the Parlay X 21 Terminal Location WSDL files intothe TLCatcherWeb gt WebContent gt WEB-INF gt wsdl folder Todownload see Parlay X 21 Specifications There is a link to it in theResources section

4 Locate the parlayx_terminal_location_notification_service_2_2wsdlfile in the WSDL folder right-click it and from the drop-down menusselect Web Services gt Generate JavaBean skeleton

Figure 4 Generate JavaBean skeleton

Larger view of Figure 4

5 Make sure that you select the following options for these fields (seeFigure 5)

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 10 of 25

bull Web service runtime IBM WebSphere JAX-RPC

bull Service project TLCatcherWeb

bull Service EAR project TLCatcherWebEAR

Figure 5 Configuration settings

Larger view of Figure 5

6 Click Finish After clicking Finish if you are prompted for server startupclick Cancel

7 The skeleton bean created in the previous step contains a set of methodsthat correspond to the operations described in the Terminal LocationNotification WSDL When the bean is created a skeleton for each methodis provided as Listing 3 shows

Listing 3 Terminal Location Notification skeleton code

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 11 of 25

package orgcsapiwwwpublic class TerminalLocationNotificationBindingImplimplements orgcsapiwwwTerminalLocationNotification

This operation is invoked on a successful location notificationpublic void locationNotification(javalangString correlatororgcsapiwwwLocationData[] dataorgcsapiwwwEnteringLeavingCriteria criteria) throws javarmiRemoteException

This operation is invoked on a location notification errorpublic void locationError(javalangString correlator javanetURI addressorgcsapiwwwServiceError reason) throws javarmiRemoteException

This operation is invoked upon location notification endpublic void locationEnd(javalangString correlator) throws javarmiRemoteException

When a Location Notification is received fulfilling Debbies criteria the GeoAlertapplication sends an SMS reminder message to Debbies mobile phone Toaccomplish this the service needs to implement the sendSMS client within thelocationNotification operation and invoke the sendSMS operation

8 To generate the SMS client download and the copyparlayx_sms_send_service_2_2wsdl file into the WSDL folderright-click and select gt Web Services gt Generate Client To downloadplease please see the Parlay X 21 Specifications There is a link to it inthe Resources section

9 Make sure that you select these options

bull Web service runtime IBM WebSphere JAX-RPC

bull Client project TLCatcherWeb

bull Client EAR project TLCatcherWebEAR

Figure 6 Web service client configuration

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 12 of 25

Larger view of Figure 6

This will create a package structure with stubs for the sendSMS operation

The locationNotification method in the TerminalLocationNotificationBindingImpl classis the one that gets invoked or notified when Debbies criteria is satisfied Accordingto the use case defined GeoAlert sends a reminder to Debbie through SMS Listing3 shows sample code for invoking the sendSMS operation of Short MessageService

Listing 4 Terminal Location Notification sample code

This operation is invoked on a successful location notificationpublic void locationNotification(javalangString correlatororgcsapiwwwLocationData[] dataorgcsapiwwwEnteringLeavingCriteria criteria)throws javarmiRemoteException

String smsResp =

Fetch the address from the LocationData elementLater use this address for sendSms operation URI[] addresses = new URI[1]addresses[0] = data[0]getAddress()

Fetch the Location Info in the form of Latitude and LongitudeSend this information in the SMS message to the subscriber

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 13 of 25

float lat = data[0]getCurrentLocation()getLatitude()float lon = data[0]getCurrentLocation()getLongitude()

Set the URL where Send SMS web service is runningString url = httplocalhost9081ParlayX21WebservicesSendSms

tryObtain SendSMS proxySendSmsProxy smsProxy = new SendSmsProxy()

Set endpoint where web service is runningsmsProxysetEndpoint(url)Systemoutprintln(---Endpoint set---)

Obtain the service handlerSendSms smsSvc = smsProxygetSendSms()Systemoutprintln(---Handle to Service obtained Invoking Web Service---)

Compose the SMS messageString msg = Hello Customer Greetings from Location Based Reminder App +You have reached the Location where you had set a reminder +Your current location is Latitude = + lat +Longitude = + lon

Invoke sendSms operation of Short Message ServicesmsResp= smsSvcsendSms(addresses LocationBasedReminderAPP null msg null)Systemoutprintln(---Sent Web Service request---)catch(Exception e)

When the locationNotification method is invoked it sends an SMS message toDebbies mobile device

Test the application on the WebSphere Telecom Toolkit

To test the application that you developed download and use the IBM WebSphereTelecom toolkit There is a link to it in the Resources section This free toolkitenables third-party application developers to quickly build and test rich applicationsinvolving SMS MMS Location Presence and Call control It also provides aplatform to develop proof of technology demonstrations to evaluate solutions and toexplore the various capabilities offered

See IBM Education Assistant - WebSphere Telecom Toolkit for more details Thereis a link to it in the Resources section

Notes

bull WebSphere Application Server v7 profile has been created in the RationalApplication Developer runtimes

bull IBM WebSphere Telecom Toolkit v71 is installed on Rational ApplicationDeveloper v751

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 14 of 25

Deploy and run the Telecom Web Services Simulator

1 Create a WebSphere Application Server v7 profile in Rational ApplicationDeveloper

2 Start the WebSphere server

3 Right-click the server and select Deploy Telecom Web ServicesSimulator (see Figure 7) This deploys an application calledWSSimulatorEAR

Figure 7 Deploy Telecom Web Services Simulator

Larger view of Figure 7

4 After deployment has finished right-click the server (see Figure 8) andselect Run Telecom Web Services Simulator Client

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 15 of 25

Figure 8 Run Telecom Web Services Simulator client

Larger view of Figure 8

There are six runtime views that display all of the simulator configuration andruntime data Activity Call Device Group Presence and Map See the IBMEducation Assistant ndash WebSphere Telecom Toolkit configuration for moreinformation on each of these views

Deploy the application

StartNotificationClient is a stand-alone Java application

The EAR project TLCatcherWebEAR needs to be deployed on a server runtimeFor this purpose use WebSphere Application Server 7 as the runtime engine for thisapplication

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 16 of 25

1 Right-click on WebSphere Application Server 7 (WAS 7) select Add andRemove Projects

2 In the Add and Remove Projects window add TLCatcherWebEAR

3 Click Finish

Now the Terminal Location Notification Web Service (Catcher) is deployed andrunning

Test your application

Before testing the GeoAlert application functionality verify the following -

bull TerminalLocationNotificationManager Endpoint is running This webservice is available as part of Telecom Web Services Simulator toolkithttplocalhost9081ParlayX21WebservicesTerminalLocationNotificationManager(Actual port number might vary)

bull TerminalLocationNotification Endpoint is running This web service wasdeveloped in the previous exercise (TLCatcherWebEAR)httplocalhost9081TLCatcherWebservicesTerminalLocationNotification(Actual port number might vary)

bull Make sure you have set the endpoints correctly in the Java classStartNotificationClientjava

1 Run the Java class StartNotificationClient providing the followingarguments

bull arg1 subscriber_phone_number This number should exist in theTelecom Web Services Simulator For example tel+1-2225552003

bull arg2 latitude For example 003

bull arg3 longitude For example 0002Example java StartNotificationClient tel+1-2225552003003 0002

2 Make sure that the latitude and longitude passed as parameter are in thevicinity of the Map view in the simulatorNote To get the latitude and longitude of a particular location in the mapdrag any of the icons to the particular place and the co-ordinates for thatlocation will be displayed as in Figure 9

3 Go to the Map view of the simulator Choose subscriber Debbie

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 17 of 25

(tel+1-2225552003) by choosing her icon which is a mobile phonegraphic

Figure 9 Map view of the Telecom Web Services Simulator

Larger view of Figure 9

Upon receiving the request from Debbie GeoAlert starts the GeographicalNotification on Debbies account The stand-alone Java application that youdeveloped kicks offs the geographical notification

Notification Started can be verified in the Map view of the toolkit simulator as shownin Figure 10

NoteIf the circular notification area does not appear click Debbies mobile phone icon

Figure 10 Notification set up for Debbie

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 18 of 25

Larger view of Figure 10

4 Switch to the Activity view of the simulator and verify that the notificationactivity has been created under Brown Motors gt Debbie

Figure 11 Activity view showing the notification created for Debbie

Larger view of Figure 11

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 19 of 25

5 Switch back to the Map view

Now Debbie goes shopping and enters the notification area that she wants to bereminded about when she is nearby In the toolkit you can simulate this event bydragging Debbies phone icon inside of the notification ring

Figure 12 Debbie enters the specified area

Larger view of Figure 12

After Debbie enters the notification ring a locationNotification is triggered by theTerminal Location web service The notification triggered is caught by the GeoAlertCatcher application that you developed earlier (TLCatcherWebEAR) so the Catchersends an SMS message to Debbie as a reminder Notice that you invoke thesendSMS operation in the locationNotification method of the Catcher

6 Switch back to the Activity view and verify that Debbie has received theSMS reminder

Figure 13 Reminder sent to Debbie

Larger view of Figure 13

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 20 of 25

Project Interchange with sample code

Ensure that the StartNotificationClient projects build path has a reference to thecomibmwswebservicesthinclient_700jar file that is available inRAD75Homeruntimesbase_v7runtimes

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 21 of 25

Downloads

Description Name Size Downloadmethod

Source code for Scenario 1 TWSS_Usage_Sample_PIzip 115KB HTTP

Information about download methods

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 22 of 25

Resources

Learn

bull Citations in this article

bull IBM Telecom Web Services Access Gateway Information Center v71

bull Service Policy Manager

bull Web Service Implementations

bull REST-style access using HTTP

bull Parlay X 21 Specifications

bull IBM WebSphere Telecom toolkit

bull IBM Education Assistant ndash WebSphere Telecom Toolkit configuration

bull GSMA OneAPI

bull IBM Rational Application Developer Version 75 documentation

bull IBM WebSphere Telecom Web Services Server Version 71 InformationCenter

bull IBM WebSphere Telecom Toolkit Version 71 Education Assistant

bull Find out more about Rational Application Developer

bull Browse the Rational Application Developer for WebSphere Software pageon developerWorks for links to technical articles and many relatedresources

bull Explore the Information Center

bull Visit the Rational software area on developerWorks for technical resources andbest practices for Rational Software Delivery Platform products

bull Stay current with developerWorks technical events and webcasts focusedon a variety of IBM products and IT industry topics

bull Attend a free developerWorks Live briefing to get up-to-speed quickly onIBM products and tools as well as IT industry trends

bull Watch developerWorks on-demand demos ranging from productinstallation and setup demos for beginners to advanced functionality forexperienced developers

bull Improve your skills Check the Rational training and certification catalog which

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 23 of 25

includes many types of courses on a wide range of topics You can take someof them anywhere any time and many of the Getting Started ones are free

Get products and technologies

bull Try Rational Application Developer for WebSphere Software free

bull Evaluate IBM software in the way that suits you best Download it for a trial tryit online use it in a cloud environment or spend a few hours in the SOASandbox learning how to implement service-oriented architecture efficiently

Discuss

bull Join the Development Tools forum to ask questions and participate indiscussions

bull Share your knowledge and help others who use Rational software by writing adeveloperWorks article Youll get worldwide exposure RSS syndication abyline and a bio and the benefit of professional editing and production on thedeveloperWorks Rational website

bull Follow Rational software on Facebook and Twitter (ibmrational) and add yourcomments and requests

bull Ask and answer questions and increase your expertise when you get involvedin the Rational forums cafeacutes and wikis

bull Connect with others who share your interests by joining the developerWorkscommunity and responding to the developer-driven blogs

About the authors

Raghunath NairRaghunath E Nair is a principal software engineer in the IBM IndiaSoftware Lab in Bangalore He joined IBM in 2006 His most recentrole has been in design development and support of software fortelecom for IBM WebSphere software including IBM WebSphereTWSS and IBM WebSphere IMS Connector His areas of expertise aremiddleware integration SOA web services and telecom Heco-authored Using WebSphere Message Broker as an ESB withWebSphere Process Server in the IBM Redbooks series and has aBachelor of Technology degree in Electronics and Communicationsfrom the University of Calicut

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 24 of 25

Chandrashekar NaikChandrashekar B Naik is a staff software engineer in the IBM IndiaSoftware Lab He joined IBM in 2004 and has experience in softwaredesign development and testing His areas of expertise include JavaJ2EE and web services programming including WebSphereApplication Server Telecom Web Services Server Mobile PortalAccelerator pervasive computing and WebSphere software fortelecom He currently focuses on development support and testing ofWebSphere Telecom Web Services Server Chandrashekar is also aSun-Certified Programmer and has a Bachelor of Engineering degree inComputer Science from Visveswaraiah Technological UniversityBelgaum

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 25 of 25

  • Table of Contents
  • Introduction to the IBM WebSphere Telecom Web Services Server
  • How the server fits into the telecom industry
  • Architecture of the Telecom Web Services Server
  • Scenario 1 Create a telecom application with web services
  • Develop the web application
  • Test the application on the WebSphere Telecom Toolkit
  • Deploy the application
  • Downloads
  • Resources
  • About the authors

bull Service Implementations

Access Gateway

The Access Gateway provides a policy-driven traffic monitoring message captureauthorization and management capabilities These services are provided at theapplication layer and are enforced for each web service request using knowledge ofthe requester target service and invoked operation The Access Gateway providesflexibility for the construction of tailored message processing logic in accordancewith your enterprises network policies This logic can be customized to meet yournetwork requirements The services implemented in the Service Implementationlayer of TWSS are not directly exposed to the third-party applications Instead theyare made available through the Telecom Web Services Server Access Gatewaywhich runs on IBM WebSphere Enterprise Service Bus

The AG implementation follows the Service Component Architecture (SCA)component model The Access Gateway implementation comprises of mediationprimitives which are small goal driven pieces of message processing logic that canbe combined and rearranged together in any desired order to create mediationflows

See IBM Telecom Web Services Access Gateway Information Center v71 fordetails There is a link to it in the Resources section

Service Policy Manager

As the previous section explained the Access Gateway component is policy-drivenwhich means that the behavior of mediation primitives in the Access Gatewaymediation flows are governed by configured policies The Service Policy Managerprovides management storage and retrieval functions for this policy configurationdata and the runtime data used to customize service delivery for a given requester

See the Service Policy Manager section of the IBM WebSphere Telecom WebServices Server Version 71 Information Center for details There is a link to it inthe Resources section

Service Implementations

The Service Implementations (SI) actually hosts or implements the numerousservices which need to be accessed by the third-party applications These serviceimplementations can be broadly categorized into the following kinds

bull Web service implementations that operate over SIPIMS

bull Web service implementations based on IBMreg WebSpherereg software

bull Web service implementations based on the Direct Connect protocols

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 3 of 25

bull Web service implementations based on Parlay

See the Web Service Implementations of the IBM WebSphere Telecom WebServices Server Version 71 Information Center for more about the availableservices under each category There is a link to it in the Resources section

REST support in TWSS 71

From TWSS v71 onward some of the service implementations are availablethrough simpler REST (Representational State Transfer) interfaces apart fromstandard web services This is based on the GSMA OneAPI (Open Network EnablerAPI) v09 specification which is a set of specifications for network operators forexposing their network capabilities to third-party application developers There is alink to it in the Resources section As of TWSS 71 the following operations aresupported through REST

Terminal Location

bull getLocation

Payment

bull chargeAmount

bull refundAmount

SMS

bull sendSms

bull getSmsDeliveryStatus

bull getReceivedSms

See REST-style access using HTTP in the IBM WebSphere Telecom WebServices Server Version 71 Information Center for details on each of the aboveoperations There is a link to it in the Resources section

The rest of this article focuses on the different ways in which the network capabilitiesexposed by IBM TWSS can be used to develop telecom applications

Scenario 1 Create a telecom application with web services

This scenario demonstrates how to develop a telecom application by using the ShortMessage Service (SMS) and Terminal Location web services exposed by TWSS

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 4 of 25

The use case

1 Debbie registers as a subscriber to a third-party application GeoAlertwhere she has registered for a location-based reminder service thatreminds her when she is near a particular geographical area

2 Upon receiving the request the GeoAlert application starts a geographicalnotification using the Parlay X Terminal Location web service GeoAlertrequests the Terminal Location web service to send a notification at aparticular URL when Debbie enters the specified area

3 When Debbie enters the specified area a location notification is triggeredGeoAlert is notified at the URL specified while starting the geographicalnotification This URL is typically called the Catcher URL or simplyCatcher

4 Upon receiving the location notification GeoAlert sends an SMS(reminder message) to Debbie

Develop the web application

Follow these steps to begin developing the application

1 Generate TerminalLocationNotificationManager web service clientThis serves as a web service client to invoke the Parlay X TerminalLocation web service The client invokes the startGeographicalNotificationoperation of TerminalLocationNotificationManager interface

2 Develop TerminalLocationNotification web service implementationThis serves as a web service Catcher (to receive the notificationstriggered) This web service endpoint is set while triggering thestartGeographicalNotification such that it serves as a Catcher applicationto receive the notifications To accomplish our use case we will besending an SMS (reminder) message from this web serviceimplementation upon receiving the notification

3 Test your applicationThese steps demonstrate how to test the application developed usingIBM WebSphere Telecom Toolkit

Tools

bull IBM Rational Application Developer Version 751 We use this for all

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 5 of 25

of the steps because it simplifies the generation of client and web serviceimplementation

bull IBM WebSphere Telecom Toolkit Version 7 Toolkit will be installed intoRational Application Developer It enables third-party applicationdevelopers to quickly build and test rich applications involving SMSMMS Location Presence and Call control It also provides a platform todevelop Proof of Technology (demos) evaluate solutions and explore thevarious capabilities offered It also serves as a simulator for IBMWebSphere Telecom Web Services Server

Generate a TerminalLocationNotificationManager web service client

1 Start Rational Application Developer and create a new Java projectcalled StartNotificationClient

2 Create a folder named WSDL under the Java project

3 Download and copy the Parlay X 21 Terminal Location WSDL files to theWSDL folder that you created To download see the Parlay X 21Specifications There is a link to it in the Resources section

4 Locateparlayx_terminal_location_notification_manager_service_2_3wsdlin the WSDL folder right-click and from the drop-down menus selectWeb Services gt Generate Client

Figure 2 Generate Terminal Location Notification Manager Client

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 6 of 25

Larger view of Figure 2

5 Make sure that you select these options

bull Web service runtime IBM WebSphere JAX-RPC

bull Client project StartNotificationClient

Figure 3 Select the web service runtime option

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 7 of 25

Larger view of Figure 3

6 Click Finish

7 Now create a Java class under the comibmclient package calledStartNotificationClientjava

Note The entire Java code is provided as a Project Interchange in the Downloadssection Make sure that StartNotificationClient projects build path has a reference tothe comibmwswebservicesthinclient_700jar file available inltRAD75Homegtruntimesbase_v7runtimes

Code Listing 1 shows sample code for the StartNotificationClientjava packagewhich actually invokes the startGeographicalNotification operation of the TerminalLocation service This piece of code in effect starts monitoring the location ofDebbie The code in Listing 1 creates the different objects required by thestartGeographicalNotification operation

Listing 1 StartNotificationClientjava ndash Setting the parameters

Subscriber sends location information in the form of Latitude and LongitudeString address = args[0]float fLat = (float) FloatparseFloat(args[1])float fLong = (float) FloatparseFloat(args[2])

Setting the Reference object Reference specifies the endpoint where the

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 8 of 25

location notification need to sent by the terminal location web service

SimpleReference reference = new SimpleReference()URI endpoint =new URI(httplocalhost9081TestWebservicesTerminalLocationNotification)referencesetEndpoint(endpoint)referencesetInterfaceName(TerminalLocation)referencesetCorrelator(DemoCorr+CalendargetInstance()getTimeInMillis())

Converting the address to URIURI[] addresses = new URI[1]addresses[0]=new URI(address)

Setting the radius and accuracyfloat fRad = (float) 50float tAcc= (float) 1000

Setting the criteriaENTERING - Triggers the notification when subscriber enters the region specifiedby Latitude Longitude and RadiusLEAVING - Triggers the notification when subscriber leaves the region specifiedby Latitude Longitude and Radius

EnteringLeavingCriteria crt = new EnteringLeavingCriteria(Entering)

CheckImmediate specifies if the location of subscriber needs to checked immediatelyboolean chkImm = false

The frequency of the notificationTimeMetric freq = new TimeMetric()freqsetMetric(new TimeMetrics(Millisecond))freqsetUnits(10000)

The code in Listing 2 shows how the startGeographicalNotification web serviceoperation is invoked

Listing 2 StartNotificationClientjava ndash Invoking the operation

Obtain TL Manager ProxyTerminalLocationNotificationManagerProxy tlProxy =new TerminalLocationNotificationManagerProxy()

Set the endpoint where the Terminal Location Notification Manager web servicetlProxysetEndpoint(url)

Obtain the TL ManagerTerminalLocationNotificationManager tlMgr =tlProxygetTerminalLocationNotificationManager()

Invoke the startGeographicalNotificationSystemoutprintln(Calling the web service)tlMgrstartGeographicalNotification(reference addressesfLat fLong fRad tAcc crt chkImm freq)

NoteIf there are unresolved classes for example EnteringLeavingCriteria change thevisibility of the class to public

Develop TerminalLocationNotification web service implementation

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 9 of 25

For receiving notifications the GeoAlert must implement the Terminal LocationNotification web service and this implementation will be used as a Catcher toreceive the notifications triggered

1 Create a dynamic web project and call it TLCatcherWeb

2 Ensure that the Add project to an EAR check box is selected with EARProject Name being TLCatcherWebEAR

3 Download and copy the Parlay X 21 Terminal Location WSDL files intothe TLCatcherWeb gt WebContent gt WEB-INF gt wsdl folder Todownload see Parlay X 21 Specifications There is a link to it in theResources section

4 Locate the parlayx_terminal_location_notification_service_2_2wsdlfile in the WSDL folder right-click it and from the drop-down menusselect Web Services gt Generate JavaBean skeleton

Figure 4 Generate JavaBean skeleton

Larger view of Figure 4

5 Make sure that you select the following options for these fields (seeFigure 5)

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 10 of 25

bull Web service runtime IBM WebSphere JAX-RPC

bull Service project TLCatcherWeb

bull Service EAR project TLCatcherWebEAR

Figure 5 Configuration settings

Larger view of Figure 5

6 Click Finish After clicking Finish if you are prompted for server startupclick Cancel

7 The skeleton bean created in the previous step contains a set of methodsthat correspond to the operations described in the Terminal LocationNotification WSDL When the bean is created a skeleton for each methodis provided as Listing 3 shows

Listing 3 Terminal Location Notification skeleton code

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 11 of 25

package orgcsapiwwwpublic class TerminalLocationNotificationBindingImplimplements orgcsapiwwwTerminalLocationNotification

This operation is invoked on a successful location notificationpublic void locationNotification(javalangString correlatororgcsapiwwwLocationData[] dataorgcsapiwwwEnteringLeavingCriteria criteria) throws javarmiRemoteException

This operation is invoked on a location notification errorpublic void locationError(javalangString correlator javanetURI addressorgcsapiwwwServiceError reason) throws javarmiRemoteException

This operation is invoked upon location notification endpublic void locationEnd(javalangString correlator) throws javarmiRemoteException

When a Location Notification is received fulfilling Debbies criteria the GeoAlertapplication sends an SMS reminder message to Debbies mobile phone Toaccomplish this the service needs to implement the sendSMS client within thelocationNotification operation and invoke the sendSMS operation

8 To generate the SMS client download and the copyparlayx_sms_send_service_2_2wsdl file into the WSDL folderright-click and select gt Web Services gt Generate Client To downloadplease please see the Parlay X 21 Specifications There is a link to it inthe Resources section

9 Make sure that you select these options

bull Web service runtime IBM WebSphere JAX-RPC

bull Client project TLCatcherWeb

bull Client EAR project TLCatcherWebEAR

Figure 6 Web service client configuration

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 12 of 25

Larger view of Figure 6

This will create a package structure with stubs for the sendSMS operation

The locationNotification method in the TerminalLocationNotificationBindingImpl classis the one that gets invoked or notified when Debbies criteria is satisfied Accordingto the use case defined GeoAlert sends a reminder to Debbie through SMS Listing3 shows sample code for invoking the sendSMS operation of Short MessageService

Listing 4 Terminal Location Notification sample code

This operation is invoked on a successful location notificationpublic void locationNotification(javalangString correlatororgcsapiwwwLocationData[] dataorgcsapiwwwEnteringLeavingCriteria criteria)throws javarmiRemoteException

String smsResp =

Fetch the address from the LocationData elementLater use this address for sendSms operation URI[] addresses = new URI[1]addresses[0] = data[0]getAddress()

Fetch the Location Info in the form of Latitude and LongitudeSend this information in the SMS message to the subscriber

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 13 of 25

float lat = data[0]getCurrentLocation()getLatitude()float lon = data[0]getCurrentLocation()getLongitude()

Set the URL where Send SMS web service is runningString url = httplocalhost9081ParlayX21WebservicesSendSms

tryObtain SendSMS proxySendSmsProxy smsProxy = new SendSmsProxy()

Set endpoint where web service is runningsmsProxysetEndpoint(url)Systemoutprintln(---Endpoint set---)

Obtain the service handlerSendSms smsSvc = smsProxygetSendSms()Systemoutprintln(---Handle to Service obtained Invoking Web Service---)

Compose the SMS messageString msg = Hello Customer Greetings from Location Based Reminder App +You have reached the Location where you had set a reminder +Your current location is Latitude = + lat +Longitude = + lon

Invoke sendSms operation of Short Message ServicesmsResp= smsSvcsendSms(addresses LocationBasedReminderAPP null msg null)Systemoutprintln(---Sent Web Service request---)catch(Exception e)

When the locationNotification method is invoked it sends an SMS message toDebbies mobile device

Test the application on the WebSphere Telecom Toolkit

To test the application that you developed download and use the IBM WebSphereTelecom toolkit There is a link to it in the Resources section This free toolkitenables third-party application developers to quickly build and test rich applicationsinvolving SMS MMS Location Presence and Call control It also provides aplatform to develop proof of technology demonstrations to evaluate solutions and toexplore the various capabilities offered

See IBM Education Assistant - WebSphere Telecom Toolkit for more details Thereis a link to it in the Resources section

Notes

bull WebSphere Application Server v7 profile has been created in the RationalApplication Developer runtimes

bull IBM WebSphere Telecom Toolkit v71 is installed on Rational ApplicationDeveloper v751

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 14 of 25

Deploy and run the Telecom Web Services Simulator

1 Create a WebSphere Application Server v7 profile in Rational ApplicationDeveloper

2 Start the WebSphere server

3 Right-click the server and select Deploy Telecom Web ServicesSimulator (see Figure 7) This deploys an application calledWSSimulatorEAR

Figure 7 Deploy Telecom Web Services Simulator

Larger view of Figure 7

4 After deployment has finished right-click the server (see Figure 8) andselect Run Telecom Web Services Simulator Client

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 15 of 25

Figure 8 Run Telecom Web Services Simulator client

Larger view of Figure 8

There are six runtime views that display all of the simulator configuration andruntime data Activity Call Device Group Presence and Map See the IBMEducation Assistant ndash WebSphere Telecom Toolkit configuration for moreinformation on each of these views

Deploy the application

StartNotificationClient is a stand-alone Java application

The EAR project TLCatcherWebEAR needs to be deployed on a server runtimeFor this purpose use WebSphere Application Server 7 as the runtime engine for thisapplication

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 16 of 25

1 Right-click on WebSphere Application Server 7 (WAS 7) select Add andRemove Projects

2 In the Add and Remove Projects window add TLCatcherWebEAR

3 Click Finish

Now the Terminal Location Notification Web Service (Catcher) is deployed andrunning

Test your application

Before testing the GeoAlert application functionality verify the following -

bull TerminalLocationNotificationManager Endpoint is running This webservice is available as part of Telecom Web Services Simulator toolkithttplocalhost9081ParlayX21WebservicesTerminalLocationNotificationManager(Actual port number might vary)

bull TerminalLocationNotification Endpoint is running This web service wasdeveloped in the previous exercise (TLCatcherWebEAR)httplocalhost9081TLCatcherWebservicesTerminalLocationNotification(Actual port number might vary)

bull Make sure you have set the endpoints correctly in the Java classStartNotificationClientjava

1 Run the Java class StartNotificationClient providing the followingarguments

bull arg1 subscriber_phone_number This number should exist in theTelecom Web Services Simulator For example tel+1-2225552003

bull arg2 latitude For example 003

bull arg3 longitude For example 0002Example java StartNotificationClient tel+1-2225552003003 0002

2 Make sure that the latitude and longitude passed as parameter are in thevicinity of the Map view in the simulatorNote To get the latitude and longitude of a particular location in the mapdrag any of the icons to the particular place and the co-ordinates for thatlocation will be displayed as in Figure 9

3 Go to the Map view of the simulator Choose subscriber Debbie

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 17 of 25

(tel+1-2225552003) by choosing her icon which is a mobile phonegraphic

Figure 9 Map view of the Telecom Web Services Simulator

Larger view of Figure 9

Upon receiving the request from Debbie GeoAlert starts the GeographicalNotification on Debbies account The stand-alone Java application that youdeveloped kicks offs the geographical notification

Notification Started can be verified in the Map view of the toolkit simulator as shownin Figure 10

NoteIf the circular notification area does not appear click Debbies mobile phone icon

Figure 10 Notification set up for Debbie

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 18 of 25

Larger view of Figure 10

4 Switch to the Activity view of the simulator and verify that the notificationactivity has been created under Brown Motors gt Debbie

Figure 11 Activity view showing the notification created for Debbie

Larger view of Figure 11

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 19 of 25

5 Switch back to the Map view

Now Debbie goes shopping and enters the notification area that she wants to bereminded about when she is nearby In the toolkit you can simulate this event bydragging Debbies phone icon inside of the notification ring

Figure 12 Debbie enters the specified area

Larger view of Figure 12

After Debbie enters the notification ring a locationNotification is triggered by theTerminal Location web service The notification triggered is caught by the GeoAlertCatcher application that you developed earlier (TLCatcherWebEAR) so the Catchersends an SMS message to Debbie as a reminder Notice that you invoke thesendSMS operation in the locationNotification method of the Catcher

6 Switch back to the Activity view and verify that Debbie has received theSMS reminder

Figure 13 Reminder sent to Debbie

Larger view of Figure 13

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 20 of 25

Project Interchange with sample code

Ensure that the StartNotificationClient projects build path has a reference to thecomibmwswebservicesthinclient_700jar file that is available inRAD75Homeruntimesbase_v7runtimes

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 21 of 25

Downloads

Description Name Size Downloadmethod

Source code for Scenario 1 TWSS_Usage_Sample_PIzip 115KB HTTP

Information about download methods

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 22 of 25

Resources

Learn

bull Citations in this article

bull IBM Telecom Web Services Access Gateway Information Center v71

bull Service Policy Manager

bull Web Service Implementations

bull REST-style access using HTTP

bull Parlay X 21 Specifications

bull IBM WebSphere Telecom toolkit

bull IBM Education Assistant ndash WebSphere Telecom Toolkit configuration

bull GSMA OneAPI

bull IBM Rational Application Developer Version 75 documentation

bull IBM WebSphere Telecom Web Services Server Version 71 InformationCenter

bull IBM WebSphere Telecom Toolkit Version 71 Education Assistant

bull Find out more about Rational Application Developer

bull Browse the Rational Application Developer for WebSphere Software pageon developerWorks for links to technical articles and many relatedresources

bull Explore the Information Center

bull Visit the Rational software area on developerWorks for technical resources andbest practices for Rational Software Delivery Platform products

bull Stay current with developerWorks technical events and webcasts focusedon a variety of IBM products and IT industry topics

bull Attend a free developerWorks Live briefing to get up-to-speed quickly onIBM products and tools as well as IT industry trends

bull Watch developerWorks on-demand demos ranging from productinstallation and setup demos for beginners to advanced functionality forexperienced developers

bull Improve your skills Check the Rational training and certification catalog which

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 23 of 25

includes many types of courses on a wide range of topics You can take someof them anywhere any time and many of the Getting Started ones are free

Get products and technologies

bull Try Rational Application Developer for WebSphere Software free

bull Evaluate IBM software in the way that suits you best Download it for a trial tryit online use it in a cloud environment or spend a few hours in the SOASandbox learning how to implement service-oriented architecture efficiently

Discuss

bull Join the Development Tools forum to ask questions and participate indiscussions

bull Share your knowledge and help others who use Rational software by writing adeveloperWorks article Youll get worldwide exposure RSS syndication abyline and a bio and the benefit of professional editing and production on thedeveloperWorks Rational website

bull Follow Rational software on Facebook and Twitter (ibmrational) and add yourcomments and requests

bull Ask and answer questions and increase your expertise when you get involvedin the Rational forums cafeacutes and wikis

bull Connect with others who share your interests by joining the developerWorkscommunity and responding to the developer-driven blogs

About the authors

Raghunath NairRaghunath E Nair is a principal software engineer in the IBM IndiaSoftware Lab in Bangalore He joined IBM in 2006 His most recentrole has been in design development and support of software fortelecom for IBM WebSphere software including IBM WebSphereTWSS and IBM WebSphere IMS Connector His areas of expertise aremiddleware integration SOA web services and telecom Heco-authored Using WebSphere Message Broker as an ESB withWebSphere Process Server in the IBM Redbooks series and has aBachelor of Technology degree in Electronics and Communicationsfrom the University of Calicut

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 24 of 25

Chandrashekar NaikChandrashekar B Naik is a staff software engineer in the IBM IndiaSoftware Lab He joined IBM in 2004 and has experience in softwaredesign development and testing His areas of expertise include JavaJ2EE and web services programming including WebSphereApplication Server Telecom Web Services Server Mobile PortalAccelerator pervasive computing and WebSphere software fortelecom He currently focuses on development support and testing ofWebSphere Telecom Web Services Server Chandrashekar is also aSun-Certified Programmer and has a Bachelor of Engineering degree inComputer Science from Visveswaraiah Technological UniversityBelgaum

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 25 of 25

  • Table of Contents
  • Introduction to the IBM WebSphere Telecom Web Services Server
  • How the server fits into the telecom industry
  • Architecture of the Telecom Web Services Server
  • Scenario 1 Create a telecom application with web services
  • Develop the web application
  • Test the application on the WebSphere Telecom Toolkit
  • Deploy the application
  • Downloads
  • Resources
  • About the authors

bull Web service implementations based on Parlay

See the Web Service Implementations of the IBM WebSphere Telecom WebServices Server Version 71 Information Center for more about the availableservices under each category There is a link to it in the Resources section

REST support in TWSS 71

From TWSS v71 onward some of the service implementations are availablethrough simpler REST (Representational State Transfer) interfaces apart fromstandard web services This is based on the GSMA OneAPI (Open Network EnablerAPI) v09 specification which is a set of specifications for network operators forexposing their network capabilities to third-party application developers There is alink to it in the Resources section As of TWSS 71 the following operations aresupported through REST

Terminal Location

bull getLocation

Payment

bull chargeAmount

bull refundAmount

SMS

bull sendSms

bull getSmsDeliveryStatus

bull getReceivedSms

See REST-style access using HTTP in the IBM WebSphere Telecom WebServices Server Version 71 Information Center for details on each of the aboveoperations There is a link to it in the Resources section

The rest of this article focuses on the different ways in which the network capabilitiesexposed by IBM TWSS can be used to develop telecom applications

Scenario 1 Create a telecom application with web services

This scenario demonstrates how to develop a telecom application by using the ShortMessage Service (SMS) and Terminal Location web services exposed by TWSS

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 4 of 25

The use case

1 Debbie registers as a subscriber to a third-party application GeoAlertwhere she has registered for a location-based reminder service thatreminds her when she is near a particular geographical area

2 Upon receiving the request the GeoAlert application starts a geographicalnotification using the Parlay X Terminal Location web service GeoAlertrequests the Terminal Location web service to send a notification at aparticular URL when Debbie enters the specified area

3 When Debbie enters the specified area a location notification is triggeredGeoAlert is notified at the URL specified while starting the geographicalnotification This URL is typically called the Catcher URL or simplyCatcher

4 Upon receiving the location notification GeoAlert sends an SMS(reminder message) to Debbie

Develop the web application

Follow these steps to begin developing the application

1 Generate TerminalLocationNotificationManager web service clientThis serves as a web service client to invoke the Parlay X TerminalLocation web service The client invokes the startGeographicalNotificationoperation of TerminalLocationNotificationManager interface

2 Develop TerminalLocationNotification web service implementationThis serves as a web service Catcher (to receive the notificationstriggered) This web service endpoint is set while triggering thestartGeographicalNotification such that it serves as a Catcher applicationto receive the notifications To accomplish our use case we will besending an SMS (reminder) message from this web serviceimplementation upon receiving the notification

3 Test your applicationThese steps demonstrate how to test the application developed usingIBM WebSphere Telecom Toolkit

Tools

bull IBM Rational Application Developer Version 751 We use this for all

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 5 of 25

of the steps because it simplifies the generation of client and web serviceimplementation

bull IBM WebSphere Telecom Toolkit Version 7 Toolkit will be installed intoRational Application Developer It enables third-party applicationdevelopers to quickly build and test rich applications involving SMSMMS Location Presence and Call control It also provides a platform todevelop Proof of Technology (demos) evaluate solutions and explore thevarious capabilities offered It also serves as a simulator for IBMWebSphere Telecom Web Services Server

Generate a TerminalLocationNotificationManager web service client

1 Start Rational Application Developer and create a new Java projectcalled StartNotificationClient

2 Create a folder named WSDL under the Java project

3 Download and copy the Parlay X 21 Terminal Location WSDL files to theWSDL folder that you created To download see the Parlay X 21Specifications There is a link to it in the Resources section

4 Locateparlayx_terminal_location_notification_manager_service_2_3wsdlin the WSDL folder right-click and from the drop-down menus selectWeb Services gt Generate Client

Figure 2 Generate Terminal Location Notification Manager Client

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 6 of 25

Larger view of Figure 2

5 Make sure that you select these options

bull Web service runtime IBM WebSphere JAX-RPC

bull Client project StartNotificationClient

Figure 3 Select the web service runtime option

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 7 of 25

Larger view of Figure 3

6 Click Finish

7 Now create a Java class under the comibmclient package calledStartNotificationClientjava

Note The entire Java code is provided as a Project Interchange in the Downloadssection Make sure that StartNotificationClient projects build path has a reference tothe comibmwswebservicesthinclient_700jar file available inltRAD75Homegtruntimesbase_v7runtimes

Code Listing 1 shows sample code for the StartNotificationClientjava packagewhich actually invokes the startGeographicalNotification operation of the TerminalLocation service This piece of code in effect starts monitoring the location ofDebbie The code in Listing 1 creates the different objects required by thestartGeographicalNotification operation

Listing 1 StartNotificationClientjava ndash Setting the parameters

Subscriber sends location information in the form of Latitude and LongitudeString address = args[0]float fLat = (float) FloatparseFloat(args[1])float fLong = (float) FloatparseFloat(args[2])

Setting the Reference object Reference specifies the endpoint where the

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 8 of 25

location notification need to sent by the terminal location web service

SimpleReference reference = new SimpleReference()URI endpoint =new URI(httplocalhost9081TestWebservicesTerminalLocationNotification)referencesetEndpoint(endpoint)referencesetInterfaceName(TerminalLocation)referencesetCorrelator(DemoCorr+CalendargetInstance()getTimeInMillis())

Converting the address to URIURI[] addresses = new URI[1]addresses[0]=new URI(address)

Setting the radius and accuracyfloat fRad = (float) 50float tAcc= (float) 1000

Setting the criteriaENTERING - Triggers the notification when subscriber enters the region specifiedby Latitude Longitude and RadiusLEAVING - Triggers the notification when subscriber leaves the region specifiedby Latitude Longitude and Radius

EnteringLeavingCriteria crt = new EnteringLeavingCriteria(Entering)

CheckImmediate specifies if the location of subscriber needs to checked immediatelyboolean chkImm = false

The frequency of the notificationTimeMetric freq = new TimeMetric()freqsetMetric(new TimeMetrics(Millisecond))freqsetUnits(10000)

The code in Listing 2 shows how the startGeographicalNotification web serviceoperation is invoked

Listing 2 StartNotificationClientjava ndash Invoking the operation

Obtain TL Manager ProxyTerminalLocationNotificationManagerProxy tlProxy =new TerminalLocationNotificationManagerProxy()

Set the endpoint where the Terminal Location Notification Manager web servicetlProxysetEndpoint(url)

Obtain the TL ManagerTerminalLocationNotificationManager tlMgr =tlProxygetTerminalLocationNotificationManager()

Invoke the startGeographicalNotificationSystemoutprintln(Calling the web service)tlMgrstartGeographicalNotification(reference addressesfLat fLong fRad tAcc crt chkImm freq)

NoteIf there are unresolved classes for example EnteringLeavingCriteria change thevisibility of the class to public

Develop TerminalLocationNotification web service implementation

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 9 of 25

For receiving notifications the GeoAlert must implement the Terminal LocationNotification web service and this implementation will be used as a Catcher toreceive the notifications triggered

1 Create a dynamic web project and call it TLCatcherWeb

2 Ensure that the Add project to an EAR check box is selected with EARProject Name being TLCatcherWebEAR

3 Download and copy the Parlay X 21 Terminal Location WSDL files intothe TLCatcherWeb gt WebContent gt WEB-INF gt wsdl folder Todownload see Parlay X 21 Specifications There is a link to it in theResources section

4 Locate the parlayx_terminal_location_notification_service_2_2wsdlfile in the WSDL folder right-click it and from the drop-down menusselect Web Services gt Generate JavaBean skeleton

Figure 4 Generate JavaBean skeleton

Larger view of Figure 4

5 Make sure that you select the following options for these fields (seeFigure 5)

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 10 of 25

bull Web service runtime IBM WebSphere JAX-RPC

bull Service project TLCatcherWeb

bull Service EAR project TLCatcherWebEAR

Figure 5 Configuration settings

Larger view of Figure 5

6 Click Finish After clicking Finish if you are prompted for server startupclick Cancel

7 The skeleton bean created in the previous step contains a set of methodsthat correspond to the operations described in the Terminal LocationNotification WSDL When the bean is created a skeleton for each methodis provided as Listing 3 shows

Listing 3 Terminal Location Notification skeleton code

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 11 of 25

package orgcsapiwwwpublic class TerminalLocationNotificationBindingImplimplements orgcsapiwwwTerminalLocationNotification

This operation is invoked on a successful location notificationpublic void locationNotification(javalangString correlatororgcsapiwwwLocationData[] dataorgcsapiwwwEnteringLeavingCriteria criteria) throws javarmiRemoteException

This operation is invoked on a location notification errorpublic void locationError(javalangString correlator javanetURI addressorgcsapiwwwServiceError reason) throws javarmiRemoteException

This operation is invoked upon location notification endpublic void locationEnd(javalangString correlator) throws javarmiRemoteException

When a Location Notification is received fulfilling Debbies criteria the GeoAlertapplication sends an SMS reminder message to Debbies mobile phone Toaccomplish this the service needs to implement the sendSMS client within thelocationNotification operation and invoke the sendSMS operation

8 To generate the SMS client download and the copyparlayx_sms_send_service_2_2wsdl file into the WSDL folderright-click and select gt Web Services gt Generate Client To downloadplease please see the Parlay X 21 Specifications There is a link to it inthe Resources section

9 Make sure that you select these options

bull Web service runtime IBM WebSphere JAX-RPC

bull Client project TLCatcherWeb

bull Client EAR project TLCatcherWebEAR

Figure 6 Web service client configuration

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 12 of 25

Larger view of Figure 6

This will create a package structure with stubs for the sendSMS operation

The locationNotification method in the TerminalLocationNotificationBindingImpl classis the one that gets invoked or notified when Debbies criteria is satisfied Accordingto the use case defined GeoAlert sends a reminder to Debbie through SMS Listing3 shows sample code for invoking the sendSMS operation of Short MessageService

Listing 4 Terminal Location Notification sample code

This operation is invoked on a successful location notificationpublic void locationNotification(javalangString correlatororgcsapiwwwLocationData[] dataorgcsapiwwwEnteringLeavingCriteria criteria)throws javarmiRemoteException

String smsResp =

Fetch the address from the LocationData elementLater use this address for sendSms operation URI[] addresses = new URI[1]addresses[0] = data[0]getAddress()

Fetch the Location Info in the form of Latitude and LongitudeSend this information in the SMS message to the subscriber

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 13 of 25

float lat = data[0]getCurrentLocation()getLatitude()float lon = data[0]getCurrentLocation()getLongitude()

Set the URL where Send SMS web service is runningString url = httplocalhost9081ParlayX21WebservicesSendSms

tryObtain SendSMS proxySendSmsProxy smsProxy = new SendSmsProxy()

Set endpoint where web service is runningsmsProxysetEndpoint(url)Systemoutprintln(---Endpoint set---)

Obtain the service handlerSendSms smsSvc = smsProxygetSendSms()Systemoutprintln(---Handle to Service obtained Invoking Web Service---)

Compose the SMS messageString msg = Hello Customer Greetings from Location Based Reminder App +You have reached the Location where you had set a reminder +Your current location is Latitude = + lat +Longitude = + lon

Invoke sendSms operation of Short Message ServicesmsResp= smsSvcsendSms(addresses LocationBasedReminderAPP null msg null)Systemoutprintln(---Sent Web Service request---)catch(Exception e)

When the locationNotification method is invoked it sends an SMS message toDebbies mobile device

Test the application on the WebSphere Telecom Toolkit

To test the application that you developed download and use the IBM WebSphereTelecom toolkit There is a link to it in the Resources section This free toolkitenables third-party application developers to quickly build and test rich applicationsinvolving SMS MMS Location Presence and Call control It also provides aplatform to develop proof of technology demonstrations to evaluate solutions and toexplore the various capabilities offered

See IBM Education Assistant - WebSphere Telecom Toolkit for more details Thereis a link to it in the Resources section

Notes

bull WebSphere Application Server v7 profile has been created in the RationalApplication Developer runtimes

bull IBM WebSphere Telecom Toolkit v71 is installed on Rational ApplicationDeveloper v751

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 14 of 25

Deploy and run the Telecom Web Services Simulator

1 Create a WebSphere Application Server v7 profile in Rational ApplicationDeveloper

2 Start the WebSphere server

3 Right-click the server and select Deploy Telecom Web ServicesSimulator (see Figure 7) This deploys an application calledWSSimulatorEAR

Figure 7 Deploy Telecom Web Services Simulator

Larger view of Figure 7

4 After deployment has finished right-click the server (see Figure 8) andselect Run Telecom Web Services Simulator Client

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 15 of 25

Figure 8 Run Telecom Web Services Simulator client

Larger view of Figure 8

There are six runtime views that display all of the simulator configuration andruntime data Activity Call Device Group Presence and Map See the IBMEducation Assistant ndash WebSphere Telecom Toolkit configuration for moreinformation on each of these views

Deploy the application

StartNotificationClient is a stand-alone Java application

The EAR project TLCatcherWebEAR needs to be deployed on a server runtimeFor this purpose use WebSphere Application Server 7 as the runtime engine for thisapplication

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 16 of 25

1 Right-click on WebSphere Application Server 7 (WAS 7) select Add andRemove Projects

2 In the Add and Remove Projects window add TLCatcherWebEAR

3 Click Finish

Now the Terminal Location Notification Web Service (Catcher) is deployed andrunning

Test your application

Before testing the GeoAlert application functionality verify the following -

bull TerminalLocationNotificationManager Endpoint is running This webservice is available as part of Telecom Web Services Simulator toolkithttplocalhost9081ParlayX21WebservicesTerminalLocationNotificationManager(Actual port number might vary)

bull TerminalLocationNotification Endpoint is running This web service wasdeveloped in the previous exercise (TLCatcherWebEAR)httplocalhost9081TLCatcherWebservicesTerminalLocationNotification(Actual port number might vary)

bull Make sure you have set the endpoints correctly in the Java classStartNotificationClientjava

1 Run the Java class StartNotificationClient providing the followingarguments

bull arg1 subscriber_phone_number This number should exist in theTelecom Web Services Simulator For example tel+1-2225552003

bull arg2 latitude For example 003

bull arg3 longitude For example 0002Example java StartNotificationClient tel+1-2225552003003 0002

2 Make sure that the latitude and longitude passed as parameter are in thevicinity of the Map view in the simulatorNote To get the latitude and longitude of a particular location in the mapdrag any of the icons to the particular place and the co-ordinates for thatlocation will be displayed as in Figure 9

3 Go to the Map view of the simulator Choose subscriber Debbie

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 17 of 25

(tel+1-2225552003) by choosing her icon which is a mobile phonegraphic

Figure 9 Map view of the Telecom Web Services Simulator

Larger view of Figure 9

Upon receiving the request from Debbie GeoAlert starts the GeographicalNotification on Debbies account The stand-alone Java application that youdeveloped kicks offs the geographical notification

Notification Started can be verified in the Map view of the toolkit simulator as shownin Figure 10

NoteIf the circular notification area does not appear click Debbies mobile phone icon

Figure 10 Notification set up for Debbie

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 18 of 25

Larger view of Figure 10

4 Switch to the Activity view of the simulator and verify that the notificationactivity has been created under Brown Motors gt Debbie

Figure 11 Activity view showing the notification created for Debbie

Larger view of Figure 11

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 19 of 25

5 Switch back to the Map view

Now Debbie goes shopping and enters the notification area that she wants to bereminded about when she is nearby In the toolkit you can simulate this event bydragging Debbies phone icon inside of the notification ring

Figure 12 Debbie enters the specified area

Larger view of Figure 12

After Debbie enters the notification ring a locationNotification is triggered by theTerminal Location web service The notification triggered is caught by the GeoAlertCatcher application that you developed earlier (TLCatcherWebEAR) so the Catchersends an SMS message to Debbie as a reminder Notice that you invoke thesendSMS operation in the locationNotification method of the Catcher

6 Switch back to the Activity view and verify that Debbie has received theSMS reminder

Figure 13 Reminder sent to Debbie

Larger view of Figure 13

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 20 of 25

Project Interchange with sample code

Ensure that the StartNotificationClient projects build path has a reference to thecomibmwswebservicesthinclient_700jar file that is available inRAD75Homeruntimesbase_v7runtimes

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 21 of 25

Downloads

Description Name Size Downloadmethod

Source code for Scenario 1 TWSS_Usage_Sample_PIzip 115KB HTTP

Information about download methods

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 22 of 25

Resources

Learn

bull Citations in this article

bull IBM Telecom Web Services Access Gateway Information Center v71

bull Service Policy Manager

bull Web Service Implementations

bull REST-style access using HTTP

bull Parlay X 21 Specifications

bull IBM WebSphere Telecom toolkit

bull IBM Education Assistant ndash WebSphere Telecom Toolkit configuration

bull GSMA OneAPI

bull IBM Rational Application Developer Version 75 documentation

bull IBM WebSphere Telecom Web Services Server Version 71 InformationCenter

bull IBM WebSphere Telecom Toolkit Version 71 Education Assistant

bull Find out more about Rational Application Developer

bull Browse the Rational Application Developer for WebSphere Software pageon developerWorks for links to technical articles and many relatedresources

bull Explore the Information Center

bull Visit the Rational software area on developerWorks for technical resources andbest practices for Rational Software Delivery Platform products

bull Stay current with developerWorks technical events and webcasts focusedon a variety of IBM products and IT industry topics

bull Attend a free developerWorks Live briefing to get up-to-speed quickly onIBM products and tools as well as IT industry trends

bull Watch developerWorks on-demand demos ranging from productinstallation and setup demos for beginners to advanced functionality forexperienced developers

bull Improve your skills Check the Rational training and certification catalog which

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 23 of 25

includes many types of courses on a wide range of topics You can take someof them anywhere any time and many of the Getting Started ones are free

Get products and technologies

bull Try Rational Application Developer for WebSphere Software free

bull Evaluate IBM software in the way that suits you best Download it for a trial tryit online use it in a cloud environment or spend a few hours in the SOASandbox learning how to implement service-oriented architecture efficiently

Discuss

bull Join the Development Tools forum to ask questions and participate indiscussions

bull Share your knowledge and help others who use Rational software by writing adeveloperWorks article Youll get worldwide exposure RSS syndication abyline and a bio and the benefit of professional editing and production on thedeveloperWorks Rational website

bull Follow Rational software on Facebook and Twitter (ibmrational) and add yourcomments and requests

bull Ask and answer questions and increase your expertise when you get involvedin the Rational forums cafeacutes and wikis

bull Connect with others who share your interests by joining the developerWorkscommunity and responding to the developer-driven blogs

About the authors

Raghunath NairRaghunath E Nair is a principal software engineer in the IBM IndiaSoftware Lab in Bangalore He joined IBM in 2006 His most recentrole has been in design development and support of software fortelecom for IBM WebSphere software including IBM WebSphereTWSS and IBM WebSphere IMS Connector His areas of expertise aremiddleware integration SOA web services and telecom Heco-authored Using WebSphere Message Broker as an ESB withWebSphere Process Server in the IBM Redbooks series and has aBachelor of Technology degree in Electronics and Communicationsfrom the University of Calicut

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 24 of 25

Chandrashekar NaikChandrashekar B Naik is a staff software engineer in the IBM IndiaSoftware Lab He joined IBM in 2004 and has experience in softwaredesign development and testing His areas of expertise include JavaJ2EE and web services programming including WebSphereApplication Server Telecom Web Services Server Mobile PortalAccelerator pervasive computing and WebSphere software fortelecom He currently focuses on development support and testing ofWebSphere Telecom Web Services Server Chandrashekar is also aSun-Certified Programmer and has a Bachelor of Engineering degree inComputer Science from Visveswaraiah Technological UniversityBelgaum

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 25 of 25

  • Table of Contents
  • Introduction to the IBM WebSphere Telecom Web Services Server
  • How the server fits into the telecom industry
  • Architecture of the Telecom Web Services Server
  • Scenario 1 Create a telecom application with web services
  • Develop the web application
  • Test the application on the WebSphere Telecom Toolkit
  • Deploy the application
  • Downloads
  • Resources
  • About the authors

The use case

1 Debbie registers as a subscriber to a third-party application GeoAlertwhere she has registered for a location-based reminder service thatreminds her when she is near a particular geographical area

2 Upon receiving the request the GeoAlert application starts a geographicalnotification using the Parlay X Terminal Location web service GeoAlertrequests the Terminal Location web service to send a notification at aparticular URL when Debbie enters the specified area

3 When Debbie enters the specified area a location notification is triggeredGeoAlert is notified at the URL specified while starting the geographicalnotification This URL is typically called the Catcher URL or simplyCatcher

4 Upon receiving the location notification GeoAlert sends an SMS(reminder message) to Debbie

Develop the web application

Follow these steps to begin developing the application

1 Generate TerminalLocationNotificationManager web service clientThis serves as a web service client to invoke the Parlay X TerminalLocation web service The client invokes the startGeographicalNotificationoperation of TerminalLocationNotificationManager interface

2 Develop TerminalLocationNotification web service implementationThis serves as a web service Catcher (to receive the notificationstriggered) This web service endpoint is set while triggering thestartGeographicalNotification such that it serves as a Catcher applicationto receive the notifications To accomplish our use case we will besending an SMS (reminder) message from this web serviceimplementation upon receiving the notification

3 Test your applicationThese steps demonstrate how to test the application developed usingIBM WebSphere Telecom Toolkit

Tools

bull IBM Rational Application Developer Version 751 We use this for all

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 5 of 25

of the steps because it simplifies the generation of client and web serviceimplementation

bull IBM WebSphere Telecom Toolkit Version 7 Toolkit will be installed intoRational Application Developer It enables third-party applicationdevelopers to quickly build and test rich applications involving SMSMMS Location Presence and Call control It also provides a platform todevelop Proof of Technology (demos) evaluate solutions and explore thevarious capabilities offered It also serves as a simulator for IBMWebSphere Telecom Web Services Server

Generate a TerminalLocationNotificationManager web service client

1 Start Rational Application Developer and create a new Java projectcalled StartNotificationClient

2 Create a folder named WSDL under the Java project

3 Download and copy the Parlay X 21 Terminal Location WSDL files to theWSDL folder that you created To download see the Parlay X 21Specifications There is a link to it in the Resources section

4 Locateparlayx_terminal_location_notification_manager_service_2_3wsdlin the WSDL folder right-click and from the drop-down menus selectWeb Services gt Generate Client

Figure 2 Generate Terminal Location Notification Manager Client

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 6 of 25

Larger view of Figure 2

5 Make sure that you select these options

bull Web service runtime IBM WebSphere JAX-RPC

bull Client project StartNotificationClient

Figure 3 Select the web service runtime option

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 7 of 25

Larger view of Figure 3

6 Click Finish

7 Now create a Java class under the comibmclient package calledStartNotificationClientjava

Note The entire Java code is provided as a Project Interchange in the Downloadssection Make sure that StartNotificationClient projects build path has a reference tothe comibmwswebservicesthinclient_700jar file available inltRAD75Homegtruntimesbase_v7runtimes

Code Listing 1 shows sample code for the StartNotificationClientjava packagewhich actually invokes the startGeographicalNotification operation of the TerminalLocation service This piece of code in effect starts monitoring the location ofDebbie The code in Listing 1 creates the different objects required by thestartGeographicalNotification operation

Listing 1 StartNotificationClientjava ndash Setting the parameters

Subscriber sends location information in the form of Latitude and LongitudeString address = args[0]float fLat = (float) FloatparseFloat(args[1])float fLong = (float) FloatparseFloat(args[2])

Setting the Reference object Reference specifies the endpoint where the

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 8 of 25

location notification need to sent by the terminal location web service

SimpleReference reference = new SimpleReference()URI endpoint =new URI(httplocalhost9081TestWebservicesTerminalLocationNotification)referencesetEndpoint(endpoint)referencesetInterfaceName(TerminalLocation)referencesetCorrelator(DemoCorr+CalendargetInstance()getTimeInMillis())

Converting the address to URIURI[] addresses = new URI[1]addresses[0]=new URI(address)

Setting the radius and accuracyfloat fRad = (float) 50float tAcc= (float) 1000

Setting the criteriaENTERING - Triggers the notification when subscriber enters the region specifiedby Latitude Longitude and RadiusLEAVING - Triggers the notification when subscriber leaves the region specifiedby Latitude Longitude and Radius

EnteringLeavingCriteria crt = new EnteringLeavingCriteria(Entering)

CheckImmediate specifies if the location of subscriber needs to checked immediatelyboolean chkImm = false

The frequency of the notificationTimeMetric freq = new TimeMetric()freqsetMetric(new TimeMetrics(Millisecond))freqsetUnits(10000)

The code in Listing 2 shows how the startGeographicalNotification web serviceoperation is invoked

Listing 2 StartNotificationClientjava ndash Invoking the operation

Obtain TL Manager ProxyTerminalLocationNotificationManagerProxy tlProxy =new TerminalLocationNotificationManagerProxy()

Set the endpoint where the Terminal Location Notification Manager web servicetlProxysetEndpoint(url)

Obtain the TL ManagerTerminalLocationNotificationManager tlMgr =tlProxygetTerminalLocationNotificationManager()

Invoke the startGeographicalNotificationSystemoutprintln(Calling the web service)tlMgrstartGeographicalNotification(reference addressesfLat fLong fRad tAcc crt chkImm freq)

NoteIf there are unresolved classes for example EnteringLeavingCriteria change thevisibility of the class to public

Develop TerminalLocationNotification web service implementation

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 9 of 25

For receiving notifications the GeoAlert must implement the Terminal LocationNotification web service and this implementation will be used as a Catcher toreceive the notifications triggered

1 Create a dynamic web project and call it TLCatcherWeb

2 Ensure that the Add project to an EAR check box is selected with EARProject Name being TLCatcherWebEAR

3 Download and copy the Parlay X 21 Terminal Location WSDL files intothe TLCatcherWeb gt WebContent gt WEB-INF gt wsdl folder Todownload see Parlay X 21 Specifications There is a link to it in theResources section

4 Locate the parlayx_terminal_location_notification_service_2_2wsdlfile in the WSDL folder right-click it and from the drop-down menusselect Web Services gt Generate JavaBean skeleton

Figure 4 Generate JavaBean skeleton

Larger view of Figure 4

5 Make sure that you select the following options for these fields (seeFigure 5)

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 10 of 25

bull Web service runtime IBM WebSphere JAX-RPC

bull Service project TLCatcherWeb

bull Service EAR project TLCatcherWebEAR

Figure 5 Configuration settings

Larger view of Figure 5

6 Click Finish After clicking Finish if you are prompted for server startupclick Cancel

7 The skeleton bean created in the previous step contains a set of methodsthat correspond to the operations described in the Terminal LocationNotification WSDL When the bean is created a skeleton for each methodis provided as Listing 3 shows

Listing 3 Terminal Location Notification skeleton code

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 11 of 25

package orgcsapiwwwpublic class TerminalLocationNotificationBindingImplimplements orgcsapiwwwTerminalLocationNotification

This operation is invoked on a successful location notificationpublic void locationNotification(javalangString correlatororgcsapiwwwLocationData[] dataorgcsapiwwwEnteringLeavingCriteria criteria) throws javarmiRemoteException

This operation is invoked on a location notification errorpublic void locationError(javalangString correlator javanetURI addressorgcsapiwwwServiceError reason) throws javarmiRemoteException

This operation is invoked upon location notification endpublic void locationEnd(javalangString correlator) throws javarmiRemoteException

When a Location Notification is received fulfilling Debbies criteria the GeoAlertapplication sends an SMS reminder message to Debbies mobile phone Toaccomplish this the service needs to implement the sendSMS client within thelocationNotification operation and invoke the sendSMS operation

8 To generate the SMS client download and the copyparlayx_sms_send_service_2_2wsdl file into the WSDL folderright-click and select gt Web Services gt Generate Client To downloadplease please see the Parlay X 21 Specifications There is a link to it inthe Resources section

9 Make sure that you select these options

bull Web service runtime IBM WebSphere JAX-RPC

bull Client project TLCatcherWeb

bull Client EAR project TLCatcherWebEAR

Figure 6 Web service client configuration

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 12 of 25

Larger view of Figure 6

This will create a package structure with stubs for the sendSMS operation

The locationNotification method in the TerminalLocationNotificationBindingImpl classis the one that gets invoked or notified when Debbies criteria is satisfied Accordingto the use case defined GeoAlert sends a reminder to Debbie through SMS Listing3 shows sample code for invoking the sendSMS operation of Short MessageService

Listing 4 Terminal Location Notification sample code

This operation is invoked on a successful location notificationpublic void locationNotification(javalangString correlatororgcsapiwwwLocationData[] dataorgcsapiwwwEnteringLeavingCriteria criteria)throws javarmiRemoteException

String smsResp =

Fetch the address from the LocationData elementLater use this address for sendSms operation URI[] addresses = new URI[1]addresses[0] = data[0]getAddress()

Fetch the Location Info in the form of Latitude and LongitudeSend this information in the SMS message to the subscriber

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 13 of 25

float lat = data[0]getCurrentLocation()getLatitude()float lon = data[0]getCurrentLocation()getLongitude()

Set the URL where Send SMS web service is runningString url = httplocalhost9081ParlayX21WebservicesSendSms

tryObtain SendSMS proxySendSmsProxy smsProxy = new SendSmsProxy()

Set endpoint where web service is runningsmsProxysetEndpoint(url)Systemoutprintln(---Endpoint set---)

Obtain the service handlerSendSms smsSvc = smsProxygetSendSms()Systemoutprintln(---Handle to Service obtained Invoking Web Service---)

Compose the SMS messageString msg = Hello Customer Greetings from Location Based Reminder App +You have reached the Location where you had set a reminder +Your current location is Latitude = + lat +Longitude = + lon

Invoke sendSms operation of Short Message ServicesmsResp= smsSvcsendSms(addresses LocationBasedReminderAPP null msg null)Systemoutprintln(---Sent Web Service request---)catch(Exception e)

When the locationNotification method is invoked it sends an SMS message toDebbies mobile device

Test the application on the WebSphere Telecom Toolkit

To test the application that you developed download and use the IBM WebSphereTelecom toolkit There is a link to it in the Resources section This free toolkitenables third-party application developers to quickly build and test rich applicationsinvolving SMS MMS Location Presence and Call control It also provides aplatform to develop proof of technology demonstrations to evaluate solutions and toexplore the various capabilities offered

See IBM Education Assistant - WebSphere Telecom Toolkit for more details Thereis a link to it in the Resources section

Notes

bull WebSphere Application Server v7 profile has been created in the RationalApplication Developer runtimes

bull IBM WebSphere Telecom Toolkit v71 is installed on Rational ApplicationDeveloper v751

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 14 of 25

Deploy and run the Telecom Web Services Simulator

1 Create a WebSphere Application Server v7 profile in Rational ApplicationDeveloper

2 Start the WebSphere server

3 Right-click the server and select Deploy Telecom Web ServicesSimulator (see Figure 7) This deploys an application calledWSSimulatorEAR

Figure 7 Deploy Telecom Web Services Simulator

Larger view of Figure 7

4 After deployment has finished right-click the server (see Figure 8) andselect Run Telecom Web Services Simulator Client

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 15 of 25

Figure 8 Run Telecom Web Services Simulator client

Larger view of Figure 8

There are six runtime views that display all of the simulator configuration andruntime data Activity Call Device Group Presence and Map See the IBMEducation Assistant ndash WebSphere Telecom Toolkit configuration for moreinformation on each of these views

Deploy the application

StartNotificationClient is a stand-alone Java application

The EAR project TLCatcherWebEAR needs to be deployed on a server runtimeFor this purpose use WebSphere Application Server 7 as the runtime engine for thisapplication

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 16 of 25

1 Right-click on WebSphere Application Server 7 (WAS 7) select Add andRemove Projects

2 In the Add and Remove Projects window add TLCatcherWebEAR

3 Click Finish

Now the Terminal Location Notification Web Service (Catcher) is deployed andrunning

Test your application

Before testing the GeoAlert application functionality verify the following -

bull TerminalLocationNotificationManager Endpoint is running This webservice is available as part of Telecom Web Services Simulator toolkithttplocalhost9081ParlayX21WebservicesTerminalLocationNotificationManager(Actual port number might vary)

bull TerminalLocationNotification Endpoint is running This web service wasdeveloped in the previous exercise (TLCatcherWebEAR)httplocalhost9081TLCatcherWebservicesTerminalLocationNotification(Actual port number might vary)

bull Make sure you have set the endpoints correctly in the Java classStartNotificationClientjava

1 Run the Java class StartNotificationClient providing the followingarguments

bull arg1 subscriber_phone_number This number should exist in theTelecom Web Services Simulator For example tel+1-2225552003

bull arg2 latitude For example 003

bull arg3 longitude For example 0002Example java StartNotificationClient tel+1-2225552003003 0002

2 Make sure that the latitude and longitude passed as parameter are in thevicinity of the Map view in the simulatorNote To get the latitude and longitude of a particular location in the mapdrag any of the icons to the particular place and the co-ordinates for thatlocation will be displayed as in Figure 9

3 Go to the Map view of the simulator Choose subscriber Debbie

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 17 of 25

(tel+1-2225552003) by choosing her icon which is a mobile phonegraphic

Figure 9 Map view of the Telecom Web Services Simulator

Larger view of Figure 9

Upon receiving the request from Debbie GeoAlert starts the GeographicalNotification on Debbies account The stand-alone Java application that youdeveloped kicks offs the geographical notification

Notification Started can be verified in the Map view of the toolkit simulator as shownin Figure 10

NoteIf the circular notification area does not appear click Debbies mobile phone icon

Figure 10 Notification set up for Debbie

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 18 of 25

Larger view of Figure 10

4 Switch to the Activity view of the simulator and verify that the notificationactivity has been created under Brown Motors gt Debbie

Figure 11 Activity view showing the notification created for Debbie

Larger view of Figure 11

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 19 of 25

5 Switch back to the Map view

Now Debbie goes shopping and enters the notification area that she wants to bereminded about when she is nearby In the toolkit you can simulate this event bydragging Debbies phone icon inside of the notification ring

Figure 12 Debbie enters the specified area

Larger view of Figure 12

After Debbie enters the notification ring a locationNotification is triggered by theTerminal Location web service The notification triggered is caught by the GeoAlertCatcher application that you developed earlier (TLCatcherWebEAR) so the Catchersends an SMS message to Debbie as a reminder Notice that you invoke thesendSMS operation in the locationNotification method of the Catcher

6 Switch back to the Activity view and verify that Debbie has received theSMS reminder

Figure 13 Reminder sent to Debbie

Larger view of Figure 13

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 20 of 25

Project Interchange with sample code

Ensure that the StartNotificationClient projects build path has a reference to thecomibmwswebservicesthinclient_700jar file that is available inRAD75Homeruntimesbase_v7runtimes

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 21 of 25

Downloads

Description Name Size Downloadmethod

Source code for Scenario 1 TWSS_Usage_Sample_PIzip 115KB HTTP

Information about download methods

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 22 of 25

Resources

Learn

bull Citations in this article

bull IBM Telecom Web Services Access Gateway Information Center v71

bull Service Policy Manager

bull Web Service Implementations

bull REST-style access using HTTP

bull Parlay X 21 Specifications

bull IBM WebSphere Telecom toolkit

bull IBM Education Assistant ndash WebSphere Telecom Toolkit configuration

bull GSMA OneAPI

bull IBM Rational Application Developer Version 75 documentation

bull IBM WebSphere Telecom Web Services Server Version 71 InformationCenter

bull IBM WebSphere Telecom Toolkit Version 71 Education Assistant

bull Find out more about Rational Application Developer

bull Browse the Rational Application Developer for WebSphere Software pageon developerWorks for links to technical articles and many relatedresources

bull Explore the Information Center

bull Visit the Rational software area on developerWorks for technical resources andbest practices for Rational Software Delivery Platform products

bull Stay current with developerWorks technical events and webcasts focusedon a variety of IBM products and IT industry topics

bull Attend a free developerWorks Live briefing to get up-to-speed quickly onIBM products and tools as well as IT industry trends

bull Watch developerWorks on-demand demos ranging from productinstallation and setup demos for beginners to advanced functionality forexperienced developers

bull Improve your skills Check the Rational training and certification catalog which

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 23 of 25

includes many types of courses on a wide range of topics You can take someof them anywhere any time and many of the Getting Started ones are free

Get products and technologies

bull Try Rational Application Developer for WebSphere Software free

bull Evaluate IBM software in the way that suits you best Download it for a trial tryit online use it in a cloud environment or spend a few hours in the SOASandbox learning how to implement service-oriented architecture efficiently

Discuss

bull Join the Development Tools forum to ask questions and participate indiscussions

bull Share your knowledge and help others who use Rational software by writing adeveloperWorks article Youll get worldwide exposure RSS syndication abyline and a bio and the benefit of professional editing and production on thedeveloperWorks Rational website

bull Follow Rational software on Facebook and Twitter (ibmrational) and add yourcomments and requests

bull Ask and answer questions and increase your expertise when you get involvedin the Rational forums cafeacutes and wikis

bull Connect with others who share your interests by joining the developerWorkscommunity and responding to the developer-driven blogs

About the authors

Raghunath NairRaghunath E Nair is a principal software engineer in the IBM IndiaSoftware Lab in Bangalore He joined IBM in 2006 His most recentrole has been in design development and support of software fortelecom for IBM WebSphere software including IBM WebSphereTWSS and IBM WebSphere IMS Connector His areas of expertise aremiddleware integration SOA web services and telecom Heco-authored Using WebSphere Message Broker as an ESB withWebSphere Process Server in the IBM Redbooks series and has aBachelor of Technology degree in Electronics and Communicationsfrom the University of Calicut

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 24 of 25

Chandrashekar NaikChandrashekar B Naik is a staff software engineer in the IBM IndiaSoftware Lab He joined IBM in 2004 and has experience in softwaredesign development and testing His areas of expertise include JavaJ2EE and web services programming including WebSphereApplication Server Telecom Web Services Server Mobile PortalAccelerator pervasive computing and WebSphere software fortelecom He currently focuses on development support and testing ofWebSphere Telecom Web Services Server Chandrashekar is also aSun-Certified Programmer and has a Bachelor of Engineering degree inComputer Science from Visveswaraiah Technological UniversityBelgaum

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 25 of 25

  • Table of Contents
  • Introduction to the IBM WebSphere Telecom Web Services Server
  • How the server fits into the telecom industry
  • Architecture of the Telecom Web Services Server
  • Scenario 1 Create a telecom application with web services
  • Develop the web application
  • Test the application on the WebSphere Telecom Toolkit
  • Deploy the application
  • Downloads
  • Resources
  • About the authors

of the steps because it simplifies the generation of client and web serviceimplementation

bull IBM WebSphere Telecom Toolkit Version 7 Toolkit will be installed intoRational Application Developer It enables third-party applicationdevelopers to quickly build and test rich applications involving SMSMMS Location Presence and Call control It also provides a platform todevelop Proof of Technology (demos) evaluate solutions and explore thevarious capabilities offered It also serves as a simulator for IBMWebSphere Telecom Web Services Server

Generate a TerminalLocationNotificationManager web service client

1 Start Rational Application Developer and create a new Java projectcalled StartNotificationClient

2 Create a folder named WSDL under the Java project

3 Download and copy the Parlay X 21 Terminal Location WSDL files to theWSDL folder that you created To download see the Parlay X 21Specifications There is a link to it in the Resources section

4 Locateparlayx_terminal_location_notification_manager_service_2_3wsdlin the WSDL folder right-click and from the drop-down menus selectWeb Services gt Generate Client

Figure 2 Generate Terminal Location Notification Manager Client

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 6 of 25

Larger view of Figure 2

5 Make sure that you select these options

bull Web service runtime IBM WebSphere JAX-RPC

bull Client project StartNotificationClient

Figure 3 Select the web service runtime option

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 7 of 25

Larger view of Figure 3

6 Click Finish

7 Now create a Java class under the comibmclient package calledStartNotificationClientjava

Note The entire Java code is provided as a Project Interchange in the Downloadssection Make sure that StartNotificationClient projects build path has a reference tothe comibmwswebservicesthinclient_700jar file available inltRAD75Homegtruntimesbase_v7runtimes

Code Listing 1 shows sample code for the StartNotificationClientjava packagewhich actually invokes the startGeographicalNotification operation of the TerminalLocation service This piece of code in effect starts monitoring the location ofDebbie The code in Listing 1 creates the different objects required by thestartGeographicalNotification operation

Listing 1 StartNotificationClientjava ndash Setting the parameters

Subscriber sends location information in the form of Latitude and LongitudeString address = args[0]float fLat = (float) FloatparseFloat(args[1])float fLong = (float) FloatparseFloat(args[2])

Setting the Reference object Reference specifies the endpoint where the

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 8 of 25

location notification need to sent by the terminal location web service

SimpleReference reference = new SimpleReference()URI endpoint =new URI(httplocalhost9081TestWebservicesTerminalLocationNotification)referencesetEndpoint(endpoint)referencesetInterfaceName(TerminalLocation)referencesetCorrelator(DemoCorr+CalendargetInstance()getTimeInMillis())

Converting the address to URIURI[] addresses = new URI[1]addresses[0]=new URI(address)

Setting the radius and accuracyfloat fRad = (float) 50float tAcc= (float) 1000

Setting the criteriaENTERING - Triggers the notification when subscriber enters the region specifiedby Latitude Longitude and RadiusLEAVING - Triggers the notification when subscriber leaves the region specifiedby Latitude Longitude and Radius

EnteringLeavingCriteria crt = new EnteringLeavingCriteria(Entering)

CheckImmediate specifies if the location of subscriber needs to checked immediatelyboolean chkImm = false

The frequency of the notificationTimeMetric freq = new TimeMetric()freqsetMetric(new TimeMetrics(Millisecond))freqsetUnits(10000)

The code in Listing 2 shows how the startGeographicalNotification web serviceoperation is invoked

Listing 2 StartNotificationClientjava ndash Invoking the operation

Obtain TL Manager ProxyTerminalLocationNotificationManagerProxy tlProxy =new TerminalLocationNotificationManagerProxy()

Set the endpoint where the Terminal Location Notification Manager web servicetlProxysetEndpoint(url)

Obtain the TL ManagerTerminalLocationNotificationManager tlMgr =tlProxygetTerminalLocationNotificationManager()

Invoke the startGeographicalNotificationSystemoutprintln(Calling the web service)tlMgrstartGeographicalNotification(reference addressesfLat fLong fRad tAcc crt chkImm freq)

NoteIf there are unresolved classes for example EnteringLeavingCriteria change thevisibility of the class to public

Develop TerminalLocationNotification web service implementation

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 9 of 25

For receiving notifications the GeoAlert must implement the Terminal LocationNotification web service and this implementation will be used as a Catcher toreceive the notifications triggered

1 Create a dynamic web project and call it TLCatcherWeb

2 Ensure that the Add project to an EAR check box is selected with EARProject Name being TLCatcherWebEAR

3 Download and copy the Parlay X 21 Terminal Location WSDL files intothe TLCatcherWeb gt WebContent gt WEB-INF gt wsdl folder Todownload see Parlay X 21 Specifications There is a link to it in theResources section

4 Locate the parlayx_terminal_location_notification_service_2_2wsdlfile in the WSDL folder right-click it and from the drop-down menusselect Web Services gt Generate JavaBean skeleton

Figure 4 Generate JavaBean skeleton

Larger view of Figure 4

5 Make sure that you select the following options for these fields (seeFigure 5)

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 10 of 25

bull Web service runtime IBM WebSphere JAX-RPC

bull Service project TLCatcherWeb

bull Service EAR project TLCatcherWebEAR

Figure 5 Configuration settings

Larger view of Figure 5

6 Click Finish After clicking Finish if you are prompted for server startupclick Cancel

7 The skeleton bean created in the previous step contains a set of methodsthat correspond to the operations described in the Terminal LocationNotification WSDL When the bean is created a skeleton for each methodis provided as Listing 3 shows

Listing 3 Terminal Location Notification skeleton code

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 11 of 25

package orgcsapiwwwpublic class TerminalLocationNotificationBindingImplimplements orgcsapiwwwTerminalLocationNotification

This operation is invoked on a successful location notificationpublic void locationNotification(javalangString correlatororgcsapiwwwLocationData[] dataorgcsapiwwwEnteringLeavingCriteria criteria) throws javarmiRemoteException

This operation is invoked on a location notification errorpublic void locationError(javalangString correlator javanetURI addressorgcsapiwwwServiceError reason) throws javarmiRemoteException

This operation is invoked upon location notification endpublic void locationEnd(javalangString correlator) throws javarmiRemoteException

When a Location Notification is received fulfilling Debbies criteria the GeoAlertapplication sends an SMS reminder message to Debbies mobile phone Toaccomplish this the service needs to implement the sendSMS client within thelocationNotification operation and invoke the sendSMS operation

8 To generate the SMS client download and the copyparlayx_sms_send_service_2_2wsdl file into the WSDL folderright-click and select gt Web Services gt Generate Client To downloadplease please see the Parlay X 21 Specifications There is a link to it inthe Resources section

9 Make sure that you select these options

bull Web service runtime IBM WebSphere JAX-RPC

bull Client project TLCatcherWeb

bull Client EAR project TLCatcherWebEAR

Figure 6 Web service client configuration

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 12 of 25

Larger view of Figure 6

This will create a package structure with stubs for the sendSMS operation

The locationNotification method in the TerminalLocationNotificationBindingImpl classis the one that gets invoked or notified when Debbies criteria is satisfied Accordingto the use case defined GeoAlert sends a reminder to Debbie through SMS Listing3 shows sample code for invoking the sendSMS operation of Short MessageService

Listing 4 Terminal Location Notification sample code

This operation is invoked on a successful location notificationpublic void locationNotification(javalangString correlatororgcsapiwwwLocationData[] dataorgcsapiwwwEnteringLeavingCriteria criteria)throws javarmiRemoteException

String smsResp =

Fetch the address from the LocationData elementLater use this address for sendSms operation URI[] addresses = new URI[1]addresses[0] = data[0]getAddress()

Fetch the Location Info in the form of Latitude and LongitudeSend this information in the SMS message to the subscriber

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 13 of 25

float lat = data[0]getCurrentLocation()getLatitude()float lon = data[0]getCurrentLocation()getLongitude()

Set the URL where Send SMS web service is runningString url = httplocalhost9081ParlayX21WebservicesSendSms

tryObtain SendSMS proxySendSmsProxy smsProxy = new SendSmsProxy()

Set endpoint where web service is runningsmsProxysetEndpoint(url)Systemoutprintln(---Endpoint set---)

Obtain the service handlerSendSms smsSvc = smsProxygetSendSms()Systemoutprintln(---Handle to Service obtained Invoking Web Service---)

Compose the SMS messageString msg = Hello Customer Greetings from Location Based Reminder App +You have reached the Location where you had set a reminder +Your current location is Latitude = + lat +Longitude = + lon

Invoke sendSms operation of Short Message ServicesmsResp= smsSvcsendSms(addresses LocationBasedReminderAPP null msg null)Systemoutprintln(---Sent Web Service request---)catch(Exception e)

When the locationNotification method is invoked it sends an SMS message toDebbies mobile device

Test the application on the WebSphere Telecom Toolkit

To test the application that you developed download and use the IBM WebSphereTelecom toolkit There is a link to it in the Resources section This free toolkitenables third-party application developers to quickly build and test rich applicationsinvolving SMS MMS Location Presence and Call control It also provides aplatform to develop proof of technology demonstrations to evaluate solutions and toexplore the various capabilities offered

See IBM Education Assistant - WebSphere Telecom Toolkit for more details Thereis a link to it in the Resources section

Notes

bull WebSphere Application Server v7 profile has been created in the RationalApplication Developer runtimes

bull IBM WebSphere Telecom Toolkit v71 is installed on Rational ApplicationDeveloper v751

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 14 of 25

Deploy and run the Telecom Web Services Simulator

1 Create a WebSphere Application Server v7 profile in Rational ApplicationDeveloper

2 Start the WebSphere server

3 Right-click the server and select Deploy Telecom Web ServicesSimulator (see Figure 7) This deploys an application calledWSSimulatorEAR

Figure 7 Deploy Telecom Web Services Simulator

Larger view of Figure 7

4 After deployment has finished right-click the server (see Figure 8) andselect Run Telecom Web Services Simulator Client

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 15 of 25

Figure 8 Run Telecom Web Services Simulator client

Larger view of Figure 8

There are six runtime views that display all of the simulator configuration andruntime data Activity Call Device Group Presence and Map See the IBMEducation Assistant ndash WebSphere Telecom Toolkit configuration for moreinformation on each of these views

Deploy the application

StartNotificationClient is a stand-alone Java application

The EAR project TLCatcherWebEAR needs to be deployed on a server runtimeFor this purpose use WebSphere Application Server 7 as the runtime engine for thisapplication

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 16 of 25

1 Right-click on WebSphere Application Server 7 (WAS 7) select Add andRemove Projects

2 In the Add and Remove Projects window add TLCatcherWebEAR

3 Click Finish

Now the Terminal Location Notification Web Service (Catcher) is deployed andrunning

Test your application

Before testing the GeoAlert application functionality verify the following -

bull TerminalLocationNotificationManager Endpoint is running This webservice is available as part of Telecom Web Services Simulator toolkithttplocalhost9081ParlayX21WebservicesTerminalLocationNotificationManager(Actual port number might vary)

bull TerminalLocationNotification Endpoint is running This web service wasdeveloped in the previous exercise (TLCatcherWebEAR)httplocalhost9081TLCatcherWebservicesTerminalLocationNotification(Actual port number might vary)

bull Make sure you have set the endpoints correctly in the Java classStartNotificationClientjava

1 Run the Java class StartNotificationClient providing the followingarguments

bull arg1 subscriber_phone_number This number should exist in theTelecom Web Services Simulator For example tel+1-2225552003

bull arg2 latitude For example 003

bull arg3 longitude For example 0002Example java StartNotificationClient tel+1-2225552003003 0002

2 Make sure that the latitude and longitude passed as parameter are in thevicinity of the Map view in the simulatorNote To get the latitude and longitude of a particular location in the mapdrag any of the icons to the particular place and the co-ordinates for thatlocation will be displayed as in Figure 9

3 Go to the Map view of the simulator Choose subscriber Debbie

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 17 of 25

(tel+1-2225552003) by choosing her icon which is a mobile phonegraphic

Figure 9 Map view of the Telecom Web Services Simulator

Larger view of Figure 9

Upon receiving the request from Debbie GeoAlert starts the GeographicalNotification on Debbies account The stand-alone Java application that youdeveloped kicks offs the geographical notification

Notification Started can be verified in the Map view of the toolkit simulator as shownin Figure 10

NoteIf the circular notification area does not appear click Debbies mobile phone icon

Figure 10 Notification set up for Debbie

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 18 of 25

Larger view of Figure 10

4 Switch to the Activity view of the simulator and verify that the notificationactivity has been created under Brown Motors gt Debbie

Figure 11 Activity view showing the notification created for Debbie

Larger view of Figure 11

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 19 of 25

5 Switch back to the Map view

Now Debbie goes shopping and enters the notification area that she wants to bereminded about when she is nearby In the toolkit you can simulate this event bydragging Debbies phone icon inside of the notification ring

Figure 12 Debbie enters the specified area

Larger view of Figure 12

After Debbie enters the notification ring a locationNotification is triggered by theTerminal Location web service The notification triggered is caught by the GeoAlertCatcher application that you developed earlier (TLCatcherWebEAR) so the Catchersends an SMS message to Debbie as a reminder Notice that you invoke thesendSMS operation in the locationNotification method of the Catcher

6 Switch back to the Activity view and verify that Debbie has received theSMS reminder

Figure 13 Reminder sent to Debbie

Larger view of Figure 13

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 20 of 25

Project Interchange with sample code

Ensure that the StartNotificationClient projects build path has a reference to thecomibmwswebservicesthinclient_700jar file that is available inRAD75Homeruntimesbase_v7runtimes

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 21 of 25

Downloads

Description Name Size Downloadmethod

Source code for Scenario 1 TWSS_Usage_Sample_PIzip 115KB HTTP

Information about download methods

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 22 of 25

Resources

Learn

bull Citations in this article

bull IBM Telecom Web Services Access Gateway Information Center v71

bull Service Policy Manager

bull Web Service Implementations

bull REST-style access using HTTP

bull Parlay X 21 Specifications

bull IBM WebSphere Telecom toolkit

bull IBM Education Assistant ndash WebSphere Telecom Toolkit configuration

bull GSMA OneAPI

bull IBM Rational Application Developer Version 75 documentation

bull IBM WebSphere Telecom Web Services Server Version 71 InformationCenter

bull IBM WebSphere Telecom Toolkit Version 71 Education Assistant

bull Find out more about Rational Application Developer

bull Browse the Rational Application Developer for WebSphere Software pageon developerWorks for links to technical articles and many relatedresources

bull Explore the Information Center

bull Visit the Rational software area on developerWorks for technical resources andbest practices for Rational Software Delivery Platform products

bull Stay current with developerWorks technical events and webcasts focusedon a variety of IBM products and IT industry topics

bull Attend a free developerWorks Live briefing to get up-to-speed quickly onIBM products and tools as well as IT industry trends

bull Watch developerWorks on-demand demos ranging from productinstallation and setup demos for beginners to advanced functionality forexperienced developers

bull Improve your skills Check the Rational training and certification catalog which

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 23 of 25

includes many types of courses on a wide range of topics You can take someof them anywhere any time and many of the Getting Started ones are free

Get products and technologies

bull Try Rational Application Developer for WebSphere Software free

bull Evaluate IBM software in the way that suits you best Download it for a trial tryit online use it in a cloud environment or spend a few hours in the SOASandbox learning how to implement service-oriented architecture efficiently

Discuss

bull Join the Development Tools forum to ask questions and participate indiscussions

bull Share your knowledge and help others who use Rational software by writing adeveloperWorks article Youll get worldwide exposure RSS syndication abyline and a bio and the benefit of professional editing and production on thedeveloperWorks Rational website

bull Follow Rational software on Facebook and Twitter (ibmrational) and add yourcomments and requests

bull Ask and answer questions and increase your expertise when you get involvedin the Rational forums cafeacutes and wikis

bull Connect with others who share your interests by joining the developerWorkscommunity and responding to the developer-driven blogs

About the authors

Raghunath NairRaghunath E Nair is a principal software engineer in the IBM IndiaSoftware Lab in Bangalore He joined IBM in 2006 His most recentrole has been in design development and support of software fortelecom for IBM WebSphere software including IBM WebSphereTWSS and IBM WebSphere IMS Connector His areas of expertise aremiddleware integration SOA web services and telecom Heco-authored Using WebSphere Message Broker as an ESB withWebSphere Process Server in the IBM Redbooks series and has aBachelor of Technology degree in Electronics and Communicationsfrom the University of Calicut

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 24 of 25

Chandrashekar NaikChandrashekar B Naik is a staff software engineer in the IBM IndiaSoftware Lab He joined IBM in 2004 and has experience in softwaredesign development and testing His areas of expertise include JavaJ2EE and web services programming including WebSphereApplication Server Telecom Web Services Server Mobile PortalAccelerator pervasive computing and WebSphere software fortelecom He currently focuses on development support and testing ofWebSphere Telecom Web Services Server Chandrashekar is also aSun-Certified Programmer and has a Bachelor of Engineering degree inComputer Science from Visveswaraiah Technological UniversityBelgaum

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 25 of 25

  • Table of Contents
  • Introduction to the IBM WebSphere Telecom Web Services Server
  • How the server fits into the telecom industry
  • Architecture of the Telecom Web Services Server
  • Scenario 1 Create a telecom application with web services
  • Develop the web application
  • Test the application on the WebSphere Telecom Toolkit
  • Deploy the application
  • Downloads
  • Resources
  • About the authors

Larger view of Figure 2

5 Make sure that you select these options

bull Web service runtime IBM WebSphere JAX-RPC

bull Client project StartNotificationClient

Figure 3 Select the web service runtime option

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 7 of 25

Larger view of Figure 3

6 Click Finish

7 Now create a Java class under the comibmclient package calledStartNotificationClientjava

Note The entire Java code is provided as a Project Interchange in the Downloadssection Make sure that StartNotificationClient projects build path has a reference tothe comibmwswebservicesthinclient_700jar file available inltRAD75Homegtruntimesbase_v7runtimes

Code Listing 1 shows sample code for the StartNotificationClientjava packagewhich actually invokes the startGeographicalNotification operation of the TerminalLocation service This piece of code in effect starts monitoring the location ofDebbie The code in Listing 1 creates the different objects required by thestartGeographicalNotification operation

Listing 1 StartNotificationClientjava ndash Setting the parameters

Subscriber sends location information in the form of Latitude and LongitudeString address = args[0]float fLat = (float) FloatparseFloat(args[1])float fLong = (float) FloatparseFloat(args[2])

Setting the Reference object Reference specifies the endpoint where the

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 8 of 25

location notification need to sent by the terminal location web service

SimpleReference reference = new SimpleReference()URI endpoint =new URI(httplocalhost9081TestWebservicesTerminalLocationNotification)referencesetEndpoint(endpoint)referencesetInterfaceName(TerminalLocation)referencesetCorrelator(DemoCorr+CalendargetInstance()getTimeInMillis())

Converting the address to URIURI[] addresses = new URI[1]addresses[0]=new URI(address)

Setting the radius and accuracyfloat fRad = (float) 50float tAcc= (float) 1000

Setting the criteriaENTERING - Triggers the notification when subscriber enters the region specifiedby Latitude Longitude and RadiusLEAVING - Triggers the notification when subscriber leaves the region specifiedby Latitude Longitude and Radius

EnteringLeavingCriteria crt = new EnteringLeavingCriteria(Entering)

CheckImmediate specifies if the location of subscriber needs to checked immediatelyboolean chkImm = false

The frequency of the notificationTimeMetric freq = new TimeMetric()freqsetMetric(new TimeMetrics(Millisecond))freqsetUnits(10000)

The code in Listing 2 shows how the startGeographicalNotification web serviceoperation is invoked

Listing 2 StartNotificationClientjava ndash Invoking the operation

Obtain TL Manager ProxyTerminalLocationNotificationManagerProxy tlProxy =new TerminalLocationNotificationManagerProxy()

Set the endpoint where the Terminal Location Notification Manager web servicetlProxysetEndpoint(url)

Obtain the TL ManagerTerminalLocationNotificationManager tlMgr =tlProxygetTerminalLocationNotificationManager()

Invoke the startGeographicalNotificationSystemoutprintln(Calling the web service)tlMgrstartGeographicalNotification(reference addressesfLat fLong fRad tAcc crt chkImm freq)

NoteIf there are unresolved classes for example EnteringLeavingCriteria change thevisibility of the class to public

Develop TerminalLocationNotification web service implementation

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 9 of 25

For receiving notifications the GeoAlert must implement the Terminal LocationNotification web service and this implementation will be used as a Catcher toreceive the notifications triggered

1 Create a dynamic web project and call it TLCatcherWeb

2 Ensure that the Add project to an EAR check box is selected with EARProject Name being TLCatcherWebEAR

3 Download and copy the Parlay X 21 Terminal Location WSDL files intothe TLCatcherWeb gt WebContent gt WEB-INF gt wsdl folder Todownload see Parlay X 21 Specifications There is a link to it in theResources section

4 Locate the parlayx_terminal_location_notification_service_2_2wsdlfile in the WSDL folder right-click it and from the drop-down menusselect Web Services gt Generate JavaBean skeleton

Figure 4 Generate JavaBean skeleton

Larger view of Figure 4

5 Make sure that you select the following options for these fields (seeFigure 5)

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 10 of 25

bull Web service runtime IBM WebSphere JAX-RPC

bull Service project TLCatcherWeb

bull Service EAR project TLCatcherWebEAR

Figure 5 Configuration settings

Larger view of Figure 5

6 Click Finish After clicking Finish if you are prompted for server startupclick Cancel

7 The skeleton bean created in the previous step contains a set of methodsthat correspond to the operations described in the Terminal LocationNotification WSDL When the bean is created a skeleton for each methodis provided as Listing 3 shows

Listing 3 Terminal Location Notification skeleton code

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 11 of 25

package orgcsapiwwwpublic class TerminalLocationNotificationBindingImplimplements orgcsapiwwwTerminalLocationNotification

This operation is invoked on a successful location notificationpublic void locationNotification(javalangString correlatororgcsapiwwwLocationData[] dataorgcsapiwwwEnteringLeavingCriteria criteria) throws javarmiRemoteException

This operation is invoked on a location notification errorpublic void locationError(javalangString correlator javanetURI addressorgcsapiwwwServiceError reason) throws javarmiRemoteException

This operation is invoked upon location notification endpublic void locationEnd(javalangString correlator) throws javarmiRemoteException

When a Location Notification is received fulfilling Debbies criteria the GeoAlertapplication sends an SMS reminder message to Debbies mobile phone Toaccomplish this the service needs to implement the sendSMS client within thelocationNotification operation and invoke the sendSMS operation

8 To generate the SMS client download and the copyparlayx_sms_send_service_2_2wsdl file into the WSDL folderright-click and select gt Web Services gt Generate Client To downloadplease please see the Parlay X 21 Specifications There is a link to it inthe Resources section

9 Make sure that you select these options

bull Web service runtime IBM WebSphere JAX-RPC

bull Client project TLCatcherWeb

bull Client EAR project TLCatcherWebEAR

Figure 6 Web service client configuration

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 12 of 25

Larger view of Figure 6

This will create a package structure with stubs for the sendSMS operation

The locationNotification method in the TerminalLocationNotificationBindingImpl classis the one that gets invoked or notified when Debbies criteria is satisfied Accordingto the use case defined GeoAlert sends a reminder to Debbie through SMS Listing3 shows sample code for invoking the sendSMS operation of Short MessageService

Listing 4 Terminal Location Notification sample code

This operation is invoked on a successful location notificationpublic void locationNotification(javalangString correlatororgcsapiwwwLocationData[] dataorgcsapiwwwEnteringLeavingCriteria criteria)throws javarmiRemoteException

String smsResp =

Fetch the address from the LocationData elementLater use this address for sendSms operation URI[] addresses = new URI[1]addresses[0] = data[0]getAddress()

Fetch the Location Info in the form of Latitude and LongitudeSend this information in the SMS message to the subscriber

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 13 of 25

float lat = data[0]getCurrentLocation()getLatitude()float lon = data[0]getCurrentLocation()getLongitude()

Set the URL where Send SMS web service is runningString url = httplocalhost9081ParlayX21WebservicesSendSms

tryObtain SendSMS proxySendSmsProxy smsProxy = new SendSmsProxy()

Set endpoint where web service is runningsmsProxysetEndpoint(url)Systemoutprintln(---Endpoint set---)

Obtain the service handlerSendSms smsSvc = smsProxygetSendSms()Systemoutprintln(---Handle to Service obtained Invoking Web Service---)

Compose the SMS messageString msg = Hello Customer Greetings from Location Based Reminder App +You have reached the Location where you had set a reminder +Your current location is Latitude = + lat +Longitude = + lon

Invoke sendSms operation of Short Message ServicesmsResp= smsSvcsendSms(addresses LocationBasedReminderAPP null msg null)Systemoutprintln(---Sent Web Service request---)catch(Exception e)

When the locationNotification method is invoked it sends an SMS message toDebbies mobile device

Test the application on the WebSphere Telecom Toolkit

To test the application that you developed download and use the IBM WebSphereTelecom toolkit There is a link to it in the Resources section This free toolkitenables third-party application developers to quickly build and test rich applicationsinvolving SMS MMS Location Presence and Call control It also provides aplatform to develop proof of technology demonstrations to evaluate solutions and toexplore the various capabilities offered

See IBM Education Assistant - WebSphere Telecom Toolkit for more details Thereis a link to it in the Resources section

Notes

bull WebSphere Application Server v7 profile has been created in the RationalApplication Developer runtimes

bull IBM WebSphere Telecom Toolkit v71 is installed on Rational ApplicationDeveloper v751

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 14 of 25

Deploy and run the Telecom Web Services Simulator

1 Create a WebSphere Application Server v7 profile in Rational ApplicationDeveloper

2 Start the WebSphere server

3 Right-click the server and select Deploy Telecom Web ServicesSimulator (see Figure 7) This deploys an application calledWSSimulatorEAR

Figure 7 Deploy Telecom Web Services Simulator

Larger view of Figure 7

4 After deployment has finished right-click the server (see Figure 8) andselect Run Telecom Web Services Simulator Client

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 15 of 25

Figure 8 Run Telecom Web Services Simulator client

Larger view of Figure 8

There are six runtime views that display all of the simulator configuration andruntime data Activity Call Device Group Presence and Map See the IBMEducation Assistant ndash WebSphere Telecom Toolkit configuration for moreinformation on each of these views

Deploy the application

StartNotificationClient is a stand-alone Java application

The EAR project TLCatcherWebEAR needs to be deployed on a server runtimeFor this purpose use WebSphere Application Server 7 as the runtime engine for thisapplication

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 16 of 25

1 Right-click on WebSphere Application Server 7 (WAS 7) select Add andRemove Projects

2 In the Add and Remove Projects window add TLCatcherWebEAR

3 Click Finish

Now the Terminal Location Notification Web Service (Catcher) is deployed andrunning

Test your application

Before testing the GeoAlert application functionality verify the following -

bull TerminalLocationNotificationManager Endpoint is running This webservice is available as part of Telecom Web Services Simulator toolkithttplocalhost9081ParlayX21WebservicesTerminalLocationNotificationManager(Actual port number might vary)

bull TerminalLocationNotification Endpoint is running This web service wasdeveloped in the previous exercise (TLCatcherWebEAR)httplocalhost9081TLCatcherWebservicesTerminalLocationNotification(Actual port number might vary)

bull Make sure you have set the endpoints correctly in the Java classStartNotificationClientjava

1 Run the Java class StartNotificationClient providing the followingarguments

bull arg1 subscriber_phone_number This number should exist in theTelecom Web Services Simulator For example tel+1-2225552003

bull arg2 latitude For example 003

bull arg3 longitude For example 0002Example java StartNotificationClient tel+1-2225552003003 0002

2 Make sure that the latitude and longitude passed as parameter are in thevicinity of the Map view in the simulatorNote To get the latitude and longitude of a particular location in the mapdrag any of the icons to the particular place and the co-ordinates for thatlocation will be displayed as in Figure 9

3 Go to the Map view of the simulator Choose subscriber Debbie

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 17 of 25

(tel+1-2225552003) by choosing her icon which is a mobile phonegraphic

Figure 9 Map view of the Telecom Web Services Simulator

Larger view of Figure 9

Upon receiving the request from Debbie GeoAlert starts the GeographicalNotification on Debbies account The stand-alone Java application that youdeveloped kicks offs the geographical notification

Notification Started can be verified in the Map view of the toolkit simulator as shownin Figure 10

NoteIf the circular notification area does not appear click Debbies mobile phone icon

Figure 10 Notification set up for Debbie

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 18 of 25

Larger view of Figure 10

4 Switch to the Activity view of the simulator and verify that the notificationactivity has been created under Brown Motors gt Debbie

Figure 11 Activity view showing the notification created for Debbie

Larger view of Figure 11

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 19 of 25

5 Switch back to the Map view

Now Debbie goes shopping and enters the notification area that she wants to bereminded about when she is nearby In the toolkit you can simulate this event bydragging Debbies phone icon inside of the notification ring

Figure 12 Debbie enters the specified area

Larger view of Figure 12

After Debbie enters the notification ring a locationNotification is triggered by theTerminal Location web service The notification triggered is caught by the GeoAlertCatcher application that you developed earlier (TLCatcherWebEAR) so the Catchersends an SMS message to Debbie as a reminder Notice that you invoke thesendSMS operation in the locationNotification method of the Catcher

6 Switch back to the Activity view and verify that Debbie has received theSMS reminder

Figure 13 Reminder sent to Debbie

Larger view of Figure 13

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 20 of 25

Project Interchange with sample code

Ensure that the StartNotificationClient projects build path has a reference to thecomibmwswebservicesthinclient_700jar file that is available inRAD75Homeruntimesbase_v7runtimes

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 21 of 25

Downloads

Description Name Size Downloadmethod

Source code for Scenario 1 TWSS_Usage_Sample_PIzip 115KB HTTP

Information about download methods

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 22 of 25

Resources

Learn

bull Citations in this article

bull IBM Telecom Web Services Access Gateway Information Center v71

bull Service Policy Manager

bull Web Service Implementations

bull REST-style access using HTTP

bull Parlay X 21 Specifications

bull IBM WebSphere Telecom toolkit

bull IBM Education Assistant ndash WebSphere Telecom Toolkit configuration

bull GSMA OneAPI

bull IBM Rational Application Developer Version 75 documentation

bull IBM WebSphere Telecom Web Services Server Version 71 InformationCenter

bull IBM WebSphere Telecom Toolkit Version 71 Education Assistant

bull Find out more about Rational Application Developer

bull Browse the Rational Application Developer for WebSphere Software pageon developerWorks for links to technical articles and many relatedresources

bull Explore the Information Center

bull Visit the Rational software area on developerWorks for technical resources andbest practices for Rational Software Delivery Platform products

bull Stay current with developerWorks technical events and webcasts focusedon a variety of IBM products and IT industry topics

bull Attend a free developerWorks Live briefing to get up-to-speed quickly onIBM products and tools as well as IT industry trends

bull Watch developerWorks on-demand demos ranging from productinstallation and setup demos for beginners to advanced functionality forexperienced developers

bull Improve your skills Check the Rational training and certification catalog which

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 23 of 25

includes many types of courses on a wide range of topics You can take someof them anywhere any time and many of the Getting Started ones are free

Get products and technologies

bull Try Rational Application Developer for WebSphere Software free

bull Evaluate IBM software in the way that suits you best Download it for a trial tryit online use it in a cloud environment or spend a few hours in the SOASandbox learning how to implement service-oriented architecture efficiently

Discuss

bull Join the Development Tools forum to ask questions and participate indiscussions

bull Share your knowledge and help others who use Rational software by writing adeveloperWorks article Youll get worldwide exposure RSS syndication abyline and a bio and the benefit of professional editing and production on thedeveloperWorks Rational website

bull Follow Rational software on Facebook and Twitter (ibmrational) and add yourcomments and requests

bull Ask and answer questions and increase your expertise when you get involvedin the Rational forums cafeacutes and wikis

bull Connect with others who share your interests by joining the developerWorkscommunity and responding to the developer-driven blogs

About the authors

Raghunath NairRaghunath E Nair is a principal software engineer in the IBM IndiaSoftware Lab in Bangalore He joined IBM in 2006 His most recentrole has been in design development and support of software fortelecom for IBM WebSphere software including IBM WebSphereTWSS and IBM WebSphere IMS Connector His areas of expertise aremiddleware integration SOA web services and telecom Heco-authored Using WebSphere Message Broker as an ESB withWebSphere Process Server in the IBM Redbooks series and has aBachelor of Technology degree in Electronics and Communicationsfrom the University of Calicut

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 24 of 25

Chandrashekar NaikChandrashekar B Naik is a staff software engineer in the IBM IndiaSoftware Lab He joined IBM in 2004 and has experience in softwaredesign development and testing His areas of expertise include JavaJ2EE and web services programming including WebSphereApplication Server Telecom Web Services Server Mobile PortalAccelerator pervasive computing and WebSphere software fortelecom He currently focuses on development support and testing ofWebSphere Telecom Web Services Server Chandrashekar is also aSun-Certified Programmer and has a Bachelor of Engineering degree inComputer Science from Visveswaraiah Technological UniversityBelgaum

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 25 of 25

  • Table of Contents
  • Introduction to the IBM WebSphere Telecom Web Services Server
  • How the server fits into the telecom industry
  • Architecture of the Telecom Web Services Server
  • Scenario 1 Create a telecom application with web services
  • Develop the web application
  • Test the application on the WebSphere Telecom Toolkit
  • Deploy the application
  • Downloads
  • Resources
  • About the authors

Larger view of Figure 3

6 Click Finish

7 Now create a Java class under the comibmclient package calledStartNotificationClientjava

Note The entire Java code is provided as a Project Interchange in the Downloadssection Make sure that StartNotificationClient projects build path has a reference tothe comibmwswebservicesthinclient_700jar file available inltRAD75Homegtruntimesbase_v7runtimes

Code Listing 1 shows sample code for the StartNotificationClientjava packagewhich actually invokes the startGeographicalNotification operation of the TerminalLocation service This piece of code in effect starts monitoring the location ofDebbie The code in Listing 1 creates the different objects required by thestartGeographicalNotification operation

Listing 1 StartNotificationClientjava ndash Setting the parameters

Subscriber sends location information in the form of Latitude and LongitudeString address = args[0]float fLat = (float) FloatparseFloat(args[1])float fLong = (float) FloatparseFloat(args[2])

Setting the Reference object Reference specifies the endpoint where the

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 8 of 25

location notification need to sent by the terminal location web service

SimpleReference reference = new SimpleReference()URI endpoint =new URI(httplocalhost9081TestWebservicesTerminalLocationNotification)referencesetEndpoint(endpoint)referencesetInterfaceName(TerminalLocation)referencesetCorrelator(DemoCorr+CalendargetInstance()getTimeInMillis())

Converting the address to URIURI[] addresses = new URI[1]addresses[0]=new URI(address)

Setting the radius and accuracyfloat fRad = (float) 50float tAcc= (float) 1000

Setting the criteriaENTERING - Triggers the notification when subscriber enters the region specifiedby Latitude Longitude and RadiusLEAVING - Triggers the notification when subscriber leaves the region specifiedby Latitude Longitude and Radius

EnteringLeavingCriteria crt = new EnteringLeavingCriteria(Entering)

CheckImmediate specifies if the location of subscriber needs to checked immediatelyboolean chkImm = false

The frequency of the notificationTimeMetric freq = new TimeMetric()freqsetMetric(new TimeMetrics(Millisecond))freqsetUnits(10000)

The code in Listing 2 shows how the startGeographicalNotification web serviceoperation is invoked

Listing 2 StartNotificationClientjava ndash Invoking the operation

Obtain TL Manager ProxyTerminalLocationNotificationManagerProxy tlProxy =new TerminalLocationNotificationManagerProxy()

Set the endpoint where the Terminal Location Notification Manager web servicetlProxysetEndpoint(url)

Obtain the TL ManagerTerminalLocationNotificationManager tlMgr =tlProxygetTerminalLocationNotificationManager()

Invoke the startGeographicalNotificationSystemoutprintln(Calling the web service)tlMgrstartGeographicalNotification(reference addressesfLat fLong fRad tAcc crt chkImm freq)

NoteIf there are unresolved classes for example EnteringLeavingCriteria change thevisibility of the class to public

Develop TerminalLocationNotification web service implementation

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 9 of 25

For receiving notifications the GeoAlert must implement the Terminal LocationNotification web service and this implementation will be used as a Catcher toreceive the notifications triggered

1 Create a dynamic web project and call it TLCatcherWeb

2 Ensure that the Add project to an EAR check box is selected with EARProject Name being TLCatcherWebEAR

3 Download and copy the Parlay X 21 Terminal Location WSDL files intothe TLCatcherWeb gt WebContent gt WEB-INF gt wsdl folder Todownload see Parlay X 21 Specifications There is a link to it in theResources section

4 Locate the parlayx_terminal_location_notification_service_2_2wsdlfile in the WSDL folder right-click it and from the drop-down menusselect Web Services gt Generate JavaBean skeleton

Figure 4 Generate JavaBean skeleton

Larger view of Figure 4

5 Make sure that you select the following options for these fields (seeFigure 5)

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 10 of 25

bull Web service runtime IBM WebSphere JAX-RPC

bull Service project TLCatcherWeb

bull Service EAR project TLCatcherWebEAR

Figure 5 Configuration settings

Larger view of Figure 5

6 Click Finish After clicking Finish if you are prompted for server startupclick Cancel

7 The skeleton bean created in the previous step contains a set of methodsthat correspond to the operations described in the Terminal LocationNotification WSDL When the bean is created a skeleton for each methodis provided as Listing 3 shows

Listing 3 Terminal Location Notification skeleton code

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 11 of 25

package orgcsapiwwwpublic class TerminalLocationNotificationBindingImplimplements orgcsapiwwwTerminalLocationNotification

This operation is invoked on a successful location notificationpublic void locationNotification(javalangString correlatororgcsapiwwwLocationData[] dataorgcsapiwwwEnteringLeavingCriteria criteria) throws javarmiRemoteException

This operation is invoked on a location notification errorpublic void locationError(javalangString correlator javanetURI addressorgcsapiwwwServiceError reason) throws javarmiRemoteException

This operation is invoked upon location notification endpublic void locationEnd(javalangString correlator) throws javarmiRemoteException

When a Location Notification is received fulfilling Debbies criteria the GeoAlertapplication sends an SMS reminder message to Debbies mobile phone Toaccomplish this the service needs to implement the sendSMS client within thelocationNotification operation and invoke the sendSMS operation

8 To generate the SMS client download and the copyparlayx_sms_send_service_2_2wsdl file into the WSDL folderright-click and select gt Web Services gt Generate Client To downloadplease please see the Parlay X 21 Specifications There is a link to it inthe Resources section

9 Make sure that you select these options

bull Web service runtime IBM WebSphere JAX-RPC

bull Client project TLCatcherWeb

bull Client EAR project TLCatcherWebEAR

Figure 6 Web service client configuration

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 12 of 25

Larger view of Figure 6

This will create a package structure with stubs for the sendSMS operation

The locationNotification method in the TerminalLocationNotificationBindingImpl classis the one that gets invoked or notified when Debbies criteria is satisfied Accordingto the use case defined GeoAlert sends a reminder to Debbie through SMS Listing3 shows sample code for invoking the sendSMS operation of Short MessageService

Listing 4 Terminal Location Notification sample code

This operation is invoked on a successful location notificationpublic void locationNotification(javalangString correlatororgcsapiwwwLocationData[] dataorgcsapiwwwEnteringLeavingCriteria criteria)throws javarmiRemoteException

String smsResp =

Fetch the address from the LocationData elementLater use this address for sendSms operation URI[] addresses = new URI[1]addresses[0] = data[0]getAddress()

Fetch the Location Info in the form of Latitude and LongitudeSend this information in the SMS message to the subscriber

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 13 of 25

float lat = data[0]getCurrentLocation()getLatitude()float lon = data[0]getCurrentLocation()getLongitude()

Set the URL where Send SMS web service is runningString url = httplocalhost9081ParlayX21WebservicesSendSms

tryObtain SendSMS proxySendSmsProxy smsProxy = new SendSmsProxy()

Set endpoint where web service is runningsmsProxysetEndpoint(url)Systemoutprintln(---Endpoint set---)

Obtain the service handlerSendSms smsSvc = smsProxygetSendSms()Systemoutprintln(---Handle to Service obtained Invoking Web Service---)

Compose the SMS messageString msg = Hello Customer Greetings from Location Based Reminder App +You have reached the Location where you had set a reminder +Your current location is Latitude = + lat +Longitude = + lon

Invoke sendSms operation of Short Message ServicesmsResp= smsSvcsendSms(addresses LocationBasedReminderAPP null msg null)Systemoutprintln(---Sent Web Service request---)catch(Exception e)

When the locationNotification method is invoked it sends an SMS message toDebbies mobile device

Test the application on the WebSphere Telecom Toolkit

To test the application that you developed download and use the IBM WebSphereTelecom toolkit There is a link to it in the Resources section This free toolkitenables third-party application developers to quickly build and test rich applicationsinvolving SMS MMS Location Presence and Call control It also provides aplatform to develop proof of technology demonstrations to evaluate solutions and toexplore the various capabilities offered

See IBM Education Assistant - WebSphere Telecom Toolkit for more details Thereis a link to it in the Resources section

Notes

bull WebSphere Application Server v7 profile has been created in the RationalApplication Developer runtimes

bull IBM WebSphere Telecom Toolkit v71 is installed on Rational ApplicationDeveloper v751

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 14 of 25

Deploy and run the Telecom Web Services Simulator

1 Create a WebSphere Application Server v7 profile in Rational ApplicationDeveloper

2 Start the WebSphere server

3 Right-click the server and select Deploy Telecom Web ServicesSimulator (see Figure 7) This deploys an application calledWSSimulatorEAR

Figure 7 Deploy Telecom Web Services Simulator

Larger view of Figure 7

4 After deployment has finished right-click the server (see Figure 8) andselect Run Telecom Web Services Simulator Client

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 15 of 25

Figure 8 Run Telecom Web Services Simulator client

Larger view of Figure 8

There are six runtime views that display all of the simulator configuration andruntime data Activity Call Device Group Presence and Map See the IBMEducation Assistant ndash WebSphere Telecom Toolkit configuration for moreinformation on each of these views

Deploy the application

StartNotificationClient is a stand-alone Java application

The EAR project TLCatcherWebEAR needs to be deployed on a server runtimeFor this purpose use WebSphere Application Server 7 as the runtime engine for thisapplication

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 16 of 25

1 Right-click on WebSphere Application Server 7 (WAS 7) select Add andRemove Projects

2 In the Add and Remove Projects window add TLCatcherWebEAR

3 Click Finish

Now the Terminal Location Notification Web Service (Catcher) is deployed andrunning

Test your application

Before testing the GeoAlert application functionality verify the following -

bull TerminalLocationNotificationManager Endpoint is running This webservice is available as part of Telecom Web Services Simulator toolkithttplocalhost9081ParlayX21WebservicesTerminalLocationNotificationManager(Actual port number might vary)

bull TerminalLocationNotification Endpoint is running This web service wasdeveloped in the previous exercise (TLCatcherWebEAR)httplocalhost9081TLCatcherWebservicesTerminalLocationNotification(Actual port number might vary)

bull Make sure you have set the endpoints correctly in the Java classStartNotificationClientjava

1 Run the Java class StartNotificationClient providing the followingarguments

bull arg1 subscriber_phone_number This number should exist in theTelecom Web Services Simulator For example tel+1-2225552003

bull arg2 latitude For example 003

bull arg3 longitude For example 0002Example java StartNotificationClient tel+1-2225552003003 0002

2 Make sure that the latitude and longitude passed as parameter are in thevicinity of the Map view in the simulatorNote To get the latitude and longitude of a particular location in the mapdrag any of the icons to the particular place and the co-ordinates for thatlocation will be displayed as in Figure 9

3 Go to the Map view of the simulator Choose subscriber Debbie

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 17 of 25

(tel+1-2225552003) by choosing her icon which is a mobile phonegraphic

Figure 9 Map view of the Telecom Web Services Simulator

Larger view of Figure 9

Upon receiving the request from Debbie GeoAlert starts the GeographicalNotification on Debbies account The stand-alone Java application that youdeveloped kicks offs the geographical notification

Notification Started can be verified in the Map view of the toolkit simulator as shownin Figure 10

NoteIf the circular notification area does not appear click Debbies mobile phone icon

Figure 10 Notification set up for Debbie

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 18 of 25

Larger view of Figure 10

4 Switch to the Activity view of the simulator and verify that the notificationactivity has been created under Brown Motors gt Debbie

Figure 11 Activity view showing the notification created for Debbie

Larger view of Figure 11

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 19 of 25

5 Switch back to the Map view

Now Debbie goes shopping and enters the notification area that she wants to bereminded about when she is nearby In the toolkit you can simulate this event bydragging Debbies phone icon inside of the notification ring

Figure 12 Debbie enters the specified area

Larger view of Figure 12

After Debbie enters the notification ring a locationNotification is triggered by theTerminal Location web service The notification triggered is caught by the GeoAlertCatcher application that you developed earlier (TLCatcherWebEAR) so the Catchersends an SMS message to Debbie as a reminder Notice that you invoke thesendSMS operation in the locationNotification method of the Catcher

6 Switch back to the Activity view and verify that Debbie has received theSMS reminder

Figure 13 Reminder sent to Debbie

Larger view of Figure 13

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 20 of 25

Project Interchange with sample code

Ensure that the StartNotificationClient projects build path has a reference to thecomibmwswebservicesthinclient_700jar file that is available inRAD75Homeruntimesbase_v7runtimes

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 21 of 25

Downloads

Description Name Size Downloadmethod

Source code for Scenario 1 TWSS_Usage_Sample_PIzip 115KB HTTP

Information about download methods

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 22 of 25

Resources

Learn

bull Citations in this article

bull IBM Telecom Web Services Access Gateway Information Center v71

bull Service Policy Manager

bull Web Service Implementations

bull REST-style access using HTTP

bull Parlay X 21 Specifications

bull IBM WebSphere Telecom toolkit

bull IBM Education Assistant ndash WebSphere Telecom Toolkit configuration

bull GSMA OneAPI

bull IBM Rational Application Developer Version 75 documentation

bull IBM WebSphere Telecom Web Services Server Version 71 InformationCenter

bull IBM WebSphere Telecom Toolkit Version 71 Education Assistant

bull Find out more about Rational Application Developer

bull Browse the Rational Application Developer for WebSphere Software pageon developerWorks for links to technical articles and many relatedresources

bull Explore the Information Center

bull Visit the Rational software area on developerWorks for technical resources andbest practices for Rational Software Delivery Platform products

bull Stay current with developerWorks technical events and webcasts focusedon a variety of IBM products and IT industry topics

bull Attend a free developerWorks Live briefing to get up-to-speed quickly onIBM products and tools as well as IT industry trends

bull Watch developerWorks on-demand demos ranging from productinstallation and setup demos for beginners to advanced functionality forexperienced developers

bull Improve your skills Check the Rational training and certification catalog which

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 23 of 25

includes many types of courses on a wide range of topics You can take someof them anywhere any time and many of the Getting Started ones are free

Get products and technologies

bull Try Rational Application Developer for WebSphere Software free

bull Evaluate IBM software in the way that suits you best Download it for a trial tryit online use it in a cloud environment or spend a few hours in the SOASandbox learning how to implement service-oriented architecture efficiently

Discuss

bull Join the Development Tools forum to ask questions and participate indiscussions

bull Share your knowledge and help others who use Rational software by writing adeveloperWorks article Youll get worldwide exposure RSS syndication abyline and a bio and the benefit of professional editing and production on thedeveloperWorks Rational website

bull Follow Rational software on Facebook and Twitter (ibmrational) and add yourcomments and requests

bull Ask and answer questions and increase your expertise when you get involvedin the Rational forums cafeacutes and wikis

bull Connect with others who share your interests by joining the developerWorkscommunity and responding to the developer-driven blogs

About the authors

Raghunath NairRaghunath E Nair is a principal software engineer in the IBM IndiaSoftware Lab in Bangalore He joined IBM in 2006 His most recentrole has been in design development and support of software fortelecom for IBM WebSphere software including IBM WebSphereTWSS and IBM WebSphere IMS Connector His areas of expertise aremiddleware integration SOA web services and telecom Heco-authored Using WebSphere Message Broker as an ESB withWebSphere Process Server in the IBM Redbooks series and has aBachelor of Technology degree in Electronics and Communicationsfrom the University of Calicut

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 24 of 25

Chandrashekar NaikChandrashekar B Naik is a staff software engineer in the IBM IndiaSoftware Lab He joined IBM in 2004 and has experience in softwaredesign development and testing His areas of expertise include JavaJ2EE and web services programming including WebSphereApplication Server Telecom Web Services Server Mobile PortalAccelerator pervasive computing and WebSphere software fortelecom He currently focuses on development support and testing ofWebSphere Telecom Web Services Server Chandrashekar is also aSun-Certified Programmer and has a Bachelor of Engineering degree inComputer Science from Visveswaraiah Technological UniversityBelgaum

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 25 of 25

  • Table of Contents
  • Introduction to the IBM WebSphere Telecom Web Services Server
  • How the server fits into the telecom industry
  • Architecture of the Telecom Web Services Server
  • Scenario 1 Create a telecom application with web services
  • Develop the web application
  • Test the application on the WebSphere Telecom Toolkit
  • Deploy the application
  • Downloads
  • Resources
  • About the authors

location notification need to sent by the terminal location web service

SimpleReference reference = new SimpleReference()URI endpoint =new URI(httplocalhost9081TestWebservicesTerminalLocationNotification)referencesetEndpoint(endpoint)referencesetInterfaceName(TerminalLocation)referencesetCorrelator(DemoCorr+CalendargetInstance()getTimeInMillis())

Converting the address to URIURI[] addresses = new URI[1]addresses[0]=new URI(address)

Setting the radius and accuracyfloat fRad = (float) 50float tAcc= (float) 1000

Setting the criteriaENTERING - Triggers the notification when subscriber enters the region specifiedby Latitude Longitude and RadiusLEAVING - Triggers the notification when subscriber leaves the region specifiedby Latitude Longitude and Radius

EnteringLeavingCriteria crt = new EnteringLeavingCriteria(Entering)

CheckImmediate specifies if the location of subscriber needs to checked immediatelyboolean chkImm = false

The frequency of the notificationTimeMetric freq = new TimeMetric()freqsetMetric(new TimeMetrics(Millisecond))freqsetUnits(10000)

The code in Listing 2 shows how the startGeographicalNotification web serviceoperation is invoked

Listing 2 StartNotificationClientjava ndash Invoking the operation

Obtain TL Manager ProxyTerminalLocationNotificationManagerProxy tlProxy =new TerminalLocationNotificationManagerProxy()

Set the endpoint where the Terminal Location Notification Manager web servicetlProxysetEndpoint(url)

Obtain the TL ManagerTerminalLocationNotificationManager tlMgr =tlProxygetTerminalLocationNotificationManager()

Invoke the startGeographicalNotificationSystemoutprintln(Calling the web service)tlMgrstartGeographicalNotification(reference addressesfLat fLong fRad tAcc crt chkImm freq)

NoteIf there are unresolved classes for example EnteringLeavingCriteria change thevisibility of the class to public

Develop TerminalLocationNotification web service implementation

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 9 of 25

For receiving notifications the GeoAlert must implement the Terminal LocationNotification web service and this implementation will be used as a Catcher toreceive the notifications triggered

1 Create a dynamic web project and call it TLCatcherWeb

2 Ensure that the Add project to an EAR check box is selected with EARProject Name being TLCatcherWebEAR

3 Download and copy the Parlay X 21 Terminal Location WSDL files intothe TLCatcherWeb gt WebContent gt WEB-INF gt wsdl folder Todownload see Parlay X 21 Specifications There is a link to it in theResources section

4 Locate the parlayx_terminal_location_notification_service_2_2wsdlfile in the WSDL folder right-click it and from the drop-down menusselect Web Services gt Generate JavaBean skeleton

Figure 4 Generate JavaBean skeleton

Larger view of Figure 4

5 Make sure that you select the following options for these fields (seeFigure 5)

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 10 of 25

bull Web service runtime IBM WebSphere JAX-RPC

bull Service project TLCatcherWeb

bull Service EAR project TLCatcherWebEAR

Figure 5 Configuration settings

Larger view of Figure 5

6 Click Finish After clicking Finish if you are prompted for server startupclick Cancel

7 The skeleton bean created in the previous step contains a set of methodsthat correspond to the operations described in the Terminal LocationNotification WSDL When the bean is created a skeleton for each methodis provided as Listing 3 shows

Listing 3 Terminal Location Notification skeleton code

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 11 of 25

package orgcsapiwwwpublic class TerminalLocationNotificationBindingImplimplements orgcsapiwwwTerminalLocationNotification

This operation is invoked on a successful location notificationpublic void locationNotification(javalangString correlatororgcsapiwwwLocationData[] dataorgcsapiwwwEnteringLeavingCriteria criteria) throws javarmiRemoteException

This operation is invoked on a location notification errorpublic void locationError(javalangString correlator javanetURI addressorgcsapiwwwServiceError reason) throws javarmiRemoteException

This operation is invoked upon location notification endpublic void locationEnd(javalangString correlator) throws javarmiRemoteException

When a Location Notification is received fulfilling Debbies criteria the GeoAlertapplication sends an SMS reminder message to Debbies mobile phone Toaccomplish this the service needs to implement the sendSMS client within thelocationNotification operation and invoke the sendSMS operation

8 To generate the SMS client download and the copyparlayx_sms_send_service_2_2wsdl file into the WSDL folderright-click and select gt Web Services gt Generate Client To downloadplease please see the Parlay X 21 Specifications There is a link to it inthe Resources section

9 Make sure that you select these options

bull Web service runtime IBM WebSphere JAX-RPC

bull Client project TLCatcherWeb

bull Client EAR project TLCatcherWebEAR

Figure 6 Web service client configuration

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 12 of 25

Larger view of Figure 6

This will create a package structure with stubs for the sendSMS operation

The locationNotification method in the TerminalLocationNotificationBindingImpl classis the one that gets invoked or notified when Debbies criteria is satisfied Accordingto the use case defined GeoAlert sends a reminder to Debbie through SMS Listing3 shows sample code for invoking the sendSMS operation of Short MessageService

Listing 4 Terminal Location Notification sample code

This operation is invoked on a successful location notificationpublic void locationNotification(javalangString correlatororgcsapiwwwLocationData[] dataorgcsapiwwwEnteringLeavingCriteria criteria)throws javarmiRemoteException

String smsResp =

Fetch the address from the LocationData elementLater use this address for sendSms operation URI[] addresses = new URI[1]addresses[0] = data[0]getAddress()

Fetch the Location Info in the form of Latitude and LongitudeSend this information in the SMS message to the subscriber

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 13 of 25

float lat = data[0]getCurrentLocation()getLatitude()float lon = data[0]getCurrentLocation()getLongitude()

Set the URL where Send SMS web service is runningString url = httplocalhost9081ParlayX21WebservicesSendSms

tryObtain SendSMS proxySendSmsProxy smsProxy = new SendSmsProxy()

Set endpoint where web service is runningsmsProxysetEndpoint(url)Systemoutprintln(---Endpoint set---)

Obtain the service handlerSendSms smsSvc = smsProxygetSendSms()Systemoutprintln(---Handle to Service obtained Invoking Web Service---)

Compose the SMS messageString msg = Hello Customer Greetings from Location Based Reminder App +You have reached the Location where you had set a reminder +Your current location is Latitude = + lat +Longitude = + lon

Invoke sendSms operation of Short Message ServicesmsResp= smsSvcsendSms(addresses LocationBasedReminderAPP null msg null)Systemoutprintln(---Sent Web Service request---)catch(Exception e)

When the locationNotification method is invoked it sends an SMS message toDebbies mobile device

Test the application on the WebSphere Telecom Toolkit

To test the application that you developed download and use the IBM WebSphereTelecom toolkit There is a link to it in the Resources section This free toolkitenables third-party application developers to quickly build and test rich applicationsinvolving SMS MMS Location Presence and Call control It also provides aplatform to develop proof of technology demonstrations to evaluate solutions and toexplore the various capabilities offered

See IBM Education Assistant - WebSphere Telecom Toolkit for more details Thereis a link to it in the Resources section

Notes

bull WebSphere Application Server v7 profile has been created in the RationalApplication Developer runtimes

bull IBM WebSphere Telecom Toolkit v71 is installed on Rational ApplicationDeveloper v751

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 14 of 25

Deploy and run the Telecom Web Services Simulator

1 Create a WebSphere Application Server v7 profile in Rational ApplicationDeveloper

2 Start the WebSphere server

3 Right-click the server and select Deploy Telecom Web ServicesSimulator (see Figure 7) This deploys an application calledWSSimulatorEAR

Figure 7 Deploy Telecom Web Services Simulator

Larger view of Figure 7

4 After deployment has finished right-click the server (see Figure 8) andselect Run Telecom Web Services Simulator Client

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 15 of 25

Figure 8 Run Telecom Web Services Simulator client

Larger view of Figure 8

There are six runtime views that display all of the simulator configuration andruntime data Activity Call Device Group Presence and Map See the IBMEducation Assistant ndash WebSphere Telecom Toolkit configuration for moreinformation on each of these views

Deploy the application

StartNotificationClient is a stand-alone Java application

The EAR project TLCatcherWebEAR needs to be deployed on a server runtimeFor this purpose use WebSphere Application Server 7 as the runtime engine for thisapplication

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 16 of 25

1 Right-click on WebSphere Application Server 7 (WAS 7) select Add andRemove Projects

2 In the Add and Remove Projects window add TLCatcherWebEAR

3 Click Finish

Now the Terminal Location Notification Web Service (Catcher) is deployed andrunning

Test your application

Before testing the GeoAlert application functionality verify the following -

bull TerminalLocationNotificationManager Endpoint is running This webservice is available as part of Telecom Web Services Simulator toolkithttplocalhost9081ParlayX21WebservicesTerminalLocationNotificationManager(Actual port number might vary)

bull TerminalLocationNotification Endpoint is running This web service wasdeveloped in the previous exercise (TLCatcherWebEAR)httplocalhost9081TLCatcherWebservicesTerminalLocationNotification(Actual port number might vary)

bull Make sure you have set the endpoints correctly in the Java classStartNotificationClientjava

1 Run the Java class StartNotificationClient providing the followingarguments

bull arg1 subscriber_phone_number This number should exist in theTelecom Web Services Simulator For example tel+1-2225552003

bull arg2 latitude For example 003

bull arg3 longitude For example 0002Example java StartNotificationClient tel+1-2225552003003 0002

2 Make sure that the latitude and longitude passed as parameter are in thevicinity of the Map view in the simulatorNote To get the latitude and longitude of a particular location in the mapdrag any of the icons to the particular place and the co-ordinates for thatlocation will be displayed as in Figure 9

3 Go to the Map view of the simulator Choose subscriber Debbie

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 17 of 25

(tel+1-2225552003) by choosing her icon which is a mobile phonegraphic

Figure 9 Map view of the Telecom Web Services Simulator

Larger view of Figure 9

Upon receiving the request from Debbie GeoAlert starts the GeographicalNotification on Debbies account The stand-alone Java application that youdeveloped kicks offs the geographical notification

Notification Started can be verified in the Map view of the toolkit simulator as shownin Figure 10

NoteIf the circular notification area does not appear click Debbies mobile phone icon

Figure 10 Notification set up for Debbie

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 18 of 25

Larger view of Figure 10

4 Switch to the Activity view of the simulator and verify that the notificationactivity has been created under Brown Motors gt Debbie

Figure 11 Activity view showing the notification created for Debbie

Larger view of Figure 11

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 19 of 25

5 Switch back to the Map view

Now Debbie goes shopping and enters the notification area that she wants to bereminded about when she is nearby In the toolkit you can simulate this event bydragging Debbies phone icon inside of the notification ring

Figure 12 Debbie enters the specified area

Larger view of Figure 12

After Debbie enters the notification ring a locationNotification is triggered by theTerminal Location web service The notification triggered is caught by the GeoAlertCatcher application that you developed earlier (TLCatcherWebEAR) so the Catchersends an SMS message to Debbie as a reminder Notice that you invoke thesendSMS operation in the locationNotification method of the Catcher

6 Switch back to the Activity view and verify that Debbie has received theSMS reminder

Figure 13 Reminder sent to Debbie

Larger view of Figure 13

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 20 of 25

Project Interchange with sample code

Ensure that the StartNotificationClient projects build path has a reference to thecomibmwswebservicesthinclient_700jar file that is available inRAD75Homeruntimesbase_v7runtimes

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 21 of 25

Downloads

Description Name Size Downloadmethod

Source code for Scenario 1 TWSS_Usage_Sample_PIzip 115KB HTTP

Information about download methods

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 22 of 25

Resources

Learn

bull Citations in this article

bull IBM Telecom Web Services Access Gateway Information Center v71

bull Service Policy Manager

bull Web Service Implementations

bull REST-style access using HTTP

bull Parlay X 21 Specifications

bull IBM WebSphere Telecom toolkit

bull IBM Education Assistant ndash WebSphere Telecom Toolkit configuration

bull GSMA OneAPI

bull IBM Rational Application Developer Version 75 documentation

bull IBM WebSphere Telecom Web Services Server Version 71 InformationCenter

bull IBM WebSphere Telecom Toolkit Version 71 Education Assistant

bull Find out more about Rational Application Developer

bull Browse the Rational Application Developer for WebSphere Software pageon developerWorks for links to technical articles and many relatedresources

bull Explore the Information Center

bull Visit the Rational software area on developerWorks for technical resources andbest practices for Rational Software Delivery Platform products

bull Stay current with developerWorks technical events and webcasts focusedon a variety of IBM products and IT industry topics

bull Attend a free developerWorks Live briefing to get up-to-speed quickly onIBM products and tools as well as IT industry trends

bull Watch developerWorks on-demand demos ranging from productinstallation and setup demos for beginners to advanced functionality forexperienced developers

bull Improve your skills Check the Rational training and certification catalog which

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 23 of 25

includes many types of courses on a wide range of topics You can take someof them anywhere any time and many of the Getting Started ones are free

Get products and technologies

bull Try Rational Application Developer for WebSphere Software free

bull Evaluate IBM software in the way that suits you best Download it for a trial tryit online use it in a cloud environment or spend a few hours in the SOASandbox learning how to implement service-oriented architecture efficiently

Discuss

bull Join the Development Tools forum to ask questions and participate indiscussions

bull Share your knowledge and help others who use Rational software by writing adeveloperWorks article Youll get worldwide exposure RSS syndication abyline and a bio and the benefit of professional editing and production on thedeveloperWorks Rational website

bull Follow Rational software on Facebook and Twitter (ibmrational) and add yourcomments and requests

bull Ask and answer questions and increase your expertise when you get involvedin the Rational forums cafeacutes and wikis

bull Connect with others who share your interests by joining the developerWorkscommunity and responding to the developer-driven blogs

About the authors

Raghunath NairRaghunath E Nair is a principal software engineer in the IBM IndiaSoftware Lab in Bangalore He joined IBM in 2006 His most recentrole has been in design development and support of software fortelecom for IBM WebSphere software including IBM WebSphereTWSS and IBM WebSphere IMS Connector His areas of expertise aremiddleware integration SOA web services and telecom Heco-authored Using WebSphere Message Broker as an ESB withWebSphere Process Server in the IBM Redbooks series and has aBachelor of Technology degree in Electronics and Communicationsfrom the University of Calicut

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 24 of 25

Chandrashekar NaikChandrashekar B Naik is a staff software engineer in the IBM IndiaSoftware Lab He joined IBM in 2004 and has experience in softwaredesign development and testing His areas of expertise include JavaJ2EE and web services programming including WebSphereApplication Server Telecom Web Services Server Mobile PortalAccelerator pervasive computing and WebSphere software fortelecom He currently focuses on development support and testing ofWebSphere Telecom Web Services Server Chandrashekar is also aSun-Certified Programmer and has a Bachelor of Engineering degree inComputer Science from Visveswaraiah Technological UniversityBelgaum

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 25 of 25

  • Table of Contents
  • Introduction to the IBM WebSphere Telecom Web Services Server
  • How the server fits into the telecom industry
  • Architecture of the Telecom Web Services Server
  • Scenario 1 Create a telecom application with web services
  • Develop the web application
  • Test the application on the WebSphere Telecom Toolkit
  • Deploy the application
  • Downloads
  • Resources
  • About the authors

For receiving notifications the GeoAlert must implement the Terminal LocationNotification web service and this implementation will be used as a Catcher toreceive the notifications triggered

1 Create a dynamic web project and call it TLCatcherWeb

2 Ensure that the Add project to an EAR check box is selected with EARProject Name being TLCatcherWebEAR

3 Download and copy the Parlay X 21 Terminal Location WSDL files intothe TLCatcherWeb gt WebContent gt WEB-INF gt wsdl folder Todownload see Parlay X 21 Specifications There is a link to it in theResources section

4 Locate the parlayx_terminal_location_notification_service_2_2wsdlfile in the WSDL folder right-click it and from the drop-down menusselect Web Services gt Generate JavaBean skeleton

Figure 4 Generate JavaBean skeleton

Larger view of Figure 4

5 Make sure that you select the following options for these fields (seeFigure 5)

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 10 of 25

bull Web service runtime IBM WebSphere JAX-RPC

bull Service project TLCatcherWeb

bull Service EAR project TLCatcherWebEAR

Figure 5 Configuration settings

Larger view of Figure 5

6 Click Finish After clicking Finish if you are prompted for server startupclick Cancel

7 The skeleton bean created in the previous step contains a set of methodsthat correspond to the operations described in the Terminal LocationNotification WSDL When the bean is created a skeleton for each methodis provided as Listing 3 shows

Listing 3 Terminal Location Notification skeleton code

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 11 of 25

package orgcsapiwwwpublic class TerminalLocationNotificationBindingImplimplements orgcsapiwwwTerminalLocationNotification

This operation is invoked on a successful location notificationpublic void locationNotification(javalangString correlatororgcsapiwwwLocationData[] dataorgcsapiwwwEnteringLeavingCriteria criteria) throws javarmiRemoteException

This operation is invoked on a location notification errorpublic void locationError(javalangString correlator javanetURI addressorgcsapiwwwServiceError reason) throws javarmiRemoteException

This operation is invoked upon location notification endpublic void locationEnd(javalangString correlator) throws javarmiRemoteException

When a Location Notification is received fulfilling Debbies criteria the GeoAlertapplication sends an SMS reminder message to Debbies mobile phone Toaccomplish this the service needs to implement the sendSMS client within thelocationNotification operation and invoke the sendSMS operation

8 To generate the SMS client download and the copyparlayx_sms_send_service_2_2wsdl file into the WSDL folderright-click and select gt Web Services gt Generate Client To downloadplease please see the Parlay X 21 Specifications There is a link to it inthe Resources section

9 Make sure that you select these options

bull Web service runtime IBM WebSphere JAX-RPC

bull Client project TLCatcherWeb

bull Client EAR project TLCatcherWebEAR

Figure 6 Web service client configuration

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 12 of 25

Larger view of Figure 6

This will create a package structure with stubs for the sendSMS operation

The locationNotification method in the TerminalLocationNotificationBindingImpl classis the one that gets invoked or notified when Debbies criteria is satisfied Accordingto the use case defined GeoAlert sends a reminder to Debbie through SMS Listing3 shows sample code for invoking the sendSMS operation of Short MessageService

Listing 4 Terminal Location Notification sample code

This operation is invoked on a successful location notificationpublic void locationNotification(javalangString correlatororgcsapiwwwLocationData[] dataorgcsapiwwwEnteringLeavingCriteria criteria)throws javarmiRemoteException

String smsResp =

Fetch the address from the LocationData elementLater use this address for sendSms operation URI[] addresses = new URI[1]addresses[0] = data[0]getAddress()

Fetch the Location Info in the form of Latitude and LongitudeSend this information in the SMS message to the subscriber

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 13 of 25

float lat = data[0]getCurrentLocation()getLatitude()float lon = data[0]getCurrentLocation()getLongitude()

Set the URL where Send SMS web service is runningString url = httplocalhost9081ParlayX21WebservicesSendSms

tryObtain SendSMS proxySendSmsProxy smsProxy = new SendSmsProxy()

Set endpoint where web service is runningsmsProxysetEndpoint(url)Systemoutprintln(---Endpoint set---)

Obtain the service handlerSendSms smsSvc = smsProxygetSendSms()Systemoutprintln(---Handle to Service obtained Invoking Web Service---)

Compose the SMS messageString msg = Hello Customer Greetings from Location Based Reminder App +You have reached the Location where you had set a reminder +Your current location is Latitude = + lat +Longitude = + lon

Invoke sendSms operation of Short Message ServicesmsResp= smsSvcsendSms(addresses LocationBasedReminderAPP null msg null)Systemoutprintln(---Sent Web Service request---)catch(Exception e)

When the locationNotification method is invoked it sends an SMS message toDebbies mobile device

Test the application on the WebSphere Telecom Toolkit

To test the application that you developed download and use the IBM WebSphereTelecom toolkit There is a link to it in the Resources section This free toolkitenables third-party application developers to quickly build and test rich applicationsinvolving SMS MMS Location Presence and Call control It also provides aplatform to develop proof of technology demonstrations to evaluate solutions and toexplore the various capabilities offered

See IBM Education Assistant - WebSphere Telecom Toolkit for more details Thereis a link to it in the Resources section

Notes

bull WebSphere Application Server v7 profile has been created in the RationalApplication Developer runtimes

bull IBM WebSphere Telecom Toolkit v71 is installed on Rational ApplicationDeveloper v751

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 14 of 25

Deploy and run the Telecom Web Services Simulator

1 Create a WebSphere Application Server v7 profile in Rational ApplicationDeveloper

2 Start the WebSphere server

3 Right-click the server and select Deploy Telecom Web ServicesSimulator (see Figure 7) This deploys an application calledWSSimulatorEAR

Figure 7 Deploy Telecom Web Services Simulator

Larger view of Figure 7

4 After deployment has finished right-click the server (see Figure 8) andselect Run Telecom Web Services Simulator Client

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 15 of 25

Figure 8 Run Telecom Web Services Simulator client

Larger view of Figure 8

There are six runtime views that display all of the simulator configuration andruntime data Activity Call Device Group Presence and Map See the IBMEducation Assistant ndash WebSphere Telecom Toolkit configuration for moreinformation on each of these views

Deploy the application

StartNotificationClient is a stand-alone Java application

The EAR project TLCatcherWebEAR needs to be deployed on a server runtimeFor this purpose use WebSphere Application Server 7 as the runtime engine for thisapplication

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 16 of 25

1 Right-click on WebSphere Application Server 7 (WAS 7) select Add andRemove Projects

2 In the Add and Remove Projects window add TLCatcherWebEAR

3 Click Finish

Now the Terminal Location Notification Web Service (Catcher) is deployed andrunning

Test your application

Before testing the GeoAlert application functionality verify the following -

bull TerminalLocationNotificationManager Endpoint is running This webservice is available as part of Telecom Web Services Simulator toolkithttplocalhost9081ParlayX21WebservicesTerminalLocationNotificationManager(Actual port number might vary)

bull TerminalLocationNotification Endpoint is running This web service wasdeveloped in the previous exercise (TLCatcherWebEAR)httplocalhost9081TLCatcherWebservicesTerminalLocationNotification(Actual port number might vary)

bull Make sure you have set the endpoints correctly in the Java classStartNotificationClientjava

1 Run the Java class StartNotificationClient providing the followingarguments

bull arg1 subscriber_phone_number This number should exist in theTelecom Web Services Simulator For example tel+1-2225552003

bull arg2 latitude For example 003

bull arg3 longitude For example 0002Example java StartNotificationClient tel+1-2225552003003 0002

2 Make sure that the latitude and longitude passed as parameter are in thevicinity of the Map view in the simulatorNote To get the latitude and longitude of a particular location in the mapdrag any of the icons to the particular place and the co-ordinates for thatlocation will be displayed as in Figure 9

3 Go to the Map view of the simulator Choose subscriber Debbie

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 17 of 25

(tel+1-2225552003) by choosing her icon which is a mobile phonegraphic

Figure 9 Map view of the Telecom Web Services Simulator

Larger view of Figure 9

Upon receiving the request from Debbie GeoAlert starts the GeographicalNotification on Debbies account The stand-alone Java application that youdeveloped kicks offs the geographical notification

Notification Started can be verified in the Map view of the toolkit simulator as shownin Figure 10

NoteIf the circular notification area does not appear click Debbies mobile phone icon

Figure 10 Notification set up for Debbie

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 18 of 25

Larger view of Figure 10

4 Switch to the Activity view of the simulator and verify that the notificationactivity has been created under Brown Motors gt Debbie

Figure 11 Activity view showing the notification created for Debbie

Larger view of Figure 11

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 19 of 25

5 Switch back to the Map view

Now Debbie goes shopping and enters the notification area that she wants to bereminded about when she is nearby In the toolkit you can simulate this event bydragging Debbies phone icon inside of the notification ring

Figure 12 Debbie enters the specified area

Larger view of Figure 12

After Debbie enters the notification ring a locationNotification is triggered by theTerminal Location web service The notification triggered is caught by the GeoAlertCatcher application that you developed earlier (TLCatcherWebEAR) so the Catchersends an SMS message to Debbie as a reminder Notice that you invoke thesendSMS operation in the locationNotification method of the Catcher

6 Switch back to the Activity view and verify that Debbie has received theSMS reminder

Figure 13 Reminder sent to Debbie

Larger view of Figure 13

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 20 of 25

Project Interchange with sample code

Ensure that the StartNotificationClient projects build path has a reference to thecomibmwswebservicesthinclient_700jar file that is available inRAD75Homeruntimesbase_v7runtimes

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 21 of 25

Downloads

Description Name Size Downloadmethod

Source code for Scenario 1 TWSS_Usage_Sample_PIzip 115KB HTTP

Information about download methods

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 22 of 25

Resources

Learn

bull Citations in this article

bull IBM Telecom Web Services Access Gateway Information Center v71

bull Service Policy Manager

bull Web Service Implementations

bull REST-style access using HTTP

bull Parlay X 21 Specifications

bull IBM WebSphere Telecom toolkit

bull IBM Education Assistant ndash WebSphere Telecom Toolkit configuration

bull GSMA OneAPI

bull IBM Rational Application Developer Version 75 documentation

bull IBM WebSphere Telecom Web Services Server Version 71 InformationCenter

bull IBM WebSphere Telecom Toolkit Version 71 Education Assistant

bull Find out more about Rational Application Developer

bull Browse the Rational Application Developer for WebSphere Software pageon developerWorks for links to technical articles and many relatedresources

bull Explore the Information Center

bull Visit the Rational software area on developerWorks for technical resources andbest practices for Rational Software Delivery Platform products

bull Stay current with developerWorks technical events and webcasts focusedon a variety of IBM products and IT industry topics

bull Attend a free developerWorks Live briefing to get up-to-speed quickly onIBM products and tools as well as IT industry trends

bull Watch developerWorks on-demand demos ranging from productinstallation and setup demos for beginners to advanced functionality forexperienced developers

bull Improve your skills Check the Rational training and certification catalog which

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 23 of 25

includes many types of courses on a wide range of topics You can take someof them anywhere any time and many of the Getting Started ones are free

Get products and technologies

bull Try Rational Application Developer for WebSphere Software free

bull Evaluate IBM software in the way that suits you best Download it for a trial tryit online use it in a cloud environment or spend a few hours in the SOASandbox learning how to implement service-oriented architecture efficiently

Discuss

bull Join the Development Tools forum to ask questions and participate indiscussions

bull Share your knowledge and help others who use Rational software by writing adeveloperWorks article Youll get worldwide exposure RSS syndication abyline and a bio and the benefit of professional editing and production on thedeveloperWorks Rational website

bull Follow Rational software on Facebook and Twitter (ibmrational) and add yourcomments and requests

bull Ask and answer questions and increase your expertise when you get involvedin the Rational forums cafeacutes and wikis

bull Connect with others who share your interests by joining the developerWorkscommunity and responding to the developer-driven blogs

About the authors

Raghunath NairRaghunath E Nair is a principal software engineer in the IBM IndiaSoftware Lab in Bangalore He joined IBM in 2006 His most recentrole has been in design development and support of software fortelecom for IBM WebSphere software including IBM WebSphereTWSS and IBM WebSphere IMS Connector His areas of expertise aremiddleware integration SOA web services and telecom Heco-authored Using WebSphere Message Broker as an ESB withWebSphere Process Server in the IBM Redbooks series and has aBachelor of Technology degree in Electronics and Communicationsfrom the University of Calicut

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 24 of 25

Chandrashekar NaikChandrashekar B Naik is a staff software engineer in the IBM IndiaSoftware Lab He joined IBM in 2004 and has experience in softwaredesign development and testing His areas of expertise include JavaJ2EE and web services programming including WebSphereApplication Server Telecom Web Services Server Mobile PortalAccelerator pervasive computing and WebSphere software fortelecom He currently focuses on development support and testing ofWebSphere Telecom Web Services Server Chandrashekar is also aSun-Certified Programmer and has a Bachelor of Engineering degree inComputer Science from Visveswaraiah Technological UniversityBelgaum

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 25 of 25

  • Table of Contents
  • Introduction to the IBM WebSphere Telecom Web Services Server
  • How the server fits into the telecom industry
  • Architecture of the Telecom Web Services Server
  • Scenario 1 Create a telecom application with web services
  • Develop the web application
  • Test the application on the WebSphere Telecom Toolkit
  • Deploy the application
  • Downloads
  • Resources
  • About the authors

bull Web service runtime IBM WebSphere JAX-RPC

bull Service project TLCatcherWeb

bull Service EAR project TLCatcherWebEAR

Figure 5 Configuration settings

Larger view of Figure 5

6 Click Finish After clicking Finish if you are prompted for server startupclick Cancel

7 The skeleton bean created in the previous step contains a set of methodsthat correspond to the operations described in the Terminal LocationNotification WSDL When the bean is created a skeleton for each methodis provided as Listing 3 shows

Listing 3 Terminal Location Notification skeleton code

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 11 of 25

package orgcsapiwwwpublic class TerminalLocationNotificationBindingImplimplements orgcsapiwwwTerminalLocationNotification

This operation is invoked on a successful location notificationpublic void locationNotification(javalangString correlatororgcsapiwwwLocationData[] dataorgcsapiwwwEnteringLeavingCriteria criteria) throws javarmiRemoteException

This operation is invoked on a location notification errorpublic void locationError(javalangString correlator javanetURI addressorgcsapiwwwServiceError reason) throws javarmiRemoteException

This operation is invoked upon location notification endpublic void locationEnd(javalangString correlator) throws javarmiRemoteException

When a Location Notification is received fulfilling Debbies criteria the GeoAlertapplication sends an SMS reminder message to Debbies mobile phone Toaccomplish this the service needs to implement the sendSMS client within thelocationNotification operation and invoke the sendSMS operation

8 To generate the SMS client download and the copyparlayx_sms_send_service_2_2wsdl file into the WSDL folderright-click and select gt Web Services gt Generate Client To downloadplease please see the Parlay X 21 Specifications There is a link to it inthe Resources section

9 Make sure that you select these options

bull Web service runtime IBM WebSphere JAX-RPC

bull Client project TLCatcherWeb

bull Client EAR project TLCatcherWebEAR

Figure 6 Web service client configuration

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 12 of 25

Larger view of Figure 6

This will create a package structure with stubs for the sendSMS operation

The locationNotification method in the TerminalLocationNotificationBindingImpl classis the one that gets invoked or notified when Debbies criteria is satisfied Accordingto the use case defined GeoAlert sends a reminder to Debbie through SMS Listing3 shows sample code for invoking the sendSMS operation of Short MessageService

Listing 4 Terminal Location Notification sample code

This operation is invoked on a successful location notificationpublic void locationNotification(javalangString correlatororgcsapiwwwLocationData[] dataorgcsapiwwwEnteringLeavingCriteria criteria)throws javarmiRemoteException

String smsResp =

Fetch the address from the LocationData elementLater use this address for sendSms operation URI[] addresses = new URI[1]addresses[0] = data[0]getAddress()

Fetch the Location Info in the form of Latitude and LongitudeSend this information in the SMS message to the subscriber

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 13 of 25

float lat = data[0]getCurrentLocation()getLatitude()float lon = data[0]getCurrentLocation()getLongitude()

Set the URL where Send SMS web service is runningString url = httplocalhost9081ParlayX21WebservicesSendSms

tryObtain SendSMS proxySendSmsProxy smsProxy = new SendSmsProxy()

Set endpoint where web service is runningsmsProxysetEndpoint(url)Systemoutprintln(---Endpoint set---)

Obtain the service handlerSendSms smsSvc = smsProxygetSendSms()Systemoutprintln(---Handle to Service obtained Invoking Web Service---)

Compose the SMS messageString msg = Hello Customer Greetings from Location Based Reminder App +You have reached the Location where you had set a reminder +Your current location is Latitude = + lat +Longitude = + lon

Invoke sendSms operation of Short Message ServicesmsResp= smsSvcsendSms(addresses LocationBasedReminderAPP null msg null)Systemoutprintln(---Sent Web Service request---)catch(Exception e)

When the locationNotification method is invoked it sends an SMS message toDebbies mobile device

Test the application on the WebSphere Telecom Toolkit

To test the application that you developed download and use the IBM WebSphereTelecom toolkit There is a link to it in the Resources section This free toolkitenables third-party application developers to quickly build and test rich applicationsinvolving SMS MMS Location Presence and Call control It also provides aplatform to develop proof of technology demonstrations to evaluate solutions and toexplore the various capabilities offered

See IBM Education Assistant - WebSphere Telecom Toolkit for more details Thereis a link to it in the Resources section

Notes

bull WebSphere Application Server v7 profile has been created in the RationalApplication Developer runtimes

bull IBM WebSphere Telecom Toolkit v71 is installed on Rational ApplicationDeveloper v751

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 14 of 25

Deploy and run the Telecom Web Services Simulator

1 Create a WebSphere Application Server v7 profile in Rational ApplicationDeveloper

2 Start the WebSphere server

3 Right-click the server and select Deploy Telecom Web ServicesSimulator (see Figure 7) This deploys an application calledWSSimulatorEAR

Figure 7 Deploy Telecom Web Services Simulator

Larger view of Figure 7

4 After deployment has finished right-click the server (see Figure 8) andselect Run Telecom Web Services Simulator Client

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 15 of 25

Figure 8 Run Telecom Web Services Simulator client

Larger view of Figure 8

There are six runtime views that display all of the simulator configuration andruntime data Activity Call Device Group Presence and Map See the IBMEducation Assistant ndash WebSphere Telecom Toolkit configuration for moreinformation on each of these views

Deploy the application

StartNotificationClient is a stand-alone Java application

The EAR project TLCatcherWebEAR needs to be deployed on a server runtimeFor this purpose use WebSphere Application Server 7 as the runtime engine for thisapplication

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 16 of 25

1 Right-click on WebSphere Application Server 7 (WAS 7) select Add andRemove Projects

2 In the Add and Remove Projects window add TLCatcherWebEAR

3 Click Finish

Now the Terminal Location Notification Web Service (Catcher) is deployed andrunning

Test your application

Before testing the GeoAlert application functionality verify the following -

bull TerminalLocationNotificationManager Endpoint is running This webservice is available as part of Telecom Web Services Simulator toolkithttplocalhost9081ParlayX21WebservicesTerminalLocationNotificationManager(Actual port number might vary)

bull TerminalLocationNotification Endpoint is running This web service wasdeveloped in the previous exercise (TLCatcherWebEAR)httplocalhost9081TLCatcherWebservicesTerminalLocationNotification(Actual port number might vary)

bull Make sure you have set the endpoints correctly in the Java classStartNotificationClientjava

1 Run the Java class StartNotificationClient providing the followingarguments

bull arg1 subscriber_phone_number This number should exist in theTelecom Web Services Simulator For example tel+1-2225552003

bull arg2 latitude For example 003

bull arg3 longitude For example 0002Example java StartNotificationClient tel+1-2225552003003 0002

2 Make sure that the latitude and longitude passed as parameter are in thevicinity of the Map view in the simulatorNote To get the latitude and longitude of a particular location in the mapdrag any of the icons to the particular place and the co-ordinates for thatlocation will be displayed as in Figure 9

3 Go to the Map view of the simulator Choose subscriber Debbie

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 17 of 25

(tel+1-2225552003) by choosing her icon which is a mobile phonegraphic

Figure 9 Map view of the Telecom Web Services Simulator

Larger view of Figure 9

Upon receiving the request from Debbie GeoAlert starts the GeographicalNotification on Debbies account The stand-alone Java application that youdeveloped kicks offs the geographical notification

Notification Started can be verified in the Map view of the toolkit simulator as shownin Figure 10

NoteIf the circular notification area does not appear click Debbies mobile phone icon

Figure 10 Notification set up for Debbie

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 18 of 25

Larger view of Figure 10

4 Switch to the Activity view of the simulator and verify that the notificationactivity has been created under Brown Motors gt Debbie

Figure 11 Activity view showing the notification created for Debbie

Larger view of Figure 11

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 19 of 25

5 Switch back to the Map view

Now Debbie goes shopping and enters the notification area that she wants to bereminded about when she is nearby In the toolkit you can simulate this event bydragging Debbies phone icon inside of the notification ring

Figure 12 Debbie enters the specified area

Larger view of Figure 12

After Debbie enters the notification ring a locationNotification is triggered by theTerminal Location web service The notification triggered is caught by the GeoAlertCatcher application that you developed earlier (TLCatcherWebEAR) so the Catchersends an SMS message to Debbie as a reminder Notice that you invoke thesendSMS operation in the locationNotification method of the Catcher

6 Switch back to the Activity view and verify that Debbie has received theSMS reminder

Figure 13 Reminder sent to Debbie

Larger view of Figure 13

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 20 of 25

Project Interchange with sample code

Ensure that the StartNotificationClient projects build path has a reference to thecomibmwswebservicesthinclient_700jar file that is available inRAD75Homeruntimesbase_v7runtimes

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 21 of 25

Downloads

Description Name Size Downloadmethod

Source code for Scenario 1 TWSS_Usage_Sample_PIzip 115KB HTTP

Information about download methods

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 22 of 25

Resources

Learn

bull Citations in this article

bull IBM Telecom Web Services Access Gateway Information Center v71

bull Service Policy Manager

bull Web Service Implementations

bull REST-style access using HTTP

bull Parlay X 21 Specifications

bull IBM WebSphere Telecom toolkit

bull IBM Education Assistant ndash WebSphere Telecom Toolkit configuration

bull GSMA OneAPI

bull IBM Rational Application Developer Version 75 documentation

bull IBM WebSphere Telecom Web Services Server Version 71 InformationCenter

bull IBM WebSphere Telecom Toolkit Version 71 Education Assistant

bull Find out more about Rational Application Developer

bull Browse the Rational Application Developer for WebSphere Software pageon developerWorks for links to technical articles and many relatedresources

bull Explore the Information Center

bull Visit the Rational software area on developerWorks for technical resources andbest practices for Rational Software Delivery Platform products

bull Stay current with developerWorks technical events and webcasts focusedon a variety of IBM products and IT industry topics

bull Attend a free developerWorks Live briefing to get up-to-speed quickly onIBM products and tools as well as IT industry trends

bull Watch developerWorks on-demand demos ranging from productinstallation and setup demos for beginners to advanced functionality forexperienced developers

bull Improve your skills Check the Rational training and certification catalog which

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 23 of 25

includes many types of courses on a wide range of topics You can take someof them anywhere any time and many of the Getting Started ones are free

Get products and technologies

bull Try Rational Application Developer for WebSphere Software free

bull Evaluate IBM software in the way that suits you best Download it for a trial tryit online use it in a cloud environment or spend a few hours in the SOASandbox learning how to implement service-oriented architecture efficiently

Discuss

bull Join the Development Tools forum to ask questions and participate indiscussions

bull Share your knowledge and help others who use Rational software by writing adeveloperWorks article Youll get worldwide exposure RSS syndication abyline and a bio and the benefit of professional editing and production on thedeveloperWorks Rational website

bull Follow Rational software on Facebook and Twitter (ibmrational) and add yourcomments and requests

bull Ask and answer questions and increase your expertise when you get involvedin the Rational forums cafeacutes and wikis

bull Connect with others who share your interests by joining the developerWorkscommunity and responding to the developer-driven blogs

About the authors

Raghunath NairRaghunath E Nair is a principal software engineer in the IBM IndiaSoftware Lab in Bangalore He joined IBM in 2006 His most recentrole has been in design development and support of software fortelecom for IBM WebSphere software including IBM WebSphereTWSS and IBM WebSphere IMS Connector His areas of expertise aremiddleware integration SOA web services and telecom Heco-authored Using WebSphere Message Broker as an ESB withWebSphere Process Server in the IBM Redbooks series and has aBachelor of Technology degree in Electronics and Communicationsfrom the University of Calicut

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 24 of 25

Chandrashekar NaikChandrashekar B Naik is a staff software engineer in the IBM IndiaSoftware Lab He joined IBM in 2004 and has experience in softwaredesign development and testing His areas of expertise include JavaJ2EE and web services programming including WebSphereApplication Server Telecom Web Services Server Mobile PortalAccelerator pervasive computing and WebSphere software fortelecom He currently focuses on development support and testing ofWebSphere Telecom Web Services Server Chandrashekar is also aSun-Certified Programmer and has a Bachelor of Engineering degree inComputer Science from Visveswaraiah Technological UniversityBelgaum

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 25 of 25

  • Table of Contents
  • Introduction to the IBM WebSphere Telecom Web Services Server
  • How the server fits into the telecom industry
  • Architecture of the Telecom Web Services Server
  • Scenario 1 Create a telecom application with web services
  • Develop the web application
  • Test the application on the WebSphere Telecom Toolkit
  • Deploy the application
  • Downloads
  • Resources
  • About the authors

package orgcsapiwwwpublic class TerminalLocationNotificationBindingImplimplements orgcsapiwwwTerminalLocationNotification

This operation is invoked on a successful location notificationpublic void locationNotification(javalangString correlatororgcsapiwwwLocationData[] dataorgcsapiwwwEnteringLeavingCriteria criteria) throws javarmiRemoteException

This operation is invoked on a location notification errorpublic void locationError(javalangString correlator javanetURI addressorgcsapiwwwServiceError reason) throws javarmiRemoteException

This operation is invoked upon location notification endpublic void locationEnd(javalangString correlator) throws javarmiRemoteException

When a Location Notification is received fulfilling Debbies criteria the GeoAlertapplication sends an SMS reminder message to Debbies mobile phone Toaccomplish this the service needs to implement the sendSMS client within thelocationNotification operation and invoke the sendSMS operation

8 To generate the SMS client download and the copyparlayx_sms_send_service_2_2wsdl file into the WSDL folderright-click and select gt Web Services gt Generate Client To downloadplease please see the Parlay X 21 Specifications There is a link to it inthe Resources section

9 Make sure that you select these options

bull Web service runtime IBM WebSphere JAX-RPC

bull Client project TLCatcherWeb

bull Client EAR project TLCatcherWebEAR

Figure 6 Web service client configuration

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 12 of 25

Larger view of Figure 6

This will create a package structure with stubs for the sendSMS operation

The locationNotification method in the TerminalLocationNotificationBindingImpl classis the one that gets invoked or notified when Debbies criteria is satisfied Accordingto the use case defined GeoAlert sends a reminder to Debbie through SMS Listing3 shows sample code for invoking the sendSMS operation of Short MessageService

Listing 4 Terminal Location Notification sample code

This operation is invoked on a successful location notificationpublic void locationNotification(javalangString correlatororgcsapiwwwLocationData[] dataorgcsapiwwwEnteringLeavingCriteria criteria)throws javarmiRemoteException

String smsResp =

Fetch the address from the LocationData elementLater use this address for sendSms operation URI[] addresses = new URI[1]addresses[0] = data[0]getAddress()

Fetch the Location Info in the form of Latitude and LongitudeSend this information in the SMS message to the subscriber

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 13 of 25

float lat = data[0]getCurrentLocation()getLatitude()float lon = data[0]getCurrentLocation()getLongitude()

Set the URL where Send SMS web service is runningString url = httplocalhost9081ParlayX21WebservicesSendSms

tryObtain SendSMS proxySendSmsProxy smsProxy = new SendSmsProxy()

Set endpoint where web service is runningsmsProxysetEndpoint(url)Systemoutprintln(---Endpoint set---)

Obtain the service handlerSendSms smsSvc = smsProxygetSendSms()Systemoutprintln(---Handle to Service obtained Invoking Web Service---)

Compose the SMS messageString msg = Hello Customer Greetings from Location Based Reminder App +You have reached the Location where you had set a reminder +Your current location is Latitude = + lat +Longitude = + lon

Invoke sendSms operation of Short Message ServicesmsResp= smsSvcsendSms(addresses LocationBasedReminderAPP null msg null)Systemoutprintln(---Sent Web Service request---)catch(Exception e)

When the locationNotification method is invoked it sends an SMS message toDebbies mobile device

Test the application on the WebSphere Telecom Toolkit

To test the application that you developed download and use the IBM WebSphereTelecom toolkit There is a link to it in the Resources section This free toolkitenables third-party application developers to quickly build and test rich applicationsinvolving SMS MMS Location Presence and Call control It also provides aplatform to develop proof of technology demonstrations to evaluate solutions and toexplore the various capabilities offered

See IBM Education Assistant - WebSphere Telecom Toolkit for more details Thereis a link to it in the Resources section

Notes

bull WebSphere Application Server v7 profile has been created in the RationalApplication Developer runtimes

bull IBM WebSphere Telecom Toolkit v71 is installed on Rational ApplicationDeveloper v751

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 14 of 25

Deploy and run the Telecom Web Services Simulator

1 Create a WebSphere Application Server v7 profile in Rational ApplicationDeveloper

2 Start the WebSphere server

3 Right-click the server and select Deploy Telecom Web ServicesSimulator (see Figure 7) This deploys an application calledWSSimulatorEAR

Figure 7 Deploy Telecom Web Services Simulator

Larger view of Figure 7

4 After deployment has finished right-click the server (see Figure 8) andselect Run Telecom Web Services Simulator Client

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 15 of 25

Figure 8 Run Telecom Web Services Simulator client

Larger view of Figure 8

There are six runtime views that display all of the simulator configuration andruntime data Activity Call Device Group Presence and Map See the IBMEducation Assistant ndash WebSphere Telecom Toolkit configuration for moreinformation on each of these views

Deploy the application

StartNotificationClient is a stand-alone Java application

The EAR project TLCatcherWebEAR needs to be deployed on a server runtimeFor this purpose use WebSphere Application Server 7 as the runtime engine for thisapplication

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 16 of 25

1 Right-click on WebSphere Application Server 7 (WAS 7) select Add andRemove Projects

2 In the Add and Remove Projects window add TLCatcherWebEAR

3 Click Finish

Now the Terminal Location Notification Web Service (Catcher) is deployed andrunning

Test your application

Before testing the GeoAlert application functionality verify the following -

bull TerminalLocationNotificationManager Endpoint is running This webservice is available as part of Telecom Web Services Simulator toolkithttplocalhost9081ParlayX21WebservicesTerminalLocationNotificationManager(Actual port number might vary)

bull TerminalLocationNotification Endpoint is running This web service wasdeveloped in the previous exercise (TLCatcherWebEAR)httplocalhost9081TLCatcherWebservicesTerminalLocationNotification(Actual port number might vary)

bull Make sure you have set the endpoints correctly in the Java classStartNotificationClientjava

1 Run the Java class StartNotificationClient providing the followingarguments

bull arg1 subscriber_phone_number This number should exist in theTelecom Web Services Simulator For example tel+1-2225552003

bull arg2 latitude For example 003

bull arg3 longitude For example 0002Example java StartNotificationClient tel+1-2225552003003 0002

2 Make sure that the latitude and longitude passed as parameter are in thevicinity of the Map view in the simulatorNote To get the latitude and longitude of a particular location in the mapdrag any of the icons to the particular place and the co-ordinates for thatlocation will be displayed as in Figure 9

3 Go to the Map view of the simulator Choose subscriber Debbie

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 17 of 25

(tel+1-2225552003) by choosing her icon which is a mobile phonegraphic

Figure 9 Map view of the Telecom Web Services Simulator

Larger view of Figure 9

Upon receiving the request from Debbie GeoAlert starts the GeographicalNotification on Debbies account The stand-alone Java application that youdeveloped kicks offs the geographical notification

Notification Started can be verified in the Map view of the toolkit simulator as shownin Figure 10

NoteIf the circular notification area does not appear click Debbies mobile phone icon

Figure 10 Notification set up for Debbie

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 18 of 25

Larger view of Figure 10

4 Switch to the Activity view of the simulator and verify that the notificationactivity has been created under Brown Motors gt Debbie

Figure 11 Activity view showing the notification created for Debbie

Larger view of Figure 11

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 19 of 25

5 Switch back to the Map view

Now Debbie goes shopping and enters the notification area that she wants to bereminded about when she is nearby In the toolkit you can simulate this event bydragging Debbies phone icon inside of the notification ring

Figure 12 Debbie enters the specified area

Larger view of Figure 12

After Debbie enters the notification ring a locationNotification is triggered by theTerminal Location web service The notification triggered is caught by the GeoAlertCatcher application that you developed earlier (TLCatcherWebEAR) so the Catchersends an SMS message to Debbie as a reminder Notice that you invoke thesendSMS operation in the locationNotification method of the Catcher

6 Switch back to the Activity view and verify that Debbie has received theSMS reminder

Figure 13 Reminder sent to Debbie

Larger view of Figure 13

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 20 of 25

Project Interchange with sample code

Ensure that the StartNotificationClient projects build path has a reference to thecomibmwswebservicesthinclient_700jar file that is available inRAD75Homeruntimesbase_v7runtimes

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 21 of 25

Downloads

Description Name Size Downloadmethod

Source code for Scenario 1 TWSS_Usage_Sample_PIzip 115KB HTTP

Information about download methods

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 22 of 25

Resources

Learn

bull Citations in this article

bull IBM Telecom Web Services Access Gateway Information Center v71

bull Service Policy Manager

bull Web Service Implementations

bull REST-style access using HTTP

bull Parlay X 21 Specifications

bull IBM WebSphere Telecom toolkit

bull IBM Education Assistant ndash WebSphere Telecom Toolkit configuration

bull GSMA OneAPI

bull IBM Rational Application Developer Version 75 documentation

bull IBM WebSphere Telecom Web Services Server Version 71 InformationCenter

bull IBM WebSphere Telecom Toolkit Version 71 Education Assistant

bull Find out more about Rational Application Developer

bull Browse the Rational Application Developer for WebSphere Software pageon developerWorks for links to technical articles and many relatedresources

bull Explore the Information Center

bull Visit the Rational software area on developerWorks for technical resources andbest practices for Rational Software Delivery Platform products

bull Stay current with developerWorks technical events and webcasts focusedon a variety of IBM products and IT industry topics

bull Attend a free developerWorks Live briefing to get up-to-speed quickly onIBM products and tools as well as IT industry trends

bull Watch developerWorks on-demand demos ranging from productinstallation and setup demos for beginners to advanced functionality forexperienced developers

bull Improve your skills Check the Rational training and certification catalog which

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 23 of 25

includes many types of courses on a wide range of topics You can take someof them anywhere any time and many of the Getting Started ones are free

Get products and technologies

bull Try Rational Application Developer for WebSphere Software free

bull Evaluate IBM software in the way that suits you best Download it for a trial tryit online use it in a cloud environment or spend a few hours in the SOASandbox learning how to implement service-oriented architecture efficiently

Discuss

bull Join the Development Tools forum to ask questions and participate indiscussions

bull Share your knowledge and help others who use Rational software by writing adeveloperWorks article Youll get worldwide exposure RSS syndication abyline and a bio and the benefit of professional editing and production on thedeveloperWorks Rational website

bull Follow Rational software on Facebook and Twitter (ibmrational) and add yourcomments and requests

bull Ask and answer questions and increase your expertise when you get involvedin the Rational forums cafeacutes and wikis

bull Connect with others who share your interests by joining the developerWorkscommunity and responding to the developer-driven blogs

About the authors

Raghunath NairRaghunath E Nair is a principal software engineer in the IBM IndiaSoftware Lab in Bangalore He joined IBM in 2006 His most recentrole has been in design development and support of software fortelecom for IBM WebSphere software including IBM WebSphereTWSS and IBM WebSphere IMS Connector His areas of expertise aremiddleware integration SOA web services and telecom Heco-authored Using WebSphere Message Broker as an ESB withWebSphere Process Server in the IBM Redbooks series and has aBachelor of Technology degree in Electronics and Communicationsfrom the University of Calicut

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 24 of 25

Chandrashekar NaikChandrashekar B Naik is a staff software engineer in the IBM IndiaSoftware Lab He joined IBM in 2004 and has experience in softwaredesign development and testing His areas of expertise include JavaJ2EE and web services programming including WebSphereApplication Server Telecom Web Services Server Mobile PortalAccelerator pervasive computing and WebSphere software fortelecom He currently focuses on development support and testing ofWebSphere Telecom Web Services Server Chandrashekar is also aSun-Certified Programmer and has a Bachelor of Engineering degree inComputer Science from Visveswaraiah Technological UniversityBelgaum

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 25 of 25

  • Table of Contents
  • Introduction to the IBM WebSphere Telecom Web Services Server
  • How the server fits into the telecom industry
  • Architecture of the Telecom Web Services Server
  • Scenario 1 Create a telecom application with web services
  • Develop the web application
  • Test the application on the WebSphere Telecom Toolkit
  • Deploy the application
  • Downloads
  • Resources
  • About the authors

Larger view of Figure 6

This will create a package structure with stubs for the sendSMS operation

The locationNotification method in the TerminalLocationNotificationBindingImpl classis the one that gets invoked or notified when Debbies criteria is satisfied Accordingto the use case defined GeoAlert sends a reminder to Debbie through SMS Listing3 shows sample code for invoking the sendSMS operation of Short MessageService

Listing 4 Terminal Location Notification sample code

This operation is invoked on a successful location notificationpublic void locationNotification(javalangString correlatororgcsapiwwwLocationData[] dataorgcsapiwwwEnteringLeavingCriteria criteria)throws javarmiRemoteException

String smsResp =

Fetch the address from the LocationData elementLater use this address for sendSms operation URI[] addresses = new URI[1]addresses[0] = data[0]getAddress()

Fetch the Location Info in the form of Latitude and LongitudeSend this information in the SMS message to the subscriber

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 13 of 25

float lat = data[0]getCurrentLocation()getLatitude()float lon = data[0]getCurrentLocation()getLongitude()

Set the URL where Send SMS web service is runningString url = httplocalhost9081ParlayX21WebservicesSendSms

tryObtain SendSMS proxySendSmsProxy smsProxy = new SendSmsProxy()

Set endpoint where web service is runningsmsProxysetEndpoint(url)Systemoutprintln(---Endpoint set---)

Obtain the service handlerSendSms smsSvc = smsProxygetSendSms()Systemoutprintln(---Handle to Service obtained Invoking Web Service---)

Compose the SMS messageString msg = Hello Customer Greetings from Location Based Reminder App +You have reached the Location where you had set a reminder +Your current location is Latitude = + lat +Longitude = + lon

Invoke sendSms operation of Short Message ServicesmsResp= smsSvcsendSms(addresses LocationBasedReminderAPP null msg null)Systemoutprintln(---Sent Web Service request---)catch(Exception e)

When the locationNotification method is invoked it sends an SMS message toDebbies mobile device

Test the application on the WebSphere Telecom Toolkit

To test the application that you developed download and use the IBM WebSphereTelecom toolkit There is a link to it in the Resources section This free toolkitenables third-party application developers to quickly build and test rich applicationsinvolving SMS MMS Location Presence and Call control It also provides aplatform to develop proof of technology demonstrations to evaluate solutions and toexplore the various capabilities offered

See IBM Education Assistant - WebSphere Telecom Toolkit for more details Thereis a link to it in the Resources section

Notes

bull WebSphere Application Server v7 profile has been created in the RationalApplication Developer runtimes

bull IBM WebSphere Telecom Toolkit v71 is installed on Rational ApplicationDeveloper v751

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 14 of 25

Deploy and run the Telecom Web Services Simulator

1 Create a WebSphere Application Server v7 profile in Rational ApplicationDeveloper

2 Start the WebSphere server

3 Right-click the server and select Deploy Telecom Web ServicesSimulator (see Figure 7) This deploys an application calledWSSimulatorEAR

Figure 7 Deploy Telecom Web Services Simulator

Larger view of Figure 7

4 After deployment has finished right-click the server (see Figure 8) andselect Run Telecom Web Services Simulator Client

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 15 of 25

Figure 8 Run Telecom Web Services Simulator client

Larger view of Figure 8

There are six runtime views that display all of the simulator configuration andruntime data Activity Call Device Group Presence and Map See the IBMEducation Assistant ndash WebSphere Telecom Toolkit configuration for moreinformation on each of these views

Deploy the application

StartNotificationClient is a stand-alone Java application

The EAR project TLCatcherWebEAR needs to be deployed on a server runtimeFor this purpose use WebSphere Application Server 7 as the runtime engine for thisapplication

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 16 of 25

1 Right-click on WebSphere Application Server 7 (WAS 7) select Add andRemove Projects

2 In the Add and Remove Projects window add TLCatcherWebEAR

3 Click Finish

Now the Terminal Location Notification Web Service (Catcher) is deployed andrunning

Test your application

Before testing the GeoAlert application functionality verify the following -

bull TerminalLocationNotificationManager Endpoint is running This webservice is available as part of Telecom Web Services Simulator toolkithttplocalhost9081ParlayX21WebservicesTerminalLocationNotificationManager(Actual port number might vary)

bull TerminalLocationNotification Endpoint is running This web service wasdeveloped in the previous exercise (TLCatcherWebEAR)httplocalhost9081TLCatcherWebservicesTerminalLocationNotification(Actual port number might vary)

bull Make sure you have set the endpoints correctly in the Java classStartNotificationClientjava

1 Run the Java class StartNotificationClient providing the followingarguments

bull arg1 subscriber_phone_number This number should exist in theTelecom Web Services Simulator For example tel+1-2225552003

bull arg2 latitude For example 003

bull arg3 longitude For example 0002Example java StartNotificationClient tel+1-2225552003003 0002

2 Make sure that the latitude and longitude passed as parameter are in thevicinity of the Map view in the simulatorNote To get the latitude and longitude of a particular location in the mapdrag any of the icons to the particular place and the co-ordinates for thatlocation will be displayed as in Figure 9

3 Go to the Map view of the simulator Choose subscriber Debbie

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 17 of 25

(tel+1-2225552003) by choosing her icon which is a mobile phonegraphic

Figure 9 Map view of the Telecom Web Services Simulator

Larger view of Figure 9

Upon receiving the request from Debbie GeoAlert starts the GeographicalNotification on Debbies account The stand-alone Java application that youdeveloped kicks offs the geographical notification

Notification Started can be verified in the Map view of the toolkit simulator as shownin Figure 10

NoteIf the circular notification area does not appear click Debbies mobile phone icon

Figure 10 Notification set up for Debbie

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 18 of 25

Larger view of Figure 10

4 Switch to the Activity view of the simulator and verify that the notificationactivity has been created under Brown Motors gt Debbie

Figure 11 Activity view showing the notification created for Debbie

Larger view of Figure 11

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 19 of 25

5 Switch back to the Map view

Now Debbie goes shopping and enters the notification area that she wants to bereminded about when she is nearby In the toolkit you can simulate this event bydragging Debbies phone icon inside of the notification ring

Figure 12 Debbie enters the specified area

Larger view of Figure 12

After Debbie enters the notification ring a locationNotification is triggered by theTerminal Location web service The notification triggered is caught by the GeoAlertCatcher application that you developed earlier (TLCatcherWebEAR) so the Catchersends an SMS message to Debbie as a reminder Notice that you invoke thesendSMS operation in the locationNotification method of the Catcher

6 Switch back to the Activity view and verify that Debbie has received theSMS reminder

Figure 13 Reminder sent to Debbie

Larger view of Figure 13

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 20 of 25

Project Interchange with sample code

Ensure that the StartNotificationClient projects build path has a reference to thecomibmwswebservicesthinclient_700jar file that is available inRAD75Homeruntimesbase_v7runtimes

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 21 of 25

Downloads

Description Name Size Downloadmethod

Source code for Scenario 1 TWSS_Usage_Sample_PIzip 115KB HTTP

Information about download methods

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 22 of 25

Resources

Learn

bull Citations in this article

bull IBM Telecom Web Services Access Gateway Information Center v71

bull Service Policy Manager

bull Web Service Implementations

bull REST-style access using HTTP

bull Parlay X 21 Specifications

bull IBM WebSphere Telecom toolkit

bull IBM Education Assistant ndash WebSphere Telecom Toolkit configuration

bull GSMA OneAPI

bull IBM Rational Application Developer Version 75 documentation

bull IBM WebSphere Telecom Web Services Server Version 71 InformationCenter

bull IBM WebSphere Telecom Toolkit Version 71 Education Assistant

bull Find out more about Rational Application Developer

bull Browse the Rational Application Developer for WebSphere Software pageon developerWorks for links to technical articles and many relatedresources

bull Explore the Information Center

bull Visit the Rational software area on developerWorks for technical resources andbest practices for Rational Software Delivery Platform products

bull Stay current with developerWorks technical events and webcasts focusedon a variety of IBM products and IT industry topics

bull Attend a free developerWorks Live briefing to get up-to-speed quickly onIBM products and tools as well as IT industry trends

bull Watch developerWorks on-demand demos ranging from productinstallation and setup demos for beginners to advanced functionality forexperienced developers

bull Improve your skills Check the Rational training and certification catalog which

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 23 of 25

includes many types of courses on a wide range of topics You can take someof them anywhere any time and many of the Getting Started ones are free

Get products and technologies

bull Try Rational Application Developer for WebSphere Software free

bull Evaluate IBM software in the way that suits you best Download it for a trial tryit online use it in a cloud environment or spend a few hours in the SOASandbox learning how to implement service-oriented architecture efficiently

Discuss

bull Join the Development Tools forum to ask questions and participate indiscussions

bull Share your knowledge and help others who use Rational software by writing adeveloperWorks article Youll get worldwide exposure RSS syndication abyline and a bio and the benefit of professional editing and production on thedeveloperWorks Rational website

bull Follow Rational software on Facebook and Twitter (ibmrational) and add yourcomments and requests

bull Ask and answer questions and increase your expertise when you get involvedin the Rational forums cafeacutes and wikis

bull Connect with others who share your interests by joining the developerWorkscommunity and responding to the developer-driven blogs

About the authors

Raghunath NairRaghunath E Nair is a principal software engineer in the IBM IndiaSoftware Lab in Bangalore He joined IBM in 2006 His most recentrole has been in design development and support of software fortelecom for IBM WebSphere software including IBM WebSphereTWSS and IBM WebSphere IMS Connector His areas of expertise aremiddleware integration SOA web services and telecom Heco-authored Using WebSphere Message Broker as an ESB withWebSphere Process Server in the IBM Redbooks series and has aBachelor of Technology degree in Electronics and Communicationsfrom the University of Calicut

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 24 of 25

Chandrashekar NaikChandrashekar B Naik is a staff software engineer in the IBM IndiaSoftware Lab He joined IBM in 2004 and has experience in softwaredesign development and testing His areas of expertise include JavaJ2EE and web services programming including WebSphereApplication Server Telecom Web Services Server Mobile PortalAccelerator pervasive computing and WebSphere software fortelecom He currently focuses on development support and testing ofWebSphere Telecom Web Services Server Chandrashekar is also aSun-Certified Programmer and has a Bachelor of Engineering degree inComputer Science from Visveswaraiah Technological UniversityBelgaum

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 25 of 25

  • Table of Contents
  • Introduction to the IBM WebSphere Telecom Web Services Server
  • How the server fits into the telecom industry
  • Architecture of the Telecom Web Services Server
  • Scenario 1 Create a telecom application with web services
  • Develop the web application
  • Test the application on the WebSphere Telecom Toolkit
  • Deploy the application
  • Downloads
  • Resources
  • About the authors

float lat = data[0]getCurrentLocation()getLatitude()float lon = data[0]getCurrentLocation()getLongitude()

Set the URL where Send SMS web service is runningString url = httplocalhost9081ParlayX21WebservicesSendSms

tryObtain SendSMS proxySendSmsProxy smsProxy = new SendSmsProxy()

Set endpoint where web service is runningsmsProxysetEndpoint(url)Systemoutprintln(---Endpoint set---)

Obtain the service handlerSendSms smsSvc = smsProxygetSendSms()Systemoutprintln(---Handle to Service obtained Invoking Web Service---)

Compose the SMS messageString msg = Hello Customer Greetings from Location Based Reminder App +You have reached the Location where you had set a reminder +Your current location is Latitude = + lat +Longitude = + lon

Invoke sendSms operation of Short Message ServicesmsResp= smsSvcsendSms(addresses LocationBasedReminderAPP null msg null)Systemoutprintln(---Sent Web Service request---)catch(Exception e)

When the locationNotification method is invoked it sends an SMS message toDebbies mobile device

Test the application on the WebSphere Telecom Toolkit

To test the application that you developed download and use the IBM WebSphereTelecom toolkit There is a link to it in the Resources section This free toolkitenables third-party application developers to quickly build and test rich applicationsinvolving SMS MMS Location Presence and Call control It also provides aplatform to develop proof of technology demonstrations to evaluate solutions and toexplore the various capabilities offered

See IBM Education Assistant - WebSphere Telecom Toolkit for more details Thereis a link to it in the Resources section

Notes

bull WebSphere Application Server v7 profile has been created in the RationalApplication Developer runtimes

bull IBM WebSphere Telecom Toolkit v71 is installed on Rational ApplicationDeveloper v751

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 14 of 25

Deploy and run the Telecom Web Services Simulator

1 Create a WebSphere Application Server v7 profile in Rational ApplicationDeveloper

2 Start the WebSphere server

3 Right-click the server and select Deploy Telecom Web ServicesSimulator (see Figure 7) This deploys an application calledWSSimulatorEAR

Figure 7 Deploy Telecom Web Services Simulator

Larger view of Figure 7

4 After deployment has finished right-click the server (see Figure 8) andselect Run Telecom Web Services Simulator Client

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 15 of 25

Figure 8 Run Telecom Web Services Simulator client

Larger view of Figure 8

There are six runtime views that display all of the simulator configuration andruntime data Activity Call Device Group Presence and Map See the IBMEducation Assistant ndash WebSphere Telecom Toolkit configuration for moreinformation on each of these views

Deploy the application

StartNotificationClient is a stand-alone Java application

The EAR project TLCatcherWebEAR needs to be deployed on a server runtimeFor this purpose use WebSphere Application Server 7 as the runtime engine for thisapplication

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 16 of 25

1 Right-click on WebSphere Application Server 7 (WAS 7) select Add andRemove Projects

2 In the Add and Remove Projects window add TLCatcherWebEAR

3 Click Finish

Now the Terminal Location Notification Web Service (Catcher) is deployed andrunning

Test your application

Before testing the GeoAlert application functionality verify the following -

bull TerminalLocationNotificationManager Endpoint is running This webservice is available as part of Telecom Web Services Simulator toolkithttplocalhost9081ParlayX21WebservicesTerminalLocationNotificationManager(Actual port number might vary)

bull TerminalLocationNotification Endpoint is running This web service wasdeveloped in the previous exercise (TLCatcherWebEAR)httplocalhost9081TLCatcherWebservicesTerminalLocationNotification(Actual port number might vary)

bull Make sure you have set the endpoints correctly in the Java classStartNotificationClientjava

1 Run the Java class StartNotificationClient providing the followingarguments

bull arg1 subscriber_phone_number This number should exist in theTelecom Web Services Simulator For example tel+1-2225552003

bull arg2 latitude For example 003

bull arg3 longitude For example 0002Example java StartNotificationClient tel+1-2225552003003 0002

2 Make sure that the latitude and longitude passed as parameter are in thevicinity of the Map view in the simulatorNote To get the latitude and longitude of a particular location in the mapdrag any of the icons to the particular place and the co-ordinates for thatlocation will be displayed as in Figure 9

3 Go to the Map view of the simulator Choose subscriber Debbie

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 17 of 25

(tel+1-2225552003) by choosing her icon which is a mobile phonegraphic

Figure 9 Map view of the Telecom Web Services Simulator

Larger view of Figure 9

Upon receiving the request from Debbie GeoAlert starts the GeographicalNotification on Debbies account The stand-alone Java application that youdeveloped kicks offs the geographical notification

Notification Started can be verified in the Map view of the toolkit simulator as shownin Figure 10

NoteIf the circular notification area does not appear click Debbies mobile phone icon

Figure 10 Notification set up for Debbie

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 18 of 25

Larger view of Figure 10

4 Switch to the Activity view of the simulator and verify that the notificationactivity has been created under Brown Motors gt Debbie

Figure 11 Activity view showing the notification created for Debbie

Larger view of Figure 11

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 19 of 25

5 Switch back to the Map view

Now Debbie goes shopping and enters the notification area that she wants to bereminded about when she is nearby In the toolkit you can simulate this event bydragging Debbies phone icon inside of the notification ring

Figure 12 Debbie enters the specified area

Larger view of Figure 12

After Debbie enters the notification ring a locationNotification is triggered by theTerminal Location web service The notification triggered is caught by the GeoAlertCatcher application that you developed earlier (TLCatcherWebEAR) so the Catchersends an SMS message to Debbie as a reminder Notice that you invoke thesendSMS operation in the locationNotification method of the Catcher

6 Switch back to the Activity view and verify that Debbie has received theSMS reminder

Figure 13 Reminder sent to Debbie

Larger view of Figure 13

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 20 of 25

Project Interchange with sample code

Ensure that the StartNotificationClient projects build path has a reference to thecomibmwswebservicesthinclient_700jar file that is available inRAD75Homeruntimesbase_v7runtimes

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 21 of 25

Downloads

Description Name Size Downloadmethod

Source code for Scenario 1 TWSS_Usage_Sample_PIzip 115KB HTTP

Information about download methods

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 22 of 25

Resources

Learn

bull Citations in this article

bull IBM Telecom Web Services Access Gateway Information Center v71

bull Service Policy Manager

bull Web Service Implementations

bull REST-style access using HTTP

bull Parlay X 21 Specifications

bull IBM WebSphere Telecom toolkit

bull IBM Education Assistant ndash WebSphere Telecom Toolkit configuration

bull GSMA OneAPI

bull IBM Rational Application Developer Version 75 documentation

bull IBM WebSphere Telecom Web Services Server Version 71 InformationCenter

bull IBM WebSphere Telecom Toolkit Version 71 Education Assistant

bull Find out more about Rational Application Developer

bull Browse the Rational Application Developer for WebSphere Software pageon developerWorks for links to technical articles and many relatedresources

bull Explore the Information Center

bull Visit the Rational software area on developerWorks for technical resources andbest practices for Rational Software Delivery Platform products

bull Stay current with developerWorks technical events and webcasts focusedon a variety of IBM products and IT industry topics

bull Attend a free developerWorks Live briefing to get up-to-speed quickly onIBM products and tools as well as IT industry trends

bull Watch developerWorks on-demand demos ranging from productinstallation and setup demos for beginners to advanced functionality forexperienced developers

bull Improve your skills Check the Rational training and certification catalog which

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 23 of 25

includes many types of courses on a wide range of topics You can take someof them anywhere any time and many of the Getting Started ones are free

Get products and technologies

bull Try Rational Application Developer for WebSphere Software free

bull Evaluate IBM software in the way that suits you best Download it for a trial tryit online use it in a cloud environment or spend a few hours in the SOASandbox learning how to implement service-oriented architecture efficiently

Discuss

bull Join the Development Tools forum to ask questions and participate indiscussions

bull Share your knowledge and help others who use Rational software by writing adeveloperWorks article Youll get worldwide exposure RSS syndication abyline and a bio and the benefit of professional editing and production on thedeveloperWorks Rational website

bull Follow Rational software on Facebook and Twitter (ibmrational) and add yourcomments and requests

bull Ask and answer questions and increase your expertise when you get involvedin the Rational forums cafeacutes and wikis

bull Connect with others who share your interests by joining the developerWorkscommunity and responding to the developer-driven blogs

About the authors

Raghunath NairRaghunath E Nair is a principal software engineer in the IBM IndiaSoftware Lab in Bangalore He joined IBM in 2006 His most recentrole has been in design development and support of software fortelecom for IBM WebSphere software including IBM WebSphereTWSS and IBM WebSphere IMS Connector His areas of expertise aremiddleware integration SOA web services and telecom Heco-authored Using WebSphere Message Broker as an ESB withWebSphere Process Server in the IBM Redbooks series and has aBachelor of Technology degree in Electronics and Communicationsfrom the University of Calicut

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 24 of 25

Chandrashekar NaikChandrashekar B Naik is a staff software engineer in the IBM IndiaSoftware Lab He joined IBM in 2004 and has experience in softwaredesign development and testing His areas of expertise include JavaJ2EE and web services programming including WebSphereApplication Server Telecom Web Services Server Mobile PortalAccelerator pervasive computing and WebSphere software fortelecom He currently focuses on development support and testing ofWebSphere Telecom Web Services Server Chandrashekar is also aSun-Certified Programmer and has a Bachelor of Engineering degree inComputer Science from Visveswaraiah Technological UniversityBelgaum

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 25 of 25

  • Table of Contents
  • Introduction to the IBM WebSphere Telecom Web Services Server
  • How the server fits into the telecom industry
  • Architecture of the Telecom Web Services Server
  • Scenario 1 Create a telecom application with web services
  • Develop the web application
  • Test the application on the WebSphere Telecom Toolkit
  • Deploy the application
  • Downloads
  • Resources
  • About the authors

Deploy and run the Telecom Web Services Simulator

1 Create a WebSphere Application Server v7 profile in Rational ApplicationDeveloper

2 Start the WebSphere server

3 Right-click the server and select Deploy Telecom Web ServicesSimulator (see Figure 7) This deploys an application calledWSSimulatorEAR

Figure 7 Deploy Telecom Web Services Simulator

Larger view of Figure 7

4 After deployment has finished right-click the server (see Figure 8) andselect Run Telecom Web Services Simulator Client

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 15 of 25

Figure 8 Run Telecom Web Services Simulator client

Larger view of Figure 8

There are six runtime views that display all of the simulator configuration andruntime data Activity Call Device Group Presence and Map See the IBMEducation Assistant ndash WebSphere Telecom Toolkit configuration for moreinformation on each of these views

Deploy the application

StartNotificationClient is a stand-alone Java application

The EAR project TLCatcherWebEAR needs to be deployed on a server runtimeFor this purpose use WebSphere Application Server 7 as the runtime engine for thisapplication

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 16 of 25

1 Right-click on WebSphere Application Server 7 (WAS 7) select Add andRemove Projects

2 In the Add and Remove Projects window add TLCatcherWebEAR

3 Click Finish

Now the Terminal Location Notification Web Service (Catcher) is deployed andrunning

Test your application

Before testing the GeoAlert application functionality verify the following -

bull TerminalLocationNotificationManager Endpoint is running This webservice is available as part of Telecom Web Services Simulator toolkithttplocalhost9081ParlayX21WebservicesTerminalLocationNotificationManager(Actual port number might vary)

bull TerminalLocationNotification Endpoint is running This web service wasdeveloped in the previous exercise (TLCatcherWebEAR)httplocalhost9081TLCatcherWebservicesTerminalLocationNotification(Actual port number might vary)

bull Make sure you have set the endpoints correctly in the Java classStartNotificationClientjava

1 Run the Java class StartNotificationClient providing the followingarguments

bull arg1 subscriber_phone_number This number should exist in theTelecom Web Services Simulator For example tel+1-2225552003

bull arg2 latitude For example 003

bull arg3 longitude For example 0002Example java StartNotificationClient tel+1-2225552003003 0002

2 Make sure that the latitude and longitude passed as parameter are in thevicinity of the Map view in the simulatorNote To get the latitude and longitude of a particular location in the mapdrag any of the icons to the particular place and the co-ordinates for thatlocation will be displayed as in Figure 9

3 Go to the Map view of the simulator Choose subscriber Debbie

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 17 of 25

(tel+1-2225552003) by choosing her icon which is a mobile phonegraphic

Figure 9 Map view of the Telecom Web Services Simulator

Larger view of Figure 9

Upon receiving the request from Debbie GeoAlert starts the GeographicalNotification on Debbies account The stand-alone Java application that youdeveloped kicks offs the geographical notification

Notification Started can be verified in the Map view of the toolkit simulator as shownin Figure 10

NoteIf the circular notification area does not appear click Debbies mobile phone icon

Figure 10 Notification set up for Debbie

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 18 of 25

Larger view of Figure 10

4 Switch to the Activity view of the simulator and verify that the notificationactivity has been created under Brown Motors gt Debbie

Figure 11 Activity view showing the notification created for Debbie

Larger view of Figure 11

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 19 of 25

5 Switch back to the Map view

Now Debbie goes shopping and enters the notification area that she wants to bereminded about when she is nearby In the toolkit you can simulate this event bydragging Debbies phone icon inside of the notification ring

Figure 12 Debbie enters the specified area

Larger view of Figure 12

After Debbie enters the notification ring a locationNotification is triggered by theTerminal Location web service The notification triggered is caught by the GeoAlertCatcher application that you developed earlier (TLCatcherWebEAR) so the Catchersends an SMS message to Debbie as a reminder Notice that you invoke thesendSMS operation in the locationNotification method of the Catcher

6 Switch back to the Activity view and verify that Debbie has received theSMS reminder

Figure 13 Reminder sent to Debbie

Larger view of Figure 13

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 20 of 25

Project Interchange with sample code

Ensure that the StartNotificationClient projects build path has a reference to thecomibmwswebservicesthinclient_700jar file that is available inRAD75Homeruntimesbase_v7runtimes

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 21 of 25

Downloads

Description Name Size Downloadmethod

Source code for Scenario 1 TWSS_Usage_Sample_PIzip 115KB HTTP

Information about download methods

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 22 of 25

Resources

Learn

bull Citations in this article

bull IBM Telecom Web Services Access Gateway Information Center v71

bull Service Policy Manager

bull Web Service Implementations

bull REST-style access using HTTP

bull Parlay X 21 Specifications

bull IBM WebSphere Telecom toolkit

bull IBM Education Assistant ndash WebSphere Telecom Toolkit configuration

bull GSMA OneAPI

bull IBM Rational Application Developer Version 75 documentation

bull IBM WebSphere Telecom Web Services Server Version 71 InformationCenter

bull IBM WebSphere Telecom Toolkit Version 71 Education Assistant

bull Find out more about Rational Application Developer

bull Browse the Rational Application Developer for WebSphere Software pageon developerWorks for links to technical articles and many relatedresources

bull Explore the Information Center

bull Visit the Rational software area on developerWorks for technical resources andbest practices for Rational Software Delivery Platform products

bull Stay current with developerWorks technical events and webcasts focusedon a variety of IBM products and IT industry topics

bull Attend a free developerWorks Live briefing to get up-to-speed quickly onIBM products and tools as well as IT industry trends

bull Watch developerWorks on-demand demos ranging from productinstallation and setup demos for beginners to advanced functionality forexperienced developers

bull Improve your skills Check the Rational training and certification catalog which

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 23 of 25

includes many types of courses on a wide range of topics You can take someof them anywhere any time and many of the Getting Started ones are free

Get products and technologies

bull Try Rational Application Developer for WebSphere Software free

bull Evaluate IBM software in the way that suits you best Download it for a trial tryit online use it in a cloud environment or spend a few hours in the SOASandbox learning how to implement service-oriented architecture efficiently

Discuss

bull Join the Development Tools forum to ask questions and participate indiscussions

bull Share your knowledge and help others who use Rational software by writing adeveloperWorks article Youll get worldwide exposure RSS syndication abyline and a bio and the benefit of professional editing and production on thedeveloperWorks Rational website

bull Follow Rational software on Facebook and Twitter (ibmrational) and add yourcomments and requests

bull Ask and answer questions and increase your expertise when you get involvedin the Rational forums cafeacutes and wikis

bull Connect with others who share your interests by joining the developerWorkscommunity and responding to the developer-driven blogs

About the authors

Raghunath NairRaghunath E Nair is a principal software engineer in the IBM IndiaSoftware Lab in Bangalore He joined IBM in 2006 His most recentrole has been in design development and support of software fortelecom for IBM WebSphere software including IBM WebSphereTWSS and IBM WebSphere IMS Connector His areas of expertise aremiddleware integration SOA web services and telecom Heco-authored Using WebSphere Message Broker as an ESB withWebSphere Process Server in the IBM Redbooks series and has aBachelor of Technology degree in Electronics and Communicationsfrom the University of Calicut

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 24 of 25

Chandrashekar NaikChandrashekar B Naik is a staff software engineer in the IBM IndiaSoftware Lab He joined IBM in 2004 and has experience in softwaredesign development and testing His areas of expertise include JavaJ2EE and web services programming including WebSphereApplication Server Telecom Web Services Server Mobile PortalAccelerator pervasive computing and WebSphere software fortelecom He currently focuses on development support and testing ofWebSphere Telecom Web Services Server Chandrashekar is also aSun-Certified Programmer and has a Bachelor of Engineering degree inComputer Science from Visveswaraiah Technological UniversityBelgaum

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 25 of 25

  • Table of Contents
  • Introduction to the IBM WebSphere Telecom Web Services Server
  • How the server fits into the telecom industry
  • Architecture of the Telecom Web Services Server
  • Scenario 1 Create a telecom application with web services
  • Develop the web application
  • Test the application on the WebSphere Telecom Toolkit
  • Deploy the application
  • Downloads
  • Resources
  • About the authors

Figure 8 Run Telecom Web Services Simulator client

Larger view of Figure 8

There are six runtime views that display all of the simulator configuration andruntime data Activity Call Device Group Presence and Map See the IBMEducation Assistant ndash WebSphere Telecom Toolkit configuration for moreinformation on each of these views

Deploy the application

StartNotificationClient is a stand-alone Java application

The EAR project TLCatcherWebEAR needs to be deployed on a server runtimeFor this purpose use WebSphere Application Server 7 as the runtime engine for thisapplication

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 16 of 25

1 Right-click on WebSphere Application Server 7 (WAS 7) select Add andRemove Projects

2 In the Add and Remove Projects window add TLCatcherWebEAR

3 Click Finish

Now the Terminal Location Notification Web Service (Catcher) is deployed andrunning

Test your application

Before testing the GeoAlert application functionality verify the following -

bull TerminalLocationNotificationManager Endpoint is running This webservice is available as part of Telecom Web Services Simulator toolkithttplocalhost9081ParlayX21WebservicesTerminalLocationNotificationManager(Actual port number might vary)

bull TerminalLocationNotification Endpoint is running This web service wasdeveloped in the previous exercise (TLCatcherWebEAR)httplocalhost9081TLCatcherWebservicesTerminalLocationNotification(Actual port number might vary)

bull Make sure you have set the endpoints correctly in the Java classStartNotificationClientjava

1 Run the Java class StartNotificationClient providing the followingarguments

bull arg1 subscriber_phone_number This number should exist in theTelecom Web Services Simulator For example tel+1-2225552003

bull arg2 latitude For example 003

bull arg3 longitude For example 0002Example java StartNotificationClient tel+1-2225552003003 0002

2 Make sure that the latitude and longitude passed as parameter are in thevicinity of the Map view in the simulatorNote To get the latitude and longitude of a particular location in the mapdrag any of the icons to the particular place and the co-ordinates for thatlocation will be displayed as in Figure 9

3 Go to the Map view of the simulator Choose subscriber Debbie

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 17 of 25

(tel+1-2225552003) by choosing her icon which is a mobile phonegraphic

Figure 9 Map view of the Telecom Web Services Simulator

Larger view of Figure 9

Upon receiving the request from Debbie GeoAlert starts the GeographicalNotification on Debbies account The stand-alone Java application that youdeveloped kicks offs the geographical notification

Notification Started can be verified in the Map view of the toolkit simulator as shownin Figure 10

NoteIf the circular notification area does not appear click Debbies mobile phone icon

Figure 10 Notification set up for Debbie

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 18 of 25

Larger view of Figure 10

4 Switch to the Activity view of the simulator and verify that the notificationactivity has been created under Brown Motors gt Debbie

Figure 11 Activity view showing the notification created for Debbie

Larger view of Figure 11

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 19 of 25

5 Switch back to the Map view

Now Debbie goes shopping and enters the notification area that she wants to bereminded about when she is nearby In the toolkit you can simulate this event bydragging Debbies phone icon inside of the notification ring

Figure 12 Debbie enters the specified area

Larger view of Figure 12

After Debbie enters the notification ring a locationNotification is triggered by theTerminal Location web service The notification triggered is caught by the GeoAlertCatcher application that you developed earlier (TLCatcherWebEAR) so the Catchersends an SMS message to Debbie as a reminder Notice that you invoke thesendSMS operation in the locationNotification method of the Catcher

6 Switch back to the Activity view and verify that Debbie has received theSMS reminder

Figure 13 Reminder sent to Debbie

Larger view of Figure 13

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 20 of 25

Project Interchange with sample code

Ensure that the StartNotificationClient projects build path has a reference to thecomibmwswebservicesthinclient_700jar file that is available inRAD75Homeruntimesbase_v7runtimes

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 21 of 25

Downloads

Description Name Size Downloadmethod

Source code for Scenario 1 TWSS_Usage_Sample_PIzip 115KB HTTP

Information about download methods

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 22 of 25

Resources

Learn

bull Citations in this article

bull IBM Telecom Web Services Access Gateway Information Center v71

bull Service Policy Manager

bull Web Service Implementations

bull REST-style access using HTTP

bull Parlay X 21 Specifications

bull IBM WebSphere Telecom toolkit

bull IBM Education Assistant ndash WebSphere Telecom Toolkit configuration

bull GSMA OneAPI

bull IBM Rational Application Developer Version 75 documentation

bull IBM WebSphere Telecom Web Services Server Version 71 InformationCenter

bull IBM WebSphere Telecom Toolkit Version 71 Education Assistant

bull Find out more about Rational Application Developer

bull Browse the Rational Application Developer for WebSphere Software pageon developerWorks for links to technical articles and many relatedresources

bull Explore the Information Center

bull Visit the Rational software area on developerWorks for technical resources andbest practices for Rational Software Delivery Platform products

bull Stay current with developerWorks technical events and webcasts focusedon a variety of IBM products and IT industry topics

bull Attend a free developerWorks Live briefing to get up-to-speed quickly onIBM products and tools as well as IT industry trends

bull Watch developerWorks on-demand demos ranging from productinstallation and setup demos for beginners to advanced functionality forexperienced developers

bull Improve your skills Check the Rational training and certification catalog which

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 23 of 25

includes many types of courses on a wide range of topics You can take someof them anywhere any time and many of the Getting Started ones are free

Get products and technologies

bull Try Rational Application Developer for WebSphere Software free

bull Evaluate IBM software in the way that suits you best Download it for a trial tryit online use it in a cloud environment or spend a few hours in the SOASandbox learning how to implement service-oriented architecture efficiently

Discuss

bull Join the Development Tools forum to ask questions and participate indiscussions

bull Share your knowledge and help others who use Rational software by writing adeveloperWorks article Youll get worldwide exposure RSS syndication abyline and a bio and the benefit of professional editing and production on thedeveloperWorks Rational website

bull Follow Rational software on Facebook and Twitter (ibmrational) and add yourcomments and requests

bull Ask and answer questions and increase your expertise when you get involvedin the Rational forums cafeacutes and wikis

bull Connect with others who share your interests by joining the developerWorkscommunity and responding to the developer-driven blogs

About the authors

Raghunath NairRaghunath E Nair is a principal software engineer in the IBM IndiaSoftware Lab in Bangalore He joined IBM in 2006 His most recentrole has been in design development and support of software fortelecom for IBM WebSphere software including IBM WebSphereTWSS and IBM WebSphere IMS Connector His areas of expertise aremiddleware integration SOA web services and telecom Heco-authored Using WebSphere Message Broker as an ESB withWebSphere Process Server in the IBM Redbooks series and has aBachelor of Technology degree in Electronics and Communicationsfrom the University of Calicut

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 24 of 25

Chandrashekar NaikChandrashekar B Naik is a staff software engineer in the IBM IndiaSoftware Lab He joined IBM in 2004 and has experience in softwaredesign development and testing His areas of expertise include JavaJ2EE and web services programming including WebSphereApplication Server Telecom Web Services Server Mobile PortalAccelerator pervasive computing and WebSphere software fortelecom He currently focuses on development support and testing ofWebSphere Telecom Web Services Server Chandrashekar is also aSun-Certified Programmer and has a Bachelor of Engineering degree inComputer Science from Visveswaraiah Technological UniversityBelgaum

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 25 of 25

  • Table of Contents
  • Introduction to the IBM WebSphere Telecom Web Services Server
  • How the server fits into the telecom industry
  • Architecture of the Telecom Web Services Server
  • Scenario 1 Create a telecom application with web services
  • Develop the web application
  • Test the application on the WebSphere Telecom Toolkit
  • Deploy the application
  • Downloads
  • Resources
  • About the authors

1 Right-click on WebSphere Application Server 7 (WAS 7) select Add andRemove Projects

2 In the Add and Remove Projects window add TLCatcherWebEAR

3 Click Finish

Now the Terminal Location Notification Web Service (Catcher) is deployed andrunning

Test your application

Before testing the GeoAlert application functionality verify the following -

bull TerminalLocationNotificationManager Endpoint is running This webservice is available as part of Telecom Web Services Simulator toolkithttplocalhost9081ParlayX21WebservicesTerminalLocationNotificationManager(Actual port number might vary)

bull TerminalLocationNotification Endpoint is running This web service wasdeveloped in the previous exercise (TLCatcherWebEAR)httplocalhost9081TLCatcherWebservicesTerminalLocationNotification(Actual port number might vary)

bull Make sure you have set the endpoints correctly in the Java classStartNotificationClientjava

1 Run the Java class StartNotificationClient providing the followingarguments

bull arg1 subscriber_phone_number This number should exist in theTelecom Web Services Simulator For example tel+1-2225552003

bull arg2 latitude For example 003

bull arg3 longitude For example 0002Example java StartNotificationClient tel+1-2225552003003 0002

2 Make sure that the latitude and longitude passed as parameter are in thevicinity of the Map view in the simulatorNote To get the latitude and longitude of a particular location in the mapdrag any of the icons to the particular place and the co-ordinates for thatlocation will be displayed as in Figure 9

3 Go to the Map view of the simulator Choose subscriber Debbie

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 17 of 25

(tel+1-2225552003) by choosing her icon which is a mobile phonegraphic

Figure 9 Map view of the Telecom Web Services Simulator

Larger view of Figure 9

Upon receiving the request from Debbie GeoAlert starts the GeographicalNotification on Debbies account The stand-alone Java application that youdeveloped kicks offs the geographical notification

Notification Started can be verified in the Map view of the toolkit simulator as shownin Figure 10

NoteIf the circular notification area does not appear click Debbies mobile phone icon

Figure 10 Notification set up for Debbie

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 18 of 25

Larger view of Figure 10

4 Switch to the Activity view of the simulator and verify that the notificationactivity has been created under Brown Motors gt Debbie

Figure 11 Activity view showing the notification created for Debbie

Larger view of Figure 11

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 19 of 25

5 Switch back to the Map view

Now Debbie goes shopping and enters the notification area that she wants to bereminded about when she is nearby In the toolkit you can simulate this event bydragging Debbies phone icon inside of the notification ring

Figure 12 Debbie enters the specified area

Larger view of Figure 12

After Debbie enters the notification ring a locationNotification is triggered by theTerminal Location web service The notification triggered is caught by the GeoAlertCatcher application that you developed earlier (TLCatcherWebEAR) so the Catchersends an SMS message to Debbie as a reminder Notice that you invoke thesendSMS operation in the locationNotification method of the Catcher

6 Switch back to the Activity view and verify that Debbie has received theSMS reminder

Figure 13 Reminder sent to Debbie

Larger view of Figure 13

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 20 of 25

Project Interchange with sample code

Ensure that the StartNotificationClient projects build path has a reference to thecomibmwswebservicesthinclient_700jar file that is available inRAD75Homeruntimesbase_v7runtimes

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 21 of 25

Downloads

Description Name Size Downloadmethod

Source code for Scenario 1 TWSS_Usage_Sample_PIzip 115KB HTTP

Information about download methods

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 22 of 25

Resources

Learn

bull Citations in this article

bull IBM Telecom Web Services Access Gateway Information Center v71

bull Service Policy Manager

bull Web Service Implementations

bull REST-style access using HTTP

bull Parlay X 21 Specifications

bull IBM WebSphere Telecom toolkit

bull IBM Education Assistant ndash WebSphere Telecom Toolkit configuration

bull GSMA OneAPI

bull IBM Rational Application Developer Version 75 documentation

bull IBM WebSphere Telecom Web Services Server Version 71 InformationCenter

bull IBM WebSphere Telecom Toolkit Version 71 Education Assistant

bull Find out more about Rational Application Developer

bull Browse the Rational Application Developer for WebSphere Software pageon developerWorks for links to technical articles and many relatedresources

bull Explore the Information Center

bull Visit the Rational software area on developerWorks for technical resources andbest practices for Rational Software Delivery Platform products

bull Stay current with developerWorks technical events and webcasts focusedon a variety of IBM products and IT industry topics

bull Attend a free developerWorks Live briefing to get up-to-speed quickly onIBM products and tools as well as IT industry trends

bull Watch developerWorks on-demand demos ranging from productinstallation and setup demos for beginners to advanced functionality forexperienced developers

bull Improve your skills Check the Rational training and certification catalog which

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 23 of 25

includes many types of courses on a wide range of topics You can take someof them anywhere any time and many of the Getting Started ones are free

Get products and technologies

bull Try Rational Application Developer for WebSphere Software free

bull Evaluate IBM software in the way that suits you best Download it for a trial tryit online use it in a cloud environment or spend a few hours in the SOASandbox learning how to implement service-oriented architecture efficiently

Discuss

bull Join the Development Tools forum to ask questions and participate indiscussions

bull Share your knowledge and help others who use Rational software by writing adeveloperWorks article Youll get worldwide exposure RSS syndication abyline and a bio and the benefit of professional editing and production on thedeveloperWorks Rational website

bull Follow Rational software on Facebook and Twitter (ibmrational) and add yourcomments and requests

bull Ask and answer questions and increase your expertise when you get involvedin the Rational forums cafeacutes and wikis

bull Connect with others who share your interests by joining the developerWorkscommunity and responding to the developer-driven blogs

About the authors

Raghunath NairRaghunath E Nair is a principal software engineer in the IBM IndiaSoftware Lab in Bangalore He joined IBM in 2006 His most recentrole has been in design development and support of software fortelecom for IBM WebSphere software including IBM WebSphereTWSS and IBM WebSphere IMS Connector His areas of expertise aremiddleware integration SOA web services and telecom Heco-authored Using WebSphere Message Broker as an ESB withWebSphere Process Server in the IBM Redbooks series and has aBachelor of Technology degree in Electronics and Communicationsfrom the University of Calicut

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 24 of 25

Chandrashekar NaikChandrashekar B Naik is a staff software engineer in the IBM IndiaSoftware Lab He joined IBM in 2004 and has experience in softwaredesign development and testing His areas of expertise include JavaJ2EE and web services programming including WebSphereApplication Server Telecom Web Services Server Mobile PortalAccelerator pervasive computing and WebSphere software fortelecom He currently focuses on development support and testing ofWebSphere Telecom Web Services Server Chandrashekar is also aSun-Certified Programmer and has a Bachelor of Engineering degree inComputer Science from Visveswaraiah Technological UniversityBelgaum

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 25 of 25

  • Table of Contents
  • Introduction to the IBM WebSphere Telecom Web Services Server
  • How the server fits into the telecom industry
  • Architecture of the Telecom Web Services Server
  • Scenario 1 Create a telecom application with web services
  • Develop the web application
  • Test the application on the WebSphere Telecom Toolkit
  • Deploy the application
  • Downloads
  • Resources
  • About the authors

(tel+1-2225552003) by choosing her icon which is a mobile phonegraphic

Figure 9 Map view of the Telecom Web Services Simulator

Larger view of Figure 9

Upon receiving the request from Debbie GeoAlert starts the GeographicalNotification on Debbies account The stand-alone Java application that youdeveloped kicks offs the geographical notification

Notification Started can be verified in the Map view of the toolkit simulator as shownin Figure 10

NoteIf the circular notification area does not appear click Debbies mobile phone icon

Figure 10 Notification set up for Debbie

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 18 of 25

Larger view of Figure 10

4 Switch to the Activity view of the simulator and verify that the notificationactivity has been created under Brown Motors gt Debbie

Figure 11 Activity view showing the notification created for Debbie

Larger view of Figure 11

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 19 of 25

5 Switch back to the Map view

Now Debbie goes shopping and enters the notification area that she wants to bereminded about when she is nearby In the toolkit you can simulate this event bydragging Debbies phone icon inside of the notification ring

Figure 12 Debbie enters the specified area

Larger view of Figure 12

After Debbie enters the notification ring a locationNotification is triggered by theTerminal Location web service The notification triggered is caught by the GeoAlertCatcher application that you developed earlier (TLCatcherWebEAR) so the Catchersends an SMS message to Debbie as a reminder Notice that you invoke thesendSMS operation in the locationNotification method of the Catcher

6 Switch back to the Activity view and verify that Debbie has received theSMS reminder

Figure 13 Reminder sent to Debbie

Larger view of Figure 13

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 20 of 25

Project Interchange with sample code

Ensure that the StartNotificationClient projects build path has a reference to thecomibmwswebservicesthinclient_700jar file that is available inRAD75Homeruntimesbase_v7runtimes

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 21 of 25

Downloads

Description Name Size Downloadmethod

Source code for Scenario 1 TWSS_Usage_Sample_PIzip 115KB HTTP

Information about download methods

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 22 of 25

Resources

Learn

bull Citations in this article

bull IBM Telecom Web Services Access Gateway Information Center v71

bull Service Policy Manager

bull Web Service Implementations

bull REST-style access using HTTP

bull Parlay X 21 Specifications

bull IBM WebSphere Telecom toolkit

bull IBM Education Assistant ndash WebSphere Telecom Toolkit configuration

bull GSMA OneAPI

bull IBM Rational Application Developer Version 75 documentation

bull IBM WebSphere Telecom Web Services Server Version 71 InformationCenter

bull IBM WebSphere Telecom Toolkit Version 71 Education Assistant

bull Find out more about Rational Application Developer

bull Browse the Rational Application Developer for WebSphere Software pageon developerWorks for links to technical articles and many relatedresources

bull Explore the Information Center

bull Visit the Rational software area on developerWorks for technical resources andbest practices for Rational Software Delivery Platform products

bull Stay current with developerWorks technical events and webcasts focusedon a variety of IBM products and IT industry topics

bull Attend a free developerWorks Live briefing to get up-to-speed quickly onIBM products and tools as well as IT industry trends

bull Watch developerWorks on-demand demos ranging from productinstallation and setup demos for beginners to advanced functionality forexperienced developers

bull Improve your skills Check the Rational training and certification catalog which

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 23 of 25

includes many types of courses on a wide range of topics You can take someof them anywhere any time and many of the Getting Started ones are free

Get products and technologies

bull Try Rational Application Developer for WebSphere Software free

bull Evaluate IBM software in the way that suits you best Download it for a trial tryit online use it in a cloud environment or spend a few hours in the SOASandbox learning how to implement service-oriented architecture efficiently

Discuss

bull Join the Development Tools forum to ask questions and participate indiscussions

bull Share your knowledge and help others who use Rational software by writing adeveloperWorks article Youll get worldwide exposure RSS syndication abyline and a bio and the benefit of professional editing and production on thedeveloperWorks Rational website

bull Follow Rational software on Facebook and Twitter (ibmrational) and add yourcomments and requests

bull Ask and answer questions and increase your expertise when you get involvedin the Rational forums cafeacutes and wikis

bull Connect with others who share your interests by joining the developerWorkscommunity and responding to the developer-driven blogs

About the authors

Raghunath NairRaghunath E Nair is a principal software engineer in the IBM IndiaSoftware Lab in Bangalore He joined IBM in 2006 His most recentrole has been in design development and support of software fortelecom for IBM WebSphere software including IBM WebSphereTWSS and IBM WebSphere IMS Connector His areas of expertise aremiddleware integration SOA web services and telecom Heco-authored Using WebSphere Message Broker as an ESB withWebSphere Process Server in the IBM Redbooks series and has aBachelor of Technology degree in Electronics and Communicationsfrom the University of Calicut

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 24 of 25

Chandrashekar NaikChandrashekar B Naik is a staff software engineer in the IBM IndiaSoftware Lab He joined IBM in 2004 and has experience in softwaredesign development and testing His areas of expertise include JavaJ2EE and web services programming including WebSphereApplication Server Telecom Web Services Server Mobile PortalAccelerator pervasive computing and WebSphere software fortelecom He currently focuses on development support and testing ofWebSphere Telecom Web Services Server Chandrashekar is also aSun-Certified Programmer and has a Bachelor of Engineering degree inComputer Science from Visveswaraiah Technological UniversityBelgaum

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 25 of 25

  • Table of Contents
  • Introduction to the IBM WebSphere Telecom Web Services Server
  • How the server fits into the telecom industry
  • Architecture of the Telecom Web Services Server
  • Scenario 1 Create a telecom application with web services
  • Develop the web application
  • Test the application on the WebSphere Telecom Toolkit
  • Deploy the application
  • Downloads
  • Resources
  • About the authors

Larger view of Figure 10

4 Switch to the Activity view of the simulator and verify that the notificationactivity has been created under Brown Motors gt Debbie

Figure 11 Activity view showing the notification created for Debbie

Larger view of Figure 11

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 19 of 25

5 Switch back to the Map view

Now Debbie goes shopping and enters the notification area that she wants to bereminded about when she is nearby In the toolkit you can simulate this event bydragging Debbies phone icon inside of the notification ring

Figure 12 Debbie enters the specified area

Larger view of Figure 12

After Debbie enters the notification ring a locationNotification is triggered by theTerminal Location web service The notification triggered is caught by the GeoAlertCatcher application that you developed earlier (TLCatcherWebEAR) so the Catchersends an SMS message to Debbie as a reminder Notice that you invoke thesendSMS operation in the locationNotification method of the Catcher

6 Switch back to the Activity view and verify that Debbie has received theSMS reminder

Figure 13 Reminder sent to Debbie

Larger view of Figure 13

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 20 of 25

Project Interchange with sample code

Ensure that the StartNotificationClient projects build path has a reference to thecomibmwswebservicesthinclient_700jar file that is available inRAD75Homeruntimesbase_v7runtimes

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 21 of 25

Downloads

Description Name Size Downloadmethod

Source code for Scenario 1 TWSS_Usage_Sample_PIzip 115KB HTTP

Information about download methods

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 22 of 25

Resources

Learn

bull Citations in this article

bull IBM Telecom Web Services Access Gateway Information Center v71

bull Service Policy Manager

bull Web Service Implementations

bull REST-style access using HTTP

bull Parlay X 21 Specifications

bull IBM WebSphere Telecom toolkit

bull IBM Education Assistant ndash WebSphere Telecom Toolkit configuration

bull GSMA OneAPI

bull IBM Rational Application Developer Version 75 documentation

bull IBM WebSphere Telecom Web Services Server Version 71 InformationCenter

bull IBM WebSphere Telecom Toolkit Version 71 Education Assistant

bull Find out more about Rational Application Developer

bull Browse the Rational Application Developer for WebSphere Software pageon developerWorks for links to technical articles and many relatedresources

bull Explore the Information Center

bull Visit the Rational software area on developerWorks for technical resources andbest practices for Rational Software Delivery Platform products

bull Stay current with developerWorks technical events and webcasts focusedon a variety of IBM products and IT industry topics

bull Attend a free developerWorks Live briefing to get up-to-speed quickly onIBM products and tools as well as IT industry trends

bull Watch developerWorks on-demand demos ranging from productinstallation and setup demos for beginners to advanced functionality forexperienced developers

bull Improve your skills Check the Rational training and certification catalog which

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 23 of 25

includes many types of courses on a wide range of topics You can take someof them anywhere any time and many of the Getting Started ones are free

Get products and technologies

bull Try Rational Application Developer for WebSphere Software free

bull Evaluate IBM software in the way that suits you best Download it for a trial tryit online use it in a cloud environment or spend a few hours in the SOASandbox learning how to implement service-oriented architecture efficiently

Discuss

bull Join the Development Tools forum to ask questions and participate indiscussions

bull Share your knowledge and help others who use Rational software by writing adeveloperWorks article Youll get worldwide exposure RSS syndication abyline and a bio and the benefit of professional editing and production on thedeveloperWorks Rational website

bull Follow Rational software on Facebook and Twitter (ibmrational) and add yourcomments and requests

bull Ask and answer questions and increase your expertise when you get involvedin the Rational forums cafeacutes and wikis

bull Connect with others who share your interests by joining the developerWorkscommunity and responding to the developer-driven blogs

About the authors

Raghunath NairRaghunath E Nair is a principal software engineer in the IBM IndiaSoftware Lab in Bangalore He joined IBM in 2006 His most recentrole has been in design development and support of software fortelecom for IBM WebSphere software including IBM WebSphereTWSS and IBM WebSphere IMS Connector His areas of expertise aremiddleware integration SOA web services and telecom Heco-authored Using WebSphere Message Broker as an ESB withWebSphere Process Server in the IBM Redbooks series and has aBachelor of Technology degree in Electronics and Communicationsfrom the University of Calicut

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 24 of 25

Chandrashekar NaikChandrashekar B Naik is a staff software engineer in the IBM IndiaSoftware Lab He joined IBM in 2004 and has experience in softwaredesign development and testing His areas of expertise include JavaJ2EE and web services programming including WebSphereApplication Server Telecom Web Services Server Mobile PortalAccelerator pervasive computing and WebSphere software fortelecom He currently focuses on development support and testing ofWebSphere Telecom Web Services Server Chandrashekar is also aSun-Certified Programmer and has a Bachelor of Engineering degree inComputer Science from Visveswaraiah Technological UniversityBelgaum

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 25 of 25

  • Table of Contents
  • Introduction to the IBM WebSphere Telecom Web Services Server
  • How the server fits into the telecom industry
  • Architecture of the Telecom Web Services Server
  • Scenario 1 Create a telecom application with web services
  • Develop the web application
  • Test the application on the WebSphere Telecom Toolkit
  • Deploy the application
  • Downloads
  • Resources
  • About the authors

5 Switch back to the Map view

Now Debbie goes shopping and enters the notification area that she wants to bereminded about when she is nearby In the toolkit you can simulate this event bydragging Debbies phone icon inside of the notification ring

Figure 12 Debbie enters the specified area

Larger view of Figure 12

After Debbie enters the notification ring a locationNotification is triggered by theTerminal Location web service The notification triggered is caught by the GeoAlertCatcher application that you developed earlier (TLCatcherWebEAR) so the Catchersends an SMS message to Debbie as a reminder Notice that you invoke thesendSMS operation in the locationNotification method of the Catcher

6 Switch back to the Activity view and verify that Debbie has received theSMS reminder

Figure 13 Reminder sent to Debbie

Larger view of Figure 13

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 20 of 25

Project Interchange with sample code

Ensure that the StartNotificationClient projects build path has a reference to thecomibmwswebservicesthinclient_700jar file that is available inRAD75Homeruntimesbase_v7runtimes

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 21 of 25

Downloads

Description Name Size Downloadmethod

Source code for Scenario 1 TWSS_Usage_Sample_PIzip 115KB HTTP

Information about download methods

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 22 of 25

Resources

Learn

bull Citations in this article

bull IBM Telecom Web Services Access Gateway Information Center v71

bull Service Policy Manager

bull Web Service Implementations

bull REST-style access using HTTP

bull Parlay X 21 Specifications

bull IBM WebSphere Telecom toolkit

bull IBM Education Assistant ndash WebSphere Telecom Toolkit configuration

bull GSMA OneAPI

bull IBM Rational Application Developer Version 75 documentation

bull IBM WebSphere Telecom Web Services Server Version 71 InformationCenter

bull IBM WebSphere Telecom Toolkit Version 71 Education Assistant

bull Find out more about Rational Application Developer

bull Browse the Rational Application Developer for WebSphere Software pageon developerWorks for links to technical articles and many relatedresources

bull Explore the Information Center

bull Visit the Rational software area on developerWorks for technical resources andbest practices for Rational Software Delivery Platform products

bull Stay current with developerWorks technical events and webcasts focusedon a variety of IBM products and IT industry topics

bull Attend a free developerWorks Live briefing to get up-to-speed quickly onIBM products and tools as well as IT industry trends

bull Watch developerWorks on-demand demos ranging from productinstallation and setup demos for beginners to advanced functionality forexperienced developers

bull Improve your skills Check the Rational training and certification catalog which

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 23 of 25

includes many types of courses on a wide range of topics You can take someof them anywhere any time and many of the Getting Started ones are free

Get products and technologies

bull Try Rational Application Developer for WebSphere Software free

bull Evaluate IBM software in the way that suits you best Download it for a trial tryit online use it in a cloud environment or spend a few hours in the SOASandbox learning how to implement service-oriented architecture efficiently

Discuss

bull Join the Development Tools forum to ask questions and participate indiscussions

bull Share your knowledge and help others who use Rational software by writing adeveloperWorks article Youll get worldwide exposure RSS syndication abyline and a bio and the benefit of professional editing and production on thedeveloperWorks Rational website

bull Follow Rational software on Facebook and Twitter (ibmrational) and add yourcomments and requests

bull Ask and answer questions and increase your expertise when you get involvedin the Rational forums cafeacutes and wikis

bull Connect with others who share your interests by joining the developerWorkscommunity and responding to the developer-driven blogs

About the authors

Raghunath NairRaghunath E Nair is a principal software engineer in the IBM IndiaSoftware Lab in Bangalore He joined IBM in 2006 His most recentrole has been in design development and support of software fortelecom for IBM WebSphere software including IBM WebSphereTWSS and IBM WebSphere IMS Connector His areas of expertise aremiddleware integration SOA web services and telecom Heco-authored Using WebSphere Message Broker as an ESB withWebSphere Process Server in the IBM Redbooks series and has aBachelor of Technology degree in Electronics and Communicationsfrom the University of Calicut

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 24 of 25

Chandrashekar NaikChandrashekar B Naik is a staff software engineer in the IBM IndiaSoftware Lab He joined IBM in 2004 and has experience in softwaredesign development and testing His areas of expertise include JavaJ2EE and web services programming including WebSphereApplication Server Telecom Web Services Server Mobile PortalAccelerator pervasive computing and WebSphere software fortelecom He currently focuses on development support and testing ofWebSphere Telecom Web Services Server Chandrashekar is also aSun-Certified Programmer and has a Bachelor of Engineering degree inComputer Science from Visveswaraiah Technological UniversityBelgaum

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 25 of 25

  • Table of Contents
  • Introduction to the IBM WebSphere Telecom Web Services Server
  • How the server fits into the telecom industry
  • Architecture of the Telecom Web Services Server
  • Scenario 1 Create a telecom application with web services
  • Develop the web application
  • Test the application on the WebSphere Telecom Toolkit
  • Deploy the application
  • Downloads
  • Resources
  • About the authors

Project Interchange with sample code

Ensure that the StartNotificationClient projects build path has a reference to thecomibmwswebservicesthinclient_700jar file that is available inRAD75Homeruntimesbase_v7runtimes

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 21 of 25

Downloads

Description Name Size Downloadmethod

Source code for Scenario 1 TWSS_Usage_Sample_PIzip 115KB HTTP

Information about download methods

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 22 of 25

Resources

Learn

bull Citations in this article

bull IBM Telecom Web Services Access Gateway Information Center v71

bull Service Policy Manager

bull Web Service Implementations

bull REST-style access using HTTP

bull Parlay X 21 Specifications

bull IBM WebSphere Telecom toolkit

bull IBM Education Assistant ndash WebSphere Telecom Toolkit configuration

bull GSMA OneAPI

bull IBM Rational Application Developer Version 75 documentation

bull IBM WebSphere Telecom Web Services Server Version 71 InformationCenter

bull IBM WebSphere Telecom Toolkit Version 71 Education Assistant

bull Find out more about Rational Application Developer

bull Browse the Rational Application Developer for WebSphere Software pageon developerWorks for links to technical articles and many relatedresources

bull Explore the Information Center

bull Visit the Rational software area on developerWorks for technical resources andbest practices for Rational Software Delivery Platform products

bull Stay current with developerWorks technical events and webcasts focusedon a variety of IBM products and IT industry topics

bull Attend a free developerWorks Live briefing to get up-to-speed quickly onIBM products and tools as well as IT industry trends

bull Watch developerWorks on-demand demos ranging from productinstallation and setup demos for beginners to advanced functionality forexperienced developers

bull Improve your skills Check the Rational training and certification catalog which

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 23 of 25

includes many types of courses on a wide range of topics You can take someof them anywhere any time and many of the Getting Started ones are free

Get products and technologies

bull Try Rational Application Developer for WebSphere Software free

bull Evaluate IBM software in the way that suits you best Download it for a trial tryit online use it in a cloud environment or spend a few hours in the SOASandbox learning how to implement service-oriented architecture efficiently

Discuss

bull Join the Development Tools forum to ask questions and participate indiscussions

bull Share your knowledge and help others who use Rational software by writing adeveloperWorks article Youll get worldwide exposure RSS syndication abyline and a bio and the benefit of professional editing and production on thedeveloperWorks Rational website

bull Follow Rational software on Facebook and Twitter (ibmrational) and add yourcomments and requests

bull Ask and answer questions and increase your expertise when you get involvedin the Rational forums cafeacutes and wikis

bull Connect with others who share your interests by joining the developerWorkscommunity and responding to the developer-driven blogs

About the authors

Raghunath NairRaghunath E Nair is a principal software engineer in the IBM IndiaSoftware Lab in Bangalore He joined IBM in 2006 His most recentrole has been in design development and support of software fortelecom for IBM WebSphere software including IBM WebSphereTWSS and IBM WebSphere IMS Connector His areas of expertise aremiddleware integration SOA web services and telecom Heco-authored Using WebSphere Message Broker as an ESB withWebSphere Process Server in the IBM Redbooks series and has aBachelor of Technology degree in Electronics and Communicationsfrom the University of Calicut

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 24 of 25

Chandrashekar NaikChandrashekar B Naik is a staff software engineer in the IBM IndiaSoftware Lab He joined IBM in 2004 and has experience in softwaredesign development and testing His areas of expertise include JavaJ2EE and web services programming including WebSphereApplication Server Telecom Web Services Server Mobile PortalAccelerator pervasive computing and WebSphere software fortelecom He currently focuses on development support and testing ofWebSphere Telecom Web Services Server Chandrashekar is also aSun-Certified Programmer and has a Bachelor of Engineering degree inComputer Science from Visveswaraiah Technological UniversityBelgaum

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 25 of 25

  • Table of Contents
  • Introduction to the IBM WebSphere Telecom Web Services Server
  • How the server fits into the telecom industry
  • Architecture of the Telecom Web Services Server
  • Scenario 1 Create a telecom application with web services
  • Develop the web application
  • Test the application on the WebSphere Telecom Toolkit
  • Deploy the application
  • Downloads
  • Resources
  • About the authors

Downloads

Description Name Size Downloadmethod

Source code for Scenario 1 TWSS_Usage_Sample_PIzip 115KB HTTP

Information about download methods

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 22 of 25

Resources

Learn

bull Citations in this article

bull IBM Telecom Web Services Access Gateway Information Center v71

bull Service Policy Manager

bull Web Service Implementations

bull REST-style access using HTTP

bull Parlay X 21 Specifications

bull IBM WebSphere Telecom toolkit

bull IBM Education Assistant ndash WebSphere Telecom Toolkit configuration

bull GSMA OneAPI

bull IBM Rational Application Developer Version 75 documentation

bull IBM WebSphere Telecom Web Services Server Version 71 InformationCenter

bull IBM WebSphere Telecom Toolkit Version 71 Education Assistant

bull Find out more about Rational Application Developer

bull Browse the Rational Application Developer for WebSphere Software pageon developerWorks for links to technical articles and many relatedresources

bull Explore the Information Center

bull Visit the Rational software area on developerWorks for technical resources andbest practices for Rational Software Delivery Platform products

bull Stay current with developerWorks technical events and webcasts focusedon a variety of IBM products and IT industry topics

bull Attend a free developerWorks Live briefing to get up-to-speed quickly onIBM products and tools as well as IT industry trends

bull Watch developerWorks on-demand demos ranging from productinstallation and setup demos for beginners to advanced functionality forexperienced developers

bull Improve your skills Check the Rational training and certification catalog which

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 23 of 25

includes many types of courses on a wide range of topics You can take someof them anywhere any time and many of the Getting Started ones are free

Get products and technologies

bull Try Rational Application Developer for WebSphere Software free

bull Evaluate IBM software in the way that suits you best Download it for a trial tryit online use it in a cloud environment or spend a few hours in the SOASandbox learning how to implement service-oriented architecture efficiently

Discuss

bull Join the Development Tools forum to ask questions and participate indiscussions

bull Share your knowledge and help others who use Rational software by writing adeveloperWorks article Youll get worldwide exposure RSS syndication abyline and a bio and the benefit of professional editing and production on thedeveloperWorks Rational website

bull Follow Rational software on Facebook and Twitter (ibmrational) and add yourcomments and requests

bull Ask and answer questions and increase your expertise when you get involvedin the Rational forums cafeacutes and wikis

bull Connect with others who share your interests by joining the developerWorkscommunity and responding to the developer-driven blogs

About the authors

Raghunath NairRaghunath E Nair is a principal software engineer in the IBM IndiaSoftware Lab in Bangalore He joined IBM in 2006 His most recentrole has been in design development and support of software fortelecom for IBM WebSphere software including IBM WebSphereTWSS and IBM WebSphere IMS Connector His areas of expertise aremiddleware integration SOA web services and telecom Heco-authored Using WebSphere Message Broker as an ESB withWebSphere Process Server in the IBM Redbooks series and has aBachelor of Technology degree in Electronics and Communicationsfrom the University of Calicut

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 24 of 25

Chandrashekar NaikChandrashekar B Naik is a staff software engineer in the IBM IndiaSoftware Lab He joined IBM in 2004 and has experience in softwaredesign development and testing His areas of expertise include JavaJ2EE and web services programming including WebSphereApplication Server Telecom Web Services Server Mobile PortalAccelerator pervasive computing and WebSphere software fortelecom He currently focuses on development support and testing ofWebSphere Telecom Web Services Server Chandrashekar is also aSun-Certified Programmer and has a Bachelor of Engineering degree inComputer Science from Visveswaraiah Technological UniversityBelgaum

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 25 of 25

  • Table of Contents
  • Introduction to the IBM WebSphere Telecom Web Services Server
  • How the server fits into the telecom industry
  • Architecture of the Telecom Web Services Server
  • Scenario 1 Create a telecom application with web services
  • Develop the web application
  • Test the application on the WebSphere Telecom Toolkit
  • Deploy the application
  • Downloads
  • Resources
  • About the authors

Resources

Learn

bull Citations in this article

bull IBM Telecom Web Services Access Gateway Information Center v71

bull Service Policy Manager

bull Web Service Implementations

bull REST-style access using HTTP

bull Parlay X 21 Specifications

bull IBM WebSphere Telecom toolkit

bull IBM Education Assistant ndash WebSphere Telecom Toolkit configuration

bull GSMA OneAPI

bull IBM Rational Application Developer Version 75 documentation

bull IBM WebSphere Telecom Web Services Server Version 71 InformationCenter

bull IBM WebSphere Telecom Toolkit Version 71 Education Assistant

bull Find out more about Rational Application Developer

bull Browse the Rational Application Developer for WebSphere Software pageon developerWorks for links to technical articles and many relatedresources

bull Explore the Information Center

bull Visit the Rational software area on developerWorks for technical resources andbest practices for Rational Software Delivery Platform products

bull Stay current with developerWorks technical events and webcasts focusedon a variety of IBM products and IT industry topics

bull Attend a free developerWorks Live briefing to get up-to-speed quickly onIBM products and tools as well as IT industry trends

bull Watch developerWorks on-demand demos ranging from productinstallation and setup demos for beginners to advanced functionality forexperienced developers

bull Improve your skills Check the Rational training and certification catalog which

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 23 of 25

includes many types of courses on a wide range of topics You can take someof them anywhere any time and many of the Getting Started ones are free

Get products and technologies

bull Try Rational Application Developer for WebSphere Software free

bull Evaluate IBM software in the way that suits you best Download it for a trial tryit online use it in a cloud environment or spend a few hours in the SOASandbox learning how to implement service-oriented architecture efficiently

Discuss

bull Join the Development Tools forum to ask questions and participate indiscussions

bull Share your knowledge and help others who use Rational software by writing adeveloperWorks article Youll get worldwide exposure RSS syndication abyline and a bio and the benefit of professional editing and production on thedeveloperWorks Rational website

bull Follow Rational software on Facebook and Twitter (ibmrational) and add yourcomments and requests

bull Ask and answer questions and increase your expertise when you get involvedin the Rational forums cafeacutes and wikis

bull Connect with others who share your interests by joining the developerWorkscommunity and responding to the developer-driven blogs

About the authors

Raghunath NairRaghunath E Nair is a principal software engineer in the IBM IndiaSoftware Lab in Bangalore He joined IBM in 2006 His most recentrole has been in design development and support of software fortelecom for IBM WebSphere software including IBM WebSphereTWSS and IBM WebSphere IMS Connector His areas of expertise aremiddleware integration SOA web services and telecom Heco-authored Using WebSphere Message Broker as an ESB withWebSphere Process Server in the IBM Redbooks series and has aBachelor of Technology degree in Electronics and Communicationsfrom the University of Calicut

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 24 of 25

Chandrashekar NaikChandrashekar B Naik is a staff software engineer in the IBM IndiaSoftware Lab He joined IBM in 2004 and has experience in softwaredesign development and testing His areas of expertise include JavaJ2EE and web services programming including WebSphereApplication Server Telecom Web Services Server Mobile PortalAccelerator pervasive computing and WebSphere software fortelecom He currently focuses on development support and testing ofWebSphere Telecom Web Services Server Chandrashekar is also aSun-Certified Programmer and has a Bachelor of Engineering degree inComputer Science from Visveswaraiah Technological UniversityBelgaum

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 25 of 25

  • Table of Contents
  • Introduction to the IBM WebSphere Telecom Web Services Server
  • How the server fits into the telecom industry
  • Architecture of the Telecom Web Services Server
  • Scenario 1 Create a telecom application with web services
  • Develop the web application
  • Test the application on the WebSphere Telecom Toolkit
  • Deploy the application
  • Downloads
  • Resources
  • About the authors

includes many types of courses on a wide range of topics You can take someof them anywhere any time and many of the Getting Started ones are free

Get products and technologies

bull Try Rational Application Developer for WebSphere Software free

bull Evaluate IBM software in the way that suits you best Download it for a trial tryit online use it in a cloud environment or spend a few hours in the SOASandbox learning how to implement service-oriented architecture efficiently

Discuss

bull Join the Development Tools forum to ask questions and participate indiscussions

bull Share your knowledge and help others who use Rational software by writing adeveloperWorks article Youll get worldwide exposure RSS syndication abyline and a bio and the benefit of professional editing and production on thedeveloperWorks Rational website

bull Follow Rational software on Facebook and Twitter (ibmrational) and add yourcomments and requests

bull Ask and answer questions and increase your expertise when you get involvedin the Rational forums cafeacutes and wikis

bull Connect with others who share your interests by joining the developerWorkscommunity and responding to the developer-driven blogs

About the authors

Raghunath NairRaghunath E Nair is a principal software engineer in the IBM IndiaSoftware Lab in Bangalore He joined IBM in 2006 His most recentrole has been in design development and support of software fortelecom for IBM WebSphere software including IBM WebSphereTWSS and IBM WebSphere IMS Connector His areas of expertise aremiddleware integration SOA web services and telecom Heco-authored Using WebSphere Message Broker as an ESB withWebSphere Process Server in the IBM Redbooks series and has aBachelor of Technology degree in Electronics and Communicationsfrom the University of Calicut

developerWorksreg ibmcomdeveloperWorks

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 24 of 25

Chandrashekar NaikChandrashekar B Naik is a staff software engineer in the IBM IndiaSoftware Lab He joined IBM in 2004 and has experience in softwaredesign development and testing His areas of expertise include JavaJ2EE and web services programming including WebSphereApplication Server Telecom Web Services Server Mobile PortalAccelerator pervasive computing and WebSphere software fortelecom He currently focuses on development support and testing ofWebSphere Telecom Web Services Server Chandrashekar is also aSun-Certified Programmer and has a Bachelor of Engineering degree inComputer Science from Visveswaraiah Technological UniversityBelgaum

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 25 of 25

  • Table of Contents
  • Introduction to the IBM WebSphere Telecom Web Services Server
  • How the server fits into the telecom industry
  • Architecture of the Telecom Web Services Server
  • Scenario 1 Create a telecom application with web services
  • Develop the web application
  • Test the application on the WebSphere Telecom Toolkit
  • Deploy the application
  • Downloads
  • Resources
  • About the authors

Chandrashekar NaikChandrashekar B Naik is a staff software engineer in the IBM IndiaSoftware Lab He joined IBM in 2004 and has experience in softwaredesign development and testing His areas of expertise include JavaJ2EE and web services programming including WebSphereApplication Server Telecom Web Services Server Mobile PortalAccelerator pervasive computing and WebSphere software fortelecom He currently focuses on development support and testing ofWebSphere Telecom Web Services Server Chandrashekar is also aSun-Certified Programmer and has a Bachelor of Engineering degree inComputer Science from Visveswaraiah Technological UniversityBelgaum

ibmcomdeveloperWorks developerWorksreg

Part 1 Web services method Trademarkscopy Copyright IBM Corporation 2011 Page 25 of 25

  • Table of Contents
  • Introduction to the IBM WebSphere Telecom Web Services Server
  • How the server fits into the telecom industry
  • Architecture of the Telecom Web Services Server
  • Scenario 1 Create a telecom application with web services
  • Develop the web application
  • Test the application on the WebSphere Telecom Toolkit
  • Deploy the application
  • Downloads
  • Resources
  • About the authors