第二屆離島資訊技術與應用研討會,2002 年 6 月 A Web Technology and Distributed Object Computing Based Telecommunication Provisioning System Chin-Yao Yang Chee-Wen Chen Chia-Hao Hsueh Ya-Mei Chen Chia-Chen Lee Yao-Te Huang Wen-Cheng Sheu Teh-Sheng Huang Jain-Feng Tsai Hong-Jang Wu Telecommunication Laboratory ChungHwa Telecommunication Co. Taiwan E-mail: yangjy@cht.com.tw Abstract For past decades, the computing techniques affect our society, but web will deeply affect it in the future. Web based systems deliver a complex content and functionality in heterogeneous environment This paper presents web engineering, distributed object computing techniques to develop complex and heterogeneous telecom provisioning system under telecommunication management network hierarchy and telecommunication operations map architecture. In this paper, we propose a common objects request broker architecture (CORBA) and Factory models to improve the performance of web based distributed object computing system. As a result, we could verify the usefulness of these approaches not only for telecom service provisioning process but also for telecom network management process. Figure 1. A TMN hierarchy TMN management functions provide a structure and decomposition of function for all of the layers [14]. However, it is not enough to guide service provider and network operators to construct end-to-end interoperable process automatically across layers. Therefore, the Telecom Operations Map (TOM), proposed by TM Forum, employing TMN model as a foundation, addresses operations support and management for any communications service from a top down, end-to-end process and customer’s oriented standpoint. The TOM is as shown in Figure 2. 1. Introduction Due to the rapid growth of the Internet, the Internet has given drastic influence and impact to the enterprise information applications. There is a high demand for development of highly reliable, high quality and easily maintainable distributed object computing system in a wide range of application domains [1]. The applications may be from tele-education and telecommunication, e-commerce, and multimedia [1][2][3][4]. Web based systems now deliver a complex array of content and functionality. Many web systems have failed or the possibilities for major failures. The primary causes of these failures are with a flawed design, development process and poor management of development efforts-not technology [18]. Also, web’s content, structure, and functionality will evolve over time [18]. Therefore, there needs an engineering approach and a new evolutional development process to develop web systems. As the leading service provider in Taiwan, ChungHwa Telecom.(CHT) is facing an ever-increasing competition and a market experiencing dramatic change at an unprecedented rate. CHT has to be struggling to move from a manual-intensive, inflexible operational environment to one that provides web enabled, service quality, cost, and time to markets. Fortunately, there is a Telecommunication Management Network (TMN) hierarchy could be referenced as a high level telecommunication. operation model as follows. There are several heterogeneous operational supporting systems (OSS) in Telecomm. Sectors [5][6]. And, they need a number of heterogeneous OSS to collaborate and support 221 provisioning system. In this paper, we propose CORBA, multithread model, and Factory models to develop and implement it. offered to users, the layout is the way the content is formatted for presentation, and the business logic is the functionality necessary for dynamic interaction with users. Furthermore, we follow the concept of Web engineering [17], which has many important and distinguishing characteristics of a web based application. They include some underlying principles of graphic design, document and link management, influences of hypertext and hypermedia, network, evolving standards, and web performance. It raises a potential worldwide user base, possibilities in end user computing, and evolutional system development. This introduces a new variable of popularity-durability of the application [17]. Understanding users requirements becomes much more complicated than it was before. Therefore, a new development process model is required for web based application. The proposed web development process is as follows Figure 4. Figure 2. A Telecom Operations Map This paper is partial research works of the TOPS/ABG project [7] at Chung-Hwa Telecommunication Laboratory. The project mainly studies to provide a web-based, distributed, object-based and interoperability-based framework to make up the end-to-end process flows for Fulfillment, Assurance and Billing across the process layers of TOM, and enable end-to-end process automation of telecom service operations processes. A typical telecom fixed network service as follows. Figure 4. A Web system development model For contents, presentations, and functionalities of major parts of requirements, the development model is an iterative and revolution processes. Also, it is an important paradigm and activities in Web techniques. 3 CORBA In general, web based distributed system is in distinction from traditional client server architecture. Three-tier client server architecture provides a flexible platform and a thin client [10]. It is suitable to web based and distributed object system, and Internet applications. OMG proposed CORBA to be promoted as a distributed object standard architecture. Recently, CORBA is considered broadly as a feasible and effective common software infrastructure for integrating several heterogeneous systems in the Internet and the Intranet computing environment. CORBA basic architecture is illustrated in Figure 5. Figure 3. A typical fixed network service The rest of this paper is structured as follow. Section 2 describes concepts of web engineering regards as the framework of developing web based system. We present a distributed object model based distributed system for our experimental implementation in section 3. Section 4 expresses a significant mechanism to alleviate the performance of web based distributed object system. Section 5 examines a telecom service provisioning system regards as experimental case study in our research project. Section 6 gives our concluding and future work. 2. Web development model For long time, some systems development methodologies dominate discussions. But, web system consists of content, layout, and business logic [16]. The content is the information 222 thread for each request In particular, threads are pre-produced and exist in thread polling objects. The number of threads may be given by system. System fetches a thread from a thread poll to service a request when client initials a request. And, the thread will move back the thread pool after the request is executed. This policy should enhance the performance of CORBA based distributed object system. Factory model In general, a life cycle of an object is from creating, naming, triggering and stop, it always occurs in application server. When the number of CORBA objects is numerous, it should affect system performance. Moreover, that will cause less easy for system maintenance. For system needs to be more flexible, it is necessary to be able to produce CORBA objects dynamically in application server such as in Figure 6. When each client wants to invoke server objects that must call Factory object to produce dynamically CORBA server objects. It will produce a new server object if there is not a suitable server object. A server object is used and return it’s reference value if it exists. Virtually, this model makes clients not only do control the server objects but also server can be protected. However, Factory model provides an object management scheme to manage objects. Factory model uses Hash table or Directory data structure to manage server objects. Figure 5. Basic CORBA Architecture Without knowing where CORBA objects are, client requests can invoke CORBA server objects just know the names of server objects and what services they can provide. In fact, requests pass arguments and data to a Stub (i.e. client agent for CORBA objects). Then, Stub objects should do data marshalling and pass requests to a remote counterpart (i.e. it is called Skeleton in server side) through ORB (Object Request Broker) and IIOP (Internet Inter-ORB Protocol). The Skeleton transfers the received data and invokes a CORBA object, which can provide service for the client request. Finally, the Skeleton returns the results to Stub in above same way. Therefore, the distributed object computing paradigm of request-invocation-service-return model is transparent. The advantages of CORBA server component can be executed in diverse platforms and can be implemented by various languages. Together, they specify load balance and fail over capabilities. The load balance mechanism is client requests can be coordinately distributed to the respond server objects in various application servers to reduce skew system loading. On the other hand, the fail over scheme is when an application server is down, requests can automatically switch to another server to be executed. 4. Performance Conventionally, there is a naive interaction method between client and server. Client inevitably has to wait till server response after issuing request. Doubtlessly, this method is inefficiency. However, there is an alternative method that is a thread method. Client is used to produce a thread for executing a request for server, and may go ahead to complete its work till server response without waiting such as a naïve interaction. An execution in client is more efficient and flexible than the above. However, the sever side, there are some thread policies. For examples, thread per session policy, thread pooling policy, and factory model. Figure 6. A multithread and factory Models This paper adopts the threading and Factory mechanisms [12] to enhance the web system. The architecture of CORBA with multi-threading model and Factory object had showed concurrent different jobs to be executed independently, and improve the performance of overall web based distributed object computing system. 5. Case Study The case study is a telecom service provisioning system. The system architecture is a web enable, three tier and CORBA based distributed object computing that is the kernel of telecommunication service and configuration provisioning system in TOPS/ABG project. Following the Web development process, the telecom web system is not only carefully Thread-per-session policy The thread-per-session policy means that there is a unique thread for per client. Thread pooling policy A thread pooling policy means that it exists a correspondent 223 developed but also is a well-design system with UML, CORBA, and distributed object computing techniques. Generally speaking, client adopts Chinese version Windows 95, Windows 98 or NT Workstation. Application server adopts Chinese version NT Server and database adopts Unix workstation to run relational database engine. proposed web system development approach, UML, distributed object computing technology and the telecom provisioning system are all partial research works in our TOPS/ABG project. We could extend or migrate the proposed approach or methodology to support network development, network provisioning, network inventory, and network maintenance and restoration in network and system management process, which is another important part in TOM and TMN, and is our future work. In requirement and design process, we employ use case to describe web application user requirements and employ class diagram, sequence diagram, state transition diagram to express the scenarios of the web system. We adopt VisiBroker to develop the kernel of CORBA middleware and to provide object interoperability between client and application server through IIOP protocol. Together, we use Rapid Application Development (RAD), C++ and Java Applet to develop Web and CORBA based distributed object system [8][9][11]. An implementation of the telecommunication provisioning system in our research project is illustrated in Figure 7. References [1] Kassem Saleh, Robert Probert, and Hassib Khanafer, 1999, The distribued object computing paradigm:concepts and applications, The journal of system and software, 47, 125-131. [2] Aniello Cimitile, Andrea De Lucia, Giuseppe Antonio Di Lucca and Anna Rita Fasolino, 1999, Identify objects in legacy systems using design metrics, The journal of system and software, 44, 199-211. [3] Geoff Coulson, Gordon S. Blair, Nigel Davies, Philippe Robin, and Tom Fitzpatrick, 1999, Supporting Mobile Multimedia Applications Through Adaptive Middle, IEEE Journal on selected areas in communications. vol. 1, no. 9, Sep., 1651-1659. [4] http://www.omg.org [5] T. S. Huang, W. J. Sheu, J. D. Lin, , Nick S. Chen, Janny J. Lee, J. F. Tsai, ”CORBA technology in telecommunication operation support system”, TL journal, July, 1989. [6] T. S. Huang, J. F. Tsai, J. D. Lin, W. J. Sheu, Nick S. On the other hand, we adopt DB middleware BDE between application server and database server. CORBA objects can access various database systems via BDE. The applications developers can avoid develop different database accessing program for different database systems, and the database system we adopt Oracle 8.05. Chen, Janny J. Lee, ”The CORBA Architecture for Telecommunication OSS”, 1999 Distributed System Technology and Applications Symposium, Chen-Kung University, Tainan, Taiwan, ROC. [7] T. S. Huang, W. J. Sheu, J. D. Lin, , Nick S. Chen, Janny J. Lee, J. F. Tsai, “TOPS/ABG system architecture”, Figure 7. A partial workflow of the system Technical report, Chung-Hwa Telecomunication Lab, July, 1999. [8] Andreas Vogel and Keith Duddy, "Java Programming with CORBA", 2nd ed., 1998. [9] Erich Gamma、Richard Helm、Ralph Johnson and John Vlissides, "Design Patterns", 1998. [10] K. M Goeschka, M. W. Schranz, "Client and Legacy Integration in Object-Oriented Web Engineering", IEEE Multimedia 2001. [11] Robert Orfali and Dan Harkey, "Client/Server Programming with Java and CORBA",2nd ed., 1998. [12] C. J. Lee, T. S. Huang, W. C. Sheu, “Using Threading and Factory Model to Improve the Performance of Distributed Object Computing System”, ICDCS 2001. 6. Conclusion and future works In this paper, we have presented web development model, distributed object computing mechanisms, and the design and the implementation of a case study of a telecom provisioning system in TOM and TMN. The proposed system is for order handling and problem handling in a customer case process, service development, service configuration, and service quality management in a service development and service quality process in ChungHwa Telecom. Also, It is operated in Intranet or Internet environment. We have also demonstrated that the methodologies of web engineering, distributed object computing and Factory model, which support web system development, analysis, design and implementation, interoperability, and performance. The 224 [13] G.Booch, J. Rumbaugh, and I. Jacobson, “The Unified Modeling Language User Guide”, Addison Wesley Longman, Inc.USA1999. [14] ITU-T Recommendation M.3400. [15] Telecom Operations Map, TeleManagement Forum, GB910, Approved version 2.1, March 2000. [16] E. Kirda, M. Jazayeri, C. Kerer, and M. Schranz. “Experiences in Engineering Flexible Web Services”, IEEE Multimedia, 2001 [17] Y. Deshpande and S Hansen, “Web Engineering:Creating a Displine among Displines”, IEEE Multimedia , 2001 [18] A. Ginige, S. Murugesan, “The Essence of Web Engineering”, IEEE Multimedia, 20 225