GP.Application Hosting

From OIAr
Jump to navigation Jump to search

This is a Generic Pattern document GP Application Hosting Version: 0.3 OIAr logo
Document type: Generic Pattern Owner:

J.A.H. Schoonderbeek


This Generic Pattern belongs to "Business Support". The Application Hosting function can accommodate (business) application services. This entails:

  • the runtime environment that the hosted applications can use;
  • a means to expose or publish the application services' results to its users;
  • the connectivity that consumers of the application's services require for access;
  • and optionally, extra functionality to service the application services.

Examples of application services that can be hosted are:

  • Applications that are used in a web environment, e.g. Java or .Net applications - in this case the Application Hosting service is provided by an "application server" such as a Tomcat or GlassFish;
  • Binary applications, e.g. Windows or Apple applications - the Application Hosting service is then realized with a "server";
  • Virtual Machines, such as virtual servers or desktops - the Application Hosting service is then realized by virtualization hosts.

Services realized

This Pattern realizes the following service(s):

  • Application Hosting (Application Hosting provides functionality to accommodate (business) application services.)

Functional and Integration view

This is the graphic representation of the functional model of this Generic Pattern:

Application Hosting
Application Hosting

Generic Pattern Composition

This pattern is an aggregation of the following (mandatory and optional) functions, expressed in Generic Functions:

Icon Function Inclusion Rationale
GF.Application Engine icon Application Engine recommended This delivers the core functionality of the Pattern.
GF.Presentation Engine icon Presentation Engine optional This function delivers important support to the core functionality of any application hosting solution: the presentation of the application to the consumer. Note, however, that an Application Hosting service may be deployed behind a separate service that takes care of this. The technology used here must match those available at the service's consumer (e.g. HTTP implies browser, X Window implies X Server etc).
GF.Presentation Aggregation icon Presentation Aggregation optional When combining multiple hosted applications, Presentation Aggregation may serve to share (presentation-specific) functionality.
GF.Scheduling icon Scheduling optional While the service Application Hosting usually responds to consumer request, it may be convenient to have the service also respond to other triggers. The Scheduling function can model this capability.
GF.Transaction Coordination icon Transaction Coordination optional This function can provide the needed coordination in either of the following situations:
  • when transactions that are processed by the solution are interdependent with transactions taking place in other services;
  • when multiple instances of one business application need to be hosted AND the transactions that the solution must process are interdependent.
GF.Message Formatting icon Message Formatting optional If an Application Hosting facility is to be able to offer its hosted applications the possibility to send out and/or receive messages (such as e-mail), then this function acts as intermediary between the application and the message handling service
GF.Controlling icon Controlling recommended When allowing consumers (such as users and/or administrators) the ability to change the configuration of the Application Hosting service, special care may be required to prevent unauthorized access to applications hosted and/or data accessed by the Pattern.

Note that this function is limited to the Application Hosting facility, and cannot directly manage the applications running on the Application Hosting facility.

Services connected with this Generic Pattern

This Generic Pattern has the following mandatory and optional relations with adjacent Generic Services.

Service Adjacency Summary Rationale
Authentication & Authorization optional This service can validate an identity claim, and it can validate the permissions required for an action, as part of an Authentication & Authorization process. When authentication/authorization (A&A) is needed and cannot be (fully) catered for in an Access Security pattern, then the A&A facility is necessary. Authorization can be paired with Application Hosting relatively easy, but application of authorization is more secure if it takes place earlier in the traffic stream from client to application. Hence the usage of Access Security -including A&A- is preferable.
Data Management optional This service provides its consumers the ability to manage strictly structured data. Should the Application Hosting pattern need to offer hosted applications the ability to store strictly structured data, or should it require this for itself, then it should include or connect with an instance of this service.
File Storage optional This service offers clients the ability to store, retrieve and modify data in loosely structured form. Should the Application Hosting pattern need to offer hosted applications the ability to store loosely structured data, or should it require this for itself, then it should include or connect with an instance of this service.
Message Handling optional This service handles transport, storage and delivery of messages between senders and recipients. This service offers the means to deliver data to applications, and/or to enable applications to send data out. It may provide asynchronous messaging (like email or XML messages), synchronous messaging (like SOAP messages over HTTP or RPC) or both.

Applied Patterns based on this Generic Pattern

The following Applied Patterns are based wholly or in part on this Generic Pattern: