The Framework for e-business provides a full range of services for developing, deploying, and managing e-business applications. The hosting services are a key component of the Framework and play a key role in the Framework's support for portals. These services extend and enhance several layers of the Framework as illustrated by the check marks in Figure 1.
Figure 1. Framework architecture
Service providers combine software, hardware, and networking technologies to offer service-based applications such as enterprise resource planning (ERP), sales force automation, collaboration, Web hosting, and e-business applications. Service providers divide the labor between Internet access and delivery, which protects customers from relying solely on one provider for both. SPs also enable the customer to amortize the cost of applications by reducing the skill requirements for operation and maintenance of the business application.
For customers, the SP provides software and management services and the personnel needed to develop and support them, which can be highly cost effective. Customers concentrate on their core business processes while the SP provides infrastructure support such as software license management, hosting, billing, subscription management, service level monitoring, network delivery of applications, version management, help desk, consulting, and integration services.
For ISVs, service providers enable new channels for deploying applications into a distributed environment by supplying infrastructure and offering global access. The SP provisions a Web presence, while the ISV delivers content. The model reduces the complexity of and resource management by providing a common set of infrastructure components, which enable the delivery of a higher quality and more cost-effective level of service. These factors combine to lower the cost of entry and reduce time-to-market for the ISV.
Today there are three predominant SP models:
- Co-locating - In this model, the application provider co-locates the machines running the with a bandwidth provider (ISP). The provider is responsible for managing application server machines remotely or on site. The provider integrates and customizes the offerings into the SP's existing infrastructure.
- Dedicated - This model is similar to the traditional outsourcing model in which the SP provides dedicated machines to a business running a fixed set of applications. The dedicated hardware typically runs ERP applications and provides a guaranteed level of service and availability. The SP manages both content and infrastructure.
- Shared hosting model - In this model, the SP provides bandwidth, machines, and software services for supporting shared applications. The applications are shared among multiple enterprises with multiple users on a virtual host.
The co-locating and dedicated models require that the SP go through the steps of procuring, installing, and deploying a new server and an instance for each new company joining its service. The operation scalability is predictable and linear, and has some economies-of-scale in people costs at the low end of the growth curve. However, these models have severe implementation challenges past the "knee" of the exponential growth curve.
The shared hosting model leverages shared services across multiple customers and applications. Shared services and infrastructure maximize the potential for realizing economies-of-scale as the size of the SP increases. The model has a lower incremental cost for each customer than the co-locating and dedicated models. To achieve the necessary economies-of-scale, the SP's infrastructure must be designed to explicitly address the operational cost forces introduced by the Internet environment, which include:
- Rapid change and constant flux - New applications, subscribing companies, and additional users need to be constantly added, as well as new versions of operating systems, applications, hardware, and networking technology.
- Exponential growth - The vast reach of the Internet means that SPs/ISVs that catch fire will experience exponential growth of their subscription base.
- Support for small/medium businesses - Dedicating servers to a limited number of customers does not scale to Internet usage. Management personnel requirements for the dedicated server model are also significantly more than the shared model.
- Offer and deliver Service-level Agreements (SLA) - SPs need to optimize operational costs while still delivering SLA-specified levels of service. SLAs may be contractual, with substantial penalties being incurred for non-performance. This places a premium on reliability, availability, and scalability, creating the need for a robust infrastructure.
- Support for multi-tier architectures - The applications that are best designed for an SP environment are based on newer component-based architectures such as Enterprise JavaBeans. While the resulting architectures are highly flexible and well suited to Internet deployment, they also result in a more complex n-tier architecture: Web servers, servers, back-end database servers. An SP must be able to cost effectively manage and monitor this environment.
In this very challenging environment, the SP must strike a balance between their costs of operation and the levels of service they provide to customers.
Within the shared hosting model, there are two distinct types of hosting:
- Closed - The SP hosts a fixed set of applications from which the user must choose. This is the model many portals use today.
- Open - The SP enables the site administrator and the user to install applications from any ISV by providing a common set of services for user, resource and managment functions. Figure 2 illustrates the open, shared hosting model.
Figure 2. Open, shared hosting model
- The user browses an ISV site that has a list of offerings. The user locates an to rent, signs up for the application, and requests that the service provider host the application.
- The installation/instantiation process negotiates system resources such as database and Java support, invokes the registration process if necessary and transfers billing information to the SP's site.
- The SP installs the into its software warehouse.
- During the installation process, system resources are allocated for the application. The user can now run the from the service provider's site.
The key to the open hosting model is that the application hosting services provide automation capabilities for driving provisioning and customization tasks. However the SP may inject manual steps at any point in this flow for and customer provisioning. For example, the SP may implement a code inspection policy before applications can be run.
hosting, or rental, represents big opportunities for service providers and resellers. With these opportunities come challenges that must be addressed as the rental market matures from a closed to open hosting environment.
- Quality-of-service - SPs have to invest in the infrastructure capable of handling high-end solutions providing secure access and high availability to services. Providing reliability guarantees and monitoring compliance to service agreements are key components of a quality SP.
- Security - As more companies move core business function outside of the company, data and isolation as well as high-quality firewall implementations are essential for protecting sensitive internal data.
- Standards - The SP must provide offerings that operate as a seamless unit when in reality the offerings are implemented as a mixture of new and legacy components. Standards must be set to ensure the SP can integrate these components in more cost-effective ways, lowering the total cost of ownership.
- Componentization of business applications - Components and Internet standards are evolving rapidly and greatly facilitate re-use. Many business applications were designed for a single purpose/company; they run on thick clients and are inherently single company-based. Many ISVs are announcing plans to break out their client software into JavaBeans components. An Internet component model based on existing and evolving standards is a key success factor for providers.
- Customization/personalization - One size does not fit all. SPs will need to support a high degree of customization and personalization at all levels. Customers will want to customize the look of applications as well as the data model and workflow of hosted applications. Hosted applications must be well factored and provide data models that are open, extensible, and standards-based in order to support the level of customization required.
- Scale - Service provider infrastructure must support the Internet growth curve and scale. Today many business applications support only one company per application, which implies that for each customer the service provider will have dedicated hardware and software. This model will not support Internet volume; therefore, the infrastructure must enable applications to be shared by multiple enterprises with multiple users across a single virtual host in order to realize the economies-of-scale necessary to support large volumes of users.
- Economics - To make the SP model an effective business, SPs will need to charge a fee higher than the aggregate cost of the and the cost of running, managing, and hosting that application. Additionally, for a specified service level, the SP must optimize its cost structure by implementing a shared services architecture, rather than a dedicated server per customer architecture. As the number of users increases, this architecture is considerably more cost-efficient.
The Framework for e-business supports a set of application hosting services for creating, publishing, and managing open, standards-based applications for the rental market. The common set of services will be used by the ISV, enabling the SP to host a variety of types in a shared hosting model. The services provide an infrastructure for automating the tasks involved in creating and integrating hostable applications into an SP's environment. These services will enable SPs to move from a closed hosting to an open hosting environment (as described under Open, shared hosting model).
The hosting services consist of a set of service interfaces provided by the SP and used by the ISV. The SP provides a set of implementations of the service interfaces that enable the site to publish, accept subscriptions, receive payment, and manage open, standards-based applications. Each service is extensible, so that the SP may tailor the model to fit specific needs. The default implementations provide a reasonable platform to provide out-of-the-box solutions for the SP and ISV.
The hosting services provide the ISV with a single set of interfaces enabling the to participate in the lifecycle (installation, usage, suspension, removal) and billing aspects of the application. Existing Framework-based applications can evolve to take advantage of these services, which means they can be integrated into and offered by SPs with little or no change. Over time the application can be modified to leverage the services to automate the integration and customization tasks required for hosted applications.
Figure 3 illustrates the hosting services as well as which party in the offering is involved with its usage. All of the hosting services are provided by the SP with the following usage patterns:
- The provider (ISV) uses the set of the services related to customer, application, billing provisioning and usage tracking.
- The customer uses the set of customer facing services for registration, support, browsing and usage tracking.
- The SP uses the set of publishing and administration interfaces to define and manage applications and their execution environment.
Figure 3. Hosting Services
- Data Import/Export - enables the import and export of data to and from rented applications. This service enables users to extract data and move the rental to another service provider if necessary.
- Storefront - manages product information for available applications and display of that information. The storefront consists of a set of templates used to display published product information and support the process of signing up for rentals. An SP site can have multiple storefronts for multiple groups enabling the site to provide a customized set of applications for different groups. Storefronts are created using the publishing service.
- Registration - implements management functions for adding, deleting, and updating and user registration information. The service manages:
- The registration of applications within the site including vendor information
- Profile information associated with each user/group and pairing
- Customer Service - provides a set of customer-initiated account actions, which include viewing usage status, updating profile and payment information, managing the invited user access to an application instance, and closing an account. This service also provides application support in the following areas:
- Support of the infrastructure and resources of the application. Examples include how often backups are done, how much space is allocated and charged for an allocation, and availability of applications.
- Content level support: Examples include how-tos, FAQs, and knowledge databases.
- Security - provides services that are used to create a secure environment for installation, access, and operation by managing access privileges and server-side execution of untrusted code. The security service also provides a single sign-on capability for the SP as well as Virtual Provide Network (VPN) provisioning tasks.
- Application Managment - provides lifecycle management of hosted applications including installation, instantiation, updating, migration, suspension, and removal. The installation operation unpacks the by following the instructions contained in the metadata of the package. It carries out specific tasks such as creating databases, installing EJBs etc.
- Resource Managment - implements the negotiation, allocation, and removal of SP site resources associated with an application. The SP advertises (supplies) a set of resources available on the site (such as JDBC, EJB. cig-bin) and the requests a set of resources it needs to run. The resource service matches demand with supply and performs allocation, reallocation, and deallocation tasks. The resource service maintains a registry of available resource types which are extensible by the SP or a third party.
- Licensing - tracks and manages licenses for hosted applications. The licensing service is used to ensure an is licensed for use by a given user or group of users.
- Log Facility - logs all service activities at all levels. The administration service can use this facility to view error messages and other operational information.
- Account & Billing - manages the definition and accumulation of billable events and charges generated by usage. The billing service participates in the gathering and validation of customer payment information. The service allows a site's billing system to be plugged-in to create an agreement. This agreement associates usage information records stored in the site's usage database with customer service records stored in the service provider's back-end systems.
- Workspace - is a platform-specific abstraction responsible for the maintenance of a physical instantiation. The workspace is used to allocate and deallocate an area for an application to be installed onto the server farm for a given user or group. The warehouse service maintains a list of instantiations which have associated workspaces. The workspace service also provides a virtual storage environment for end users that enables them to maintain applications, links and files.
- Realtime Collaboration - enables distributed communities to communicate, share documents, and share other information in a real-time manner. This service enables providers to integrate interactive communications into their applications simply by providing push-to-talk buttons on a customer Web page so that customers can be connected to SP customer care centers or to merchant customer care centers. When a real-time collaboration service is offered by an SP, it enables real-time conferencing and chatting between its customers.
- Workflow - provides business integration across groups of work queues, dynamic workload distribution, and publish/subscribe brokers. The SP dynamic workload distribution shares workload among available queue managers which are part of the same cluster. It can provide extra capacity, or alternative network paths when needed. The publish/subscribe function automates the distribution of relevant information to people and applications who have registered interest in a particular topic. The workflow service is used by the SP to control messages between the provider, SP, ISP, and possibly the customer Web browser.
- Warehouse - maintains the installed applications on the SP. The information in the warehouse includes the application files as well as the metadata describing the applications. When a user or group signs up for an the is retrieved from the warehouse and instantiated into a workspace.
- Publishing - establishes which applications are available to which users/groups. When a service provider is ready to offer an to customers, the administration service uses the publishing service to publish the to a storefront. The publishing process creates an offer of an application, including rental terms and pricing. Each offer can have a different set of materials, allowing the service provider to offer different pricing structures to different customers.
- Administration - provides the administration interface for the SP to publish applications to a storefront and monitor usage, resource consumption, registration information, security settings, and availability. The administration services provide a programmable interface through which bulk administration of multi-enterprise, multi-user server applications can be accomplished.
- Service Level Monitoring and Management - supports the administration of the execution environment, managment of storage and network connections, and monitoring service levels. This includes such quantitative measures as availability and response time, and qualitative factors such as responsiveness.
The hosting services are designed and built as extensions to the Framework. The Framework programming model provides the flexibility and consistent programming environment that allows e-business solutions to be constructed from building block components. Each service in the set of application hosting services is a JavaBean (or Enterprise JavaBean) component designed and implemented adhering to the Framework programming model. The services are designed to allow for easy customization or extension by software developers. The services are implemented to accommodate three types of customization:
- Extension. As with any JavaBean, additional interfaces may be created for any hosting service.
- Replacement. Since a hosting service is a set of JavaBeans, alternate implementations of a service may be created using the same interfaces.
- Expansion. Existing business logic may be wrapped with a JavaBean such that it can be used as a part of any of the hosting services
The hosting services discussed above build on and extend the underlying Framework infrastructure and services with functions required for hosting applications. As illustrated in Figure 4, the application hosting services affect the e-business services, application server software, network infrastructure, and systems management layers of the Framework.
Figure 4. Framework architecture with hosting services
Application hosting is an important and growing environment that has a unique set of requirements. To satisfy these requirements, existing Framework services must be extended and new services defined. All these services will support the Framework programming model and will be driven into the appropriate standards bodies. These services enable the service provider to minimize operational costs and achieve the appropriate economies-of-scale promised by shared hosting by automating key management and operational tasks. As the number of users increases, this architecture is considerably more cost-efficient.