WEB Information Center,
                    WEB Call Center,
                    WEB  ACD Agent
                          and JAVA
 

                   by Jozef Goetz

Date: 08/97.

CONTENTS

ABSTRACT:

This report outlines the WEB Information Center, WEB Real Time Information Center,  and Java proposals. The WEB Information Center constitutes of the following components:Company'sHomePage| Download Client | Documentation | DB Configuration | Reports | Analyze Trends | Search | Track System |and it is extended by the Web Real Time Information Center. The part of the report on the Web Real Time Information Center includes the best strategies for Call  Centers (marketing requirements) and objectives of Real Time Information Center. Finally, the last part of the report includes an extensive description of the features and benefits of Java and  its potential use in the WEB Real Time Information Center.
The report also contains the survey the use of the UnPBX and the WEB technology by other companies.

The main point of the report is that it is worthwhile to introduce the WEB technology and WEB Call Center in our company and our products. In order to undertake this important breakthrough, one needs to consider the following information systems:

 Note: The report and related investigation were mainly conducted after hours

1. GLIMPSE AT OTHER COMPANIES

The UnPBX - a new computer telephony world was born. The UnPBX delivers gigantic benefits to its end users. The benefits are the biggest and most mainstream of any computer telephony product to date.

Typically, the UnPBX is an office's phone system. It is a PBX in a PC. It has all the basic PBX functions: auto attendant, VMS, ACD. It has fax, e-mail,voice mail, video mail, etc. It is cheaper, easier to manage, use, feel in control, customize your phone system, IVR, fax and ACD systems all in one box.

Interactive Intelligence (Indianapolis, IN) is the maker of the Enterprise Interaction Center. It's an UnPBX using an NT-based server. It does digital PBX; ACD; IVR, voice mail and fax server in one box.[1].

After looking at TAPI and TSAPI integration schemes, Interactive Intelligence is gung-ho on Java Telephony API (JTAPI) . JTAPI is a set of reusable telephone call-control objects (APIs) for Java-based computer-telephony applications.

Interactive Intelligence says JTAPI's combination of portability, free distribution with the Java runtime module, and extensibility make it a very attractive API for developing telephony applications of any size.

Interactive Intelligence is the maker of the Enterprise Interaction Center.It's an UnPBX using an NT-based server. It does digital PBX; ACD; IVR, voice mail, and fax server all in one box.

Rockwell and MCI has joined with NetSpeak Corporation in a strategic alliance to enable Internet users to speak directly with call center agents over the Internet. IP-based Call Centers allow information to flow to end from agents in a packed-based model (without using any conventional PSTN circuitry) [2].

NexPath's (Santa Clara, CA), NexPath NTS Telephony Server is an UnPBX with a portable client interface. The system uses both Java and JavaScript for the call control and messaging apps. These run on Sun, MAC and PC workstations. The user uses the NTS UnPBX from his/her workstation by launching his/her Web browser (HotJava, Netscape or Explorer) and pointing it at the HTTP daemon living in the server.Virtually all operations can be done from a network Web browser. It's a wonderful example of what Java is all about[1].

Telephony control is achieved via low level socket commands on the NTS server. These are used to tell an extension or line to hang-up, dial, conference, etc. Socket commands can be issued to observe states of extensions, which are delivered in real time in the form of asynchronous observer notifications. An observer message would be sent, for example, every time the associated extension goes off-hook, on-hook, is ringing, etc.

Quintus Corporation (Fremont, CA), a premier provider of customer relationship software, announced ImpaQ™ (Jan. 21, 1997) , the first customer service software that provides real-time information to help users proactively address customer service issues. ImpaQ's implementation of intranet publish-and-subscribe technology pushes customer information from traditionally isolated call center databases out to every desktop in the enterprise. Through industry-standard Web browsers, users can view key customer data in real-time, customizing information feeds to select the data most important to their particular needs.

Quintus ImpaQ utilizes Java, Web, and publish-and-subscribe technologies to create a flexible, highly customizable, real-time information distribution system.

The ImpaQ client is written in Java and runs in standard Web browsers, including Netscape™ Navigator™ and Microsoft® Internet Explorer™, allowing ImpaQ to be deployed rapidly across large organizations, and even between companies, over intranets, extranets and the Internet.

ImpaQ runs on Microsoft Windows NT™, Sun™ Solaris™ , Hewlett-Packard® HP-UX™ and IBM® AIX™ servers and supports Microsoft SQL Server, Oracle®, Informix™ and Sybase™ relational databases.

Flagship customer service software, CustomerQ from Quintus Corporation has been named a "Best Product of 1996" by Call Center Magazine.

CustomerQ comes packed with a full set of features: call tracking, asset tracking, change management, defect tracking, contract management, report writing, business analysis, problem resolution, document retrieval, built-in notification and escalation, ACD, fax, email and pager integration. Everything you need with no hidden costs.

                                                             Top ^

2. WEB INFORMATION CENTER

The following steps are required in order to introduce the WEB technology and WEB Call Center:

The WEB page site of the WEB Information Center includes the following main menu:

Company'sHomePage| Download Client | Documentation | DB Configuration | Reports | Analyze Trends | Search | Track System |

The Company option is the hyperlink to the company site.
The Download Client should include available software to be downloaded. In the case of IntelliCenter should be the IntelliCenter client and Oracle client.
The Documentation gives the access to manuals of the products.
The DB Configuration gives the view of the database configurations. For example the Supervisor, System Parameters, ACD Groups, Agent, ACD Team, Sign On/Off/Move Agent, Trunk Group, Trunk, DNIS, Pilot Configuration, Route Table Configuration, Electronic Display, Wrapup Codes, Electronic Display Unit Hardware for IntelliCenter.
The Reports option can include information as the different level of the organization. The performance of the organization would be at the highest level. The product development status would be the Engineering Department. The product level - IntelliCenter will have the daily, weekly, monthly historical reports.
The Analysis for Trends option can be consider on the different level of the organization. The product level - IntelliCenter will have the analysis for the physical and human resources use base on the historical reports.
The Search engine should make easy to retrieve any document anywhere in the enterprise.
The Track System would include the following capabilities: the customers would submit requests or problems, check on the status of submissions, update a call, even search for solutions. All this adds up to a reduction in support's call load and delivery costs.

The master WEB page and Download Client, DB Configuration, Reports have been proved as the concept prototype by the author and can be viewable from standard Web browsers, Netscape™ Navigator™ and Microsoft® Internet Explorer™. The CompanyName and Documentation options have been already accessible.

The WEB page is password protected.

The main part of WEB INFORMATION CENTER would be WEB INTELLICENTER INFORMATION with the DataWindow Plug-in technology.

DATAWINDOW PLUG-IN

PowerBuilder DataWindow Plug-in: Is Powersoft's patented technology for presenting database information in a wide variety of formats. The DataWindow plug-in is a self-contained DLL and requires neither the PowerBuilder deployment dlls nor a database connection to run. The DataWindow plug-in lets you display a Powersoft Report (PSR) file on a Web page that will be viewed in Netscape Navigator or Microsoft’s Internet Explorer V3. If you’ve created a report using a PowerBuilder DataWindow or InfoMaker Report, you can save that report as a PSR file that can then be accessed by anyone running a supported Browser. The report retains all of the advanced formatting available with the DataWindow, such as shading, colored text, and edit styles.

The technology has been verified by the author. The embed elements as a part of the HTML code have been added to the WEB page. The author is already able to present the proof of the concept prototype for the database configuration reports and historical reports produced by our IntelliCenter if you run our prototype WEB INTELLICENTER INFORMATION from standard Web browsers, Netscape™ Navigator™ and Microsoft® Internet Explorer™. The reports are stored under WEB server directory in the Windows 95 environment and they are passport protected.

The reports can be categorized by type and can be accessible from the main menu on the first front web page.

IntelliCenter can be automatically scheduled when should be created and stored historical daily, weekly and monthly reports for Release 1.1 but it should be added the icon operation to the configuration screens to save them in the .psr format. The reports can be scheduled at night to be viewable from standard browsers without running IntelliCenter. The authorized people can have access to.

The templates Web pages should be provided to the user together with Internet Developer Tool kit for $70 which includes the Web server - WEB SITE which can be installed on Windows 95 or Windows NT server or workstation and the plug-in DLL. Other option is to use the Netscape Web server ( $995) or others (?) running on UNIX and include with our IntelliCenter server.

Once the Web user has installed the plug-in DLL available from Internet when first time the web browser can not read the plug-in formats, one can view a PowerBuilder DataWindow as a plug-in from the web browser.

Using the DataWindow plug-in the user has several capabilities, including:

Benefits                                                    Top ^

3. WEB REAL TIME INFORMATION CENTER

The authorized customer will have access to information from standard browsers. This can include summary information, call center status, company news, more details about specific customers, or information by product or other dimension. Information would be presented in full-screen, "headline", scrolling "ticker tape", and other formats. Information will be created in real time. The user would modify and insert new information.

Using any Web browser on any client, customers can

The WEB REAL TIME INFORMATION CENTER is the extension of the static WEB INFORMATION CENTER

The main part of the WEB REAL TIME INFORMATION CENTER would be the WEB Call Center.
 
 

3.1 WEB CALL CENTER

The best strategies for the Call Center and the impact on the Call Center Enhancement will be considered first.

Further it will be consider the following components of the Call Center:

The objectives of the listed components are expressed by listed benefits for them below.

3.1.1 BEST STRATEGIES FOR CALL CENTERS

In today's cutthroat competitive environment, customer satisfaction is of the paramount importance. Poor Service Experiences and Poor Access to information are the main reasons of the customer leave.

The Call Center creates the company image. It is a strategic business weapon. The image impacts sales - the image up sales up. The Call Center gives accessibility to information, solutions. Accessibility impacts image.

The best strategies for Call Center is helping customers help themselves, moreover if  they have a problem, the right specialist should be available to serve the customer. In order to  improve the customer satisfaction and the company's image and profit, the personalized customer service should be provided . The Call Center with WEB technology is the solution. In addition to that, the WEB Call Center enables to present the right information, right solutions to the right customer at the right time. The WEB Call Center should be an important addition to the company enterprise solution.

Responding to  the question correctly, finding the solution are the most important. As needed talk/write to the right specialist on line or to be guided via WEB sites are very important in today's competitive environment. Customer "Self Service" will be the "killer app" for the Internet.

90% of reengineering efforts are focused around the customer. Reducing customer defections by as little as 5 points - from 15% to 10% per year - can double profits (Harvard Business Review, March 96).
 
 

3.1.2 WEB CALL CENTER ENHANCEMENT

The Web and Internet are rapidly evolving to become the infrastructure for the global economy -- both on the public Internet and on the vast numbers of corporate Intranets.

The Web Call Center offers a broad array of benefits and advantages over conventional call center.

The Web Call Center does not need to be connected to any PBX but if it needed can be linked. The Web Call Center includes the call route server which can be sit on the WebPhone Gateway eXchange from the Netspeak corporation.

The WEB Call Center would provide full searching, review, and updating capabilities for all call center and customer data with drill down to detailed legacy data across different systems.

By delivering real-time data collected from other systems, and allowing easy, Web-based drill-down to many systems, WEB Call Center would provide a key integration point for managing customer information. The product additionally would employ publish-and-subscribe technology, rather than point-to-point connections for each client and message, making it highly scalable to tens of thousands of users.

The Web Call Center over the conventional call center would give the following specific functionality enhancements. It becomes possible [2]

  1. to create a virtual ACD of multiple sites without leasing tie trunk facilities or paying for carrier re-routing services
  2. no longer necessary to structure and staff a call back facility for callers requesting voice assistance via an IVR system
  3. to retain incoming identification information even if the call is abandoned
  4. no 800 charges if the Web ACD agent receives Internet calls
  5. to originate the call from anywhere in the world
  6. to collect information about the Web user and send it with the call to the call center, to better route the call using the call skills-based routing
  7. to generate the Web Call Center reports based on caller location, user input, a history of user activity while browsing the web site
  8. to eliminate the fear of transmission credit card or other personal information over the Internet by creating a voice connection; it gives security
Three major concerns should be scalability, ease and degree of customization, and integration with multiple applications and platforms.
 
 

3.1.3 WEB ACD ADMINISTRATOR

The Web ACD administrator over the conventional ACD administrator gets the following additional functionality. He/she will

  1. configure the Web ACD Supervisor - the ACD Group set
  2. configure the Web ACD agent and groups in the routing server
  3. have all functionality what the Web ACD supervisor has.
3.1.4 WEB ACD SUPERVISOR

The Web ACD supervisor benefits over the conventional ACD supervisor benefits are the following. He/she will

  1. run the Web ACD supervisor application from the web browser
  2. provide the ACD group statistic from the Web ACD agent application connected to the database
  3. configure the Web ACD agent skills in the routing server
  4. view the Web Call Center performance statistics from the web browser
  5. be able to utilize the WebPhone which allows an immediate response to a customer or the Web ACD agent
  6. interact over the Internet with customer or the Web ACD agent, guide via different sites over Internet
  7. view the home page screen with the customer or the Web ACD agent
  8. acquire detailed and specific customer information when calls come in
  9. download a file to the caller, such as an image file showing a new product
  10. download or email documents, spreadsheets, binary, sound and image files and etc.
3.1.5 WEB ACD AGENT

The Web ACD agent would be able to receive information in real-time, as it occurs from standard browsers. This can include summary information, call center status, queue, agent, team, ACD group status and the most important metrics to watch:

The Web ACD agent benefits over the conventional ACD agent benefits are the following. He/she will
  1. run the Web ACD agent application from the web browser
  2. provide the agent and neighborhood statistic from the Web ACD agent application connected to the database
  3. view the Web Call Center statistic from the web browser
  4. respond immediately to a customer using the WebPhone available from the Web ACD agent application by clicking on a designated icon
  5. interact flexible over the Internet with customer, guide via different sites over Internet
  6. interact with better informed customers who can help themselves on the Web before making the call; it gives the efficient use of resources
  7. concurrently view the home page screen with the caller
  8. have detailed and specific customer information when calls come in
  9. download a file to the caller, such as an image file showing a new product
  10. present live video image of the agent on line to the caller
  11. download or email documents, spreadsheets, binary, sound and image files and etc.
The WEB ACD agent application written in Java can be highly customized by drilling down what component should be included on the screen to be viewable in real time. The proper performance will be reached - see High Performance and JDBC section in Java chapter.

3.1.6 WEB CALL CENTER CUSTOMER

The benefits to the customer using the Web Call Center over the benefits to the customer using the conventional Call Center are the following. He/she will

  1. lower the cost of the mechanism for distributing information to hundreds or thousands of clients, ( this is the reason that explains why the World Wide Web is the fastest-growing technology in history
  2. get a much faster and cost effective approach than upgrading and configuring every end-user system individually
  3. simplify distributed computing
  4. eliminate the client administration and support costs
  5. increase customer satisfaction as he/she get out of the phone queue
  6. lower the organization costs as he/she can help himself/herself
  7. originate the call from anywhere in the world
  8. launch the WebPhone and automatically initiate a voice call that goes through WebPhone Gateway Exchanges to live agents on the ACD
  9. present forms than can be completed by the caller for capture by the call center database
  10. have the availability of voice with drag-and-drop file transfer
  11. whiteboard
  12. compute collaboratively
  13. have the video conference
  14. email documents, spreadsheets, binary, sound and image files and etc.
  15. navigate via different web sites
  16. continue to browse the Web by the Web user while the Web Call Center finds the appropriate the Web ACD agent
  17. receive/send e-mail, voice mail, video mail etc.
The Web Call Center can be used in every business organization where the user needs voice or Internet help to get some information.
 
 

3.1.7. WEB CALL CENTER BENEFITS

The WEB Call Center benefits are:

                                                      Top ^
4. CHOICE IS JAVA 

In this chapter we will try to proof that to develop the best strategies for Call Center, have benefits described in the previous chapter for Call Center and use the WEB technology we should choose JAVA.

Most vendors of client-server development tools are working to convert their products to accommodate Web development and the Java programming language.

In just over 24 months, Java had an enormous impact on the increasingly Web-centric IT business. More user organizations are turning toward it, not because it can make logos spin on a Web site, but rather because it is delivering substantial business value in increasingly larger and more significant applications.

Java [4] is a simple, object-oriented, distributed, robust, secure, architecture neutral, portable, high-performance, multithreaded, and dynamic language. We can compare Java versus PowerBuilder 5.0 and C++ in the following table.
 
 
Feature  Power Builder C++ JAVA
simple ** * **
object-oriented * ** ***
distributed * ** ***
robust * ** ***
secure * * **
architecture neutral - * ***
portable - ** ***
high-performance * *** **
multithreaded - - ***
dynamic language - ** ***
We use a zero-to-three star rating: no stars - no feature, * poor, ** fair, *** great.

PowerBuilder is more than language, it is a visual object-oriented tool and only basically language features were compared.

Simple

Java is designed as closely to C++ as possible in order to make the system more comprehensible.

Java has auto garbage collection. A good example of a common source of complexity in many C and C++ applications is storage management: the allocation and freeing of memory. By virtue of having automatic garbage collection the Java language not only makes the programming task easier, it also dramatically cuts down on bugs.

Object-Oriented

Object-oriented design is very powerful because it facilitates the clean definition of interfaces and makes it possible to provide reusable software .

Distributed

Java applications can open and access objects across the net via URLs with the same ease that programmers are used to when accessing a local file system.

Robust

Java is intended for writing programs that must be reliable in a variety of ways. Java puts a lot of emphasis on early checking for possible problems, later dynamic (runtime) checking, and eliminating situations that are error prone.

C++ inherits a number of loopholes in compile-time checking from C, which is relatively lax (particularly method/procedure declarations). Java requires declarations and do not support C-style implicit declarations.

The single biggest difference between Java and C/C++ is that Java has a pointer model that eliminates the possibility of overwriting memory and corrupting data. Instead of pointer arithmetic, Java has true arrays. This allows subscript checking to be performed. In addition, it is not possible to turn an arbitrary integer into a pointer by casting.

In Java the user doesn't have to worry about freeing or corrupting memory. Programmers can be relatively fearless about dealing with memory because they don't have to worry about it getting corrupted. Java has this property and it has been found to be very liberating.

Secure

Java is intended to be used in networked/distributed environments. Toward that end, a lot of emphasis has been placed on security. Java enables the construction of virus-free, tamper-free systems. The authentication techniques are based on public-key encryption.

There is a strong interplay between "robust" and "secure." For example, the changes to the semantics of pointers make it impossible for applications to forge access to data structures or to access private data in objects that they do have access to. This closes the door on most activities of viruses.

Architecture Neutral

Java was designed to support applications on networks. To enable a Java application to execute anywhere on the network, the compiler generates an architecture neutral object file format -- the compiled code is executable on many processors, given the presence of the Java runtime system.

With Java, the same version of the application runs on all platforms.

Portable

Unlike C and C++, there are no "implementation dependent" aspects of the specification.
The Java system itself is quite portable. The new compiler is written in Java and the runtime is written in ANSI C with a clean portability boundary.

Interpreted

The Java interpreter can execute Java bytecodes directly on any machine to which the interpreter has been ported. And since linking is a more incremental and lightweight process, the development process can be much more rapid and exploratory.

As a part of the bytecode stream, more compile-time information is carried over and available at runtime.

High Performance

The bytecodes can be translated on the fly (at runtime) into machine code for the particular CPU the application is running on. The bytecode format was designed with generating machine codes in mind, so the actual process of generating machine code is generally simple. Reasonably good code is produced: it does automatic register allocation and the compiler does some optimization when it produces the bytecodes.

In interpreted code we're getting about 300,000 method calls per second on an Sun Microsystems SPARCStation 10. The performance of bytecodes converted to machine code is almost indistinguishable from native C or C++.

Multithreaded

Benefits of multithreading are better interactive responsiveness and real-time behavior. This is limited, however, by the underlying platform: stand-alone Java runtime environments have good real-time behavior.

Dynamic

In a number of ways, Java is a more dynamic language than C or C++. It was designed to adapt to an evolving environment.

For example, one major problem with using C++ in a production environment is a side-effect of the way that code is always implemented. If company A produces a class library (a library of plug and play components) and company B buys it and uses it in their product, then if A changes it's library and distributes a new release, B will almost certainly have to recompile and redistribute their own software. In an environment where the end user gets A and B's software independently (say A is an OS vendor and B is an application vendor) problems can result.

For example, if A distributes an upgrade to its libraries then all of the software from B will break. It is possible to avoid this problem in C++, but it is extraordinarily difficult and it effectively means not using any of the language's OO features directly.
By making these interconnections between modules later, Java completely avoids these problems and makes the use of the object-oriented paradigm much more straightforward. Libraries can freely add new methods and instance variables without any effect on their clients.

Java understands interfaces a concept borrowed from Objective C which is similar to a class. An interface is simply a specification of a set of methods that an object responds to. It does not include any instance variables or implementations. Interfaces can be multiply-inherited (unlike classes) and they can be used in a more flexible way than the usual rigid class inheritance structure.

Classes have a runtime representation: there is a class named Class, instances of which contain runtime class definitions. If, in a C or C++ program, you have a pointer to an object but you don't know what type of object it is, there is no way to find out. However, in Java, finding out based on the runtime type information is straightforward. Because casts are checked at both compile-time and runtime, you can trust a cast in Java. On the other hand in C and C++, the compiler just trusts that you're doing the right thing.

It is also possible to look up the definition of a class given a string containing its name. This means that you can compute a data type name and have it easily dynamically-linked into the running system.

Summary

The Java language provides a powerful addition to the tools that programmers have at their disposal. Java makes programming easier because it is object-oriented and has automatic garbage collection. In addition, because compiled Java code is architecture-neutral, Java applications are ideal for a diverse environment like the Internet.

                                                                          Top ^

4.1 JAVA DEVELOPMENT KIT

The JDK 1.1 offers a whole new range of Java functionality that includes database access, reusable components, security, internationalization and more.

In JDK 1.1 the user have total programmatic, control over what events a component will fire and handle.

The JDK 1.1.2, is the latest major release of the JDK. It is a superset of the JDK 1.0.2 with improvements in functionality, performance, and quality.
Includes: Internationalization, Security, JavaBeans, JAR, RMI, Object Serialization, JDBC, Inner Classes, JNI, and enhancements to AWT, IO, Net and Math.
The Java Development Kit, Version 1.0.2, enables programmers to write applets that conform to the 1.0 Java applet API and will run in all Java-enabled browsers.
Includes: Lang, IO, Util, Net, Applet, and AWT packages.

The Java Runtime Environment, Version 1.1.2, is a release of a minimum runtime for Java applications. It consists of the Java Virtual Machine, Java Core Classes, and supporting files. It contains no compiler, no debugger, and no tools. Unlike the JDK, it is freely distributable, according to the terms of its license.

There are three major technologies, components in the Java Development Kit, JDK:

4.1.1 JAVA DATABASE CONNECTIVITY (JDBC)

Java Database Connectivity (JDBC) combines Java's platform neutrality with ODBC's (Open Database Connectivity's) syntax for communicating with various databases. It makes it possible for any Java-enabled browser to access information from a database that supports a JDBC driver.

JDBC offers a generic and standard Java API front -end to any vendor-specific database back-end. JDBC is intended to be a simple interface interface that allows a client to send raw SQL to any plug-and-play database driver and retrieve results.

Existing JDBC solutions fall into one of the following categories:

  1. JDBC-ODBC Bridge
  2. Native-API partly-Java driver
  3. Net-protocol all-Java driver
  4. Native-protocol all-Java driver.
Most JDBC offerings, related to categories 1, 2 , 3 ( JDBC client <----using TCP/IP----> intermediate server <-----using SQLNet-----> DBMS ) conform to a server-based three-tier architecture. An all-Java driver translates JDBC calls into a DBMS-independent network protocol -TCP/IP, which is then translated into a vendor-specific DBMS protocol by a intermediate server. This middleware can connect its Java-based clients to any database that supports JDBC.

A native-protocol all-Java driver ( JDBC client <---using SQLNet----> DBMS ). This type of JDBC driver, the fastest possible driver, converts JDBC calls directly into the network protocol used by the specific database vendor. This allows a direct call from the client machine to the DBMS server. These drivers are pure-Java drivers that make no call to the client libraries of the DBMS, but rather communicate with the DBMS directly, using its proprietary protocol. As these drivers translate JDBC directly into the native protocol, without the use of ODBC or native SQL APIs, they can provide for very high performance database access.

Although intended to augment rather than replace JDBC, Oracle's J/SQL seeks to expand the Java database-connectivity standard by offering simpler, shorter code. Oracle points to one example where 56 lines of JDBC code can be written in only 15 lines of J/SQL. The simplicity of the query language makes it easier to write and less prone to error, said Steve Levine, director of product marketing for server technology at Oracle.

To succeed on the Internet, businesses needs high-performance database connectivity in a multitier and heterogeneous environment. Oracle provides two simple means by which Java programmers (writing code in any tier) may conveniently and efficiently access relational data: JDBC and JSQL [3].

Benefits of Oracle's JDBC: Benefits of Oracle's JSQL: 4.1.2 JAVA ABSTRACT WINDOWING TOOLKIT

The Java Abstract Windowing Toolkit, AWT is a Java package (or class library) that enables you to develop cross-platform graphical user interfaces. The AWT works by abstracting the most common GUI elements as Java classes and then implements these elements in each target platform as "peers." The purpose of this approach is to allow programmers to write a single Java program that has a native look and feel in whatever operating system it runs on.

AWT has undergone major modifications and improvements for version 1.1. The majority of changes were necessary to implement JavaBeans. There were three major additions: a new model, cut-and-paste and ability to print.

4.1.3 JAVABEANS

Throughout the industry, JavaBeans is the component architecture of choice.

More than 400,000 developers around the world have already embraced the Java platform. And no wonder. Java has opened up an entirely new world of opportunities for building fully portable network-aware applications.

JavaBeans is the platform-neutral, a software component for Java. It's the ideal choice for developing or assembling network-aware solutions for heterogeneous hardware and operating system environments--within the enterprise or across the Internet. A software component is a reusable Java class that is open to introspection and manipulation in a visual application builder.

JavaBeans extends Java's "Write Once, Run Anywhere". In fact, JavaBeans takes interoperability a major step forward -- your code runs on every OS and also within any application environment. A Beans developer secures a future in the emerging network software market without losing customers that use proprietary platforms, because JavaBeans interoperate with ActiveX. JavaBeans connects via bridges into existing industry component models such as ActiveX. Software components that use JavaBeans APIs are thus be portable to containers including Internet Explorer, Visual Basic, Microsoft Word, Lotus Notes, etc.

ActiveX will serve you within Microsoft Windows but if you want cross-platform components, JavaBeans is the way to go.

The JavaBeans defines a set of standard component software APIs for the Java platform. The specification was developed by JavaSoft with a number of leading industry partners and was then refined based on broad general input from ISVs, customers, and end-users during a public review period.

JavaBeans allows developers to create reusable software components that can then be assembled together using visual application builder tools, such as Borland's JBuilderTM, IBM's Visual AgeTM for Java, SunSoft's Java WorkshopTM, Sybase's PowerJ (formerly "Jato") and Symantec's Visual Cafe, and many, many others.

The alphabetical list of visual application builder tools is the following:•Asymetrix's SuperCede •Borland's JBuilderTM •BulletProof Software's JDesignerPro 2.02 •Imperial Software Technology's VisajTM •Informix's Data Director for Java •IBM's Visual Age ® for Java •JRad Technologies' j.rad •Lighthouse Design's JavaPlan •Lotus Development's BeanMachineTM (formerly AppletAuthor) •Netscape's Visual JavaScript (formerly "Palomar") •ObjectShare's Parts for Java 2.0 •OMNIS Software's OMNIS Studio v. 1.0•Penumbra's SuperMojo •SFS Software's Iavadraw •Silicon Graphics' Cosmo Code •SunSoft's Java StudioTM •SunSoft's Java WorkshopTM •Sybase's PowerJ (formerly "Jato") •Symantec's Visual Cafe •Taligent's VisualAge® WebRunner TM Toolkit •Tek-Tools' Kawa •Unify's Vision •Vision Software Tools' Vision JADE •Visix Software's Vibe.

The development environment should

PowerJ (the rapid application development (RAD) Java development tool from Sybase) fulfills basically above requirements and addition to that supports the following new features: •Complete support for JDK 1.10 and JDK 1.02 •Design-time support for JavaBeans and other Java components •Configurable browser, viewer and debugging support •Simplified database support •JDBC 1.21.

PowerJ also makes full use of drag-and-drop development. Components are dropped onto a graphic form via component tool bars. Property sheets are used to define the components. The tool bars themselves are extensible. Users can register their own or third-party ActiveX and JavaBeans components by adding them to the toolbars where appropriate. PowerJ also supports several 3rd-party source-control systems.

4.1.3.1 API COMPONENTS

JavaBeansTM - Component APIs for Java is included in JDK 1.1. Defines a set of standard component software APIs that enable developers to write re-usable components once and then run them anywhere--on every OS and within application environments.

Java Media and Communication APIs, allows developers and users to easily and flexibly take advantage of a wide range of rich, interactive media on the Web.
Includes: Media Framework, Sound, Animation, 2D, 3D, Telephony, Speech and Collaboration.

JDBCTM Database Access API, Version 1.10 is included in JDK 1.1. Provides programmers with a uniform interface to a wide range of relational databases, and provides a common base on which higher-level tools and interfaces can be built.

The JDK 1.0.2 API is the API that ships with version 1.0.2 of the Java Development Kit (JDK). It includes the 8 basic packages: java.lang, java.io, java.util, java.net, java.awt, java.awt.image, java.awt.peer, and java.applet.

JDK 1.1 API is a superset of JDK 1.0.2 that brings improvements in functionality, performance and quality to Java.

JAVA ENTERPRISE API

Java Enterprise APIs support connectivity to enterprise databases and legacy applications. With these APIs, corporate developers are building distributed client/server applets and applications in Java that run on any OS or hardware platform in the enterprise. Java Enterprise currently encompasses four areas: JDBCTM, Java IDL, Java RMI and JNDITM.

JDBCTM is Java Database Connectivity, a standard SQL database access interface, providing uniform access to a wide range of relational databases.

Java RMI is remote method invocation between peers, or between client and server, when applications at both ends of the invocation are written in Java.

Java IDL provides seamless interoperability and connectivity with CORBA (Common Object Request Broker Architecture), the open industry standard for heterogeneous computing. Java IDL includes a Java IDL Language Mapping Specification, an IDL-to-Java compiler and a portable, Java ORB core that supports IIOP thus allowing developers to build Java applications that are integrated with heterogeneous business information assets.

In order to provide sufficient time to standardize Java-to-CORBA connectivity through OMG, Java IDL has been be decoupled from the JDK 1.1 release and will be available on a slightly delayed schedule. Java IDL, implemented completely in Java, will work seamlessly on top of JDK 1.1 when it is available.

JAVABEANSTM API

The JavaBeansTM APIs define a portable, platform-neutral set of APIs for software components. JavaBean components will be able to plug into existing component architectures such as Microsoft's OLE/COM/Active-X architecture, OpenDoc, and Netscape's LiveConnect. End users will be able to compose together JavaBeans components using application builders. For example, a button component could trigger a bar chart to be drawn in another component, or a live data feed component could be represented as a chart in another component.

JAVA SECURITY API

The Java Security APIs are a framework for developers to easily and securely include security functionality in their applets and applications. This functionality includes cryptography with digital signatures, encryption, and authentication.

JAVA  JFC  API

Java Foundation Classes (JFC) is a group of classes that let you build graphical user interfaces for Java programs. In addition to the existing AWT, the JFC includes Java 2D, Swing Set, and additional application framework functionality based on some of the great ideas from Netscape's Internet Foundation Classes (IFC).

Swing Set refers to a group of lightweight components being developed by JavaSoft. Building on the lightweight component framework introduced in the 1.1 AWT, the Swing components will be a rich set of 100% Pure Java, ready-to-use components with pluggable look-and-feel. The components will range from simple buttons to full-featured text areas to tree views and tabbed folders. For more details, see the Swing Overview. ("Swing Set" is our working name for this project.)

Java 2D provides an abstract imaging model that extends the 1.0.2 AWT package, including line art, images, color, transforms and compositing.

JAVA MEDIA API

Java Media APIs allow developers and users to easily and flexibly take advantage of a wide range of rich, interactive media on the Web. The Media APIs encompass these areas: Java Media Framework, Java Collaboration, Java Telephony, Java Speech, Java Animation and Java 3D.

Java Media Framework (JMF) specifies a unified architecture, messaging protocol and programming interface for media players, capture and conferencing. JMF will be published as three APIs. The Java Media Player will be published first; Java Media Capture and Java Media Conference APIs will be published subsequently. Java Media Player is an API for synchronization, control, processing and presentation of compressed streaming and stored timed media, including video and audio. Java Telephony integrates telephones with computers. It provides basic functionality for first-party and third-party call control.

Sun Microsystems' (Mountain View, CA) Java Telephony API (JTAPI) let develop Java based application for computer telephony [6]. It's a set of modular application programming interfaces.But it's different from Microsoft's Windows Telephony, since JTAPI is designed to serve a broad audience - from call centers to voice-enabled WEB solutions. JTAPI code is designed to be independent of platform or phone system. JTAPI represents a combined effort from design teams at INTEL, IBM, Lucent, Nortel and Novell.

JTAPI provides a basic framework that spans desktop and distributed call center apps. You can interface JTAPI apps directly to service providers or use it as a JAVA interface to existing telephony APIs. You can run JTAPI on a wide range of hardware configurations, wherever a Java run-time lives.You can run Java applications and applets on top of JTAPI.

The Core API package provides basic telephony functions: placing calls, answering calls, and dropping calls. In addition to the Core telephony package, JTAPI standard extension packages include: Call Control,Call Center, Private Data and terminal Set Management in version 1.0.

Call Control Package. The call control package adds call transfer, call conference, call pickup and call park to the Core. You also get a reporting function for call connection status. If a call fail, this package will give the reason for failure, such as busy signals or invalid phone numbers.

Call Center Management Package. This package includes ACD functions, call routing and other goodies for large, distributed call centers.

JTAPI plops on top of other existing, telephony APIs - such as XTL, TSAPI, TAPI, etc. This means that you won't have to create yet more computer telephony hardware drivers.

Using Java Telephony API is technically superior to TAPI and TSAPI, as the applets or Java apps will run on any OS, and are designed to run on Intranets as well as the Internet. Java, unlike TAPI and TSAPI, can be directly supported by telephone equipment vendors who run on proprietary as well as PC based platforms. So, in theory anyway, traditional PBX vendors should have a much easier time supporting Java based computer telephony. Particularly since NexPath is offering an SDK to other vendors to make developing Java telephony applets easier.

EMBEDDEDJAVATM API

EmbeddedJavaTM API is designed for high-volume embedded devices, such as mobile phones, pagers, process control, instrumentation, office peripherals, network routers and network switches. EmbeddedJava applications run on real-time operating systems and are optimized for the constraints of small-memory footprints and diverse visual displays.

                                                                             Top ^

5. SUMMARY

The UnPBX - a new computer telephony world was born. It is a PBX in a PC. It has all the basic PBX functions: auto attendant, VMS, ACD. It has fax, e-mail,voice mail, video mail, etc. It is cheaper, easier to manage, use, feel in control, customize your phone system, IVR, fax and ACD systems all in one box. In the report, you can see  that many companies use Java Telephony API and Java for their UnPBX and Call Center technology. The author thinks that we should go  in the direction of  the UnPBX if we intend to develop strategically our business.

The WEB INFORMATION CENTER with the DataWindow Plug-in technology should be implemented soon with the integration of  existing IntelliCenter 1.1.

We can immediately obtain the following benefits:

The first component for the WEB CALL CENTER should be implemented the WEB ACD AGENT to our existing IntelliCenter server and supervisor client. Later, it should be the WEB ACD SUPERVISOR and ADMINISTRATOR. The server should be running on Windows NT. Windows NT exceeds UNIX  by the following key features: Windows GUI, portability and multiprocessor support. The WEB ACD AGENT, SUPERVISOR and ADMINISTRATOR should be running on any platform - the same code running on different platforms. In order to reach that the WEB ACD AGENT, SUPERVISOR and ADMINISTRATOR should be written in JAVA.

The best strategies for Call Center is helping customers help themselves, moreover if  they have a problem, the right specialist should be available to serve the customer. In order to  improve the customer satisfaction and the company's image and profit, the personalized customer service should be provided . The Call Center with WEB technology is the solution. In addition to that, the WEB Call Center enables to present the right information, right solutions to the right customer at the right time. The WEB Call Center should be an important addition to the Company enterprise solution.

Some of Call Center benefits/objectives are that the customer will

  1. lower the cost of the mechanism for distributing information to hundreds or thousands of clients, ( this is the reason that explains why the World Wide Web is the fastest-growing technology in history
  2. get a much faster and cost effective approach than upgrading and configuring every end-user system individually
  3. simplify distributed computing
  4. eliminate the client administration and support costs
  5. increase customer satisfaction as he/she get out of the phone queue
  6. lower the organization costs as he/she can help himself/herself.
Java is a simple, object-oriented, distributed, robust, secure, architecture neutral, portable, high-performance, multithreaded, and dynamic language.

The Java language provides a powerful addition to the tools that programmers have at their disposal. Java makes programming easier because it is object-oriented and has automatic garbage collection. In addition, because compiled Java code is architecture-neutral, Java applications are ideal for a diverse environment like the Internet.

Java benefits are

Java has created a market for Integrated Development Environments (IDEs) that integrate both scripted and graphical programming. There are significant differences between 1st- and 2nd-generation Java IDEs [7].

Java Development Environments:
 
Feature  1st- Generation 2nd - Generation
Can Create Applets Client and server application logic
Scalability Small applets Enterprise-wide applications
Object Standards Single - JavaBeans or ActiveX Multiple
Team Development Support Little/none Yes
JavaBeans Support Limited or none Yes 
Completeness Lack powerful debugging, native JDBC, server development, etc. Complete enterprise development capabilities
Types of Java Database Connectivity JDBC-ODBC Bridge, Native API partly-Java, Net-protocol all-Java Native Protocol - All Java ODBCdriver
ODBC Required Yes  No
Performance Low High
2-Tier Pure Java Application Support No Yes
The key principals of "Java for the Enterprise" strategy include:

Powersoft PowerJ is the Java IDE that focuses on the needs of the mission-critical, enterprise IT application. PowerJ would be considered for the WEB ACD AGENT implementation because it includes the 2-nd generation Java Development Environments features. jConnect is 100% Pure Java Sybase's high performance JDBC driver. This 2nd-generation JDBC driver is completely written in Java and is fully compliant with the JDBC standard.

The Web is here today with more than 30 million users, expected to climb to 100 million by 1998. The Internet had become the hottest marketing vehicle for any product or service you could imagine. Java is already the language of choice for writing Internet and intranet business applications, and JDBC is open standard that advances the ODBC concept to the Internet.

JTAPI provides a basic framework that spans desktop and distributed call center apps. The Core API package provides basic telephony functions: placing calls, answering calls, and dropping calls. In addition to the Core telephony package, JTAPI standard extension packages include: Call Control, Call Center, ACD functions .JTAPI plops on top of other existing, telephony APIs - such as XTL, TSAPI, TAPI, etc. This means that you won't have to create yet more computer telephony hardware drivers.

Using Java Telephony API is technically superior to TAPI and TSAPI, as the applets or Java apps will run on any OS, and are designed to run on Intranets as well as the Internet. Java, unlike TAPI and TSAPI, can be directly supported by telephone equipment vendors who run on proprietary as well as PC based platforms.

Java seems to be a general winner over PowerBuilder and C++ for the WEB Call Center  if we take into consideration all benefits, available environment, tools, API, database connectivity Java, the UnPBX products developed and the objectives for the WEB REAL TIME INFORMATION CENTER, specifically the WEB CALL CENTER.

Let us be in  the forthfront of the companies introducing new available technologies (WEB,  Java, Windows NT,  UnPBX and etc.) . Let us not  wait for the transition until it is too late. In order to  improve the customer satisfaction, the company's image and profit, the whole organization and technology offered to the customers should be on time - today it can be done via the WEB technology. We need to select the right organization structure - the WEB REAL TIME INFORMATION CENTER with the WEB CALL CENTER, the right solution - the WEB technology, at the right time - today.

                                                                        Top ^

REFERENCES

[1] Newton H., The UnPBX Revolution, Computer Telephony, The Magazine for Computer and Telephone Integration, May 1997, p.20 - 97

[2] CTI, The Authority on Computer, Internet and Network Telephony, Vol 1, No 3, 1997

[3] Access to Relational Data from Java: JDBC and JSQL, Oracle Java Sampler CD, Oracle Corporation 1997, Part No. C11748

[4] Cornel G., Horstman S., Core Java, Java Series, 1997

[5] Naughton P., Schildt H., Java: The Complete Reference, Osborne McGraw-Hill, 1997

[6] Margulies Ed., Java Telephony API Bolsters SUN's Resolve, Computer Telephony, The Magazine for Computer and Telephone Integration, February 1997, p.150 - 158.

[7] Java for the Enterprise - Mission-Critical IT Applications with 2nd-Generation Java Technology, white paper from Sybase, 1997

                                                                 Top ^

UPDATES

[8] Does Java NeedMore Caffeine? , Network Computing, October 15, 1998

[9] The Business Case for the Java Platform, Software, November, 1998

Java Performance

                   So, how fast is fast enough? Gartner Group concludes that performance is
                   relative and that Java performs adequately for network communications,
                   embedded code, compilation of Java bytecode to native machine code,
                   JIT compilation, data access, interface code and simple business
                   applications on a VM. Gartner says it finds Java lacking in performance
                   when it comes to applet download, system-level code, floating-point math
                   calculation, garbage collection and Java chips. By 2001, Gartner says it
                   expects Java to be adequate in each of these categories, with the single
                   exception of applet downloads. Gartner predicts by 2001 Java
                   performance will cease to be a major barrier to Java adoption in more
                   than 95 percent of cases.[8]

                   Scalability, however, enters as a related issue. Neffenger is convinced that
                   performance is last year's Java issue. He finds Sun's JVM to be "super
                   stable" and Microsoft's to be "super fast," and he predicts that it will be
                   about a year before performance, scalability and reliability will reach the
                   point that making a JVM choice will be "trivial and random." The three
                   most scalable JVMs that also maintained performance in Neffenger's new
                   scalability VolanoMark benchmark are JVMs expected to ship this year
                   from Novell, Microsoft and JavaSoft. Each could handle 900 messages
                   per second with up to 900 connections. Each 60-character message is
                   broadcast to other clients in a group and then discarded.[8].

Technical Advantage and Business Benefits of Java Approaches [9]

                                                            Top ^
WEB Center Updates

InformationWeek Daily 2/2/99

_______Vendors Expand Customer Contact Portfolios_______
Vendors are increasingly rolling out products focused on
letting customers contact an organization through a variety
of new media, such as the Web and E-mail.

MATRAnet Inc. of Mountain View, Calif., 02-01-99 unveiled
M> WebTouch 1.5, a Web-based call center product that routes
E-commerce customers to the proper agent based on a number
of factors, including which Web pages the customer has been
viewing. For example, customers who are browsing women's
clothes will be routed to an agent that specializes in
women's sales. M> WebTouch is available through the MATRAnet
sales force. An E-mail version is priced at $10,000 and
includes unlimited agent seats. A version that works with
live agents is priced at $15,000 and includes five agent
seats. Additional agent seats are available at $495 each.

Also on 02-01-99, Quintus Corp. introduced eContact, a suite
of products that lets call centers manage and route several
kinds of customer correspondence, and also personalize
service based on a history of how the customer interacts
with the call center. With eContact, customers can use
voice, voice over IP, interactive voice response and speech
recognition, facsimile and imaging, and E-mail to contact a
customer-service representative. EContact will be available
March 1, with pricing starting at $500 per user. Server fees
start at $40,000, while connectors are priced starting at
$15,000 per channel.  -- Mary E. Thyfault

InformationWeek Daily 2/4/99

Lucent Debuts Call-Center Products___
Lucent Technologies yesterday unveiled a pair of products
that will help call centers become more effective in serving
customers and in tailoring products to their needs. The
company, at the Call Center '99 trade show in Dallas,
introduced CentreVu Visual Analysis, software that analyzes
call-center effectiveness, and an unnamed ATM-based product
that helps companies treat call centers spread across
multiple locations as if they're a single center.

CentreVu Visual Analysis gathers data from multiple call
centers and other business units, then analyzes that
information to assess how call-center efforts affect
performance. The product would examine, for example, which
sales campaigns are having the greatest affect on a
particular customer segment. That helps the company
determine which products to push and how to better tailor
them for customers. The software can also tie into financial
software and other enterprise applications, letting users
see how well call-center campaigns fare, compared with the
investment put into them, and how profitable certain
customer segments are. CentreVu Visual Analysis will be
available in June, with pricing beginning at $30,000 for
five authorized users.

Lucent's single-call-center product combines the company's
CentreVu applications with its Definity ATM communications
server. The product routes calls, regardless of where they
originate or what number they dial, to the first available
agent in any of the call centers. The system can make finer
distinctions, routing calls from high-priority customers to
the most qualified agents in any of the call centers. The
software will let agents access customer records in any
city, without requiring the company to link its databases
manually. A graphical administration tool will help
companies manage the agents across call centers. The product
will be available in a limited release in the fourth
quarter, when pricing will be set, and will be generally
available in the first quarter of 2000.  --Jeff Sweat
 

                                                                             Top ^