You are on page 1of 4

eXtensible Decision Engine(XDE) XDE is a graphical scripting language for orchestrating complex, expertise-rich network management tasks.

. It consists of: 1. A runtime engine for embedding into existing systems e.g. an NMS or blade 2. The XDE SDK for creating orchestration procedures and device interaction packages The XDE SDK is a plug-in for Eclipse that provides a complete development environment for building flowchart and device interaction packages. These packages can communicate with (potentially live) networks, automating tasks that are typically done interactively today. Features include: A graphical flowchart editor for creating procedures An expression language that is focused on string based and XML oriented data processing ideal for web service or device output Seamless interaction with other systems though web services plug and play integration Users can easily extend the XDE editor with any combination of existing or newly written Java libraries Extension points that can be employed for adding and overriding new functionality in a supportable way Solution-independent lightweight XDE engine for executing XDE procedures, engine is shipped as a small pure Java library.

When should we use XDE? Use XDE for projects or sub-systems where: Use cases involve detailed analysis of the results of network device interactions. Use cases contain expertise-rich logic which could be reused between solutions. Some of the use case logic might be written by an expert in the networking domain or a professional services team, rather than a software engineer dedicated to your project. Use cases involve communication with a variety of external systems (e.g. databases, web services, network devices).

Overview of an XDE procedure The XDE language actually consists of two interrelated sub-languages: the Expression language and the Flow language. The flow and expression sub-languages are related, to understand see figure which

eXtensible Decision Engine(XDE) introduce a basic XDE procedure. procedure.xde.

An XDE procedure shares many similarities and functionality with other scripting or programming languages you may have come across. One major difference with other languages is that the control flow is represented graphically. By control flow we mean the different paths which execution could take through the procedure. This is represented by steps connected together in a linked flow diagram (see figure). In this case there are six steps of various types: a Start step, followed by two Declare steps, and then an If step which has two out connections, each connection leading to a Return step. The XDE expression language: o is represented as text

o is concerned wholly with computation, and has no control flow features The XDE flow language: o is represented graphically o is concerned wholly with control and data flow and has no computation features

eXtensible Decision Engine(XDE) XDE Concepts outline The XDE/PAL engines are designed to integrate into a wide range of software systems. The XDE and PAL engines conform to a common function framework design. Some of the main concepts are illustrated in the diagram below.

The running XDE/PAL engine populates itself with a number of functions. Client code can invoke functions; this is done through the Function Runner API. There are different kinds of functions: the main kinds are Built-in functions, XDE procedures and PAL actions. While functions run, they can also make use of various services in order to perform their task. These services are provided by the wider solution. Each service is invoked through its Service Provider Interface (SPI), this defines both how the service is invoked and what behavior it should have. Behind each SPI is a Service Provider which implements the service. The XDE and PAL engines come bundled with a number of generic service providers which may be reused but often it is necessary for the solution architect to implement their own custom service provider, specific to the solution.

eXtensible Decision Engine(XDE)

You might also like