Red books

advertisement
Redbooks Paper
James Chamberlain
David Quenzler
System Integrators Guide: Integrating
WebSphere Everyplace Server for
Telecom with WebSphere Everyplace
Subscription Manager and WebSphere
Everyplace Device Manager
Introduction
Did you know that you can leverage IBM® WebSphere® Everyplace® Server for Telecom
Parlay applications for select WebSphere Everyplace Device Manager and WebSphere
Everyplace Subscription functions?
This IBM Redpaper describes integration scenarios related to WebSphere Everyplace Server
for Telecom, WebSphere Everyplace Device Manager, and WebSphere Everyplace
Subscription Manager.
© Copyright IBM Corp. 2005. All rights reserved.
ibm.com/redbooks
1
Scenario components
This section primarily discusses WebSphere Everyplace Server for Telecom. However, the
scenario components encompass:
򐂰 WebSphere Everyplace Device Manager
򐂰 WebSphere Everyplace Subscription Manager
򐂰 WebSphere Everypace Server for Telecom
WebSphere Everyplace Server for Telecom overview
WebSphere Everyplace Server for Telecom Version 5.1 includes:
򐂰 Bundled restricted versions of IBM WebSphere Application Server and IBM DB2®
򐂰 IBM AIX, Sun Solaris Operating System, and Linux® platform support
򐂰 Parlay X V1.0 and V2.0 (partial) services
򐂰 Web Services infrastructure
򐂰 Security, statistics, message intercept, traffic management, management console
򐂰 Web Services front ends
򐂰 Location, terminal status, Short Message Service (SMS), Multimedia Messaging Service
(MMS), call control, payment, and account management
򐂰 Telecom Web Services Toolkit
򐂰 IBM WebSphere Studio Application Developer integrated toolkit
򐂰 Application development with Telecom Web Services access
򐂰 Integrated service simulation
򐂰 Web Services Server assembly for IBM Business Consulting Services
Note: WebSphere Everyplace Server for Telecom V5.1 was not available at the time of this
writing. The previous version can be found at:
http://www.ibm.com/software/webservers/wast
http://www.ibm.com/software/pervasive/ws_application_server_telcom
What is Parlay?
Parlay is a collection of application programming interfaces (APIs) that allow the integration of
telecommunications (telecom) networks with the Internet. Telecom applications can be made
available to an Internet subscriber base. Conversely, Internet applications can be made
available to a telecom subscriber base. The keystones of this integration are WebSphere
Everyplace Server for Telecom and the Parlay/OSA (Open Service Access) Gateway.
WebSphere Everyplace Server for Telecom Parlay applications integrate the Parlay
application model with the Java™ 2 Platform Enterprise Edition (J2EE) programming model.
The WebSphere Everyplace Server for Telecom Parlay environment for X client application
creation is based on WebSphere Studio Application Developer V5.1.2.
The capabilities of Parlay are:
򐂰 Presence: Is a user online?
򐂰 Availability: What is the status of the user?
򐂰 Location: Where is the user?
2
Integrating WebSphere Everyplace Server for Telecom
What is the Parlay Gateway?
The Parlay Gateway is an advanced services gateway that:
򐂰 Receives requests from the WebSphere Everyplace Server for Telecom Parlay
applications
򐂰 Performs the corresponding actions with the underlying telecommunications network
򐂰 Notifies the WebSphere Everyplace Server for Telecom Parlay applications when
significant real time events occur in the telecommunications network
򐂰 Provides a set of Parlay services such as Call Control, Multiparty Call Control, and User
Interaction
򐂰 Provides the set of Parlay Framework capabilities for security, flexibility, fault tolerance,
and manageability
򐂰 Insulates Parlay applications from the details of the underlying voice and data network
White papers and information regarding the Parlay X specification can be found at the Parlay
Group website:
http://parlay.org
See the Parlay X Web Services white paper for examples of how to obtain the location of a
mobile device and how to send an SMS message:
http://parlay.org/en/resources/PressAnalysts.asp#WhitePapers
Supported gateways and simulators
The gateways that WebSphere Everyplace Server for Telecom supports are:
򐂰
򐂰
򐂰
򐂰
򐂰
򐂰
򐂰
򐂰
򐂰
AePONA Causeway Parlay Gateway V2.1
Alcatel Parlay OSA Gateway V2.1
Ericsson SCS V2.0 Gateway
Fujitsu Parlay Gateway
Herit Open Service Platform Parlay Gateway
jNETx PARLAY Gateway V2.1
Lucent MiLife ISG V3.0
Open API Solutions Framework V1.1
Telcordia Open Services Platform
The supported simulators are:
򐂰 Lucent MiLife ISG SDK V3.0 Simulator
򐂰 Open API Solutions Application Test Suite V1.1
Scenarios
A Service Provider considers what it can offer based on user presence, availability, or
location.
Presence and availability
An example of presence and availability is a user who is in a meeting. The user has chosen
not to take phone calls but had decided to receive instant messages.
The user asks, “Are my buddies online?”
Integrating WebSphere Everyplace Server for Telecom
3
If they are, the user can invite them to a conference call.
Integrating WebSphere Everyplace Mobile Portal and WebSphere Everyplace
Server for Telecom
Two examples of how service providers can use the integration of WebSphere Everyplace
Mobile Portal and WebSphere Everyplace Server for Telecom are:
򐂰 A pizza parlor sends an advertisement, coupon, or thank-you to a caller’s mobile device.
򐂰 A salesman sends an electronic business card to the people he calls.
Location
Applications can exploit location services for resource tracking, finding something, sending
notification, and performing actuation, such as
򐂰 I need to find:
–
–
–
–
–
–
My buddies
A date
My shipment or package
An ATM, hotel, restaurant, hospital, or taxi
An alternate route around a traffic jam
Car 54
򐂰 I’m at the shopping mall. Send me an advertisement.
򐂰 I’m at the hotel or airport. Check me in.
򐂰 I’m at the toll booth. Pay this toll.
Leverage WebSphere Everyplace Server for Telecom Parlay applications for
select WebSphere Everyplace Device Manager and WebSphere Everyplace
Subscription functions
The power and value of WebSphere Everyplace Server for Telecom is its ability to interface
WebSphere Everyplace Service Delivery solutions with the public switched telephone
network (PSTN) and wireless telephony.
WebSphere Everyplace Server for Telecom includes a sample Provisioning Web console.
This Provisioning Web front end could be WebSphere Everyplace Subscription Manager.
The characteristics of the components of WebSphere Everyplace Server for Telecom are:
򐂰 WebSphere Everyplace Server for Telecom Parlay applications use one or more
Enterprise Java Beans (EJBs) to implement code that accesses the Parlay Gateway.
򐂰 The Parlay APIs are provided as a Java Archive (JAR) runtime library and conform to the
Parlay 3 standard. These generated classes use the Common Object Request Broker
Architecture (CORBA) to pass requests between the WebSphere Everyplace Server for
Telecom Parlay application and the Parlay Gateway.
The WebSphere Everyplace Server for Telecom Parlay Application Mapping layer
removes the need for application developers to learn CORBA before writing Parlay
applications.
򐂰 Several WebSphere Everyplace Server for Telecom EJBs provide management and
system services for Parlay applications and must be combined with Parlay applications on
deployment:
4
Integrating WebSphere Everyplace Server for Telecom
– The ParlayConnector EJB manages contact and authentication with the Parlay
gateway on behalf of the Parlay application.
– The FrameworkAccess EJB allows WebSphere Everyplace Server for Telecom EJBs to
access Parlay services on the gateway.
– The Application Manager EJB is responsible for initializing, managing, and terminating
the life cycle of managed objects in the WebSphere Everyplace Server for Telecom
Parlay application environment.
– The EventScheduler EJB is a WebSphere Everyplace Server for Telecom service that
allows Parlay applications to create (and respond to) scheduled events, including wake
up calls and retry functions.
– The DataPublisher EJB provides a standard interface for logging activities and events
for offline processing. For example, a call forwarding application can log the result of
each forwarding request that it receives for a specific subscriber.
򐂰 Enterprise Application EJBs implement the non-Parlay aspects of applications, keeping
business logic separate from Parlay functions. For example, Business Model EJBs can be
used for account processing that is performed in response to a service that a Parlay
application provides to a subscriber.
򐂰 A database, typically DB2, is required to manage subscriber data and other data related to
the application. EJB containers access a database using Java DataBase Connectivity
(JDBC) and Structured Query Language (SQL).
From a development perspective, the general sequence of events during application
development are as follows:
1. Creating a new Telecom EJB project also creates a WebSphere Everyplace Server for
Telecom server project. The server project must contain all EJBs required to run a Parlay
application. Enterprise applications may include custom business logic EJBs.
2. A Utility project contains a set of libraries for performing standard tasks that are used by
the Parlay application.
3. A Web application project contains the objects that make up a provisioning interface.
4. All components of a Parlay application are combined into an Enterprise Application
Archive (EAR) project (the Web application component can also be deployed separately).
5. Java Naming and Directory Interface (JNDI) references must be defined so that each EJB
can access Java Database Connectivity (JDBC) and other bean properties. Each
WebSphere Studio Application Developer project might need the configuration of one or
more JNDI references, depending on the resources that it must access.
6. References to external data sources can be configured using WebSphere Studio
Application Developer and are required if an application accesses a database.
7. An EAR project can be deployed internally to the WebSphere Studio Application
Developer Test Environment for debugging purposes.
8. After debugging, the EAR can be deployed to a true WebSphere Application Server for
final testing before being deployed to the production environment.
Note: By developing separate sets of EJBs that are based on functional affinity, code reuse
can be maximized.
The Parlay Web Console is the interface to the Parlay server. Use the console to stop the
server and terminate the connection to the Parlay Gateway properly:
http://WEST_server:8080/ParlayWebConsole/ServerConsole
Integrating WebSphere Everyplace Server for Telecom
5
When you integrate WebSphere Everyplace Subscription Manager with WebSphere
Everyplace Server for Telecom, Provisioning Web functions are handled by the WebSphere
Everyplace Subscription Manager front-end interface.
A mobile user authenticated to WebSphere Everyplace Subscription Manager sees a Web
page similar to Figure 1.
Figure 1 Example of a WebSphere Everyplace Subscription Manager
A WebSphere Everyplace Server for Telecom portal could be written to provide subscriber
interface to Parlay functions. Customer Care would also benefit from a WebSphere
Everyplace Server for Telecom portal because it would allow a customer service
representative to call a customer.
WebSphere Everyplace Server for Telecom integration can be considered negligible for cell
phones or other devices with native telephony function.
Sample WebSphere Everyplace Server for Telecom integrations allow WebSphere
Everyplace Subscription Manager subscribers to:
򐂰
򐂰
򐂰
򐂰
Set an alarm or wake up call
Call a customer service representative
Set up call forwarding
Make a phone call
Wake up call sample
The sample wake up call application and the provisioning database maintain a list of wake up
call events. The application sets up a timer. When the timer is triggered, the application sends
a wake up call to the user.
The process is illustrated in Figure 2 on page 7.
6
Integrating WebSphere Everyplace Server for Telecom
Figure 2 The wake up call sample
The following steps take place in the Wake Up Call sample:
1. A subscriber uses the Provisioning Web page to specify a wake up call.
2. The wake up scheduler adds an entry in the scheduler.
3. At the specified wake up time, the scheduler sends an event back to the wake up
scheduler.
4. The wake up scheduler tells the wake up call bean to generate the call.
5. The call is sent to the Parlay Gateway, which then calls the subscriber. The wake up
message is delivered when the subscriber answers the telephone.
6. If there is no answer, a new event is scheduled for 1 minute after the no-answer event was
received and processed. No answer processing varies slightly between the Generic Call
Control (GCC) and Multi Party Call Control (MPCC) samples. In GCC, an application can
request a specific no answer timeout duration for a call (wake up call requests 15
seconds); however, if the gateway or simulator setting is less than this value, the shorter
timeout will take precedence. There is no MPCC mechanism for requesting a timeout
duration; only the gateway timeout is in effect. The sample retries the call only once.
Call center sample
The Call center sample accepts an incoming call and routes the call to an available operator
as shown in Figure 3 on page 8.
Integrating WebSphere Everyplace Server for Telecom
7
Figure 3 The call center sample
The flow of the call center sample is as follows:
1. The call center enables call notification for the provisioned numbers at the Parlay Gateway.
2. An available operator logs in with the Call Center Operator graphical user interface (GUI).
3. When an incoming call arrives at the gateway for the original number, notification is sent
back to the call center.
4. The call center finds an available operator in the provisioning database.
5. The call is sent to the Parlay Gateway with the available operator’s number. The telephone
rings at the forwarded location.
6. If no operator is available, the call is placed on hold until an operator becomes available.
8
Integrating WebSphere Everyplace Server for Telecom
Call forwarding sample
The call forwarding sample allows a user to specify an alternate number for receiving calls
(Figure 4).
Figure 4 The call forwarding sample
The following steps take place in the call forwarding sample:
1. A subscriber types information in the Provisioning Web page specifying a number to which
calls are to be forwarded. The subscription tool sends a change event to the call
forwarding EJB.
2. Call forwarding enables call notification for the specified numbers at the Parlay Gateway.
3. When an incoming call arrives at the gateway for the original number, notification is sent
back to call forwarding.
4. Call forwarding obtains the forwarding number from the provisioning database.
5. The call is sent to the Parlay Gateway with the new number. The telephone rings at the
forwarded location.
Integrating WebSphere Everyplace Server for Telecom
9
The Web dial call sample
The Web dial call sample (see Figure 5) allows a subscriber to initiate a call from the
Provisioning Web page. The Provisioning Web page display shows if the telephone was
answered or not answered.
Figure 5 The Web dial call sample
The Web dial call sample is not EJB based. The following description of the sample flow is
simplified:
1. The subscriber, on the client side, enters a telephone number in the Provisioning Web
page. When the subscriber clicks the Dial button, the subscriber phone number and the
entered phone number are passed to the bean and the calling status changes from Idle to
Dialing.
2. The bean sets up an HTTP session, passes the subscriber phone number and the entered
phone number to the servlet and waits for a reply.
3. The servlet sets up a call back that sets a timer that expires and ends the call in 30
seconds if the call does not complete. If the gateway or simulator has a no answer timeout
that is less than the 30 second default timeout in the Web dial call, the shorter timeout
takes precedence and the call ends in less than 30 seconds. If the call completes, it then
uses the call back interface to connect both legs of the call.
4. The application initiates the call and routes it to the source and the destination.
5. Responses for busy, no answer, or answer are sent back.
6. The call back interface returns the result of the call to the servlet. If both legs connect, it
returns as Answered. If either number is busy, it returns as Busy.
7. The servlet updates the bean either with the result of the call or with No Answer, if the 15
second timer expires.
8. The result of the call is returned to the Provisioning Web page, which shows the result of
the call.
Location sample
Figure 6 on page 11 shows a sample location application. Longitude and latitude coordinates
are shown, along with the requested degree of accuracy.
10
Integrating WebSphere Everyplace Server for Telecom
Figure 6 The Location sample
Note the icons on the map. The three vehicles shown are examples of resource tracking. The
mobile phone icon is a good example of how several Parlay capabilities can be integrated:
presence, availability, and location.
Conclusion
Integrating WebSphere Everyplace Server for Telecom with WebSphere Everyplace
Subscription Manager and WebSphere Everyplace Device Manager is a complex endeavor
that requires significant planning.
Many issues remain with respect to the integration of these three WebSphere Everyplace
Service Delivery components. However, the capabilities of WebSphere Everyplace Server for
Telecom and Parlay applications that were demonstrated in this paper provide a glimpse into
the exciting future of pervasive computing.
Integrating WebSphere Everyplace Server for Telecom
11
The team that wrote this Redpaper
This Redpaper was produced by a team of specialists from around the world working at the
International Technical Support Organization (ITSO), Raleigh Center.
James Chamberlain is a Senior Software Engineer and certified Senior IT Specialist. He is a
project leader at the ITSO, Raleigh Center. He has over 24 years of experience in the IT
industry and specializes in pervasive computing technologies. His areas of expertise include
e-commerce, pervasive computing, portals, AIX, Linux, and Java programming. He also
designs and develops solutions using J2EE, XML, Web Services, and IBM software products
such as WebSphere and DB2. Before joining the ITSO, James worked for IBM Global
Services on e-commerce system development for IBM Business Partners. He majored in
Computer Science at Iowa State University.
David Quenzler joined the IBM RS/6000® SP System Test group in 1997. He is an IBM
Certified Advanced Technical Expert - RS/6000 AIX, working primarily with runs pertaining to
High Availability, SAN, Databases, and Linux. He is now a Software Engineer at the IBM Linux
Technology Center. He has a B.S. in Computer Science from the University of Central Florida.
Thanks to the following people for their contributions to this project:
Benson Chen, Technical Consultant
IBM Pervasive Computing Division
Kim Foster, Reviewer
IBM Sales and Distribution
WebSphere Portal Technical Sales
Many thanks to the following IBM people for their assistance.
Lenore Ramm
Mike Seedorf
Charles Le Vay
Mart Nuttall
Tony Wrobel
Dale Chamberlain
Scott Broussard
Gary Craig
Robert Sager
Dave Heller
Lei Lu
Dave Pierson
Don Watson
A specials thanks to our ITSO support staff at the ITSO, Raleigh Center:
Margaret Ticknor
Jeanne Tucker
Tamika Barrow
Linda Robinson
Thanks to our ITSO management:
Jere Cline
And a special thanks to our IBM Pervasive Computing sponsor:
Mary Fisher
12
Integrating WebSphere Everyplace Server for Telecom
Notices
This information was developed for products and services offered in the U.S.A.
IBM may not offer the products, services, or features discussed in this document in other countries. Consult
your local IBM representative for information on the products and services currently available in your area. Any
reference to an IBM product, program, or service is not intended to state or imply that only that IBM product,
program, or service may be used. Any functionally equivalent product, program, or service that does not
infringe any IBM intellectual property right may be used instead. However, it is the user's responsibility to
evaluate and verify the operation of any non-IBM product, program, or service.
IBM may have patents or pending patent applications covering subject matter described in this document. The
furnishing of this document does not give you any license to these patents. You can send license inquiries, in
writing, to:
IBM Director of Licensing, IBM Corporation, North Castle Drive Armonk, NY 10504-1785 U.S.A.
The following paragraph does not apply to the United Kingdom or any other country where such
provisions are inconsistent with local law: INTERNATIONAL BUSINESS MACHINES CORPORATION
PROVIDES THIS PUBLICATION "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR
IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF NON-INFRINGEMENT,
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Some states do not allow disclaimer of
express or implied warranties in certain transactions, therefore, this statement may not apply to you.
This information could include technical inaccuracies or typographical errors. Changes are periodically made
to the information herein; these changes will be incorporated in new editions of the publication. IBM may make
improvements and/or changes in the product(s) and/or the program(s) described in this publication at any time
without notice.
Any references in this information to non-IBM Web sites are provided for convenience only and do not in any
manner serve as an endorsement of those Web sites. The materials at those Web sites are not part of the
materials for this IBM product and use of those Web sites is at your own risk.
IBM may use or distribute any of the information you supply in any way it believes appropriate without incurring
any obligation to you.
Information concerning non-IBM products was obtained from the suppliers of those products, their published
announcements or other publicly available sources. IBM has not tested those products and cannot confirm the
accuracy of performance, compatibility or any other claims related to non-IBM products. Questions on the
capabilities of non-IBM products should be addressed to the suppliers of those products.
This information contains examples of data and reports used in daily business operations. To illustrate them
as completely as possible, the examples include the names of individuals, companies, brands, and products.
All of these names are fictitious and any similarity to the names and addresses used by an actual business
enterprise is entirely coincidental.
COPYRIGHT LICENSE:
This information contains sample application programs in source language, which illustrates programming
techniques on various operating platforms. You may copy, modify, and distribute these sample programs in
any form without payment to IBM, for the purposes of developing, using, marketing or distributing application
programs conforming to the application programming interface for the operating platform for which the sample
programs are written. These examples have not been thoroughly tested under all conditions. IBM, therefore,
cannot guarantee or imply reliability, serviceability, or function of these programs. You may copy, modify, and
distribute these sample programs in any form without payment to IBM for the purposes of developing, using,
marketing, or distributing application programs conforming to IBM's application programming interfaces.
© Copyright IBM Corp. 2005. All rights reserved.
13
This document created or updated on November 22, 2005.
®
Send us your comments in one of the following ways:
򐂰 Use the online Contact us review redbook form found at:
ibm.com/redbooks
򐂰 Send your comments in an email to:
redbook@us.ibm.com
򐂰 Mail your comments to:
IBM Corporation, International Technical Support Organization
Dept. HZ8 Building 662
P.O. Box 12195
Research Triangle Park, NC 27709-2195 U.S.A.
Trademarks
The following terms are trademarks of the International Business Machines Corporation in the United States,
other countries, or both:
Eserver®
Eserver®
Redbooks (logo)
™AIX®
DB2®
Everyplace®
IBM®
Redbooks™
RS/6000®
WebSphere®
The following terms are trademarks of other companies:
ThinkPad® and NetVista® are a registered trademarks of Lenovo in the United States, other countries, or both.
OSGi™ is a trademark of The OSGi Alliance in the United States and other countries.
Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or
both.
Linux is a trademark of Linus Torvalds in the United States, other countries, or both.
Other company, product, or service names may be trademarks or service marks of others.
14
Integrating WebSphere Everyplace Server for Telecom
Download