Corporate Info | News | Solutions | Products | Partners | Services | Events | Download | How To Buy
eLink Adapter for BroadVision Doc Home | eLink Adapter for BroadVision User Guide | Previous Topic | Next Topic | Contents |

Understanding the BEA eLink Adapter for BroadVision

This chapter contains the following topics:

- BEA eLink Solution Overview

- BEA eLink Adapter for BroadVision Feature Overview

  - What is BroadVision?

  - What is eLink Adapter for BroadVision?

- Overview of the API

  - Basic BroadVision Client Operation

  - Detailed BroadVision Client Operation

BEA eLink Solution Overview

BEA eLinkTM provides an open Enterprise Application Integration (EAI) solution that allows applications throughout organizations to communicate seamlessly. Using EAI, you gain the long-term flexibility and investment protection you need to keep up with today's ever-changing business environment.

Typically, companies use packaged applications to automate internal operations, such as financial, manufacturing, or human resources. While they successfully address the needs of these specific areas, these proprietary platforms often do not work together. To compete today, you need a much greater exchange of information. Systems need to communicate at a process level within your own organization, as well as with customer's and supplier's systems. BEA eLink Platform is the underlying basis of BEA eLink, a family of off-the-shelf enterprise application integration (EAI) products that leverage the BEA transaction platform to integrate existing legacy applications with customer-focused and business-to-business e-commerce initiatives.

BEA eLink Platform provides a proven infrastructure for integrating applications within the enterprise and across the Web. BEA eLink Platform ensures high-performance, secure transactions and transparent access to mission-critical applications and information throughout the enterprise and across the Web. Figure 1-1 illustrates the eLink logical architecture and shows where the eLink Adapters fit into the process.

Figure 1-1 BEA eLink Solution Illustration

The entire BEA eLink family (including all options and adapters) is highly scalable. Multiple instances of BEA eLink components can collaborate so that work is divided between eLink domains. BEA eLink includes Simple Network Management Protocol (SNMP) integration for enterprise management.

The current BEA eLink Platform leverages the BEA Tuxedo infrastructure because it is based on a service-oriented architecture. Both BEA Tuxedo and BEA eLink communicate directly with each other and with other applications through the use of services. Multiple services are grouped into "application servers" or "servers". The terms Tuxedo services/servers and eLink services/servers can be used interchangeably. Because this document is specifically addressing the eLink family, the terms "eLink service" and "eLink server" are used throughout.

The BEA eLink Platform complies with the Open Group's X/Open standards including support of the XA standard for two-phase commit processing, the X/Open ATMI API, and XPG standards for language internationalization. C, C++, COBOL, and Java are supported. The BEA eLink Platform connects to any RDBMS, OODBMS, file manager or queue manager, including a supplied XA-compliant queueing subsystem.

The following components operate with BEA eLink Platform:

- The Data Integration Option translates data models used by different applications into a common data format. It provides a cost-effective alternative to writing or generating programs to perform this function. It also handles complex translation with great power and scalability. The DIO leverages technology based on the TSI Mercator product, which is integrated with eLink.

- The Business Process Option helps automate tasks in the distributed global business process and dynamically responds to business events and exceptions. The BPO is currently implemented by integrating eLink with technology based on InConcert workflow management software.

- An eLink Adapter provides the interface between the BEA eLink Platform and external applications with out-of-the-box functionality.

BEA eLink Adapter for BroadVision Feature Overview

BroadVision is an advanced Web application development system that enables Web content to be dynamically matched to various Web visitor characteristics. With the eLink Adapter for BroadVision, BroadVision developers are able to invoke services in a wide variety of external eLink Adapter for BroadVision compatible applications. BroadVision developers are also empowered to prepare new transactions using any combination of BroadVision API calls within transaction scripts.

This section contains overview information for each of these topics:

- What is BroadVision?

- What is eLink Adapter for BroadVision?

What is BroadVision?

BroadVision is an industrial-strength software application system for rapid development and real-time operation of large-scale, personalized Internet, intranet, and extranet business applications. The BroadVision technology suite supports large user and content databases, high transaction volumes, intelligent agent matching, and easy integration with existing business systems.

It also incorporates a suite of management tools that empowers non-technical business managers, content editors, and Web masters to dynamically control application behavior from their desktops. These comprehensive, powerful features enable companies to deploy highly secure, scalable, smart, and flexible e-commerce, self-service, and knowledge management applications over the global Internet, as well as corporate intranets and extranets. Figure 1-2 shows BroadVision's architecture.

Figure 1-2 BroadVision Architecture

What is eLink Adapter for BroadVision?

Numerous BEA customers have built applications that send and receive transactions using eLink Platform, and these applications are implemented in a diverse set of enterprise environments. Many of the same customers are now implementing BroadVision in order to Web-enable their enterprises. The eLink Adapter for BroadVision enables you to easily integrate BroadVision within your enterprise by allowing a BroadVision application to participate in a cooperating set of eLink Platform connected applications, forming a transaction processing system. Figure 1-3 shows an overview of the eLink Adapter for BroadVision.

Figure 1-3 Overview of the eLink Adapter for BroadVision

The eLink Adapter for BroadVision does not actually integrate a BroadVision application with other eLink Platform enabled applications, but it does make it easier to do so. The eLink Adapter for BroadVision is a scalable toolset expressly tailored to help a BroadVision application engineer design the transactions that will serve to integrate the BroadVision application with the other participating systems that make up the enterprise. The BroadVision application engineer then implements this design using the eLink Adapter for BroadVision tools provided in this package.

You are provided with an object library used to communicate through eLink Platform with an arbitrary set of eLink Platform connected applications. The eLink Adapter for BroadVision for BroadVision provides a toolkit to help you integrate BroadVision applications with those already supporting eLink Platform service integration.

Note: For a complete list of API references, please see Appendix A, "eLink Adapter for BroadVision Object Library API".

The eLink Adapter for BroadVision is an Application Programming Interface (API) for BroadVision scripts to invoke eLink Platform applications. The eLink Adapter for BroadVision provides C++ components that augment the BroadVision component library. These components are accessible via JavaScript. The API to these components allows BroadVision developers to "fetch content" from eLink Platform applications for inclusion in an HTML page.

Components are fast, light-weight services written in C++ that perform the task of communicating with the more heavyweight servers. These services are responsible for processing the information that the servers provide and presenting it to the application for display to the visitor. To call a component from a script, you make a reference similar to this call to the Access Control component's checkPermission( member function. An example of this function is shown in Listing 1-1.

Listing 1-1 Sample Access Control Component Function

>     var aclManager = new BVC_ACLManager;
>     if ( aclManager.checkPermission(
>           Session, "broadway/partners/partner_area.jsp", "script" ) >0 ) {

For example, suppose a BroadVision visitor asks for an account balance that is stored in an external, eLink Platform connected, banking system. The eLink Adapter for BroadVision for BroadVision API allows BroadVision developers to easily fetch this data from the banking system without having to create a custom integration of the BroadVision and eLink Platform applications.

Overview of the API

If you are using the eLink Adapter for BroadVision, you are a BroadVision application designer and programmer who is skilled in designing and building BroadVision applications and optimizing their performance. The eLink Adapter for BroadVision permits BroadVision scripts to directly access eLink Platform services, offered and advertised by participating external application programs.

The new eLink Adapter for BroadVision Object Library is used to access the native eLink Platform API through a BroadVision script compatible object library, and you may begin coding with server-side JavaScript rather than having to start with "C" or C++. Most BroadVision application developers avoid the use of "C" or C++ code entirely by accessing BroadVision objects through an interface layer, which is callable directly from server-side JavaScript. Such is the case with the Adapter Object Library. BroadVision to eLink Platform transactions may be invoked by coding in JavaScript only, as well as altering the appropriate configuration files, and as a result, you need not know "C" or C++ to take advantage of all of the adapter's capabilities.

BroadVision supports a wide variety of specialized data types. Most of these data types are not useful to external applications. The BroadVision designer intending to use a specialized BroadVision data type must write the appropriate JavaScript code to unload the interface data of interest into a primitive data type supported by the Adapter Object Library. Conversely, interface data of interest, received from an external application, may need to be loaded into a specialized BroadVision data type in order to be useful within the BroadVision environment. Similarly, such interface data loading from the primitive types supported by the Adapter Object Library into specialized BroadVision data types is the responsibility of the BroadVision script developer.

Note: See Appendix A, "eLink Adapter for BroadVision Object Library API" for a description of the supported Adapter Object Library data types.

Basic BroadVision Client Operation

Scripts are server-side JavaScript files that, when combined with other scripts, comprise a one-to-one application. A script starts as a text file with a .jsp extension that contains HTML tags, displayable text and references to BroadVision components. The files can also contain Java object references, JavaScript scripts or other text understood by an HTML browser. Typically, HTML tags specify the part of the information to be sent to the browser that never changes. BroadVision components specify that portion of the information which is dynamically generated.

A component is a collection of objects that know how to get information from or send information to the servers. You reference a component in a script, and when the Interaction Manager encounters the reference, it calls the matching component reference object that then calls the component implementation. The implementation object knows how to get information to and from the servers. Listing 1-2 shows a typical component reference in a script, which provides a Table component that is an in-memory structure.

Listing 1-2 Typical Component Reference in a Script

>     var bvTable = new BVI_Table

Detailed BroadVision Client Operation

The eLink Adapter for BroadVision is a set of BroadVision components that allow BroadVision scripts to invoke eLink Platform services. These components are used to connect to eLink Platform, invoke eLink Platform services, and create messages that are passed to or from eLink Platform services. To invoke an eLink Platform service, a BroadVision script must establish a session with eLink Platform, create a request buffer for the eLink Platform service, assign the request buffer to the eLink Platform service, and invoke the eLink Platform service. This section describes the eLink Adapter for BroadVision components and how they can be used to integrate eLink Platform services with BroadVision scripts.

Initializing the BVI_TuxAdapter Component

The BVI_TuxAdapter component is the first component a BroadVision script must access in order to create instances of the additional eLink Adapter for BroadVision components. The BVI_TuxAdapter component allows BroadVision scripts to initialize the eLink Adapter for BroadVision configuration and instantiate the BVI_Session component. The single instance of the BVI_TuxAdapter is retrieved using the method newReference().

This method takes the name of the adapter configuration file as a parameter. When the newReference() method is invoked, the configuration file is read to initialize the configuration. The BVI_TuxAdapter method GetNewSession() can then be invoked to create a BVI_Session object. This method takes the security parameters that need to be passed to eLink Platform, if eLink Platform has been set up to authenticate client applications. Once an instance of the BVI_Session object has been successfully created, a session has been established with eLink Platform.

Creating an Instance of the BVI_TuxMessage Object

To create a request message for the eLink Platform service you wish to invoke, create an instance of the BVI_TuxMessage object. The BVI_TuxMessage component is used to create and manipulate messages that are sent to or received from eLink Platform services. The BVI_TuxMessage component includes methods to populate and extract data from these message buffers. This object includes 'Add' and 'Set' methods to populate the message buffer. Only the fields defined in the eLink Adapter for BroadVision's configuration file can be populated in an instance of the BVI_TuxMessage object.

Creating an Instance of the BVI_TuxService Object

After instances of the BVI_Session object and the BVI_TuxMessage have been created, you can create an instance of the BVI_TuxService object. The object is created by the GetNewService method of the BVI_Session object. This method takes an eLink Platform service name and an instance of the BVI_TuxMessage object as parameters.

Invoking the eLink Platform Service

An instance of the BVI_TuxService can invoke an eLink Platform service by calling the Execute() or ExecuteAsync() methods. The Execute() and ExecuteAsync() methods invoke the eLink Platform service that was specified in the constructor of the BVI_TuxService object. The BVI_TuxMessage that was specified at construction is the request message that is sent to the eLink Platform service. The Execute() method waits for the eLink Platform service to execute and return its response before returning control to the BroadVision script. The ExecuteAsync() method sends the request message to the eLink Platform service but does not wait for the reply. Control is immediately returned to the BroadVision script to allow it to perform additional processing while the eLink Platform service completes its execution. The BroadVision script must subsequently call the GetReply() method to retrieve the reply message sent by the eLink Platform service.

Checking for Error Conditions

After the Execute() or GetReply() methods have been executed, any errors that were returned by the eLink Platform service are accessible via the TuxError and ApplicationError attributes of the BVI_TuxService object.

Retrieving the eLink Platform Service Response

Once the Execute() method or the GetReply() method have been invoked, the response message received from the eLink Platform service is accessible via the Output attribute (a BVI_TuxMessage object) of the BVI_TuxService object. The BVI_TuxMessage class has methods to `Get' methods to extract the fielded data from the message buffer.

Copyright © 2000 BEA Systems, Inc. All rights reserved. Required browser: Netscape 4.0 or higher, or Microsoft Internet Explorer 4.0 or higher.