Default language.

AR System architecture


 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.

 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  architecture. Notice that no definitive starting and ending point separates the environments because their functions sometimes overlap.

   functional components

ARSystemComponents.png

 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)
    • 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:
    • Server functions such as  and 
    • Web services
  • Data storage— 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 .

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

 groups for scalability and high availability

To provide scalability and increase reliability, you can connect a group of  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 .

ARS_High-Level_Architecture_Updated.png

Distributed environments provide scalability

Use  to build large-scale, distributed environments that behave like a single virtual system.  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  to implement these decisions. 

  in a distributed environment

DistribServer.gif

Heterogeneous environment provides flexibility

Because the multiple layers of  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:

  •  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.
  • A  on Windows can interact with a database on UNIX.

 client/server architecture

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

CoreArch.gif

  • Client tier—Contains  clients. Most clients present information to application users and receive input from them. The tools for migration and application development are also clients.
  • —Contains components and add-in services that run on a web server, enabling users to view applications on the web.

  • Server tier—Contains the , 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 , , and ) and the C and Oracle Java plug-in servers with plug-ins.
  • Data tier—Contains database servers and other data sources that  can access. The database server acts as the data storage and retrieval engine.

 clients provide the user interface. The  makes the user interface available in browsers. The  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

 client/server communication

This section explains how  components communicate with each other.

Communications between clients and the 

All clients of the  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  web server communicates with the browsers using Hypertext Transfer Protocol (HTTP) or Secure HTTP (HTTPS).

Communications between  and database servers

From the perspective of the database server, the  is a database client.  uses the JDBC to connect to the database. When a  is installed, the installer specifies the type and location of the database server that informs the  which JDBC driver to use. The  supports SQL Server and Oracle databases and communicates with the database servers by using type 4 JDBC drivers. The  uses the JDBC connection pooling to allow multiple database connections in parallel. The  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  environment, one  can theoretically support any number of  client connections (limited by network bandwidth and server host and database performance). The clients can be on any mix of platforms. Similarly, a  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.

clients

 clients provide user interface facilities available from various platforms, including the Web.  clients are available for many operating system environments, as listed in  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.

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

User clients

Through the , users can access  in a browser.

From the browser, administrators can:

  • Create groups and roles
  • Create users and assign licenses
  • Manage  settings and licenses

Users can:

  • Access  forms and applications to create, submit, search, and modify requests
  • Receive and respond to  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  applications.

Client

Tasks

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

 Configuration Tool

Administrators can:

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

Remedy Data Import

Administrators can:

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

Remedy Data Import is available for Windows.

Import/export command line interface (CLI)

Administrators can:

  • Connect to the  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  to import data without the graphical user interface of Remedy Data Import
  • Automate tasks
  • Migrate applications, objects, and data between servers, servers and files, or files
  • Reduce the difficulty and time required to synchronize  in development and production environments.

Integration clients

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

  • 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.

  database server

 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  processes. Physically, the database server processes can be running on the same server host as the  or on a different host. The database server can be any platform that the database engine supports. 

Support for an external database

 can also work with data stored in external databases and other data sources that  does not manage.  accesses these data sources through view forms. In addition,  can use  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 .

Support for multiple database types

Because the  manages all workflow, applications are independent of the database. Therefore, applications created on a  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.

 is not a database application in the typical sense.  manages all of the workflow, so proprietary database features such as triggers and stored procedures are not used. An application created on a  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

 workflow components can search for records (requests) in the  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

 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*