Professional Documents
Culture Documents
875
WWW 2008 / Refereed Track: XML and Web Data - XML II April 21-25, 2008 · Beijing, China
876
WWW 2008 / Refereed Track: XML and Web Data - XML II April 21-25, 2008 · Beijing, China
Composed Service Reference • Configuration File. Proxies come with a default set-
Java/ ting but can be further configured by developers. This
JavaScript/ Encapsulation
includes assigning default values for some of the pa-
Telecom BPEL
Parlay-X/ rameters in an API, specifying the access control list,
Block Coordination SIP/
Legacy etc. Such settings could also be functionality specific,
Protocols for instance, restricting the size of SMS messages.
T-Rec Proxy • Metadata. To enable easy look up, keywords and tags
related to the proxy functionality are associated with
Figure 2: T-Rec ‘Proxy’ Model it. New tags can be added to the proxies if required;
for example when a developer utilizes a proxy in a way
velopment environment (with some extensions to interpret that was not originally foreseen by its creator.
this structure) to integrate these clients seamlessly.
• Utility Snippets. The proxies are populated with mul-
Finally, when Telecom functionality gets used in an appli-
tiple code snippets on top of the basic functionality.
cation, Telecom operator as well as the application developer
For example, a ‘Presence’ proxy may have a program
want to coordinate its usage. For instance, one needs mech-
fragment that parses the returned response (usually an
anisms for embedding logic for charging, specifying access
XML document) for different attributes. These utili-
control policies, etc. Furthermore, with recent trends sug-
ties can be suggested, in an appropriate manner, to
gested by Web 2.0, application developers should be able
developers who wish to use the proxy.
to contribute, implicitly or explicitly, to the enrichment and
refinement of the exposed Telecom functionality (and its us- • Unit Test Code. Proxies contain codes that let differ-
age). Therefore, the abstraction model needs to be rich ent APIs supported in the proxy be tested in isolation.
enough to enable all of this. These are very helpful during testing and debugging.
A number of operators are already moving in the direction
of making their core functionalities available for application • Link to Blogs. Each proxy is linked to a blog entry
development. For example, British Telecom has released where developers can log their experience of using the
a Software Development Kit [11] that enables its network proxy. If multiple proxies are suggested during a look
services to be utilized in Web mash-ups. However, what is up, analyzing the blog entries can help the developers
missing is an abstraction model which is broad, structured choose the most appropriate one for their task.
and rich, as motivated above. We propose such a model
next, and thereafter describe a service creation framework 3.2 T-Rec Benefits
on top of this model. Intuitively, a T-Rec proxy acts as a ‘wrapper’ for Telecom
functionality, including its underlying protocol. Using this
3. T-REC MODEL wrapper, the proxy creator can provide several benefits to
Figure 2 represents the basic concept of our Telecom Ser- application developers.
vice Reference, Encapsulation and Coordination (T-Rec) ‘Proxy’
model. In essence, once an application has been broken 3.2.1 Encapsulation
down into Telecom and non-Telecom blocks, this model is APIs defined in a proxy can hide protocol specific details
used to realize the Telecom blocks, considering the program- from the developer. For example, interfaces in Parlay-X
ming style, while also enabling mechanisms for coordination throw exceptions with error codes that require knowledge of
and enrichment. In practice, these proxies would be created Parlay-X for interpretation. As an instance, an application
by a Telecom operator and made available to application developer using Parlay-X would need to know that the error
developers over the Web (or a converged IP network). code SVC0004 stands for invalid addresses in a message. Us-
ing the proxy model, we can encapsulate these error codes
3.1 T-Rec Structure with higher level exceptions, such as throwing InvalidAd-
Our rich, structured T-Rec Proxies consist of the following dressException whenever error code SVC0004 is returned.
elements: Moreover, using proxies, similar APIs can be exposed across
different protocols. For example, various APIs in the Lo-
• Proxy Representation. Contains signatures of the meth- cation proxy can have similar signatures for Parlay-X and
ods (APIs) exposed by the proxy along with a tex- SIP-Presence based implementations1 .
tual description of the service it represents. The APIs
are designed to hide protocol specific details and ab- 3.2.2 Coordination
stract the Telecom functionality to the programming When Telecom proxies get used in an application, Telecom
language level. As discussed before, APIs correspond- operator as well as the developer can manage and meter its
ing to multiple styles (Java, BPEL, JavaScript) should usage. For instance, whenever the proxy corresponding to
be created to support different environments. Location information gets invoked within an application, the
• Implementation. This module connects to the Telecom Telecom operator can authenticate the developer and also
service using the underlying protocol, and is available charge some amount. In this case, proxies are configured
in different formats. For example, the implementation to collect the relevant information, for example developerId,
could be in the form of a .jar file for a Java proxy, a .js from the developer and send to the operator. Similarly, the
file for JavaScript, or could be encapsulated by visual 1
In SIP, location information is obtained by subscribing for
constructs, such as widgets, and used inside HTML the presence information, and parsing the returned docu-
pages. ment. We can wrap this under a getLocation() interface.
877
WWW 2008 / Refereed Track: XML and Web Data - XML II April 21-25, 2008 · Beijing, China
PJQRSUTSVS!W X Y QW PJQR!S<TS!VSW X Y QW tioned earlier, each proxy hides the underlying protocol (Parlay-
JavaScript / HTML
Composition Studio(s)
X, SIP, etc.) and offers a rich set of APIs to facilitate inte-
Java Z S[ \ ]V<^)R\ Y QW Z S[ \ ])VU^R\ Y QW gration with the application being developed.
UML,
_ ``!abc dbef g h i jf `k _ ``!a b)c d)bef g h i jf `k
BPEL, Metadata Manager helps the Telecom Repository or-
… ganize and maintain relevant metadata (keywords and tags,
Web
textual description, etc.) associated to a proxy and the APIs
it offers. This information is used to suggest proxies on a
78 9:<;=)>)=:)?@ look up.
A BC DE F G H
DIJILK M N F O
Blog Manager organizes and stores free-form textual
;?l =m= l =n;=>)= :?@
A o!K p qLDr s F G tu E F G vwD)x O comments associated to a proxy and its APIs. These inputs
SewNet Core
4.1 SewNet Architecture 1. Service Design: Developer designs the service using
drag-and-drop or other mechanisms supported on the
As Figure 3 shows, SewNet has two main architectural design editor. In this step, Component services, Logic
components - SewNet Core and Composition Studio(s). blocks, Control flow (sequencing, fork, join), etc. are
defined by the developer (c.f. Figure 1).
4.1.1 SewNet Core
SewNet Core forms the backbone architecture that ex- 2. Proxy Lookup: For each Telecom block, developer ob-
poses Telecom functionality to developers through simple, tains a set of matching proxies from repository, based
intuitive interfaces for lookup and select while allowing for on keywords, input-output, or both.
developer participation and feedback through publishing and
blogging. 3. Proxy Selection: From candidate proxies suggested by
Telecom Repository consists of proxies for different SewNet, the developer selects those that best fit the
functionalities exposed by the Telecom operator. These prox- requirement. Proxy selection is based on suitability
ies are available in various implementation styles, for ex- 2
In practice, a Composition Studio would already have some
ample, Java proxies to be used inside Java applications, code generation capabilities. In this case, we just need to
JavaScript proxies to run on a Web browser, etc. As men- extend these capabilities to incorporate the proxy model.
878
WWW 2008 / Refereed Track: XML and Web Data - XML II April 21-25, 2008 · Beijing, China
879
WWW 2008 / Refereed Track: XML and Web Data - XML II April 21-25, 2008 · Beijing, China
"!
#$ %
#
Location LogicBlock2
880
WWW 2008 / Refereed Track: XML and Web Data - XML II April 21-25, 2008 · Beijing, China
based on a back-end network emulator and can be used to statements in the Java class9 , add statements to instantiate
simulate various Telecom settings and configurations. Such the underlying proxy object, and capture the output of API
‘simulator’ proxies can be used by developers for correctness chosen by the developer. Further, we parse the API invoked
and functionality testing, and debugging, before moving on to import the data-types corresponding to input and output
to ‘real’ network proxies. In this case, developers do not variables, and to add try-catch blocks for handling the ex-
need to change their service design, albeit just switch to the ceptions that can be possibly thrown. In general, the code
corresponding proxies for real network. produced is well-formatted and documented to smoothen
the task of ordinary Java programmers.
5.3.2 Billing While the code generated acts as a template for the com-
Telecom operators spend a significant amount of time pro- posite service, it needs to be examined and modified by the
visioning a new service and connecting it to their billing sys- developer to ensure that the data flow between component
tem. In SewNet, we have exposed the Charging functional- services (input-output type matching, ordering of parame-
ity of the Telecom operator (on top of the defined Parlay-X ters, etc.) is handled properly. Further, it should be noted
interfaces) using the T-Rec proxy model, and made it avail- that since we are using a processDoc based on BPEL schema
able through the repository. A well encapsulated proxy for to capture service design, the code that can be outputted in
billing helps the operator in populating charging rules cor- Java is restricted to those constructs that can be represented
responding to a proxy user. Furthermore, billing proxy can using BPEL structure. We are currently investigating exten-
also be offered to a developer who can utilize it to charge sions to this schema that would enable a richer Java code.
users of her application. The charging models supported by
the Billing proxy are of various types; for instance, charging 5.4.2 BPEL
could be based on a contract basis or a per usage basis. In this case, we assume the Telecom blocks to be re-
alized by Web services and BPEL becomes the ‘glue’ to
5.3.3 Proxy Configuration bind these Web services into a cohesive business solution.
SewNet proxies include a set of configurable attributes to From the service design in processDoc, we first generate
suit a variety of applications. For example, in SMS the de- the WSDL description that provides the name and interface
veloper can restrict the size of message sent by a user. For for the composite service and describes the port types and
Location, the developer can configure the period of time for partner link types for stitching together the different blocks
which the location information is cached within the proxy. (components) in this service. The next step is the genera-
Similarly, default handlers are defined for exceptions thrown tion of a concrete BPEL structure that captures the invo-
by different interfaces. For instance, on encountering a Net- cation of different components in the manner as described
workBusyException, the default rule can be to wait for a cer- by the processDoc i.e., the control-flow of the service. Fur-
tain amount of time before retrying. These attributes can ther, we populate the Telecom blocks using specific details
be utilized and configured by the proxy user at any stage of from the corresponding WSDL descriptions. For example,
the service development process to suit her requirements. we introduce variables that capture the input and output
of each of these blocks. Similarly, we automatically import
5.4 Code Generation the schemas containing definitions of the various used data-
SewNet’s Composition Studio allows the developers to types. For the non-Telecom blocks, the developer has the
output the service code in two different programming styles option of either wrapping them as Web services or utilize
- Java and BPEL. In each of these cases, the service de- extensions to BPEL supporting inline Java code. Finally,
sign is captured using a processDoc (described earlier in similar to the case of code generation in Java, the developer
Section 4.3) based on the BPEL Schema. BPEL is an XML- needs to edit this template BPEL workflow (for data-flow,
based programming language to describe high level business etc.) before it is actually deployed.
processes and has many constructs to capture service de-
sign, including invocation, fault handling, correlation, and
support for conditional logic. 6. DEMONSTRATION
We now illustrate how SewNet can be used for rapidly de-
5.4.1 Java veloping new Telecom applications. We demonstrate com-
Service design captured in processDoc is converted into position of two services. While the first one involves utilizing
a Java project that can be imported inside the Eclipse pro- core Telecom functionality glued together by rich application
gramming environment. For this purpose, we first make a logic, the second service is a mashup of Telecom functional-
skeleton of an Eclipse project including creation of a pack- ity and a third party service.
age structure and the metadata files .project and .classpath.
A Java class is generated for each of the Telecom and non- 6.1 Composing a ‘Live’ Yellow-Pages Service
Telecom blocks occurring in processDoc, while a main class Telecom operators with their defined presence and loca-
is created to capture the flow of the service. During pop- tion frameworks can enable a ‘dynamic, real-time’ Yellow-
ulation of the main class, constructs from the processDoc Pages service. In essence, this service would provide matches
(invoke, switch, etc.) are transformed to the correspond- in response to a customer request seeking ‘nearby’, ‘avail-
ing ones in Java. While for the classes generated for non- able’ vendors (such as tourist looking for a cab) by using
Telecom blocks, the developer is expected to embed her ap- Telecom network to determine the availability and location
plication logic, for the Telecom blocks, SewNet populates of the subscribed vendors. Business Finder [17] is an exam-
the classes with code for invoking the chosen proxy. For ple of such a Yellow-Pages service.
this purpose, we first import the underlying implementa-
9
tion jars from the repository, add the corresponding import entries are added to the .classpath metafile also
881
WWW 2008 / Refereed Track: XML and Web Data - XML II April 21-25, 2008 · Beijing, China
UpdateAvailability Availability
882
WWW 2008 / Refereed Track: XML and Web Data - XML II April 21-25, 2008 · Beijing, China
provides high level Web service interfaces via its service de-
livery platform that hide low level Telecom protocol specific
constraints and allow creation of Managed network mashups.
However, both these lack a structured and rich format like
our T-Rec proxy model.
Telecom Standards and Platforms. The first wave
of efforts along exposing core Telecom functionality primar-
ily focused on creation of open standards and APIs. For
example, Session Initiation Protocol (SIP) is an open stan-
dard being widely adopted across service providers to create
Voice-over-IP services. Many Telecom operators are now
moving towards implementing the IMS framework [4] to ex-
pose their core functionalities (voice service, SMS service,
Call control) using SIP. JSR-289 [6] has been proposed by
Sun and Ericsson to enhance existing SIP Servlet specifi-
cation and support development of composed applications
involving both HTTP and SIP servlets. Efforts are being
undertaken to come up with platforms that support con-
current execution environments for different standard-based
protocols (e.g. SOAP, SIP over HTTP) and business logic
Figure 9: Mashup Code Fragment written in several languages (Java, BPEL, etc.). For exam-
ple, the IBM WebSphere Application Server product suite11
implements a converged SIP and SOAP servlet container,
services. The paper presents a case study that investigates
while enabling tailored message processing and policy en-
how this environment can be used in a Telecom setting. Syn-
forcement for these protocols. Alcatel is also exploring the
thy [14] demonstrates composition of a workforce manage-
option of SOA/REST APIs on top of its Telecom Applica-
ment application enabled over a Telecom network, where
tion Server [1]. From SewNet’s perspective, the proxy model
core functionalities like Location are exposed as semantically
can encapsulate different standards, while the implementa-
annotated Web services and orchestrated using AI planning
tion module can be based on available platforms.
techniques. The Meteor-S [23] framework looks at a number
Telecom Device Functionality. A generic model of
of aspects related to composition of Web services, including
Telecom services is described in [18], where apart from core
capture of semantic requirements of the process and choos-
Telecom network functionality and third party offerings, ser-
ing components under given constraints. Zeng et al. [24] pro-
vices also make use of device functionality and information
pose a method for choosing component services during Web
such as calendar, user profile and location (e.g. cell site
service composition based on a generic QoS model (based
information). Currently, there are a plethora of end-user
on price, duration, reliability, etc.) and established linear
devices in a Telecom environment, ranging from basic (of-
programming techniques. As noted earlier, in a Telecom
fering only the capabilities of messaging and voice) to sophis-
environment, we need a broader model than pure Web ser-
ticated, state-of-the-art devices like iPhone12 . There are ef-
vices to cover different protocols. In any case, SewNet’s
forts to promote an open mobile phone software stack that
T-Rec proxy model is rich enough to apply many of these
abstracts hardware differences and offer a uniform set of
techniques. For example, each proxy can be annotated with
APIs for accessing many of the functions of a mobile phone
QoS guarantees regarding its reliability, response time, etc.,
(calendaring, date, etc.). JSR 248 specification, contributed
using which developers can estimate the QoS parameters of
significantly by Sun Microsystems, is a step towards that
their composed services according to [16].
direction. To compose richer Telecom applications within
Tools for Mashup Applications. One of the most com-
SewNet, we can wrap the device functionality using the
monly used terms for Web 2.0 applications is a “mashup” -
proxy model and make them available to a developer dur-
an application that combines content from more than one
ing the composition process. In this case, such ‘device-side’
source into an integrated experience. Content is picked up
proxies will not only ease the access to device functional-
from multiple servers (data sources) using technologies like
ity, but also shield the developer from the heterogeneity of
Ajax and REST, and composed (or rendered) in the same
the underlying device itself. We wish to investigate device
user interface (UI), typically a browser. There are several
proxies based on JSR 248 in the near future.
tools that aid in the creation of such mashup user interfaces.
Web 2.0 and SewNet. The phrase Web 2.0 refers to a
Examples are QEDWiki [3], Yahoo Pipes [12], Aqualogic [2],
perceived business revolution in the Web community caused
and PrestoStudio [5]. These tools cater to a class of ap-
by the movement to Internet as a platform. In essence, Web
plication developers who prefer “drag-and-drop” operations
2.0 changes the way in which businesses interact with its
to create their own mashups. Most of these tools are not
customers, by advocating the following core principles: a)
Telecom specific and can benefit by incorporating SewNet’s
provide power to the developers by offering rich, intuitive,
proxies. Web21C [11] from British Telecom allows develop-
and interactive interfaces for services based on Ajax or sim-
ers to integrate core Telecom functionality with other Web
ilar frameworks; b) create an architecture of participation
services into a single application, while allowing application
that encourages consumers to add value to a service as they
specific logic to bind the component services. Like our work,
Web21C hides the complexity of Parlay-X or SIP by expos-
11
ing these Telecom functions as higher level APIs. Similarly, www.ibm.com/software/webservers/appserv/was/
12
Connected Services Framework Sandbox [7] from Microsoft http://www.apple.com/iphone/
883
WWW 2008 / Refereed Track: XML and Web Data - XML II April 21-25, 2008 · Beijing, China
use it; and c) harness collective intelligence by facilitating [7] Microsoft Connected Services Framework Sandbox.
collaboration and sharing among users through communi- http://www.microsoft.com/serviceproviders/solutions/
ties and social networks. We argue that SewNet, based on connectedservicesframework.mspx.
T-Rec proxies, incorporates these core Web 2.0 principles. [8] Open Service Access (OSA); Parlay X Web Services;
With several providers and community developers con- Part 1: Common. 3GPP TS 29.199-01.
tributing towards development of services and its associated [9] Parlay API Specification. http://www.parlay.org.
artifacts, it is important to help a developer with effective [10] Telco Web 2.0 Mashups: A New Blueprint for Service
tools for inferencing and recommendation. While there has Creation.
been a lot of work in the domain of inferencing and collabo- http://www.networkmashups.com/docs/ssi 0507.pdf.
rative filtering [13, 21], SewNet opens up a new environment [11] Web 21c sdk. http://web21c.bt.com/.
for applying current work as well as identifying interesting
[12] Yahoo Pipes. http://pipes.yahoo.com/pipes/.
problems, for instance, those related to selection and recom-
mendation of utility snippets for a proxy. [13] G. Adomavicius, R. Sankaranarayanan, S. Sen, and
A. Tuzhilin. Incorporating Contextual Information in
Recommender Systems using a Multidimensional
8. CONCLUSIONS AND FUTURE WORK Approach. In proceedings of ACM Transactions on
With Telecom market reaching saturation, Telecom op- Information Systems, volume 23, pages 103–145, 2005.
erators can take advantage of their core functionalities like [14] V. Agarwal, K. Dasgupta, N. Karnik, A. Kumar,
Location, Call Control, etc. These can be exposed as ser- A. Kundu, S. Mittal, and B. Srivastava. A Service
vices and used by developers to compose rich, innovative Creation Environment based on End to End
applications. We believe that although operators are mak- Composition of Web Services. In Proceedings of the
ing efforts in this direction, a number of challenges still need 14th International World Wide Conference, May 2005.
to be addressed - existence of multiple protocols, different [15] N. Banerjee, K. Dasgupta, and S. Mukherjea.
categories of developers, and the need to coordinate the us- Providing Middleware Support for the Control and
age of these functionalities. In this paper, we presented Co-ordination of Telecom Mashups. In proceedings of
SewNet, a framework for creating applications exploiting MNCNA Workshop, Middleware Conference, Nov’ 07.
Telecom functionality exposed over a converged IP network. [16] J. Cardoso, A. Sheth, J. Miller, J. Arnold, and
We first provided an abstraction model, called the T-Rec K. Kochut. Quality of Service for Workflows and Web
‘Proxy’ model, for encapsulating invocation, coordination Service Processes. Journal of Web Semantics,
and enrichment of the Telecom functionalities, and there- 1:281–308, 2004.
after rendered a service creation architecture based on this [17] D. Chakraborty, K. Dasgupta, S. Mittal, A. Misra,
model. We also demonstrated the effectiveness of SewNet A. Gupta, E. Newmark, and C. L. Oberle.
for different categories of developers with the help of two BusinessFinder: Harnessing Presence to enable Live
use-case scenarios. Yellow Pages for Small, Medium and Micro Mobile
In the future, we wish to integrate SewNet with other de- Businesses. In proceedings of IEEE Communications
velopment studios, including various mash-up environments Magazine, Issue on “New Directions in Networking
and UML-based model driven composition tools. We also Technologies in Emerging Economies”, January 2007.
want to create proxies for some popular third party services [18] D. Chakraborty, S. Goyal, S. Mittal, and
available over the Web. Finally, we plan to encapsulate de- S. Mukherjea. On the Changing Face of Service
vice capability under our proxy model and include the same Composition in Telecom. In proceedings of MNCNA
in our service composition framework. Workshop, Middleware Conference, November 2007.
[19] J. Rosenberg, H. Schulzrinne et al. SIP: Session
9. ACKNOWLEDGMENTS Initiation Protocol.
We would like to acknowledge Himanshu Agrawal for de- http://www.rfc-editor.org/rfc/rfc3261.txt, 2002.
veloping SewNet’s composition studio, and our colleagues in [20] S. Majithia, M. Shields, I. Taylor, and I. Wang.
IBM Haifa Research Lab for helping us refine our ideas. Triana: a Graphical Web Service Composition and
Execution Toolkit. In proceedings of IEEE
10. REFERENCES International Conference on Web Services, 2004.
[21] J. Martineau, A. Java, P. Kolari, T. W. Finin,
[1] Alcatel Open Service Delivery Solution. A. Joshi, and J. Mayfield. BlogVox: Learning
http://www.eurescom.de/Parlay-OSA- Sentiment Classifiers. In proceedings of AAAI
products/Alcatel/Alcatel open service delivery solution.pdf. Conference, 2007.
[2] BEA AquaLogic Family of Tools. [22] S. Staab et al. Web services: Been there, done that?
http://www.bea.com/framework.jsp?CNT IEEE Intelligent Systems, pages 72–85, Jan-Feb 2003.
=index.htm&FP=/content/products/aqualogic/. [23] K. Sivashanmugam, J. Miller, A. Sheth, and
[3] IBM QEDWiki. K. Verma. Framework for Semantic Web Process
http://services.alphaworks.ibm.com/qedwiki/. Composition. In Special Issue of the International
[4] IP Multimedia Subsystem (IMS) Architecture. Journal of Electronic Commerce (IJEC), 2004.
http://www.dataconnection.com/sbc/imsarch.htm. [24] L. Zeng, B. Benatallah, M. Dumas, J. Kalagnanam,
[5] JackBe PrestoStudio. and Q. Z. Sheng. Quality Driven Web Services
http://www.jackbe.com/Papers/JackBe- Composition. In proceedings of World Wide Web
StudioOverview.pdf. Conference, 2003.
[6] JSR 289. http://jcp.org/en/jsr/detail?id=289.
884