IBM i2 Analyst’s Notebook SDK

16
White Paper IBM Software September 2012 IBM i2 Analyst’s Notebook SDK Product overview Introduction The IBM® i2® Analyst’s Notebook® SDK (software development kit) enables organizations to extend the functionality of IBM® i2® Analyst’s Notebook® or IBM® i2® Analyst’s Notebook® Premium to meet their specific requirements by providing technical specialists with software, documentation and sample materials. The i2 Analyst’s Notebook SDK applies only to the i2 Analyst’s Notebook component of i2 Analyst’s Notebook Premium. i2 Analyst’s Notebook SDK publishes the suite of ActiveX components that are used by i2 Analyst’s Notebook so that you can reuse them in your own custom applications. Access to these published components is provided through the i2 Analyst’s Notebook API (application programming interface). Contents 1 Introduction 2 Who should read this white paper 2 Potential benefits of i2 Analyst’s Notebook SDK 2 Key features of i2 Analyst’s Notebook SDK 4 Technical description 14 What documentation is provided 15 For more information and contacts

Transcript of IBM i2 Analyst’s Notebook SDK

Page 1: IBM i2 Analyst’s Notebook SDK

White PaperIBM Software September 2012

IBM i2 Analyst’s Notebook SDK Product overview

IntroductionThe IBM® i2® Analyst’s Notebook® SDK (software development kit) enables organizations to extend the functionality of IBM® i2® Analyst’s Notebook® or IBM® i2® Analyst’s Notebook® Premium to meet their specific requirements by providing technical specialists with software, documentation and sample materials. The i2 Analyst’s Notebook SDK applies only to the i2 Analyst’s Notebook component of i2 Analyst’s Notebook Premium.

i2 Analyst’s Notebook SDK publishes the suite of ActiveX components that are used by i2 Analyst’s Notebook so that you can reuse them in your own custom applications. Access to these published components is provided through the i2 Analyst’s Notebook API (application programming interface).

Contents

1 Introduction 2 Who should read this white paper 2 Potential benefits of i2 Analyst’s Notebook SDK 2 Key features of i2 Analyst’s Notebook SDK 4 Technical description 14 What documentation is provided 15 For more information and contacts

Page 2: IBM i2 Analyst’s Notebook SDK

White PaperIBM Software September 2012

2

Who should read this white paper This document is for organizations that use i2 Analyst’s Notebook or i2 Analyst’s Notebook Premium and want to extend its capabilities, including:

• Program Managers who are considering purchasing i2 Analyst’s Notebook SDK in order to programmatically extend the capabilities of i2 Analyst’s Notebook or i2 Analyst’s Notebook Premium.

• Developers wanting to know more about the capabilities and requirements before they design a custom solution with the i2 Analyst’s Notebook SDK.

This document relates to i2 Analyst’s Notebook SDK 8.9.

Potential benefits of i2 Analyst’s Notebook SDK i2 Analyst’s Notebook SDK empowers developers, by using the i2 Analyst’s Notebook API, to:

• Enhance and extend the functionality that is provided by i2 Analyst’s Notebook by developing plug-in components.

• Create separate applications that can control and power i2 Analyst’s Notebook via its automation interface.

• Build custom stand-alone applications that use the i2 Analyst’s Notebook controls to add analysis capabilities to the application.

Key features of i2 Analyst’s Notebook SDK DocumentationDeveloper Guide: An extensive two-part guide that introduces key aspects of the API by way of tutorial projects. It extends the range of concepts in a modular fashion to suit differing requirements.

Online Help: Comprehensive online help that includes reference information for the controls, objects, interfaces, properties, methods, and events included in the API. From the Visual Studio development environment, you can reference this online help from your own projects with context-sensitive links.

Upgrade Guide: A guide that contains information for developers who use the previous release of i2 Analyst’s Notebook SDK or Link Notebook Developer Edition.

Page 3: IBM i2 Analyst’s Notebook SDK

White PaperIBM Software September 2012

3

Sample projectsi2 Analyst’s Notebook SDK includes a suite of sample projects that illustrate how to create various projects in Visual Basic .NET 2008, C# .NET 2008. Each sample project includes an overview that explains the purpose and use of the project.

The following list describes just a few of the sample projects that are provided:

API Examples: An automation project that has comprehensive coverage of many of the API properties and methods. The samples that are used in this project are generally the same as the examples included in Online Help.

Copying from Chart to Chart: A stand-alone application that illustrates how to use drag-and-drop functionality in your own projects.

Data Source Example: A data source plug-in that adds chart items that are based on the results of a database query.

Event Display: A windowed plug-in that illustrates the manner and order in which events are raised within i2 Analyst’s Notebook.

This sample project is also available as a stand-alone application:

Retrieving Chart Data: A more advanced automation of i2 Analyst’s Notebook that displays statistical data from a chart in the form of a graph.

TemplatesVisual Studio .NET 2008 templates facilitate creating the different types of i2 Analyst’s Notebook components.

UtilitiesComponent Categories Add-In: A Visual Basic 6 add-in that is used to register component categories for plug-in components.

Upgrade Utility: Projects that are created by i2 Analyst’s Notebook SDK versions before version 7 need to be upgraded to work in an i2 Analyst’s Notebook 8 environment. A command line utility is provided to aid in upgrading your existing i2 Analyst’s Notebook SDK or Link Notebook Developer Edition.

Page 4: IBM i2 Analyst’s Notebook SDK

White PaperIBM Software September 2012

4

i2 Analyst’s Notebook’s plug-in architecture makes it easier for organizations to supply key bespoke functionality to their end-users, all from within the familiar environment of the i2 Analyst’s Notebook application.

In your plug-in design, you implement a set of mandatory interfaces so that your plug-in component is recognized and loaded by i2 Analyst’s Notebook. You can take advantage of the application’s event model so that your plug-in is aware of the user’s interactions with the chart.

Technical description

Product architecturei2 Analyst’s Notebook SDK is a desktop solution which is designed to support the enhancement and extension of i2 Analyst’s Notebook. These extensions can be achieved through plug-ins, the automation interface, and stand-alone applications.

What are plug-in components?A plug-in is a custom ActiveX component that you can create which integrates into i2 Analyst’s Notebook and enhances the application’s existing functionality.

Page 5: IBM i2 Analyst’s Notebook SDK

White PaperIBM Software September 2012

5

• A layout plug-in that performs a custom chart layout that arranges the chart in a manner that meets your organization’s needs. The user can run a layout plug-in through the Analysis uLayout Chart menu or from the Layout toolbar.

• A custom analysis plug-in that uses a toolbar window for its user interface. The user can open the plug-in through the View uToolbars menu. The plug-in toolbar window can then act like other i2 Analyst’s Notebook toolbar windows. This method means the user can work with the chart while the toolbar window is open. For example, you could design the plug-in so that it automatically displays some analysis results as the user is manipulating the chart data.

These examples mention only a few of the possibilities. The plug-in component architecture is designed to provide an efficient and powerful technique to enhance the i2 Analyst’s Notebook functionality.

Your plug-in design controls how the user interacts with the plug-in within the application. Typically a user accesses the plug-in functionality through a menu command that is integrated into the i2 Analyst’s Notebook menu. If the plug-in opens a window when the user invokes the menu command, you can design your own user interface for this window.

An alternative plug-in design option is to integrate your plug-in so that it appears as a toolbar window within the application’s main window. This design choice will allow the user to interact with the plug-in’s toolbar window and the chart simultaneously. This method can enable a more natural interaction, depending on the enhanced functionality that you are integrating into the application.

Some example plug-ins that you can create include:

• A data source plug-in that connects a chart and data source together. Then, a user can query the data source through i2 Analyst’s Notebook to locate data that can be used to generate chart items. You can design the data source plug-in so that the user opens a connection to the data source plug-in through a menu in i2 Analyst’s Notebook. Once the connection is established, the user can access extra plug-in functionality through commands that are added to the chart or chart item shortcut menus. For example, you can add Search or Expand commands to the shortcut menus. These menus can allow the user to generate a chart that is based on related data source records.

Page 6: IBM i2 Analyst’s Notebook SDK

White PaperIBM Software September 2012

6

Some example automation applications that you can create include:

• An application that retrieves data from a chart that is open in i2 Analyst’s Notebook, and then displays the data in bar graphs or pie charts within the automation application’s user interface.

• A macro in Microsoft Excel that allows the user to input data into a spreadsheet and then automatically open i2 Analyst’s Notebook and displays the user’s data within a chart.

• An application that remotely controls i2 Analyst’s Notebook during a presentation. This method can help keep the audience focused on the content of your presentation, rather than be distracted by the navigation steps within i2 Analyst’s Notebook that are manually required to manipulate the chart data.

What can be developed using the automation interface?i2 Analyst’s Notebook supports automation, which means that you can create applications that use the exposed objects to control i2 Analyst’s Notebook. It is also possible for an automation application to poll i2 Analyst’s Notebook to retrieve data or status information.

In contrast to a plug-in that integrates into the application window, automation requires that both your automation application and i2 Analyst’s Notebook are open in separate windows.

The available API object model is the same for both plug-ins and automation applications. The difference between the two architectures is how your design interacts with the application.

Page 7: IBM i2 Analyst’s Notebook SDK

White PaperIBM Software September 2012

7

Some examples of other stand-alone applications you can create include:

• An application that provides a subset of the i2 Analyst’s Notebook functionality for use by a department that is not to have full access to chart files.

• An analysis application that extracts data from saved chart files without opening the chart files for viewing.

What controls are available for a stand-alone application?You can add the provided ActiveX controls to a stand-alone application project to incorporate some of the i2 Analyst’s Notebook functionality into your own application. For example, you can use the chart data and chart view controls to add customized charting functionality within your own application. Additionally, you can add the i2 Analyst’s Notebook Importer tool if you want to import plain text data. The XML Importer tool can be added if you want to import XML data.

Page 8: IBM i2 Analyst’s Notebook SDK

White PaperIBM Software September 2012

8

Deciding which architecture is the right one to use?To make the proper design decisions, you must consider which of the supported project architectures is best suited to meet your needs. If you want to

• Integrate enhanced functionality into i2 Analyst’s Notebook, then, create a plug-in that addresses your organization’s specialized needs. For example, you might want to create a layout plug-in that can sort or position data in a unique arrangement.

• Automate a process that must be repeated frequently, then create an automation application that controls the behaviors of i2 Analyst’s Notebook. For example, you could create an automation application that imports data directly from Microsoft Word or Excel to populate a chart in i2 Analyst’s Notebook.

• Provide analysis functionality that is packaged separately from i2 Analyst’s Notebook, then, create a stand-alone application. For example, you could create a stand-alone application that provides custom chart views by using the provided chart data and chart view controls.

What prerequisites are required to install the product?Compatible versions of the identified products are required. For example, if you are using the i2 Analyst’s Notebook SDK, you need i2 Analyst’s Notebook. Guidance on compatible products is provided in the i2 Analyst’s Notebook SDK release notes.

You must install both i2 Analyst’s Notebook and i2 Analyst’s Notebook SDK onto the same development computer. i2 Analyst’s Notebook requires that Microsoft Internet Explorer 6.0 Service Pack 1 or later is present on the installation system. However, Internet Explorer need not be the default Web browser.

Supported programming languagesThe development languages that are supported by IBM i2 for i2 Analyst’s Notebook SDK are Visual Basic .NET 2008 and C# .NET 2008.

The i2 Analyst’s Notebook API is a suite of ActiveX components. These components allow the API to be used in COM-enabled programming languages, such as Microsoft Visual Basic, Microsoft Visual C++, Microsoft Visual Studio.NET or Borland’s Delphi. You can also develop in other languages that are not inherently COM-enabled. This ability is delivered by using a COM bridge, such as a Java COM bridge for developing in Java.

However, while it is possible to develop solutions using other COM-enabled programming languages (or other languages via a COM bridge), IBM only provides support for Visual Basic .NET 2008 and C# .NET 2008.

Page 9: IBM i2 Analyst’s Notebook SDK

White PaperIBM Software September 2012

9

Various case studies on using the i2 Analyst’s Notebook SDKThe following section describes some case studies of situations where i2 Analyst’s Notebook SDK can be used to further enhance the use of i2 Analyst’s Notebook within your organization.

Case Study: Charting information in Analyst’s Notebook from your data sourceSuppose that your organization maintains a database to store gathered intelligence. You need a convenient way to import the data records from the database into an i2 Analyst’s Notebook chart.

To meet your requirements, you can create a data source plug-in. The plug-in then acts as the intermediary between the data source and the chart.

You can add content to a chart that is stored in a data source. Examples of this include Oracle, Sybase, Microsoft Access databases, a flat text file, or XML file. If you know how to programmatically connect to the data source and extract information, you can write a data source plug-in that can chart the information.

Note: For Oracle, Microsoft SQL Server, and Microsoft Access databases, an analytical database connectivity solution can also be supported through IBM® i2® iBridge.

Page 10: IBM i2 Analyst’s Notebook SDK

White PaperIBM Software September 2012

10

Once the connection is established, you can add extra menu commands that are used to control the data source connection. Commands can also be added to the shortcut menu that is opened when the user right-clicks on the chart background.

A typical command allows the user to open a query window so that they can search for specific records in the data source. Then, you can convert the user’s search request to the standard query statements that are required to extract information from the data source.

Based on a query, the plug-in can retrieve information from the data source and use the information to add entities and links to a chart. You can programmatically specify the entity types and link types to use. Generated chart items can then adhere to the style conventions used by your organization.

You can add a menu command to the i2 Analyst’s Notebook menu system so that the user can open a connection to the data source. This command is typically an Open command, but you can name the command to match your needs. You can even choose to have your plug-in open the connection to the data source automatically as a chart is opened for viewing or editing.

If you have several data sources that are used to store your information, you can design your plug-in to open multiple data sources. Alternatively, you can create multiple data source plug-ins with each one connecting to a different data source.

If your data source requires secure access, you can authenticate the user before the connection is established. In this way, you can verify that users have the permission that is required to access information in the data source.

Page 11: IBM i2 Analyst’s Notebook SDK

White PaperIBM Software September 2012

11

For each added entity or link, you can add commands to the shortcut menu that is opened when the user right-clicks on the chart item. Typically these commands are used to show the data source record.

As items are added to the chart, the data source plug-in can create a key. This key then associates the entity or link on a chart to the information that was used to generate them.

A database key allows the generated chart items to be refreshed, so users can update those items with newly added information from the data source. You might want to add a Refresh command to the chart item’s shortcut menu so the user can refresh content on demand. Alternately, you might want to allow the user to refresh all generated entities and links when the data source connection is re-established. This ability can be achieved by adding a Refresh command to the i2 Analyst’s Notebook menu.

A data source plug-in can be a powerful tool that is integrated into i2 Analyst’s Notebook. Your data source plug-in can make i2 Analyst’s Notebook become a familiar and convenient front end to your organization’s existing data sources.

Understanding your data source schema (how the information is structured in your data source) is important. This knowledge is critical so that you can map content to the appropriate properties of the generated entities and links. For example, if your data source stores reference information, you can map that information to cards on a generated chart item. The i2 Analyst’s Notebook API provides programmatic access to the chart item properties, such as date and time, and source type.

Page 12: IBM i2 Analyst’s Notebook SDK

White PaperIBM Software September 2012

12

• Your application can then import the data either into an existing chart, or it can generate a new chart that is based on the template of your choosing.

• Once the plain text or XML data is imported into a chart, your application can provide a preview of the chart data. This preview can enable a data import specialist to confirm that the import operation was successful. You can provide various zoom and scroll controls so the user can pan and see all the data in the view.

Case Study: Customizing the import of text and XML data into your chartsSuppose that your organization has data files that are gathered through intelligence. The format of these data files varies. Sometimes they are plain text files, such as CSV (Comma-separated values) files. Other files are formatted as XML files with varying schemas that may not conform to the i2 Analyst’s Notebook XML schema.

Imagine that a team of experts that import these data files to generate charts notice some recognizable trends in the various data file formats. They suggest that if you could customize the import features of i2 Analyst’s Notebook, it could save them time.

To address these specialized needs, you could create a stand-alone application. For example, you could provide a customized user interface to the standard Importer and XML Importer tools that are provided with i2 Analyst’s Notebook. This method is possible because the Importer and XML Importer tools can be programmatically controlled through the API.

Consider the following

• You can create a stand-alone application that loads and runs the Importer and XML Importer tools programmatically.

• Existing import specifications can be used to import the text data.

• The API for the XML Importer tool enables you to transform XML data, according to an XSL style sheet, before the data is imported. Therefore, you can programmatically manipulate XML data that uses an alternate schema so that it conforms to the required i2 Analyst’s Notebook schema.

Page 13: IBM i2 Analyst’s Notebook SDK

White PaperIBM Software September 2012

13

• The windowed plug-in interface can include some of the controls that are used in i2 Analyst’s Notebook. This ability can mean the appearance of your window matches the i2 Analyst’s Notebook appearance. For example, you can create a customized view of the chart. You can use the date and time picker control that matches the i2 Analyst’s Notebook date and time controls.

• The plug-in can manipulate and query information from the chart data that is stored by the current chart. This ability enables you to customize the views of chart data to meet your organization’s specialized needs.

A windowed plug-in can be used for various i2 Analyst’s Notebook enhancements. It provides for a convenient user interface to plug-in functionality since it opens in a toolbar window. The plug-in integration means that the analysts who are already comfortable with using i2 Analyst’s Notebook are unaware that the toolbar window is a custom feature.

The following figure shows three examples of different windowed plug-in toolbar windows.

Case Study: Providing customized views of chart dataSuppose that your organization analyzes charts to look for trends in data. It then exports specific segments of the chart data to create stylized bar graphs or lists of the pertinent data. You are asked if i2 Analyst’s Notebook could somehow be customized to help the analysts create the graphs and lists of the targeted data.

In considering this situation, you realize that the analysts are effectively using i2 Analyst’s Notebook; they are simply requesting an enhancement to help them perform certain tasks. You also realize that it would be preferable if they could continue to interact with the chart while they are creating or viewing their customized chart data views.

To meet these needs, you can create a plug-in that uses the windowed plug-in architecture, which means that the plug-in’s user interface is a toolbar window. This method allows the analysts to interact with the chart and the plug-in’s user interface at the same time. Therefore, the analysts can continue to use i2 Analyst’s Notebook in their current manner, as well as work with the plug-in interface to generate their stylized chart views.

A windowed plug-in architecture allows:

• The application user opens the plug-in from the View uToolbars submenu. You can specify the command name that appears in the Toolbars submenu.

• The plug-in’s toolbar window is similar to other standard toolbar windows in i2 Analyst’s Notebook, such as the Attribute Bar or the Link Bar.

• You can programmatically control the appearance and behavior of the plug-in’s toolbar window. For example, you can specify whether the toolbar window can be floating, or docked in a row or column orientation. You can also control the preferred size of the toolbar window, and whether the docked toolbar can share its row or column with another docked toolbar.

Page 14: IBM i2 Analyst’s Notebook SDK

White PaperIBM Software September 2012

14

What documentation is provided?A comprehensive set of documentation and samples are provided with the i2 Analyst’s Notebook SDK. The set includes:

• Developer Guide: Concepts• Developer Guide: Tutorials• Upgrade Guide• Online Help• Release Notes• Sample Projects

Is i2 Analyst’s Notebook SDK available in languages other than English?i2 Analyst’s Notebook SDK is developed in US English. It is supported on the Western Europe, US, Central European, and Baltic regional versions of the supported operating systems. i2 Analyst’s Notebook SDK is available in English language only. However, it can be used to create plug-ins for use with other language versions of i2 Analyst’s Notebook.

How does i2 Analyst’s Notebook SDK integrate with other IBM i2 products?Any projects or customization work created with i2 Analyst’s Notebook 6 SDK needs to be upgraded before they can be used in an Analyst’s Notebook 8.9 environment. It is also possible to augment version 6 and 7 SDK projects to take advantage of new features in the Analyst’s Notebook API. Details of these processes are given in the i2 Analyst’s Notebook SDK Upgrade Guide.

SDK Projects that are developed with version 7 will work with versions of i2 Analyst’s Notebook 8 without modification.

Is it possible to upgrade from other IBM i2 products?This version of i2 Analyst’s Notebook SDK can be installed and used alongside versions of i2 Analyst’s Notebook 6 SDK. However, it can not be installed alongside i2 Analyst’s Notebook 7 SDK or previous versions of i2 Analyst’s Notebook 8 SDK. If the installer detects an existing installation of the latter, you are prompted to uninstall it before you are able to proceed.

i2 Analyst’s Notebook is developed on the .NET 3.5 SP1 Framework and therefore, all existing plug-ins need to be converted to and developed on a similar platform. All planned developments should be developed on the .NET 3.5 SP1 Framework.

Implementation and trainingMany customers choose to work with IBM Consulting Services to secure training and consultancy. This decision enables them to benefit from the group’s knowledge and experience in order to rapidly achieve project goals.

TrainingThere are no official IBM training courses for i2 Analyst’s Notebook SDK. Training requirements are met by IBM Consulting Services who can provide customized training that is based on individual organizations needs. Such training is charged at standard consulting day rates and varies in length dependent upon the level of training required.

ConsultancyIBM Consulting Services work with customers to understand specific requirements and then determine the best methods to meet these requirements. This work can be through custom development, onsite training, or alignment with the right system integrator or product vendor.

IBM Consulting Services consultants are able to provide customized training, which is based on individual organizations’ needs.

In addition to customized training, IBM Consulting Services are able to provide consultancy services to develop and implement custom database solutions, specific to an organization’s needs. Such consultancy services are charged at standard consulting day rates and vary in length/cost depending upon the solution required.

Page 15: IBM i2 Analyst’s Notebook SDK

White PaperIBM Software September 2012

15

For more information To learn more about i2 Analyst’s Notebook SDK, please contact your IBM representative, or visit: ibm.com/i2software

To learn more about all of the IBM Smarter Cities solutions, visit: ibm.com/smartercities

Page 16: IBM i2 Analyst’s Notebook SDK

White PaperIBM Software September 2012

16 ZZW03189-USEN-01

© Copyright IBM Corporation 2013

IBM Corporation Software Group Route 100 Somers, NY 10589 U.S.A.

Produced in the United States of America

November 2013

i2, Analyst’s Notebook, COPLINK, IBM, the IBM logo and ibm.com are trademarks of International Business Machines Corporation in the United States, other countries or both. If these and other IBM trademarked terms are marked on their first occurrence in this information with a trademark symbol (® or TM), these symbols indicate U.S. registered or common law trademarks owned by IBM at the time this information was published. Such trademarks may also be registered or common law trademarks in other countries. Other product, company or service names may be trademarks or service marks of others. A current list of IBM trademarks is available at “Copyright and trademark information” at: ibm.com/legal/copytrade.shtml

The content in this document (including currency OR pricing references which exclude applicable taxes) is current as of the initial date of publication and may be changed by IBM at any time. Not all offerings are available in every country in which IBM operates.

The performance data discussed herein is presented as derived under specific operating conditions. Actual results may vary. THE INFORMATION IN THIS DOCUMENT IS PROVIDED “AS IS” WITHOUT ANY WARRANTY, EXPRESS OR IMPLIED, INCLUDING WITHOUT ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND ANY WARRANTY OR CONDITION OF NONINFRINGEMENT. IBM products are warranted according to the terms and conditions of the agreements under which they are provided.

Please Recycle