using core telecom network features to develop web applications
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
-