saas enabler for windows - wipro enabler for windows application software as a service (saas) is a...

23
BLENDED MODEL SaaS ENABLER FOR WINDOWS APPLICATION Software as a Service (SaaS) is a software application delivery model. In a traditional SaaS model, end-users access the application remotely via an Internet browser or back- end web servers, subscribe to the features they normally use and pay application cost as per usage. This model targets mainly web application, sharing risk between the SaaS provider and client to offer single–source accountability. In today’s scenario, customers with Windows applications (deployed on the client machine) are huge in number. Implementing SaaS for Windows applications as “pay- per-use” model (SaaS) is becoming a strong consideration. It forces a decision to upgrade or redesign the existing software applications to support SaaS model. Considering these aspects, this whitepaper presents an approach on how to enable Windows application for SaaS model without upgrading/redesigning the application and protect the investment. It demonstrates the ability to configure and support SaaS independently in client installed applications. WHITE PAPER Revathi Ayyadurai ([email protected])

Upload: buidieu

Post on 18-Jun-2018

222 views

Category:

Documents


0 download

TRANSCRIPT

BLENDED MODEL

SaaS ENABLER FOR

WINDOWS APPLICATION

Software as a Service (SaaS) is a software application delivery model. In a traditional

SaaS model, end-users access the application remotely via an Internet browser or back-

end web servers, subscribe to the features they normally use and pay application cost as

per usage. This model targets mainly web application, sharing risk between the SaaS

provider and client to offer single–source accountability.

In today’s scenario, customers with Windows applications (deployed on the client

machine) are huge in number. Implementing SaaS for Windows applications as “pay-

per-use” model (SaaS) is becoming a strong consideration. It forces a decision to

upgrade or redesign the existing software applications to support SaaS model.

Considering these aspects, this whitepaper presents an approach on how to enable

Windows application for SaaS model without upgrading/redesigning the application

and protect the investment. It demonstrates the ability to configure and support SaaS

independently in client installed applications.

WHITE PAPER

Revathi Ayyadurai ([email protected])

TABLE OF CONTENTS

1. INTRODUCTION ...................................................................................................03 2. MOTIVATION FOR BLENDED MODEL SAAS ENABLER..............................04 3. KEY ELEMENTS....................................................................................................04 4. SAAS ENABLER - SYSTEM ARCHITECTURE .................................................05

4.1 Approach..................................................................................................................... 05 4.2 Architecture overview ................................................................................................. 05

5. A HOLISTIC APPROACH TO SAAS ENABLER................................................06 5.1 Blended Model SaaS Enabler Framework .................................................................... 06 5.2 Elements and their Role in Blended Model SaaS platform............................................ 08 5.3 Implementation of System Services and Event Processing Engine................................ 12 5.4 Implementation of other elements ................................................................................ 13 5.5 Performance ................................................................................................................ 14 5.6 Conflict of Rules ......................................................................................................... 14

6. DEPLOYMENT.......................................................................................................14 7. REALIZATION OF SAAS ENABLER FOR ON-PREMISE APPLICATION....15

7.1 Application Description and Deployment..................................................................... 15 7.2 Application Features.................................................................................................... 15 7.3 Flow sequence............................................................................................................. 16 7.4 Interaction with Non-SaaS enabled application ............................................................ 17

8. OFFERINGS OF BLENDED MODEL SAAS PLATFORM ................................17 8.1 Multi User Login Control ............................................................................................ 18 8.2 Security Checks........................................................................................................... 18 8.3 Customization and Configurability .............................................................................. 18 8.4 Avoids effort to rewrite existing applications............................................................... 18

9. BUSINESS BENEFITS............................................................................................19 9.1 Protect Investment ....................................................................................................... 19 9.2 Time-to-Market – Need for Speed ............................................................................... 19 9.3 Engineering Effort - No platform delivery changes ...................................................... 19

10. LIMITATIONS......................................................................................................20 11. ROAD AHEAD ......................................................................................................20 12. CONCLUSION ......................................................................................................20 13. IMPLEMENTATION REFERENCES.................................................................21 14. FURTHER READINGS ........................................................................................21 15. ABOUT THE AUTHOR........................................................................................22 16. ABOUT WIPRO TECHNOLOGIES....................................................................22 17. SOFTWARE PRODUCTS GROUP IN WIPRO..................................................22

Blended Model SaaS Enabler for Windows Application

© Wipro Technologies Page: 3 of 23

1. INTRODUCTION:

In an organization the usage of any software may not exceed 10% of overall opportunity available for end user. This assessment includes high cost software like SAP. In addition, the quick implementation of SaaS to each release of the software is not practical by any software provider. Most organizations overbuy licenses for 60 percent of their software portfolios. Even those that have spent millions of dollars deploying complex IT asset management systems, struggle to control the costs of their IT environment. To have Win-Win situation, by both software provider and end user, different way of working is the need of the hour. SaaS - Software as a Service is defined (in Wikipedia), as a software application delivery model where a software provider develops, hosts and operates a web application used by customers over the Internet. It integrates and leverages among existing products which are used periodically or at peak times, like when financial statements are prepared. On-Premise Software - The desktop software that runs solely on the desktop system. “On-premises” really means the software is running on an organization’s own computers and/or in its own data centers. The organization is fully responsible for (LIOM) licensing, installing, operating, and maintaining this software.

All that changes between on-premise software and SaaS is where that software runs and who runs it. In not much more than a decade, the Internet has remade large parts of the technology world. One of the most important is the shift within enterprises from relying solely on local software to a world of Software as Services (SaaS). Despite these big changes, there are still many more to come. Succeeding in the software business means responding to user needs and envisioning next-generation products. Thus Value Engineering practice is adopted to optimize the process and cost. Blended Model (Proposed Solution) –A newer approach to the idea of providing software as service relies on creating a platform which is specifically designed to be deployed and used as a service for the application. By enabling a more coordinated platform, it is possible for software vendors to reduce time to market by up to 70% or more, reduce development expenses as much as 20%, and increase productivity by 2 - 4 times. It provides a complete, scalable SaaS enabler solution that allows software vendors to enable SaaS quickly, effortlessly, and without risk. It focuses on revenue dynamic rather than customer renewal.

This Blended Model would emerge as a powerful technological global business for companies who focus on more intellectual property – based innovations in the global arena. It is an enormously scalable solution providing recurring revenue to the software provider.

Blended Model SaaS Enabler for Windows Application

© Wipro Technologies Page: 4 of 23

2. MOTIVATION FOR BLENDED MODEL SAAS ENABLER:

Double effort for SaaS and On premises software – The reason for the movement to SaaS is faster deployment, reduced risk, increased flexibility, effective utilization of resources, seamless product enhancements and upgrades. Because today’s SaaS platforms tend to be tied to a specific service provider, moving a SaaS application to another provider requires extensive rewriting.

This leads to an additional overhead of application development for SaaS platform along with the existing platform dependent application development. Companies have to raise a lot more capital and take longer duration and hence higher resources to build their first release than their consumer base. The Blended Model provides a generic platform for SaaS enabling of existing applications without any changes. The model focuses on the merits to entire industry in this area. 3. KEY ELEMENTS: The five key elements to SaaS enabler for on-premise applications: 1. Deploy, Host and Maintain Integrated Environment for all applications: Today, most applications are developed for one target environment, tested and deployed for production. In the conventional on-premise model, these cost and attendant risks fall on the application owner, and in SaaS these are considered to the service provider. Blended Model lets developers spend their time creating great software, rather than building environments and wrestling with configurations just to make their applications run as desktop software and as web services. 2. User Experience Without Compromise:

Blended Model SaaS delivers user experiences, with all the richness and live interactivity that consumers have been conditioned and does not compensate for a sub-par user experience as with the case of traditional SaaS applications.

Native SaaS enabler

On-premises Software

SaaS Application

Blended Model

Blended Model SaaS Enabler for Windows Application

© Wipro Technologies Page: 5 of 23

3. Built-in Security and Reliability: Security and reliability are built-in to Blended Model SaaS platform without

requiring additional development, configuration or other costs. Developers can build applications with the comfort that the security of data, network traffic, access control and others are maintained automatically by the platform through-out application.

4. Integration with Web Services and Databases:

Through the connection to external dynamic data, value can be derived tremendously. Blended Model SaaS platform also has an online subscription and account management module which abstracts the pay as per use policy of SaaS. The platform enables connectivity across the SaaS enabled application and multiple data sources or other applications.

5. Application Instrumentation

Blended Model SaaS platform also provides comprehensive instrumentation of application and user activity, which opens up many new opportunities from understanding the user experience to whole new business models. In the new business models the cost of Blended Model SaaS platform is less than the adoption to web applications. 4. SAAS ENABLER - SYSTEM ARCHITECTURE: 4.1 Approach

Applications in the past were developed to run on a known operating system.

Then appeared the next level of abstraction at service provider level. Now common ground will be developed through which users will have on-premise application to behave like SaaS application. This approach allows for the Blended Model SaaS enabler to provide the basic SaaS features without modifying the application.

4.2 Architecture overview

Any application written to run on Windows would be compatible with the Blended Model SaaS platform and it will enable SaaS. The framework relies on the specification (Blended Model SaaS Format [BMSF]) provided by software providers. It changes the application as plug in applications that will require no integration or tailoring or engineering by the software providers. Software providers and users will get a plug-n-go environment, which provides the basic SaaS functionality. It includes virtualization of processes, file/registry access and inter-process communication.

Blended Model SaaS Enabler for Windows Application

© Wipro Technologies Page: 6 of 23

5. A HOLISTIC APPROACH TO SAAS ENABLER: 5.1 Blended Model SaaS Enabler Framework:

The framework provides a basic environment to enable SaaS for the applications that are subscribed to the “Rules Server”. The actual monitoring is facilitated by the “Core Monitoring Engine”. It communicates with the billing services, Trust verifier and the activity manager to provide the virtual environment similar to SaaS.

The application features are registered with the SaaS enabler through the SaaS

specification. It controls the policy decisions used by the Rules Engine. The platform does not support bindings to policies other than described in BMSF (Blended Model SaaS Format). The BMSF describes generic features of the application. For each of the registered user, the BMSF attribute values are defined in the central server. The framework captures, analyzes and publishes generic events like Event_System_Sound, Event_System_Menupopupstart, Event_System_Capturestart, Event_System_Contexthelpstart, Event_System_Contexthelpend, Event_System_Dragdropstart etc. It traps the user defined messages from the application

This framework is adaptable to various flavors of Windows (XP, Vista, Windows

2003 etc,). One of the criteria is to ease the software providers with no rewriting of the software. It also assures that applications work in a highly secure and optimal environment. User experience is same as the on-premise application. It is expected to reduce 90% of the cost that will be incurred to create brand new SaaS application. The basic architecture setup of the Blended Model SaaS Enabler is shown in the figure below. Detailed descriptions of the elements are provided in section 5.2. Blended Model SaaS platform is a collection of user-mode and kernel-mode components. It runs on top of the OS and below the application layer.

Blended Model SaaS Enabler Architecture

Blended Model SaaS Enabler for Windows Application

© Wipro Technologies Page: 7 of 23

Blended Model SaaS Enabler for Windows Application

© Wipro Technologies Page: 8 of 23

Keyboard events are trapped using the keystroke logger. File system and Registry access policies of the configuration are also specified in the BMSF. Data Management functions are done by the Central Server which maintains the user access information. Application Scaling is achieved using the Preload Manager.

System Services component is responsible for trapping the IO Requests and hooking. It updates the status to the activity manager. The activity manager queries the information from the Core Monitoring Engine which uses the LRR (Local Rules Repository) to fetch the rules. The application’s authorization and security details are verified by the trust verifier and access control modules. Metering is also done by the business services for usage tracking. The SaaS enablement strategy deploys this SaaS Platform for the on-premise application. Health, Business and availability monitoring can be performed. 5.2 Elements and their Role in Blended Model SaaS platform: 1. Rules Server:

The “Rules Server” is a central server, which contains the details of the application features, user and the subscription details. Information is stored centrally, ensuring that vital data can be shared.

1.1 Policy rules: Policy rules govern the nature of access for a particular feature of the application. Policy rules come from a centralized server, which are pre-configured settings for a particular user in a limited number of scenarios where it is necessary.

1.2 Blended Model SaaS Specification:

Software providers in order to enable SaaS for their applications should provide the features of the application and their accessibility details in the Blended Model SaaS Format [BMSF]. It is read by the platform from the Rules Server to allow/limit application features.

2. Blended Model SaaS Format:

It is the format provided by the software provider about the features of the application. It contains a main application XML and the sub features of the application are described in separate child XML. The below is an excerpt from the complete format. It describes the application features, custom defined feature XML, macros and comments.

The Blended Model SaaS Format of the application is governed by the features,

sub features, modules or components. The sub feature BMSF details on the SaaS enabler platform implementation. The implementation details are technology dependent.

Blended Model SaaS Enabler for Windows Application

© Wipro Technologies Page: 9 of 23

Consider the example of a Web Word application. This application opens a word document in its IDE and allows web development. It provides additional options to simulate increased web traffic, save the word document as web page, administrator access to the web designer. The Blended Model SaaS Format for the application is detailed below. The sub feature 4.1.3 performs the same functionality as sub feature 1.2 so they are linked together. Example: Main Application BMSF: <Web_Word.xml> [Application] <Home> [Main Feature 1] <Search> [Sub Feature 1.1] <Web Development> [Sub Feature 1.2]

<Increase Web Traffic> [Sub Feature 1.3] <Human Techniques> [Sub Feature 1.3.1]

<Search Engine Optimizations> [Sub Feature 1.3.2] <Administrator Login> [Main Feature 2]

<Login Form> [Sub Feature 2.1] <Login Button> [Sub Feature 2.1.1] <Cancel Button> [Sub Feature 2.1.2]

<Contact us> [Main Feature 3] <File> [Main Feature 4] <File Open> [Sub Feature 4.1] <Open_Menu> [Sub Feature 4.1.1] <Open_Shortcut> [Sub Feature 4.1.2] <Web Development > [Sub Feature 4.1.3] [Sub Feature 1.2] <File Save> [Sub Feature 4.2]

< File Save As> [Sub Feature 4.2.1] < File Save as Web page> [Sub Feature 4.2.2] <Web_Word.xml> Feature BMSF: <File Open>

<Relationship ="Menu" Type = "System" ID = "235" Target = "*.doc" Comments = "File Open Menu of the application" >

</File Open> Sub Feature BMSF: [Implementation varies – Technology dependent] <Open_Menu> [Activation of the System Menu]

<Menu Id="1001" Name="System Menu activated" Event = "EVENT_SYSTEM_MENUSTART" EventID = "2005" Action ="Create" Comments="Open of a system menu">

[File Open from the Menu] <Menu Id="5002" Name="File Open" Event="FILE_OPEN" EventID = "6007" Action ="Launch/Show" Comments="Open of a file">

[Close of the System Menu] <Menu Id="1002" Name="System Menu closed" Event = "EVENT_SYSTEM_MENUSTOP" EventID = "2006" Action ="Destroy" Comments="Close of system menu">

</Open_Menu>

Blended Model SaaS Enabler for Windows Application

© Wipro Technologies Page: 10 of 23

<Web Development > [Button Click]

<Button Id="1012" Name="Button Click" Event="EVENT_OBJECT_NAMECHANGE" EventID = "1006" Action ="Launch" Comments="System Event for Button Click">

[Launches a Dialog based Application]

<Button Id="8002" Name="Dialog App Launch" Event ="EVENT_SYSTEM_DIALOGSTART" EventID = "5006" Action ="Launch" Comments="Opens Web Development IDE">

</Web Development > 3. Core Monitoring Engine or Kernel Module: Kernel module is the core element of Blended Model. Virtualization is provided through the kernel module. It controls the interaction between the user mode applications and the kernel components. It communicates with all the other elements and is completely responsible for granting access or denying access for a particular feature in the application. 4. Activity Manager:

It is the component that intercepts and filters I/O to files, the Registry and some critical native Windows APIs. For those flagged as "Buffer Zone”, it watches running processes, and takes special actions. It hooks file activity and traps the windows events and messages. Implements message passing and synchronization. 5. Policy Tracker:

A Windows Service that periodically gets policy details from the external rules server and updates the local rules repository. It exposes an interface to query details from Rules Server. 6. Local Rules Repository (LRR):

It is a temporary database in the client machine. Core Monitoring Engine fetches data on what policies to implement for a particular application from the LRR. If the monitoring engine finds the Local Rules Repository to be modified by any non-trusted application, the data is immediately fetched from the “Rules Server”. Regular auditing is also done to update the “Local Rules Repository”. This is also used for notification in the host machine.

7. User Privilege Handler:

Blended Model SaaS platform doesn't interfere with user privileges; rather it adds an additional security layer, which is transparent to normal user operations. When paths are redirected elsewhere, the existing security attributes are also copied.

Blended Model SaaS enabled applications can access the other application features based on the attributes in the privilege repository. Other applications will also have limited access to the Blended Model SaaS enabled application feature based on the subscription and usage level.

Blended Model SaaS Enabler for Windows Application

© Wipro Technologies Page: 11 of 23

8. Privilege Repository: It contains the attributes of application features for a particular user. It is a view of

the Local Rules Repository. For example, a user’s "Write" operation will be denied but "Read" operations will be allowed if the subscription to write is expired. "Write" operations shall be blocked according to Windows' ACL’s.

9. Usage Tracking (Metering):

This module tracks the usage level of all features of the application by the user. It updates the Rules Server periodically. There is a Local Rules Repository that will also maintain the usage level of the application. This information can be used to encourage user upgrades and renewals as well as improve customer satisfaction. Additionally, usage tracking is beneficial to perform market trend analysis. 10. Billing:

The ability to track the usage of software has merits in terms of diagnostics for the Software provider. The software provider uses these reports to implement pay-per-use subscription. 11. Access Control (Identity management):

Identity Management module validates the user for application accessibility. It authenticates the user for the operations allowed.

12. Trust Verifier:

This ensures availability, security and performance of the platform and application. It verifies the digital signature to authenticate the access of resources and sensitive files. With caching and pre-loading, high performance rates are achieved. 13. Event Processing Engine: Event Processing Engine captures the events from the application, analyzes it for the validity and publishes to the kernel or other applications based on the access rights. 14. Utility Services: The notification engine sends alerts to the user about the expiration of the subscription. It also informs on the special offers provided by the software vendor for the effective usage. Reporting module displays the statistics of user activity. It provides a brief description of the features accessed within a certain period. The end user can obtain account specific details from the central server directly. 15. System Services:

The IO Call Interceptor, Preload Manager, Registry Tracker, Process and API Hook modules are loaded by the Activity manager in the startup. This ensures that all the

Blended Model SaaS Enabler for Windows Application

© Wipro Technologies Page: 12 of 23

applications are tracked by the Blended Model SaaS Platform. The Processing and Validation are done on-need basis. 5.3 Implementation of System Services and Event Processing Engine: Event Processing engine:

The event processing engine is responsible for detecting the registered events and reporting them. It includes both System level and Object Level events. The set of events supported includes object creation, destruction, focus change, location change, EVENT_SYSTEM_MENUSTART, EVENT_SYSTEM_MENUEND ...so on.

Microsoft Active Accessibility is used to track generic system events and UI

change events. It provides a mechanism that allows operating system to notify clients when an accessible object changes in some manner. WinEventProc callback function receives the notification. It is used by the engine to validate against the rules server.

IO Call Interceptor:

It intercepts IRP’s and IO Requests issued by the I/O Manager to the File system Driver. By intercepting the request before it reaches its intended target, the interceptor extends and replaces the functionality provided by the original target of the request. There is also a Mini Filter driver which registers only for specific operations through FLT_REGISTRATION structure. Preload Manager:

Preload Manager hinges on the ability to easily instrument and extend existing application functionality. Detours is a library to instrument arbitrary Win32 functions. Detours intercept Win32 functions by re-writing the in-memory code for target functions. The Detours package attaches arbitrary DLLs and data segments (called payloads) to any Win32 binary. This allows the SaaS enabler to preload a Platform DLL instead of System DLL.

Registry Tracker:

Registry files are stored in %SystemRoot%\System32\Config\.

• Sam – HKEY_LOCAL_MACHINE\SAM • Security – HKEY_LOCAL_MACHINE\SECURITY • Software – HKEY_LOCAL_MACHINE\SOFTWARE • System – HKEY_LOCAL_MACHINE\SYSTEM • Default – HKEY_USERS\.DEFAULT • Userdiff – Not associated with a hive. Used only when upgrading operating

systems

Blended Model SaaS Enabler for Windows Application

© Wipro Technologies Page: 13 of 23

The following files are stored in each user's profile folder:

• %UserProfile%\Ntuser.dat – HKEY_USERS\<User SID> (linked to by HKEY_CURRENT_USER)

• %UserProfile%\Local Settings\Application Data\Microsoft\Windows\Usrclass.dat (path is localized) – HKEY_USERS\<User SID>_Classes (HKEY_CURRENT_USER\Software\Classes)

Registry Tracker uses the IO call interceptor to find if these files are accessed. It takes a snapshot of the registry before the registry change and after the change. It validates the values in the registry based on the policy rules. If the changes are against the security and policy rules, it is reverted. Process and API Hook: Tracking messages to a process by installing a subroutine in the default message handling chain is by a method called Hooking. The new hook registers its own address as handler for the message and calls the original handler or redirects to a different handler. Global hooks are implemented to hook into all the processes. Hook system is composed of two parts - a Hook Server and a Driver. Hook Server - It is responsible for injecting the Driver into processes and administers the driver about its activities. Driver module - It performs the actual interception.

5.4 Implementation of other elements: Rules Server: It is implemented as a central database repository that is hosted in a remote server. Policy details will be updated for the application registering to Blended Model SaaS enabler. It also maintains the user specific details. Multiple user access is allowed since the access is based on the application usage count and not time based. Notification Engine: Notification engine is implemented as a COM Server. The SaaS enabled application registers for notification as client. The server thread of the notification engine queries the Rules Server for status and alerts the user. Core Monitoring Engine or Kernel Module: This is a controlling engine. It receives data and control information from other elements. All the modules interact with the Kernel module for the access and policy decisions. It manages, configures, monitors and updates all the elements. It exposes generic interface for query and set. Monitoring engine controls all the important aspects of service delivery. The engine is implemented as service with a RPC server listening.

Blended Model SaaS Enabler for Windows Application

© Wipro Technologies Page: 14 of 23

Activity Manager: It is the controller for the system services. It provides the interface between system services and core monitoring engine. Tracks access requests to system resources. Local Rules Repository: In the same way a data management function needs a data dictionary; the Blended Model SaaS platform uses a Local Rules Repository to cache the configuration data. It is a customized file similar to the registry. It is updated from the Central Rules Server. Policy Tracker: This element implements the HTTP connection with request pipelining from the Blended Model SaaS platform. This is the only module that interacts to the Central Rules Server via the internet. It is run with low privileges to avoid unauthorized access of the client machine. Policy tracker is a powerful and easier to manage component. Trust Verifier:

Based on the signature of the application, trust verification is performed. It ensures that the security of the application is not compromised because of the Blended model SaaS platform. All calls are verified by the trust manager before providing access. 5.5 Performance:

This setup does not slow down the system because of the additional processing overhead in the platform layer. It synchronizes with the existing system and does not create a hindrance to operations. In addition, it allows the complete transaction and installation with no user involvement required. It integrates well with local applications.

The framework aids SaaS delivery to consumer applications since the lack of available platforms is radically slowing the availability of SaaS and Business Web 2.0 offerings. 5.6 Conflict of Rules:

Consider a simple example where Application A is writing to a custom file with extension “.fsk”. The subscription is expired and user now cannot access the “.fsk” files. At a later point, user installs Application B which can open and edit “.fsk” files. The “Rules Server” will resolve the conflict based on the policy of the software provider. It decides all its access rules based on the “Blended Model SaaS Specification”. 6. DEPLOYMENT: Packaging and deployment: Deployment is virtually instant. Software vendor packages the binaries of Blended Model SaaS enabler along with the application. The platform is deployed along with the application to the client machine. By default minimal features might be enabled or the application will be locked. Once the application is launched, it is redirected to a web portal (vertical and personal) that is provided by the software

Blended Model SaaS Enabler for Windows Application

© Wipro Technologies Page: 15 of 23

vendor/SaaS enabler. It is used to define the terms of what features are required and the feature costs. Subscription to Features: User is validated through the Serial Number provided with the package. Users can subscribe to the features that will be of more importance. A secure gateway is used for payment. Once finished, user will be provided with a new serial number. It will also be registered with the SaaS enabler on the client machine. The product is activated and user will be able to access the features subscribed to. The new serial number along with the UserId can be used to access the application from other machines also. The usage count is common and is decremented and stored in the central server. This allows access anytime from anywhere provided that the platform is enabled.

Portal for Software Vendor: Blended Model SaaS framework also includes a web portal that gives software vendor’s business and marketing teams the application configuration, subscription and contract management tools necessary to shape subscription terms, feature costs, revenue model and innovation for monetizing services.

7. REALIZATION OF SAAS ENABLER FOR ON-PREMISE APPLICATION: This section presents the realization of the SaaS enabler for a simple application. It details the application deployment, user’s subscription to application features, the role of SaaS enabler elements and the interaction with a native application. 7.1 Application Description and Deployment: Consider a simple application, which has a File menu with four options namely Open, Format, Send Mail, Exit. It is used to format a text document and send by mail. The software vendor packages the application with Blended SaaS platform binaries. In the client machine, user installs the application and the SaaS platform. SaaS specification: <Format_Text.xml> [Application] <File> [Main Feature 1] <Open> [Sub Feature 1.1] <Format> [Sub Feature 1.2]

<Send Mail> [Sub Feature 1.3] <Exit> [Sub Feature 1.4]

</File> </Format_Text.xml> The BMSF format provided by the vendor for sub feature 1.1 will be similar to the sub feature <Open_Menu> described in section 5.2. 7.2 Application Features:

On launch of the application, user is redirected a portal where in the serial number “W2DWRHXVF26Q9V2RP3V6QC73T” (provided at the time of purchase) is used to login. User

Blended Model SaaS Enabler for Windows Application

© Wipro Technologies Page: 16 of 23

chooses the below features of the application and subscribes to it. User is provided with a new serial key. This can be used to access the application from other machine. Actions in the application are based on the menu input from the user.

Subscribed Feature Description

Open Open a text document. Format Changes the format of text document. Send Mail Use Outlook to send mail. Exit Close the application. 7.3 Flow sequence: Below is a diagram outlining the data and control flow for the application and the Blended Model SaaS enabler. The event-processing engine captures the menu events and the activity manager decides on the access to the file during the “Open”. Similar is the sequence for “Format” Option.

SaaS Application - SaaS Enabler Interaction

Blended Model SaaS Enabler for Windows Application

© Wipro Technologies Page: 17 of 23

7.4 Interaction with Non-SaaS enabled application: This section explains the interaction of SaaS enabled application and native

application. The Access privileges and Trust verifier are used to control the feature access to the Native application (Outlook in this example). The Kernel Module uses the Local Rules Repository to validate the access rights requested by the SaaS enabled and Native application. Usage details are updated to the business services. It can be used by the software vendor to determine the usage statistics also.

8. OFFERINGS OF BLENDED MODEL SAAS PLATFORM:

This section outlines the customer-friendly, simple and price-competitive offering of Blended Model SaaS platform.

SaaS Application - SaaS Enabler – Native Application Interaction

Blended Model SaaS Enabler for Windows Application

© Wipro Technologies Page: 18 of 23

8.1 Multi User Login Control:

This is a complex and inter-related issue. Applications might want to run many user logins as efficiently as possible. Blended Model SaaS platform supports multi user login at a time. If user wants to login to different machines, it is possible. Usage will be cumulative and the access will be denied after specific number of usage counts. Time relative access will not be supported for multi user support.

Example: User A might want to configure the application in “Home” and “Work” environment. The Business logic which calculates the usage will be common and details will be updated immediately to the external rules server.

8.2 Security Checks:

The Trust verifier and the access control modules are used for internal protection mechanism. Software providers and end-users major concern is the security of the software and the data. Blended Model SaaS platform defense infra structure is strong enough to break the “outsourced vulnerability” problems. To implement secret challenge response in order to prevent common attacks it employs industry standard cryptographic algorithms. 8.3 Customization and Configurability:

Many enterprise categories on SaaS require too much customization and become non-starters category. Customization is grouped into three categories:

Presentation Logic: Changes in the screen layout or user experience to allow for web browser compatibility.

Data Model: Addition of new objects and fields. Access from non-SaaS enabled applications.

Business Logic: This is the open ended module.

The software developed for system security is pretty much the same as that of SaaS enabled system security software. In spite of the features of business demands are generic, there is duplication of efforts exists for SaaS. Migrating to Blended Model SaaS Platform affects only the business logic keeping other customization features intact. 8.4 Avoids effort to rewrite existing applications:

Many software vendors have existing applications, which need to be re-engineered or fixed to support SaaS needs. This comes with the practical difficulty of existing applications that cannot be scaled, developers who are not available, and bugs that might

Blended Model SaaS Enabler for Windows Application

© Wipro Technologies Page: 19 of 23

cause the existing application unstable. Blended Model SaaS platform provides cost-effective solution to the problems without any disruption. It offers a platform so that software vendors can enable SaaS to their existing applications.

Blended Model SaaS Platform will be widely accepted amongst the SaaS community. Software providers and users have increasing levels of flexibility and choice in the applications and services available to them.

9. BUSINESS BENEFITS: 9.1 Protect Investment: The initial capital investment and ongoing expense of building and maintaining SaaS applications in-house are simply untenable. SaaS application vendor’s success rate is directly proportional to customer’s use of its SaaS product. The breakeven point between revenue and operational expenses is balanced by deferment of revenues and operational expenses. Software vendors will flock to the Blended Model SaaS enabler because it offers reduced investment risk and a lower total cost of deployment, as well as greater flexibility in terms of technology choices. The software vendor can foresee business highlights of broadening of sales opportunities by SaaS adoption, and provides recurring revenue streams, and enhances differentiation. There is no need for large investments in infrastructures as that of traditional SaaS applications. 9.2 Time-to-Market - Need for Speed: Today the new demands on development and delivery processes are a common experience among software companies to meet increasing cost pressure, high customer expectations, and global competition. The combination of financial market skittishness and emerging competitive threats indicates that there is very little room for vendor lag in any software market. Non – Delivery of SaaS application exposes the weakness in the software vendor’s adaptability to industry requirements and may cause lost customer loyalty.

Blended Model SaaS enabler platform will prove to be the wave of the future, enabling software vendors to significantly reduce their time-to-market and time-to-profitability for building SaaS applications. By adopting an integrated and coordinated SaaS enabler platform, software vendors are in a strong position to continuously respond to customer needs with efficiently produced product capabilities, building customer loyalty and ensuring a steady, recurring revenue stream.

9.3 Engineering Effort - No platform delivery changes: SaaS delivery requirements of today with plenty of personal computer software highlight the need of standardization platform that facilitates delivery, but allows developmental

Blended Model SaaS Enabler for Windows Application

© Wipro Technologies Page: 20 of 23

freedom. Blended Model SaaS enabler delivery eases the mindset of developer, and jumpstarts SaaS initiatives. The hurdle of roller coaster of traditional development cycles for SaaS is not present. SaaS enabler platform is working towards a "just-in-time" approach much like what the manufacturing industry adopted 15 years ago. The SaaS enabler model provides the flexibility and responsiveness necessary to fulfill this challenge. Software vendors need to focus on what they do best developing high quality software with rich functionality rather than providing SaaS functionality. 10. LIMITATIONS:

Though Blended Model SaaS enabler works on the basic motto of “One Size Fits All”, there are some deficiencies. Since the platform and application are deployed on the client machine, the expense of installation, maintenance and administration still lies with the software vendor.

Current SaaS enabler platform is supported only for windows application. The reason being the framework is directly linked to the windows events, messages and other windows resources. For example, a Java application running on Windows will not be SaaS enabled.

The majority of the software vendors will be little affected by any of these as it relates to their demand for better and simpler SaaS enabler technology. 11. ROAD AHEAD:

SaaS is a growing force in the industry. Organizations are embracing it as a way

of gaining access to certain features of the software without incurring high up-front costs. In spite its increasing popularity, many decision-makers are unsure about its long-term gain and Return on Investment. The Blended Model SaaS enabler bridges the gap between the On-Demand and On-Premise Software.

A couple of applications (IO call interceptor, Registry tracker and a minimal

event processing engine) were verified using the guidelines detailed in the paper. This proves beyond doubt that developing SaaS enabler framework will be simpler with further analysis on the elements of the Blended Model SaaS enabler.

The future roadmap includes complete implementation of the Blended Model

SaaS platform, adding support for Non - Microsoft technologies based application (for eg. Java application), support for Non-Windows platform and Optimizations for the web. 12. CONCLUSION:

Next generation application platform is taking its shape. With more and more applications created for SaaS, it makes sense to have a common SaaS-only platform. But this will again lead to the same scenario as that of traditional on-premise software.

Blended Model SaaS Enabler for Windows Application

© Wipro Technologies Page: 21 of 23

Not surprisingly, the solution of all this is the rate of take up by the software providers to a Blended Model SaaS Platform paradigm shift. The goal of Blended Model SaaS platform is to optimize the potential of software vendor’s project development engineering expertise. Value Engineering and Management is an integral part of the platform and software vendors have the freedom and flexibility to propose and evaluate software changes in a risk-free environment that is SaaS enabled. Bringing Blended Model SaaS platform to the project eliminates the need for expensive redesigning in the process of SaaS enabling.

This new wave begins with Software-as-a-Service provided by extending existing

on-premises technologies to the Blended model. It means that software providers can protect their investments and developers don’t have to learn new skills and new development tools. Users need to have the same skill level and not more. Software providers can migrate to SaaS avoiding larger implementation and integration costs. Providing this flexibility allows the industry to migrate to Blended Model SaaS at a faster speed reducing capital expenditures and driving productivity by using and customizing existing business software applications.

Discussed Model would easily attract enthusiastic low cost investing client sector

and may aggressively grow into a tiny sector. This high volume of business would yield very high turnover to SW czars. This Model’s engineering and design building criteria would incline all clients of technique-spotters to adopt the same with less resistance.

Forward-thinking companies may combine industry-leading usage new technique

with cost management approaches. Thus proposed one will help to save money and time on software maintenance and on software development by consolidation. 13. IMPLEMENTATION REFERENCES: Event Processing Engine: Microsoft Active Accessibility - http://msdn2.microsoft.com/en-us/library/ms697707.aspx Preload Manager: Detours - http://research.microsoft.com/~galenh/Publications/HuntUsenixNt99.pdf Registry Tracker: http://msdn2.microsoft.com/en-us/library/ms724871.aspx Process and API Hook: http://www.flounder.com/hooks.htm IO Call Interceptor: http://www.microsoft.com/whdc/driver/filterdrv/default.mspx 14. FURTHER READINGS: Books Microsoft® Windows® Driver Development Kit - Microsoft Corporation

Blended Model SaaS Enabler for Windows Application

© Wipro Technologies Page: 22 of 23

Links http://blogs.msdn.com/eugeniop/archive/2008/03/24/litwarehr-on-ssds-part-iii-data-access-enhancements-1-caching.aspx http://en.wikipedia.org/wiki/Software_as_a_Service http://www.saas-showplace.com/

15. ABOUT THE AUTHOR:

Revathi Ayyadurai,

Author has experience on Security and Machine Vision domain for 3 years. She has worked on various Microsoft technologies and featured articles in Wipro Knowledge Management Portal. Currently working as Senior Software Engineer for one of the leading Security vendor for Software Products Group of Wipro Technologies.

16. ABOUT WIPRO TECHNOLOGIES: Wipro is the first PCMM Level 5 and SEI CMMi Level 5 certified IT Services Company globally. Wipro provides comprehensive IT solutions and services (including systems integration, IS outsourcing, package implementation, software application development and maintenance) and Research & Development services (hardware and software design, development and implementation) to corporations globally. Wipro's unique value proposition is further delivered through our pioneering Offshore Outsourcing Model and stringent Quality Processes of SEI and Six Sigma.

17. SOFTWARE PRODUCTS GROUP IN WIPRO:

Wipro's Software Products Group is a global provider of outsourced product engineering services and possesses the requisite domain knowledge and technical skills to help its partners build next generation software products. Wipro delivers unmatched business value to customers through a combination of process excellence, quality frameworks and service delivery innovation. It is committed to facilitate its clients to achieve faster time- to-market, improve productivity and innovate. With a vast experience in Windows and Unix engineering, it is differentiated by its end-to-end service capabilities and one-stop solution in multiple areas in the field of software product engineering. Software Products Group has extensive product engineering expertise in a wide range of software and hardware platforms and operating systems. The services offered vary right from the conceptualization to development to professional

Blended Model SaaS Enabler for Windows Application

© Wipro Technologies Page: 23 of 23

services which covers the strategy, architecture, development, testing, deployment, integration, sustenance and support. For further information visit us at: http://www.wipro.com/pes/industries/softwareproducts/index.htm For more whitepapers logon to: http://www.wipro.com/insights ************************************************************************************** © Copyright 2008. Wipro Technologies. All rights reserved. No part of this document may be reproduced, stored in a retrieval system, transmitted in any form or by any means, electronic, mechanical, photocopying, recording, or otherwise, without express written permission from Wipro Technologies. Specifications subject to change without notice. All other trademarks mentioned herein are the property of their respective owners. **************************************************************************************