AR System architecture


AR System is a part of the Converged Application Server that helps you to develop, build, deploy, and use applications on cloud (SaaS) and on-premises environments. Converged Application Server is a single-tenant common platform for Remedy and BMC Helix Platform applications.

The Converged Application Server is built on Remedy AR System. For more information about Converged Application Server architecture, see BMC-Helix-Innovation-Suite-architecture.

AR System is based on a client/server architecture. The following figure depicts the relationship among the components that reside within each of the functional environments of the AR System architecture. Notice that no definitive starting and ending point separates the environments because their functions sometimes overlap.

 AR System  functional components

ARSystemComponents.png

AR System includes the following functional environments:

  • Presentation—The presentation layer is responsible for presenting services and displaying data to clients through various interfaces, which include:
    • Browsers
    • Cell phones
    • PCs
    • Personal Digital Assistants (PDAs)
    • Developer Studio
    • API programs
  • Business processing—The following business processing components manage the data entered through clients, perform services based on your business processes, and enforce your business rules. This portion of the architecture includes:
    • Mid Tier
    • AR System server
    • Server functions such as Distributed Server Option and Approval Server
    • Atrium Integrator
    • Web services
  • Data storage—AR System supports Oracle and Microsoft SQL Server databases for storing data. For each of the relational databases, tables owned by other systems can be referenced as if they were owned by AR System.

Within these functional environments, several system components work together to provide power, flexibility, and scalability.

AR System groups for scalability and high availability

To provide scalability and increase reliability, you can connect a group of Approval Server to the same database and manage them as a unit by configuring a server group. Server groups act as a single server to support the applications that they run. Servers in the server group can be configured to spread the load of shared services, and they can provide backup to each other to ensure that those services are always available.

The following figure depicts the high-level architecture of the AR System.

ARS_High-Level_Architecture_Updated.png

Distributed environments provide scalability

Use Distributed Server Option to build large-scale, distributed environments that behave like a single virtual system. DSO enables you to share common information among servers and keep that information consistent. For example, as illustrated in the following figure, you can transfer copies of a request to other servers and ensure that any changes made to the copies are also made to the original request. The way that you define the processes for transferring information is similar to the way that you define business processes for an application. First, managers at each site must agree on what information to transfer from one application to another, what conditions drive transfers, and which sites control the ability to update a record. An administrator at each site then uses DSO to implement these decisions. 

AR System  in a distributed environment

DistribServer.gif

Heterogeneous environment provides flexibility

Because the multiple layers of AR System are independent of one another, you can combine operating system platforms to fulfill different functions. The heterogeneous environment enables you to mix and match client and server platforms. For example:

  • Developer Studio on a computer running Windows can manage forms on a UNIX or Linux server.
  • Browsers can use a mid tier based on Microsoft Windows to access forms on a UNIX server.
  • AR System server on Windows can interact with a database on UNIX.

AR System client/server architecture

AR System is based on a multitiered client/server architecture that includes the client tier, the Mid Tier, the server tier, and the data tier. The following figure shows the various tiers of the AR System.

CoreArch.gif

  • Client tier—Contains AR System clients. Most clients present information to application users and receive input from them. The tools for migration and application development are also clients.
  • Mid Tier

    —Contains components and add-in services that run on a web server, enabling users to view applications on the web.

  • Server tier—Contains the AR System server, which controls workflow processes and access to databases and other data sources in the data tier. This tier also contains server-side applications (such as Approval Server, Email Engine, and Flashboards) and the C and Oracle Java plug-in servers with plug-ins.
  • Data tier—Contains database servers and other data sources that AR System server can access. The database server acts as the data storage and retrieval engine.

AR System clients provide the user interface. The Mid Tier makes the user interface available in browsers. The AR System server implements the workflow functions, access control, and flow of data into and out of the database. The database server acts as a data storage and retrieval engine. 

multitier-architecture.png

AR System client/server communication

This section explains how AR System components communicate with each other.

Communications between clients and the AR System server

All clients of the AR System server communicate with the server by using remote procedure calls (RPCs) on top of a TCP/IP transport stack. The type of RPC is the Oracle ONC RPC. TCP/IP networks are the de facto standard for corporate and Internet communications. The RPC mechanism is used because it is a "lightweight" transport that uses minimal network bandwidth, yet provides robust communications services. It can function over slower dial-up network links and high-speed internet and intranets, and is supported over most of the wireless networking technologies. The AR System web server communicates with the browsers using Hypertext Transfer Protocol (HTTP) or Secure HTTP (HTTPS).

Communications between AR System server and database servers

From the perspective of the database server, the AR System server is a database client. AR System server uses the JDBC to connect to the database. When a AR System server is installed, the installer specifies the type and location of the database server that informs the AR System server which JDBC driver to use. The AR System server supports SQL Server and Oracle databases and communicates with the database servers by using type 4 JDBC drivers. The AR System server uses the JDBC connection pooling to allow multiple database connections in parallel. The AR System server process comprises many threads to support user requests and share the connection pool. This provides tremendous data throughput and system scalability.

Many-to-many connections

In a AR System environment, one AR System server can theoretically support any number of AR System client connections (limited by network bandwidth and server host and database performance). The clients can be on any mix of platforms. Similarly, a AR System client can be connected to any number of servers at the same time. These servers can be any mix of server hosts and underlying database engines.

AR Systemclients

AR System clients provide user interface facilities available from various platforms, including the Web. AR System clients are available for many operating system environments, as listed in AR System client/server architecture. For each operating system, the client is composed of a set of native applications (tools) that use the standard user interface conventions for that environment. Individual users can run these tools as necessary.

AR System clients can be broadly divided into user client and developer clients.

User clients

Through the Mid Tier, users can access AR System in a browser.

From the browser, administrators can:

  • Create groups and roles
  • Create users and assign licenses
  • Manage AR System server settings and licenses

Users can:

  • Access AR System forms and applications to create, submit, search, and modify requests
  • Receive and respond to AR System notifications
  • Chart data
  • Generate reports
  • Display alerts in the Alert List form, which can be refreshed automatically at specified intervals or manually at any time
  • Search records, run or generate reports, and view flashboards

Developer clients

The developer clients are used to create, modify, and extend AR System applications.

Client

Tasks

Developer Studio

Developers can create and update application, forms, and workflow.

Mid Tier Configuration Tool

Administrators can:

  • Modify the Mid Tier settings for AR System server, passwords, logging, caching, and authenticating web services.
  • Specify home page and preference and catalog servers.

Remedy Data Import

Administrators can:

  • Import AR System data from one AR System server to another.
  • Load external data into the AR Systemdatabase.
  • Map between the columns in the external data set and the fields in the AR System form.

Remedy Data Import is available for Windows.

Import/export command line interface (CLI)

Administrators can:

  • Connect to the AR System server to import and export object definitions without the graphical user interface of Remedy Developer Studio.
  • Automate tasks.

Remedy Data Import Command Line Interface (CLI)

  • Connect to the AR System server to import data without the graphical user interface of Remedy Data Import
  • Automate tasks

Migrator

  • Migrate applications, objects, and data between servers, servers and files, or files
  • Reduce the difficulty and time required to synchronize AR System server in development and production environments.

Integration clients

BMC and its partners also offer the following tools for expanding the capabilities of core AR System. These tools act as clients of AR System.

  • Knowledge Management
  • Network management platform integration accessories
  • Systems management integration utilities

See Publishing-the-AR-System-functionality-as-a-web-service and Integrating-AR-System-forms-with-a-third-party-application-by-using-the-REST-API.

 AR System database server

AR System uses standard relational database engines for the actual storage and retrieval of data. Architecturally, the database server is an independent set of processes that are completely separate from the AR System server processes. Physically, the database server processes can be running on the same server host as the AR System server or on a different host. The database server can be any platform that the database engine supports. 

Support for an external database

AR System can also work with data stored in external databases and other data sources that AR System does not manage. AR System accesses these data sources through view forms. In addition, AR System can use AR System database connectivity (ARDBC) to work with data not stored in databases as if the data was locally owned. In other words, ARDBC plug-ins can be created and configured to enable access to data stored outside the database as if it were in tables owned by AR System.

Support for multiple database types

Because the AR System server manages all workflow, applications are independent of the database. Therefore, applications created on a AR System server running one type of database can easily be moved to a server running a different type of database. BMC provides a simple export/import utility for this purpose.

AR System is not a database application in the typical sense. AR System server manages all of the workflow, so proprietary database features such as triggers and stored procedures are not used. An application created on a AR System server running one type of database engine can easily be moved to a server running a different database engine through a simple export/import process.

Support for database searches

AR System workflow components can search for records (requests) in the AR System database and act on the results of the search. Clients can use the following types of searches:

  • Query-by-example (QBE)
  • Advanced search
  • Predefined
  • Recent

An administrator can create and store searches that users commonly perform. A user can define personal searches for forms to which the user has access.

Support for high availability and failover

AR System leverages common database architecture for high availability, including failover.



 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*