© ABB Utilities - 1 2000-06/SPIDER MR APIs for integration APIs, Possibilities What APIs do we have? How can we use them for integration? New functionality/project deviations Future APIs © ABB Utilities - 2 - API = Application Program Interface APIs, Possibilities © ABB Utilities - 3 - What APIs do we have? DB Server API ActiveX COM DB Server API ODBC APIs on different layers After Sales opportunities APIs, DB Server API DB Server API Supports a lot of functions: © ABB Utilities - 4 - Authority Start of SPIDER program (Avanti sndmsg) Read real time data including quality flags Read/update historical data including quality flags. Transparent UDW 200 or Avanti TTD Dynamic SQL Read/write server disk files Redundancy transparent for the user application etc... Available on multi platforms UNIX/VMS/Windows API is a DLL (Windows) or a shared library (UNIX/VMS) APIs, ActiveX DB Server API © ABB Utilities - 5 - ActiveX COM DB Server API Functionality about the same as for the DB Server API Excellent support for writing Visual Basic applications Active Server Pages (ASP) support © ABB Utilities - 6 - APIs, ActiveX DB Server API © ABB Utilities - 7 - APIs, ActiveX DB Server API APIs, ODBC ODBC Supports a lot of functions: Supported by MS Office © ABB Utilities - 8 - Authority Read/update real time data Read/update historical data including quality flags Virtual tables => extremely easy to set up a query (you have to know something about the contents of the database) Insert/Delete records in Avanti Redundancy transparent for the user application MS Query (to set up the select statement) MS Excel SPIDER Reports MS Access direct import of Avanti data Supports tools that support ODBC © ABB Utilities - 9 - APIs, ODBC APIs on different layers Excel HMI support (office connection) Appl. to connect Appl. to connect VBA code Appl. to connect SXReport (1 ActiveX + 3 DLLs) DB server API COM version ODBC Middleware © ABB Utilities - 10 - DB server API Win32 version Appl. to connect APIs, Possibilities for After Sales After sales opportunities Experience NOINA has sold the ODBC-driver SEUTA has sold Excel to SPIDER release 1 using DB Server API DEUTA offers integration solutions by means of ODBC and DB Server API Product wrapping is needed © ABB Utilities - 11 - supports old releases Identified and known for different releases APIs, Possibilities for After Sales After Sales opportunities (cont.) In priority (go for money) Win a soft support upgrade contract Look at integration aspects between different systems and SPIDER © ABB Utilities - 12 - Suggest different solutions Sell Excel using the report package Sell ODBC driver Sell DB Server API/DB Server API COM-version © ABB Utilities - 13 - APIs, Possibilities for integration How can we use the APIs for integration? Here follows examples of what have been done in DEUTA The business process: Exchange of information Network management Middle- and High voltage Network Management low voltage NMS/ CRMS EMS/ DMS/ SCADA Business Management BMS Common Business database Geographic Information Systems Trouble call TCMS Energy Management/ Load Management GIS LMS Customer Information systems © ABB Utilities - 14 - Utility Data Warehouse CIS Maintenance & servicing NIS Network completion & optimize NPS Open System architecture Open Systems based on “independent“ Standards • Software portability: IEEE POSIX Operating System Interface • Standards on workplaces (Human Machine Interface, HMI) • Database server: Structured Query Language (SQL) • Database Interface to the Office-world (ODBC) • Communication standards: e.g. ISO/ OSI- Reference Model • Remote control system protocols : RP 570/ 571, IEC 870-5-104 © ABB Utilities - 15 - • ... Integration example EMS DE HMI SPIDER DE GUI WS400 MDBE Oracle Expert Load Shedding DMS Cooperate Systems ICCP USI, ODBC, SQL SPIDER SCADA GIS External System * GIS SCADA EMS Avanti Data Acquisition © ABB Utilities - 16 - PCG PCG PCG RTURTURTURTU RTURTURTURTU RTURTURTURTU RDBMS GIS DB * External System, for example NMS, Crew Management, Trouble Call Management, PC- Office System, etc. Universal SCADA Interface USI Communication layer TCOM Adapter CLP NMS Adapter ESB © ABB Utilities - 17 - Data collector layer SCADA-near layer NMS Adapter NIE NIS Adapter TCOM Adapter HC USI - Project example NIE SPIDER HMI Extern GUI separate workplaces/HMI Operator interface NMS Server SCADA Server Mutual call interface (HMI- Adapter) HOT STANDBY Online PDB TCP/IP Temporary Devices any DBSystem (SQL) “data mapping“ DMS Devices SCADA-Interface Logic gating connectivity Network model © ABB Utilities - 18 - Process connection SPIDER Network system Foreign system USI - Project example NIS common workplace SPIDER HMI Foreign-GUI SPIDER HMI Foreign-GUI NT- Terminalserver HMI-client like WinNT Hmi client e.g. UNIX E.g.. X- Window clients SCADA Server Mutual call interface (HMI- Adapter) HOT STANDBY Online PDB TCP/IP Temporary Devices any DBSystem (SQL) “data mapping“ DMS Devices SCADA-Interface Logical connection Network model © ABB Utilities - 19 - Process connection SPIDER Network system Foreign system USI - Project example TCOM Common work place X- Window clients SCADA Server HOT STANDBY Online PDB SPIDER HMI Fremd-GUI SPIDER HMI Fremd-GUI MDBE UPDATE SQL-Net UPDATE (ORACLE) Trouble Call System Common Data entry TCP/IP Temporary Devices Outage Engine “data mapping“ DMS Devices SCADA-Interface Logic connection Network model © ABB Utilities - 20 - Process connection SPIDER Network control system Foreign system SPIDER SCADA/ DMS as an open data resource (example) Database Server SPIDER Host Avanti Oracle SQL,ODBC, WebGate Oracle SQL,ODBC, USI, WebGate Intranet ABB- Services for: © ABB Utilities - 21 - UDW, Utility Data Warehouse SQL,ODBC, WebGate Firewall Intranet SQL, ODBC, WebGate • Interfaces, e.g. ODBC, SQL, WebGate and USI • Customization (usually required e.g. for ORACLE or MS- Office applications, etc.) SQL, ODBC, USI External System Office Applications (ORACLE, EXCEL, Internet- Browser, etc.) New “External Services“ for Utilities Network Control System Online - PDB DIS/ DB- Server Avanti ORACLE Common Gateway Interface (CGI) © ABB Utilities - 22 - Web Server Interface 4) 3) 2) WebGate IS400, WebGate “External Services“ Web Browser Web Client Interface Firewall Internet Service Provider Intranet Internet Utility Service Interfaces for the Business Process Improvements Remote Data Access: WebGate: • ODBC • SQL • DB- API • C- API • OPC • etc. Data Presentation and Data Access into “any“ external system of the network “Utility Services“ e.g. SCRIPTS, Aplets, etc. Programming Interfaces incl. format conversion Web Server Interface 4) 3) 2) Web Client Interface Intranet © ABB Utilities - 23 - HTML, (XML)- Document Any external system Interface (proprietary) formats & protocols Web Browser (“Thin Client“) Our objectives • We help to optimize the business process four our customers. © ABB Utilities - 24 - • We use IT- technologies for the integration of different software-components. APIs, Possibilities for integration New functionality/project specials © ABB Utilities - 25 - Use the APIs to implement new functions like: Stand alone calculations of various kind Operators Diary (in the WS400 NT) …. Use the APIs to implement project specials Supports upgrades of SPIDER (The API used is still supported in next release) No messing up in standard implementation APIs, Possibilities for integration Future APIs © ABB Utilities - 26 - Many more APIs will come Release independent Also available on integration platforms SPIDER IDL (SIDL) DAIS (OPC) DAF/CIM HMI third party API support Java support via IIOP (Internet Inter-ORB Protocol) transport module will enable all coming SIDL based APIs to work with Java (RMI Remote Method Invocation) JDBC support is possible to buy for the existing ODBC-driver APIs, Possibilities for integration SPIDER Interface Definition Language (SIDL) Opens up the functions of SPIDER to the external world (compare MS) Supports different hardware as well as different platforms Supports loose coupling of functions © ABB Utilities - 27 - Compare with MS closed to an open environment Good performance To guide and support development Promotes modules/components It is an ongoing development project (C-28) SPIDER IDL Framework Presentation The framework is a ‘middleware’ with similarities to COM and CORBA but differs in some areas. © ABB Utilities - 28 - Similarities IDL (SIDL) Name Server Support at least two of the three OO criteria's Encapsulation Polymorphism (Inheritance (not supported by COM, only as aggregates)) Differences Supports system configuration and supervision High performance although very flexible Ease of use, low threshold for new users Supports heterogeneous networks (as do most CORBA impl) SPIDER IDL Framework Presentation Internal example Client Command Dialog Server Process Interface Client Command Presentation GetStatus StatusChange Client Filter GetStatus StatusChange Client Data flow, media transparent (local, LAN, WAN) © ABB Utilities - 29 - Method Invocation Interface Event Interface Equipment Statistics SPIDER IDL Framework Presentation Third party software example Client Client Command Dialog Server Process Interface Excel Command GetStatus StatusChange ActiveX Object GetStatus StatusChange Bridge to COM Data flow, media transparent (local, LAN, WAN) © ABB Utilities - 30 - Method Invocation Interface Event Interface ‘Normal’ COM Interface APIs, DAIS © ABB Utilities - 31 - OMG DAIS (Data Acquisition for Industrial Systems) Is a becoming standard Initiated by ABB Subscription of process data Compatible with OPC (process data) Used in the SPIDER Cadops integration Based on the SPIDER IDL Framework APIs, DAF/CIM © ABB Utilities - 32 - OMG Utility Management Systems DAF (Data Access Facility) API for retrieval of data according to the structure defined in CIM (Common information Model) Mapping of CIM and Avanti structures Ongoing work in US as well as in Sweden Publishing via a DAF API