This article describes a new language named SCDL (service creation description
.... Management provider: in RSCE of Archises , the supplier of management ...
SCDL – Service creation description language for Archises architecture Tuan Loc Nguyen, Guy Pujolle Laboratory Lip6, University Paris 6, France 8 rue du Capitaine Scott, 75015 Paris, France Email: {Tuan-Loc.Nguyen, Guy.Pujolle}@lip6.fr Web: http://nguyentuanloc.online.fr Phone: +33 1 44 27 87 85
Abstract - The generalization of Internet continues to grow unabated, especially with the rapid adoption of the mobile and fixed wireless connecting a myriad of devices at homes and businesses. It allows us to have more and more services at low costs. In the future, anyone with any kind of devices at any times will have options to access any service from anywhere. In fulfilling this requirement, more rapid and profitable methods of service creation must be examined. This article describes a new language named SCDL (service creation description language) that can be used for service creation environment.
Keywords: Middleware for mobile services, location aware services, service creation, value-added service, applications in mobile services.
SCDL – Service creation description language for Archises architecture Tuan Loc Nguyen, Guy Pujolle Laboratory Lip6, University Paris 6, France
Abstract - The generalization of Internet continues to grow unabated, especially with the rapid adoption of the mobile and fixed wireless connecting a myriad of devices at homes and businesses. It allows us to have more and more services at low costs. In the future, anyone with any kind of devices at any times will have options to access any service from anywhere. In fulfilling this requirement, more rapid and profitable methods of service creation must be examined. This article describes an open service creation architecture named Archises and a new language named SCDL (service creation description language) that can be used for service creation environment. Keywords: Middleware for mobile services, location aware services, service creation, value-added service, applications in mobile services.
1
Introduction
The development of Internet opens a lot of opportunities for us to have more and more services such as enewspapers, e-shopping, e-advertising... (fig. 1) People will access any service from everywhere with any device (Internet explorer, PDA, mobile phone…). This perspective will create not only better but also low cost services for consumers. The problem is how to create rapidly new services in the competition context. We try to propose an architecture named Archises and a new language of service creation named SCDL. The organization of the article is as follows. We present an overview of state of art about service creation. We present the Archises architecture for service creation. Then, we present the SCDL language. Finally, followed by SCDL syntax, a conclusion with some prospects of the SCDL and the future work is provided.
Figure 1 : Service anywhere
2
Related works
Communication service providers are always looking for new ways to generate revenue from their network. Services are very important driver of benefice, and the service will evolve continuously. Providers and operator also differentiate themselves in a highly market by the services that they can offer the client. Besides the native network functions, such as routing and packet forwarding, future service architectures are required enabling location and utilization of services. A service is a program, which can be accessed about standardized functions
over a network. Services are allowed cascading without previous knowledge of each other, and thus this enables the solution of complex tasks. A typical service used during the initialization of a client is the localization of a data. Gateways or neighbouring nodes can provide this service. To find these services, the client can use a service discovery protocol. No many researches in this context provide open environment architecture with a value-added service creation language. Fig. 2 illustrates the service benefit vs voice benefit in networking.
Figure 2: Benefit of service vs voice on the net (Source: Gartner/Dataquest/Bhwani Shankar/ Voice on the Net/ 03/2000) JAIN (Java Advanced Intelligent Network) for service creation: JAIN is a model applied of intelligent network model, animated by SUN. JAIN is based on the concept of intelligent network and to fulfil the weaknesses of the traditional intelligent network to in particular knowing non standardization of the reused composants and the programming interface (API) for the intelligent network. The model of JAIN is a set of APIs to develop the new services on the Java platform. JAIN APIs brings the portability of service, the convergence access to the telephone network and the data-processing networks. JAIN proposes a technology of software with components of the data-processing world independent of the platforms, JavaBeans and a library of APIs Java such as JAIN TCAP, JAIN ISUP, JAIN MAP and JAIN INAP. JAIN is composed of three layers corresponding to the intelligent network: the layer of network which manages the terminals, the layer of signal, and the layer of service which makes it possible to add the new services. The objective of JAIN is to ensure the convergence of portability of services and to make it possible to reach any type of terminal. Model of JAIN can offer: portability of service that is write once to use where, convergence with any network, access with any type of terminal, assembly of JavaBeans components. However, JAIN consortium only proposes the creation of services by assembly of JavaBeans components, which isn’t acceptable in the competition context nowadays because the developers should have the freedom of using the programming language according to their preference. Moreover, the user of JAIN has to use the programming in the Sun world: Java and JavaBeans. Web Services : A Web service [8] is a composant based on XML standard, its interface is described by WSDL language (Web Service Description Language), its transported assured by SOAP protocol (Simple Object Access Protocol) and can easily found by a yellow page named UDDI (Universal Description, Discovery and Integration). Web services have recently emerged as a promising technology for providing the standard interfaces between the software composants by using XML (eXtensible Markup Language) proposed by W3C to encode a variety of information for the Web. Client and server of a Web service can be invoked and run on different platforms. On the other hand, Web services don’t have enough interoperability that will arise with integrated networks like IP network and telecommunication network. Moreover, Web services miss a link language, a universal assembly language, to create new service by combing some Web Services together.
3
Archises - Architecture of Intelligent Intermediation Service
There are two motivations for using Archises architecture. First, Archises try to create an open environment and to build on existing standard technologies which not only support multiple client types, but also adapts to almost
all of the services, from the IP telephone services to the Internet services. Second, with the SCDL language, we can create exponentially new services and deploy them to Archises architecture. Archises[1], the Intelligent Intermediation Service architecture goal is to propose a new method for creating rapidly new services. This is also the point access to multiple services over heterogeneous networks and from any type of terminals. The Archises architecture is the three-tier architecture including: the virtual application layer, the portal manager, the virtual terminal. Fig. 3 illustrates the Archises architecture:
Figure 3: Archises - Intelligent Intermediation architecture -The virtual application (IP telephony virtual application in SIP[2], Web services virtual application) interacts with external heterogeneous applications and converts the data of these applications into an intermediate language, XML. The goal is to create a unique format at the intermediation level to unify the heterogeneous services. -The portal manager: This is a virtual execution machine composed of the triggering & integration engine, the transformation and the context manager. This generates value-added services from the basic services. Thanks to the intermediate language XML, the modules in the portal manager can be easily communicated together. The triggering & integration engine is triggered by events. For each page received from the connector module, the engine invokes the connectors according to the matching service definition. Furthermore, new value-added services can be defined as a sequence of services. This will be processed in a pipeline managed by the integration engine. The triggering realizes the interaction between the different services managed by the dedicated server. It can trigger the requests coming from the presentation module to the access module, and transport the information from the access module to the presentation module. It manages in addition the open sessions with the different terminals managed by the presentation module. The transformation enriches and transforms services into a value-added service. The transformation is based on services description which is managed by the service creator. The transformation makes the interface with the dedicated server corresponding to the considered access module. It manages the whole dialogue with the dedicated server and transforms the received information from the server into a common format which corresponds to the exchanged page of the server. To do that job, it has a translation table created by the service creator. This translation table enables the transformation to associate the exchanged information according to the specific format with the dedicated server. Then, the received information is transmitted to the context manager to create a dynamic page to the client or to another server of the access module to trigger a new service. The context manager gives the user single personalized access to relevant information and services, as well as single point of interaction with these information and applications from multiple devices. The goal of the context manager is to create personalized logical pages (i.e. logical screens or logical windows or folders) that provide individual user relevant personalized information. For example, it personalizes the user's view with relevant information and manages user interactions with integrated applications according to the user profile: rights, priorities, and permissions. -The virtual terminal manager: This layer adopts the thin client computing protocol and can format the virtual display depending on the terminal type. The terminal virtual can also interact with several types of devices. The terminal becomes the thin device; it focuses more on displaying messages sent by the virtual
terminal. The virtual terminal sends to terminal the informative (user interface) messages, which should be followed by appropriate action invocations. These messages allow a set of options (HTML buttons) to be displayed among which users would like to choose.
4 4.1
Services creation environnement in Archises The need for an environment service creation in Archises :
Initially, these services in Archises are tested and deployed in the network of telephony on IP. The problem is how to create components of Archises in a rapid method with better quality. That means how starting from an expression of a simple idea of service, to create a service ready to be used. That leads us to the process service creation RSCE (Rapid Service Environment Creation) [3]. This process is significant because it can influence enormously on the quality of the service as well as the possibility of its adaptation or modification in the future or interaction between these services. One starts with the definition of the actors who intervene during this process and then one will enumerate the stages for the service creation in environment RSCE of Archises. Here are the actors in the service creation process.
4.2
Actors in service creation process:
The process service creation utilized a whole of actors. They intervene in all the cycle of life of a service, since the detection of the need of a service until its deployment on the network. We specify the relation between the actors like their roles in a cycle of a service. Fig. 4 illustrates the RSCE.
Figure 4: Rapid Service Creation Environment - Access provider: its role consists in offering the link between the customer equipment and the service equipment at the time of the access to service. It must also have a documentation allowing a description of its network and services. - Resource provider: it manages two phase resources: the phase of creation and the production deployment. At the time of the phase of creation, it finds the programming languages, the managers of data bases to store the components. - Management provider: in RSCE of Archises , the supplier of management has the right of the control of the management to offer services of management to the access provider. It is the service manager: the installation and deployment of the services, offers services of maintenance of the equipment of network, quality control of the network. - Service creator (fig. 5): it is the new one coming from the world of telecommunications. Arriving at the I.T world, its role is to develop the logic of service by using the existing composants or creating new service from
the beginning. It plays the central role in the service creation process. Thanks to the service creator, the provider can communicate with the consumer more flexible, more rapid.
Figure 5: Service creator
4.3
RSCE – Rapid Service creation environment
The service creation process is composed in three phases: development, assembly and deployment. The development phase is to create the micro services; they are the basic primitive services of Archises . This phase uses integrated development tools, tools for service creation. The purpose of the assembly phase is to assemble these microphone-services by using the integration engine. The purpose of the deployment phase is to deliver the services which are created in the assembly phase, this which is not in the context of this work. Fig. 6 illustrates the process service creation.
Figure 6: Service creation process Currently, the approach of manual coding multitude of If is very popular. That always resulted in developing difficult interactions, not easily understandable, expensive to maintain and make evolve in the future, and especially, the codes are very difficult to re-use. In our approach, without If coding, the process service creation is managed by the service creator. Its role is to assemble existing components or to create a new service from the very start. The traditional programmers design software components, the service creator creates new services by assembling software composants. The cycle of development (analyzes, coding and test) is similar in both cases. The RSCE is an environment of common work making it possible to create and assemble the services thanks to the intelligent network composants.
5
SCDL language (Service Creation Description Language)
To create a new service, the service creator should use a language to assembles, creates this service. This language named SCDL or Service Creation Description Language [4,5]. This language was developed and used in Archises architecture. The purpose of this language is to easily create new services via automate of the language. It makes it possible to transform heterogeneous data into common format. It can assemble, to combine the heterogeneous services. It is built by the syntax XML schema, which itself is built on XML [6].
5.1
Service composition in SCDL syntax:
With the basic services, let us take an example, services like “+; -, *, /” and 13 components SIBs (Service Independent Building Block in the intelligent network [7]). This architecture preconizes to form a new service A = B+ C, we will call the available service B, and C, then we will use our prototype to manage the operations and
interactions of service B, C; using the script to connect these 2 services and form service A. By that way, the more complicated service will formed from the simpler ones. Archises architecture allows to integrate more representative services of Internet in the future such as SIP telephony server, Web Server, DBMS, … One of primary applications of its is that : it can create new value-added services in the IP telephony, one of the important domains in the future. The difference compared to classical telephony is that it combines the IP telephony service with the other services in the IP world like Web, email, messenger… ... A B C /* C=A+B */ A B C /* C=A - B */ A B C /* C=A* B */ A B 0 Error divided by 0 C /* C=A / B */ Based on the basic services, the service creator can create new services easily. For example, to create a service like conversion French franc into American dollar. To do that, the creator of service thus has need of two basic services, MulAB and DivAB. Let us suppose that: 1 USD = 1 (FF / 6.5597) * 1.35, so the script for this service is showed below:
franc Rate1 /* francTo€uro */ Rate2 /* €uroToDollar */ DivAB(franc, Rate1, &C) MulAB(C, Rate2, &D) D /* D = franc / 6.5597 *1.20 */
5.2
Types of service in SCDL syntax:
Figure 7: SCDL language schema With SCDL, the service creator can treat a message coming from any heterogeneous services (for example, telephony service, LDAP service, http service or Web service) via its mechanisms (transformation and triggering). For example, when there is a message coming from a Web service, according to preset rules' by the service creator, the corresponding actions can be triggered. Here are all types of service that can be supported by SCDL described by the SCDL syntax in fig. 7:
5.3
Service transformation mechanism in SCDL syntax:
Another mechanism in Archises is transformation. The transformation [8,9] enriches and transforms services into a value-added service. The transformation is based on services description which is managed by the service creator. The transformation makes the interface with the dedicated server corresponding to the considered access module. It manages the whole dialogue with the dedicated server and transforms the received information from the server into a common format which corresponds to the exchanged page of the server. To do that, it has a translation table created by the service creator. This translation table enables the transformation to associate the exchanged information according to the specific format with the dedicated server. Then, the received information is transmitted to the context manager to create a dynamic page to the client or to another server of the access module to trigger a new service. Here is the transformation rule in transformation table. When receiving a message, first it will be transformed to XML message (common format in Archises ). Second, this message will be converted to informative message (adjust value-added information). Third, it will be transformed to intrusion, priority of display message, and the important level of message. Finally, the message will be transformed to multilanguage, corresponding language of the user. Fig. 8 illustrates automate of transformation rule in SCDL:
Figure 8: SCDL transformation rule Here is the complete rule of transformation in SCDL syntax:
5.4
Service triggering mechanism in SCDL syntax:
In Archises , the XML procedure calls are particularly effective for the automatic sequence of the treatments in which some XML parameters or XML tags at one output procedure can be used by another procedure. The integration engine in Archises can also trigger the procedures in according to the definition of the Archises addedvalue service, described in XML. Fig. 9 illustrates this mechanism [10]. … … …
Figure 9: Triggering mechanism in Archises The value-added service in Archises can be defined, tested and deployed par the service integrator. The developer does not care about how the integrator did. Fig. 10 illustrates automate of triggering mechanism in Archises :
Figure 10: Automate of triggering mechanism Here is the complete rule of transformation in SCDL syntax :
6
Conclusion
SCDL is an open language focused on a common project vision and agreed strategic goals. SCDL would build on existing standard technologies (Web Services, LDAP, XML, and others) and aim to make very significant contributions to the evolution of these through wide-scale deployment experience in innovative applications in future networks. A key issue is to separate the software from the underlying hardware in network. SCDL facilitates the programming on high abstraction layers. The presentation of SCDL language and Archises architecture lead us to the facility of rapid creation of value-added services. This architecture adapts to almost all of the requirements, from the IP telephone services to the Internet services. SCDL can be a solution for the simplification of development of service applications in network.
REFERENCES [1]
T.L. Nguyen, “Architecture of intelligent semantic services (Archises ): A new architecture for service creation in the telephony over IP,” PhD dissertation, 9/2004, University Paris 6, France.
[2]
SIP (Session Initiation Protocol). http://www.ietf.org/html.charters/sip-charter.html .
[3] T.L. Nguyen, T.A. Nguyen and al, “AppNet – network-based application architecture”, RIVF05, Vietnam, February, 2005. [4]
D. Booth and al, “Web Service architecture”, Internet darft published document of Web Services Architecture working group W3c, February 2004.
[5] F. Curbera and al, “Unraveling the Web services web: an introduction to SOAP, WSDL, and UDDI”, IBM, Internet Computing, IEEE. [6]
W3C XML. http://www.w3.org/XML
[7]
Intelligent Network, Q.12xx, ITU.
[8] A format semantics of patterns in XSLT. P. Walder. Bell Labs, Lucent technologies. [9] R.T Fielding. “Architecture style and design of Network-based software architectures”; PhD dissertation, 2000 ,University of California Irvine, USA. [10] Coccoon. http://xml.apache.org/cocoon