Software Development Kit

Size: px
Start display at page:

Download "Software Development Kit"

Transcription

1 Open EMS Suite by Nokia Software Development Kit Functional Overview Version 1.3 Nokia Siemens Networks 1 (21)

2 Software Development Kit The information in this document is subject to change without notice and describes only the product defined in the introduction of this documentation. This documentation is intended for the use of Nokia Siemens Networks customers only for the purposes of the agreement under which the document is submitted, and no part of it may be used, reproduced, modified or transmitted in any form or means without the prior written permission of Nokia Siemens Networks. The documentation has been prepared to be used by professional and properly trained personnel, and the customer assumes full responsibility when using it. Nokia Siemens Networks welcomes customer comments as part of the process of continuous development and improvement of the documentation. The information or statements given in this documentation concerning the suitability, capacity, or performance of the mentioned hardware or software products are given as is and all liability arising in connection with such hardware or software products shall be defined conclusively and finally in a separate agreement between Nokia Siemens Networks and the customer. However, Nokia Siemens Networks has made all reasonable efforts to ensure that the instructions contained in the document are adequate and free of material errors and omissions. Nokia Siemens Networks will, if deemed necessary by Nokia Siemens Networks, explain issues which may not be covered by the document. Nokia Siemens Networks will correct errors in this documentation as soon as possible. IN NO EVENT WILL NOKIA SIEMENS NETWORKS BE LIABLE FOR ERRORS IN THIS DOCUMENTATION OR FOR ANY DAMAGES, INCLUDING BUT NOT LIMITED TO SPECIAL, DIRECT, INDIRECT, INCIDENTAL OR CONSEQUENTIAL OR ANY LOSSES, SUCH AS BUT NOT LIMITED TO LOSS OF PROFIT, REVENUE, BUSINESS INTERRUPTION, BUSINESS OPPORTUNITY OR DATA,THAT MAY ARISE FROM THE USE OF THIS DOCUMENT OR THE INFORMATION IN IT. This documentation and the product it describes are considered protected by copyrights and other intellectual property rights according to the applicable laws. The wave logo is a trademark of Nokia Siemens Networks Oy. Nokia is a registered trademark of Nokia Corporation. Siemens is a registered trademark of Siemens AG. Other product names mentioned in this document may be trademarks of their respective owners, and they are mentioned for identification purposes only. Copyright Nokia Siemens Networks All rights reserved. 2 (21) Nokia Siemens Networks

3 Contents Contents 1 Introduction EMS solution development EMS development with Open EMS Suite SDK Open EMS Suite Software Development Kit Adaptation SDK Purpose of Adaptation SDK Benefits of Adaptation SDK Main features of Adaptation SDK Desktop Framework SDK Purpose of Desktop Framework SDK Benefits of Desktop Framework SDK Main features of Desktop Framework SDK Web Scripting SDK Purpose of Web Scripting SDK Benefits of Web Scripting SDK Main features of Web Scripting SDK...19 Nokia Siemens Networks 3 (21)

4 Software Development Kit 4 (21) Nokia Siemens Networks

5 Introduction 1 Introduction Open EMS Suite Software Development Kit (SDK) is a powerful set of development tools for the network management platform and application development. It has been developed to simplify network management system (NMS) development and integration and it is based on an adaptive development platform. By using the Open EMS Suite SDK, a developer can quickly introduce new NMS functions. The SDK simplifies integration work and therefore reduces operating expenses. It also enables easy and modular introduction of new adaptations. The Open EMS Suite SDK comprises three separate software development kits, which are introduced in this document. They each contain intuitive wizards, editors, and a rich set of automated tools with online documentation and examples. The tools are based on the Eclipse software development platform and work seamlessly together. 1.1 EMS solution development Figure 1 illustrates the EMS solution development process. The process consists of five main steps: 1. Design EMS solution 2. Adapt the network management system to network elements 3. Customize and integrate the functionality 4. Integrate and test 5. Package the EMS solution Nokia Siemens Networks 5 (21)

6 Software Development Kit Figure 1. EMS solution development. The purpose of the SDK is to support EMS solution development in the phases NE adaptation and Customize and develop new functionality, which are shown in Figure 1. In addition, SDK helps the designer in the phase Integrate and test. Open EMS Suite SDK contains the following EMS solution development specific SDKs: Adaptation SDK is designed to simplify and fasten the integration of different types of network elements to the system. An adaptation models a network element, its data structures, and communication. The Adaptation SDK is a development tool set for creating and maintaining these models. It contains several editors for the adaptation development. The tool set also supports development time validation and deployment to the Open EMS Suite server. Desktop Framework SDK and Web Scripting SDK are designed to support and simplify both Java and Web GUI development. Desktop Framework SDK contains tools and wizards for simplifying and automating the Java user interface development. Web Scripting SDK is a tool set for developing Web user interfaces on top of Open EMS Suite Web Scripting platform. 1.2 EMS development with Open EMS Suite SDK The development process for Open EMS Suite can be divided into more detailed implementation phases. As shown in Figure 1, a developer starts with adaptation development and continues with customizing and developing new functionality on top of the adaptations. The customizing 6 (21) Nokia Siemens Networks

7 Introduction and developing functionality phase can be divided into four separate implementation phases: Java application clients Web clients Mediations Server applications Figure 2. Application development overview Figure 2 shows development overview of Open EMS Suite SDK. Server applications are implemented using Enterprice Java Beans (EJBs), open interfaces, and services provided by the Open EMS Suite Application Platform. Mediations implement on the server side communication protocols and mechanisms towards network elements. The developers can create mediations using Eclipse tools. They can use third-party libraries and Nokia Siemens Networks 7 (21)

8 Software Development Kit products for the implementation and they can also customize existing mediations. Developers can use also other tools for server application and mediation development. This is indicated in Figure 2 by using the notation Any SDK in the lower left corner of the figure. 8 (21) Nokia Siemens Networks

9 Open EMS Suite Software Development Kit 2 Open EMS Suite Software Development Kit Figure 3 shows the runtime architecture of Open EMS Suite. Desktop Framework SDK and Web Scripting SDK contain a platform component for development but not runtime components. The developers develop and test software locally on their own work stations. After testing, they deploy the software to the runtime environment and test it there. In the same way, adaptations are deployed and tested in the runtime environment. Adaptations change the functionality related to a network element type. This change is made throughout the entire system. Developer documentation is integrated to the system and the user can easily access the developer guides, open interfaces and their documentation. Open interfaces are available through Java libraries and they are integrated to the development platform. Nokia Siemens Networks 9 (21)

10 Software Development Kit Figure 3. Development with Open EMS Suite SDK 2.1 Adaptation SDK Purpose of Adaptation SDK Adaptation SDK is used for creating and maintaining adaptations. An adaptation is a model of a network element and it changes the entire Open EMS Suite system behaviour accordingly. Technically adaptation is a configuration of the system for a certain kind of network element type. Internally an adaptation is a set of XML files which define data flow between a network element and a management system. The file set contains a model defining how a network element type communicates, 10 (21) Nokia Siemens Networks

11 Open EMS Suite Software Development Kit and rest of the OES system follows this communication model. New network element types can be added quickly to the system without code changes throughout the system. Adaptation SDK helps the developer in creating and maintaining adaptation definitions. It contains a set of integrated tools to help the user create adaptation files effortlessly. It provides editors for defining data types, their relations, and transformations of adaptations Benefits of Adaptation SDK Adaptation SDK offers following benefits to the developer: Easy-to-use tools and wizards for adapting systems containing different types of network elements Editors for fast network element integration It hides technical complexity of network element integration. Developers can concentrate on the domain problems. Correctness of adaptation is validated by the tool and deployed to the network management server Because Adaptation SDK hides the XML file format details, developers can concentrate on the domain problem and can create a new adaptation in minutes, significantly shortening the learning curve. In addition, Adaptation SDK shows errors in the adaptation during the development phase, reducing the need for costly and time-consuming edit, deploy, and test cycles Main features of Adaptation SDK Figure 4 shows Adaptation SDK using PM Editor as an example. All the editors use the same basic layout as PM Editor uses. All editors also save their content to XML files. Nokia Siemens Networks 11 (21)

12 Software Development Kit Explorer for adaptations and their files Form based user Interface Errors in the adaptation Figure 4. Example: PM Editor of Adaptation SDK In the right hand side, the explorer shows all developed adaptations and the included XML files. In the upper left, the currently selected file can be edited and in the lower left, the problems of the adaptation are shown. As developers start to create new adaptation for a network element, they first create an adaptation project by using the Adaptation SDK umbrella wizard (new wizard). With the wizard, they define the type of EMS or network management areas they are creating in this specific adaptation and which areas the new adaptation will contain. Open EMS Suite uses the term fragment for these separate areas. After defining which fragments are included in the new adaptation, Adaptation SDK automatically creates adaptation files for the given fragments. Then the developer can continue to create adaptation by defining data types, structures, dependencies, and relationships for each fragment. This is done by using Adaptation SDK editors. An example of a performance management editor is shown in Figure (21) Nokia Siemens Networks

13 Open EMS Suite Software Development Kit The correctness of the adaptation being created is validated at the same time as a developer defines it. All problems and errors are shown in easily understandable format in the information section of an editor (see Figure 4). Adaptation umbrella wizard The adaptation umbrella wizard is a wizard for creating new adaptations. With the wizard, developers first define the id and release for the new adaptation. The developers are asked if they wish to import adaptation from the file system or if they want to create new empty adaptation files. The developers continue by selecting which fragments will be included in the new adaptation. The wizard automatically creates all required settings for the new adaptation. After executing the wizard, the developer can freely work with all the parts of the adaptation by using Adaptation SDK editors. Common editor With common editor, the developers give a descriptive name for the adaptation, and define vendor and release information. With the editor, the developer also defines dependencies to other adaptations and annotations. The editor is a base editor in the sense that the developer uses the editor to define common information and dependencies of an adaptation. FM Basic Editor The Fault Management (FM) Basic Editor is an editor for FM data adaptations. The developer can define which kind of FM features an element type supports, as well as rules for the following fault management functions: heartbeat alarm, synchronization trigger, network element reset and network element agent reset. Configuration management editors The Configuration Management (CM) Basic Editor is an editor for defining configuration data types and relations for a specific network element type. The developer can define managed object classes and properties of the managed object class. With the editor, the developer defines managed object classes including their attributes and relationships. The developer uses the Configuration Management User Interface (CMUI) Editor to define symbols and user interface actions for a network element type. With the editor, the user defines an icon for a network element type, and which kind of launches and menus can be triggered or opened. Nokia Siemens Networks 13 (21)

14 Software Development Kit PM Basic Editor The PM (Performance Management) Basic Editor is an editor for performance data adaptations. With this editor, the developer can define measurement types collected from a network element type, performance indicators, and other basic data types used in performance management for a certain network element type. The developer can also specify annotation types with the editor. Hand-crafted relational database (RBD) schema RDB lets the developer finetune and configure PM database schema and configuration. The developer can, for example, define database schema manually or match an adaptation model to an existing database schema. RDB enables hand-crafted development scenarios in addition to fully automated adaptation database creation. SNMP support Adaptation SDK supports fault management adaptations for SNMPbased network elements. The developer can create adaptations based on SNMP MIB files and maintain the adaptations with the editors in Adaptation SDK. The SDK contains easy to use wizards to process the MIB files and to incorporate them as adaptation specifications. Adaptations for an SNMP-based network element are done using the same principles or basic mechanisms as for other network element types. Validation The correctness of an adaptation is validated. Checks are made automatically to ensure that an adaptation as an entity is consistent. Checks are made during the development time to ensure that the adaptation being developed does not contain errors. If problems occur, the developer is notified in an easily understandable format in the lower part of each editor. Deployment Adaptations and developed software are downloaded to the Open EMS Suite server. The developer triggers the download of the developed functionality and the system transfers and installs the developed functionality. 14 (21) Nokia Siemens Networks

15 Open EMS Suite Software Development Kit 2.2 Desktop Framework SDK Purpose of Desktop Framework SDK Desktop Framework SDK simplifies the Java desktop user interface (UI) development. It automates frequently used procedures and simplifies development by hiding environment settings and their maintenance. Desktop Framework SDK is a tool set for developing Java application clients on top of Open EMS Suite Desktop Framework. Developers can execute and test applications on top of Desktop Framework locally on their own work station. They can also deploy application to the Open EMS Suite run time and test the software there. The tool creates a war packet and deploys it to application server automatically. Desktop Framework SDK has easy-to-use wizards for creating Desktop Framework tools, actions and branding configurations. Tool and action concepts are explained in more detail in the main features section of Desktop Framework Functional Overview Benefits of Desktop Framework SDK Desktop Framework SDK offers following benefits to the developer: Automation of frequently used procedures Hides environment settings and their maintenance. Offers a set of wizards for easy user interface tool development, user interface actions, online helps, connection management and branding development. Offers UI integration and tool framework for easy development and integration of Java user interfaces. Desktop Framework can be used during the development time for the user interface execution platform. Platform takes care of building of user interface, layout, look and feel of an application, and in addition offers a set of ready made user interface modules. Simplifies development and reduces trivial and manual effort. Desktop Framework SDK utilizes the UI module concept. The tool takes care of the module management. The developer can concentrate more on domain problems with less effort spent on non-added value tasks. Nokia Siemens Networks 15 (21)

16 Software Development Kit Validates code, shows syntactical errors in the code, and helps the developer to test and debug software locally. The structure of UI is validated during development, to make development faster Main features of Desktop Framework SDK UI Module support The UI module is a pluggable user interface entity that implements certain functions. It is a declarative way for specifying the integration of the module into the user interface. For example, it includes menu items that the module contributes to the menu. Desktop Framework SDK hides system settings, automates and simplifies development of UI modules. Action support Functionality that the user can trigger and which can be linked to developer-defined locations is called action. Typically user interface functionality that is launched by a user, for example, by clicking on buttons or selecting menu item. Desktop Framework SDK automates the process of creating actions. On-line help support The wizard is used for creating online help in Desktop Framework SDK. It automates the creation of online helps and maintains system settings. Branding wizard Branding wizard is used for creating and maintaining branding configurations. It hides the branding complexity behind the set of branding management user interfaces. Layer file validation Layer file is a UI definition file containing information on how the UI is structured. Validation checks the file and notifies the user about problems. Connection manager wizard Connection manager wizard is used for configuring the Desktop Framework connection manager to communicate with the runtime environment. This wizard takes basic configuration data for connection manager and configures it in SDK. 16 (21) Nokia Siemens Networks

17 Open EMS Suite Software Development Kit Desktop Framework platform support Users can execute and utilize the Desktop Framework platform in development. They can use ready-made user interface modules, connection management, look and feel, window selection, and configuration management. Tool support A tool is a user interface entity that can contain several user interface modules. Tool groups the modules together and they are managed by Desktop Framework as one entity. End users can freely arrange tools in the main window of the desktop. By using Desktop Framework SDK, users can compound tools from user interface modules and plug them into the desktop. 2.3 Web Scripting SDK Purpose of Web Scripting SDK The purpose of Web Scripting is to support and simplify the development of web-based user interfaces in the context of Open EMS Suite. A wide variety of use cases can be implemented efficiently with Web Scripting. The following are some of the features that demonstrate the variety provided by Web Scripting: administrative Web UIs web access portal dashboard log file browser visualising database table entries visualising fault and performance management data in one report fully customised reporting suite for telecommunications equipment As the list indicates, an important focus area of Web Scripting is to support the visualisation, filtering, and post-processing of data in the telecommunications area. Nokia Siemens Networks 17 (21)

18 Software Development Kit Figure 5. Web Scripting Platform: an example Benefits of Web Scripting SDK The developer of web interfaces within the Open EMS Suite benefits from using Web Scripting for several reasons: The developer can build and run simple web applications within minutes. The developer can develop web applications conveniently off-line without disturbing the production environment. Web Scripting provides easy deployment of applications to the Open EMS Suite runtime environment. Web Scripting is fully integrated into the Open EMS Suite s user and security management (single sign-on). By default, a Web Scripting project does not have any relation to other SDK fragments, so it can exist as stand-alone in the Eclipse workspace. However, it can also be developed together with an Adaptation project, for example. 18 (21) Nokia Siemens Networks

19 Open EMS Suite Software Development Kit The creation of a Web Scripting project is supported by a wizard that not only creates the project files but also configures ScriptBrowser and the internal runtime environment Main features of Web Scripting SDK Web Scripting is based on Java Server Pages (JSP) technology. The basic idea of JSP is to extend static HTML with Java code executed on the server side. The code is encapsulated in so-called tags that can be used in the same way as regular HTML tags. The tags are defined as part of tag libraries which bundle tags according to a specific pattern. Figure 6. Web Scripting development environment Web Scripting provides a comprehensive set of tags in several tag libraries. On top of this, its modular architecture can be easily expanded to create new tag libraries. Nokia Siemens Networks 19 (21)

20 Software Development Kit During the development and testing phase, the web application developer uses the SDK development environment for creating and configuring a Web Scripting application. Built-in Eclipse editor Web Scripting SDK offers convenient editing possibilities for JSP pages. Although this could, in theory, be done with any text editor, the built-in Eclipse editor is superior in terms of features such as code completion, formatting, and on-the-fly syntax checking. Local execution and testing Developers can utilize a built-in JSP server and test database in their local work station for development and testing. They do not need to deploy the software to run time for executing it. Tag libraries Web scripts are composed by using HTML commands and utilizing the tag libraries that are a part of Web Scripting. The tag libraries cover the following areas: Application flow control - authorization, decisions, branching, looping Data creation and manipulation - reading files, manipulating and managing trees and tables Form - UI elements such as check boxes, text fields, etc. Navigation - Navigation tree, frames, panes, menu SQL - database operations Data visualization - visualizing data in tables, trees, and charts Each tag comes with a sample script that simplifies the development as it can be reused in copy-paste fashion. All tags are also formally documented in the online help. Expanding Web Scripting with your own tag libraries The plug-in concept of Eclipse allows developers to create tag libraries as plug-ins to expand the Web Scripting libraries with added functionality. Your own tag libraries can be used in Web Scripting applications as easy as the tag libraries provided by Web Scripting SDK. A well-defined interface ensures that plug-ins can be implemented efficiently and that the Web Scripting SDK can easily integrate new tags. The creation of your own tag libraries requires in contrast to using them knowledge of the Java language. 20 (21) Nokia Siemens Networks

21 Open EMS Suite Software Development Kit ScriptBrowser If web applications contain several scripts, ScriptBrowser, which is part of Web Scripting, can be used. ScriptBrowser is a web application that may serve several purposes: It offers a well-structured portal with links to web pages in the same project, in other Web Scripting projects, or even to arbitrary internet content. It can contain example scripts of all ready-made tags including typical error situation scenarios and links to online help. It contains reusable components for setting database connections, trace level, and other features. ScriptBrowser can be freely customised as part of a Web Scripting project. Figure 8 shows an example screenshot. Figure 8. ScriptBrowser Nokia Siemens Networks 21 (21)