Chapter 1 About Enterprise Application Server
What is Enterprise Application Server?
EAServer is an integrated set of development tools and application
servers that you use to deploy Web applications that support high-volume
traffic, dynamic content, and intensive online transaction processing
(OLTP). EAServer consists of PowerDynamo, Jaguar CTS, Application
Integrator for CICS, Application Integrator for Stored Procedures,
Adaptive Server Anywhere, and PowerJ.
For detailed information about each product, see the
individual product documentation.
Dynamo is an application server that dynamically generates
HTML pages, which are in turn delivered to Web browsers through
an HTTP protocol.
Jaguar is an application server that serves up business logic
components and dynamic HTML generated by servlets and JavaServer
Pages (JSPs). Jaguar supports thin Web clients using HTML forms
or Java applets, and standalone clients. Clients can be implemented
using PowerBuilder, Java (CORBA or Enterprise JavaBeans), ActiveX,
C++, or even using the MASP (Methods As Stored
Procedures) interface.
Components
are reusable modules of code that combine related tasks (methods)
into a well-defined interface. Jaguar components are installed on
a Jaguar server and contain the methods that execute business logic
and access data sources. You (or your administrator) install the
component's executable code on the Jaguar server. Components
can be distributed throughout a network (including the Internet
or an intranet) on different servers. Installed components can be
used by any number of independent applications.
Adaptive Server Anywhere is a full-featured, transaction-processing
DBMS. It has excellent performance while requiring fewer resources
(memory, disk space, and CPU cycles) than other DBMSs. Adaptive
Server Anywhere is used in conjunction with Dynamo and Jaguar. Adaptive
Server Anywhere holds your corporate data, which is retrieved and
updated by Dynamo and Jaguar.
Both Application Integrator for CICS (AI for CICS) and Application
Integrator for Stored Procedures (AI for Stored Procedures) are
Jaguar component development and deployment tools that make it easy
to integrate enterprise data sources with Jaguar. Similarly through
the Visual Edge® product, GoldenGate for EAServer,
you can easily integrate SAP business objects with Jaguar.
Java developers can create Jaguar components that execute business
logic in mainframe COBOL programs or stored procedures in databases
that reside on mainframes, PCs, or workstations. Jaguar clients
can execute methods in these components, which, in turn, execute
the corresponding COBOL programs or stored procedures.
You can use Dynamo and Jaguar separately, or you can use them
together. You may use many different development tools (PowerJ,
PowerBuilder, Visual Basic, Visual C++) and component
models (Java/Enterprise JavaBeans/Java Servlets,
ActiveX, CORBA C++, PowerBuilder NVO, and a C "pseudo" component
model) to develop middle-tier OLTP components and deploy them on
a Jaguar server. You can use Dynamo to deploy your thin-client Web applications
and Dynamo tags and scripts to call the component methods on the Jaguar
server. Information is returned to the application in the form of dynamically
generated HTML.
EAServer features
EAServer contains these features that make deploying Web sites
and OLTP applications quick and easy to upgrade:
- Open
standards EAServer is committed to open standards by supporting most
databases, both UNIX and NT platforms, and:
- The widest range of
clients, including ultra-thin HTML-only browsers, thin Java applets,
EJB, and PowerBuilder and CORBA client programs
- The widest range of development components and off-the-shelf development
tools, including PowerBuilder, PowerJ, Visual C++,
and Visual Basic
- The major component technologies like PowerBuilder,
ActiveX, Enterprise JavaBeans, Java servlets, and CORBA
- All major Web server interfaces such as ISAPI, NSAPI,
and CGI
- DynaScript, which is a superset of the industry
standard ECMAScript (the standardized version of JavaScript)
- Emerging application server framework standards
like Enterprise JavaBeans (including EJB 1.1) and Microsoft Transaction
Server application programming interfaces (APIs)
- J2EE platform support The Java 2 Enterprise Edition (J2EE) platform is a standard
architecture for deploying middle-tier business logic implemented
in Java and HTML.
- Web application support A Web application is a unit of deployment for related Web
content, JavaServer Pages (JSPs), and Java servlets. A Web application
contains static files, servlet and JSP implementation classes, and
a deployment descriptor that describes how the files, servlets,
and JSPs should be configured on the host server.
- High performance The multithreaded server provides a number of sophisticated
performance tuning capabilities such as database connection pooling,
dynamic page caching, and script scheduling, allowing EAServer to
support the most demanding Web applications in the world.
- Object-based scripting capabilities DynaScript,
which is an object-based scripting language, combines the ease of
use of a scripting language with the power and flexibility of an
object-oriented language including class inheritance and a Java-like
import statement.
- Thin-client Web applications Thin-client
Web applications can be created quickly and easily using HTML, DynaScript,
and SQL. This combination provides the quickest path to creating
and deploying robust Web solutions. These thin-client applications
can also call any component supported by EAServer.
- Powerful thin-client Web application
storage Thin-client Web applications can be stored in a database that
is compliant with Sybase Transact-SQL or in a file system, giving
one consistent interface to manage entire Web solutions, including
both the application and the data.
- Advanced scalability A robust, multithreaded, multiprocessor execution engine executes
components and processes transactions at high speed while making
the most efficient use of available system resources like native
threads, CPU, memory, and networks.
- Flexible transaction management A transaction manager hides virtually all the complexity of
transaction management and coordination from application developers
with implicit transactions. With implicit transaction management,
at deployment time developers simply specify whether a component
is transactional. At runtime, the transaction manager automatically
manages transaction boundaries and ensures transactional consistency
across all transactional components and the underlying DBMS.
- Rapid, multitier application development The built-in services such as connection pooling, thread pooling,
session management, and implicit transactions allow developers to
focus on application logic development without having to deal with
low-level infrastructure. You can also quickly build and deploy
components that execute stored procedures and COBOL programs.
- Enterprise Data Access Components can access data on the mainframe, PCs, or workstations
by executing ODBC, JDBC (including a JTA-compliant driver), or Open
Client Client-Library calls; components can also execute stored
procedures or COBOL programs.
- Result-set processing Components can
return a collection of objects called a result set to a client,
including Dynamo. Dynamo can directly retrieve a result set from
a database, format, and return it to a Web server, which displays
the formatted contents of the result set in a browser. Result sets
help developers manage data returned by a database and display it
on a thin client, solving one of the fundamental problems of Internet computing.
The format of a result set is based on the standard ODBC or JDBC
result set, and a result set can be bound directly to data-aware controls
such as a PowerBuilder DataWindow, a PowerJ Grid control, or any
data-aware control that can be bound to an ODBC result set.
EAServer documentation
EAServer
documentation consists of these books:
- Installation Guide
- Feature Guide
- Troubleshooting Guide
Jaguar overview
Jaguar is for
deploying transaction-intensive business applications on the Internet.
These applications move beyond one-way dynamic updates or data collection
to real-time two-way updates of business critical information. You can
also migrate traditional client/server transactional applications
to multitier Jaguar applications.
Jaguar provides a framework for deploying the middle-tier
logic of distributed component-based applications. Jaguar is the
industry's only component transaction server based on open
computing standards. It combines the features of a transaction-processing
monitor and an object request broker to give you an easy-to-use
package for rapidly deploying transactional applications. With Jaguar,
developers can focus on solving business problems instead of programming
the application's infrastructure. At the heart of Jaguar
is a high-performance transaction server that provides efficient
management of client sessions, security, threads, database connections,
and transaction flow. Jaguar's scalability and platform
independence allow you to develop your application on inexpensive
uniprocessor machines, then deploy the application on an enterprise-grade
multiprocessor server.
Client-side logic for enterprise applications must be as small
and efficient as possible to conserve network bandwidth. To accomplish
this goal, applications are partitioned into three parts: presentation
logic, business logic, and database logic. The database resides
on the bottom tier of the enterprise system to maintain and secure
the organization's information assets. The business logic resides
in the middle tier or component transaction server. The presentation logic
is on the user's desktop, or top tier, or is dynamically
downloaded to the user's desktop.
The transaction server is then responsible for executing and
securing the vast majority of a corporation's business
logic. This makes it a critical component in the emerging network-centric
architecture. The Web browser connects to Jaguar or a Web server
via HTTP to download an HTML page containing a Java applet that
performs presentation functionality. The applet communicates with
Jaguar, calling middle-tier components that perform business logic. Middle-tier
components can use Sybase's Client-Library, ODBC, or JDBC
to communicate with a third-tier DBMS. The DBMS stores, processes,
and protects the corporate data. Jaguar manages a pool of connections
to the back-end database, coordinating the transaction processing
to those servers.
Components are objects that reside on a server (a Jaguar server,
for example) and can be used by many different programs, regardless
of the program's programming language. A client executes
the methods in a component. Instead of creating one massive program,
you create a client that contains the GUI and validation code and
several individual components that contain the functionality (or
business logic) of your program. By separating the functionality
from the GUI, you can easily upgrade and change the functionality
of your program without having to change the GUI. In addition, multiple
clients (including Dynamo) can use components at the same time.
With
Jaguar, you can:
- Deploy Java/Enterprise
JavaBeans, Java servlets, native PowerBuilder components, ActiveX
components, and C/C++ components to the
middle-tier transaction server.
- Administer the transaction server by using Sybase
Central (with the Jaguar Manager plug-in), which supports component
interface browsing, declarative role-based security, and runtime
monitoring.
- Create clusters of Jaguar servers for which you
can enable load balancing of client requests, make components highly
available, synchronize components, packages, and other server configurations
across a cluster's servers, and automatically fail over
components on a crashed server to components on another server.
You can configure metrics and policies to control dynamic load balancing
of components running on servers in a Jaguar cluster.
- Create and deploy Web applications that contain
static files, servlets, and JSPs, and specify the properties necessary
for them to work together. You can also use PowerJ to build and
deploy Web applications. See Chapter 7, "Developing Applications
with PowerJ and EAServer" for more information.
Jaguar provides the following additional services:
- Transparent client-session
and component-lifecycle management.
- Connection caching to allow reuse of remote database
connections.
- Transaction management to simplify the use of shared
data and resources. One of Jaguar's distributed transaction
models is the CORBA Object Transaction Service (OTS) and XOpen architecture
(XA). Jaguar embeds the Transarc Encina® transaction coordinator
to manage OTS/XA transactions.
- Result-set support to enable efficient retrieval
of tabular data in client applications.
- Support for Enterprise JavaBean (EJB) components
developed according to version 1.1 of the Enterprise JavaBeans specification.
- Hosting of Dynamo Web sites so that you can access
those sites from a browser.
- Declarative, role-based security to restrict client
connections and the components that can be invoked by a specific
client session.
- Identities to map logical identity names to a user
name, password, and required SSL session characteristics. The identity
names are used in the run-as mode settings for components and component
methods.
- Naming services to let you associate a logical name
with an object, such as a component. Naming services allows clients
to easily locate a component anywhere on a network and execute its
methods.
- SSL support for Java, ActiveX, C++ clients.
In addition, you can install Jaguar Manager and Security Manager
independently of a Jaguar server, which allows you to manage certificates
on machines where you run clients that connect using SSL.
- Ability to add digital certificate IDs to Jaguar
roles, so that component access is authorized based on client SSL
certificates.
- Server and client support for Entrust PKI security.
You can use Entrust public key certificates to authenticate Jaguar
servers and client connections.
- A quality of protection (QOP) feature that allows
you to establish minimum security requirements at the package, component,
and method level.
- Jaguar servers can use a Java virtual machine other
than the default.
- Installation of a Jaguar server as an NT service
so that the Jaguar server starts automatically whenever Windows
NT restarts.
- A JagRepair server to repair configuration errors
that prevent you from starting a Jaguar server.
- Full deployment of Java components from the PowerJ
IDE.
- Deployment and synchronization of application files
(such as Java applets and HTML files) associated with a component,
servlet, or package.
- Refresh Java component and servlet implementation
files without shutting down and restarting a Jaguar server.
- A message service that you can use for asynchronous
event notification.
- JavaMail to send mail from a Java component, JSP,
or servlet.
For more information
For more information,
see the Jaguar documentation, which includes these books:
- Getting Started for
your platform
- System Administration Guide
- Programmer's Guide
- API Reference
What you need to know before using Jaguar
To
use Jaguar effectively, you should be able to create programs in
at least one of the following programming languages or component
models:
- PowerBuilder
- C (requires knowledge of Java, C++,
or ActiveX to create a client application)
- C++ including DLLs
- Java/Enterprise JavaBeans/Java
Servlets
- ActiveX including COM
You should also know how to retrieve and update information
in databases and be familiar with component technology concepts.
Dynamo overview
Dynamo
is perfect for implementing thin-client Web applications for an Internet
or intranet site that can support millions of hits per day. Dynamo provides
the tools necessary to build and manage a thin-client Web application containing
both static HTML and dynamic, data-driven content.
Not only does Dynamo leverage a powerful object-oriented scripting
language called DynaScript, but Dynamo applications can be extended
to call any component supported by EAServer. The Dynamo application
server acts as an intermediary between the Web server and the DBMS.
The application server processes templates, which are HTML pages
with embedded SQL or COMPONENT statements and DynaScript scripts,
and serves the resulting output together with static HTML to the
Web server. In addition, Dynamo's unique use of the database
as a Web repository allows for entire applications to be distributed
using existing database replication facilities.
With Dynamo, you can:
- Build templates, SQL
statements, and scripts for Web pages by using a collection of powerful,
customizable wizards.
- Modify the source for your Web pages by using a
syntax-highlighting editor.
- Write scripts in DynaScript, which is designed specifically
for server-side scripting with the Dynamo application server. DynaScript
is fully compatible with ECMAScript. ECMAScript is the standard
for JavaScript and JScript-like languages.
- Store and execute the thin-client Web application
in a database and manage it using Sybase Central, a graphical server
administration tool.
- Use existing database replication technologies to
distribute entire Web solutions (including both application and
data) to wherever the application is needed. Web solutions can be
distributed to multiple servers for load balancing, various offline
workgroups, or even to laptops for mobile users.
- Use the PowerDynamo Personal Web Server to test
Web sites locally and to provide offline access.
- Invoke Jaguar components. PowerDynamo can access
Jaguar components through Java, ActiveX, SQL queries, or PowerDynamo
tags. Access the EJB interfaces of Jaguar components.
- Integrate with other Web development tools, including
PowerSite.
- Access Java classes from within Dynamo
scripts. These classes may be stored within a database or a file
system.
- Create and manipulate XML. The template wizard from
Sybase Central may be used to create queries that generate output
in either HTML or XML. The XML Document Object Model may be used
to manipulate XML documents. Dynamo tags and built-in functions
are also available for the creation and manipulation of XML documents.
- Send, receive, and manipulate mail from within a
PowerDynamo Web site.
- Enable FTP functions in PowerDynamo Web sites.
Dynamo provides the following additional services:
- Database connection pooling to allow
for reuse of database connections and eliminate the time-consuming
and resource-intensive process of constantly creating new database
connections.
- End user session management to maintain client state
information.
- Page caching the HTML output of frequently accessed
pages, improving retrieval time.
- Document generation scheduling to schedule the processing
of specific templates or scripts, whose content generation may be
lengthy.
Dynamo is available on AIX with NSAPI, CGI and the Personal
Web Server. CGI and the Personal Web Server are available on Solaris
(NSAPI is supported from previous Dynamo releases).
For more information
For more information,
see the PowerDynamo documentation, which includes these books:
What you need to know before using Dynamo
To use
Dynamo effectively, you need to be moderately familiar with Web technology
such as HTML (Hypertext Markup Language), ECMAScript, and the operations
of Web browsers and servers. You should also be somewhat familiar
with SQL (Structured Query Language), and using databases.You do not
need to know DynaScript before using Dynamo. Dynamo includes tutorials and
clear examples of using DynaScript.
Benefits of using Jaguar components with PowerDynamo
Jaguar
components can be called from within a Dynamo script as though they were
stored procedures, Java objects, or ActiveX objects. The type of component
being accessed is irrelevant to the client. As long as the client
has been set up properly to access the component, Dynamo scripts
can be written to use Jaguar components as though a stored procedure
was being called (referred to as the MASP feature in Jaguar) or
by creating an instance of a Java or ActiveX object.
The three main benefits to using Jaguar components in Dynamo
scripts are:
- Business logic stored
in one Jaguar component becomes available to many clients.
- Jaguar makes powerful native code components such
as C and C++ available for execution by Dynamo
scripts that would otherwise not have access to methods written
in C and C++. This extends Dynamo's capabilities
to an even greater extent, as there are few limitations being put on
the languages that Dynamo scripts may make use of.
- Components can be updated in one location. Without
Jaguar, changes to a component or a stored procedure would be required
at each client.
The way in which Jaguar components are independently accessible
by clients such as Dynamo is advantageous because no restrictions
have been put on the way in which the client can manipulate the
component results. The component results are wholly controlled by
the client which, in the case of Dynamo, is by HTML pages.
The ability to access these components at one central repository
is extremely appealing from a setup point of view. Setting up Dynamo
to access Jaguar components can be as simple as creating a connection
to the Jaguar server or installing the ActiveX proxy automation
server. A brief summary on setting up clients to access Jaguar is
given in Chapter 4, "Using PowerDynamo with Jaguar". For detailed information on setting up
clients that require Jaguar access, see the Jaguar CTS
Programmer's Guide.
Adaptive Server Anywhere overview
Adaptive
Server Anywhere is included with EAServer to provide a full-featured
SQL database for Jaguar applications. Adaptive Server Anywhere is designed
to operate in environments with limited physical and database administration
resources.
Adaptive Server Anywhere is a transaction-processing relational
database management system (RDBMS) with full recovery capabilities,
online backup, referential integrity actions, stored procedures,
triggers, row-level concurrency control, and a rich SQL language.
In addition, Adaptive Server Anywhere contains the following features:
- Economical hardware requirements Adaptive Server Anywhere requires fewer memory and disk resources
than other database management systems.
- Easy to use You can use Adaptive Server Anywhere without the extensive
database administration efforts usually associated with relational
database management systems.
- Standalone and network use Adaptive Server Anywhere can be used in a standalone manner,
for example as an embedded database in a data-centric application,
or as a network server in a multiuser client/server or three-tier
environment. As an embedded database system, it can be started automatically
by an application when required.
- High performance Adaptive Server Anywhere is a scalable, high-performance
DBMS. Adaptive Server Anywhere can run on multiple processors, has
an advanced query optimizer, and provides performance monitoring
and tuning tools.
- Industry standard interfaces Adaptive Server Anywhere provides a native ODBC 3.0 driver
for high performance from ODBC applications. Adaptive Server Anywhere
comes with Sybase's jConnect (an all-Java JDBC driver),
and supports Embedded SQL and Sybase Open Client interfaces.
For more information
For
more information, see the Adaptive Server Anywhere documentation, which
includes these books:
- Adaptive Server Anywhere Reference
Manual
- Adaptive Server Anywhere User's
Guide
- Adaptive Server Anywhere Programming Interfaces
Guide
- Adaptive Server Anywhere Data Replication
with SQL Remote
For basic information about databases, see First
Guide to SQL Anywhere Studio in SQL Anywhere Studio.
Although SQL Anywhere Studio is not included in EAServer, you can
view First Guide to SQL Anywhere Studio on the Sybase Product Manuals Web site
.
Application Integrator overview
AI
for CICS and AI for Stored Procedures enables Jaguar to access stored procedure
and mainframe COBOL programs. You use the AI Component Builder to
create components from COBOL programs and stored procedures without
any coding. From within the Component Builder, you can quickly deploy
the components to a Jaguar server.
Through
GoldenGate for EAServer, Jaguar components can access SAP business
objects. GoldenGate for EAServer is third-party software that you must
purchase separately. Once you have installed GoldenGate for EAServer and
have access to SAP business objects, you generate and install proxy components
for the corresponding SAP business objects onto a Jaguar server. You
can invoke the SAP proxy component interface from any CORBA, EJB, COM,
or PowerBuilder component using Java, C++, or
PowerBuilder. For more information about GoldenGate for EAServer,
see the documentation that accompanies the software.
In addition to Sybase database stored procedures, you can
use AI for Stored Procedures to execute:
- Any database stored procedure accessible
through JDBC, including Oracle and Informix (access to non-Sybase
databases requires additional JDBC drivers).
- Open Server language events
- Open ServerConnect Remote Procedure Calls (RPCs)
- DirectConnect Remote Stored Procedures (RSPs)
- Database SQL commands, such as SELECT, INSERT, EXECUTE, UPDATE,
DELETE, and others
For more information
For
more information, see the Application Integrator documentation,
which includes these books:
- Application Integrator for
CICS Reference
- Application Integrator for Stored Procedures
Reference
What you need to know before using Application Integrator
To use
AI for CICS effectively, you should be moderately familiar with
Jaguar and know about:
- Your mainframe environment, and
- The COBOL programs you want to integrate with Jaguar.
To use AI for Stored Procedures effectively, you should be
moderately familiar with Jaguar and know:
- The stored procedures that you want
to integrate with Jaguar, and
- JDBC drivers and database connectivity.
To use AI for SAP effectively, you should be moderately familiar
with Jaguar and know:
- The SAP business objects that you want
to integrate with Jaguar, and
- The GoldenGate for EAServer environment.
PowerJ overview
PowerJ is Sybase's RAD tool for Java development.
Even if you are not an experienced Java programmer, you can use
PowerJ to write sophisticated programs. If you are
an
experienced Java programmer, you can use the full facilities of
Java whenever necessary.
Because PowerJ provides facilities that let you build and
deploy components directly to the middle tier, it is the ideal
web development environment for EAServer.
With PowerJ, you can:
- Write Java code
that takes advantage of the PowerJ component library, a collection
of Java classes that speeds the development process
- Use object-oriented programming features such as
inheritance, encapsulation, and polymorphism to make your objects
more reusable
- Create Java components that can be deployed directly
to EAServer
- Deploy Java nonvisual objects to the Sybase Java
VM running in an Adaptive Server database
- Retrieve and update database information using Sybase's
patented DataWindow technology
- Access a variety of industry-standard databases
through JDBC, the Java standard for database access
- Build windows, menus, and other user interface components
using visual programming tools
- Build applications that run on any platform that
supports the Java virtual machine
Copyright © 2000 Sybase, Inc. All rights reserved.
|
|