This essay has been submitted by a student. This is not an example of the work written by our professional essay writers.
SaaS is the one of the approach to develop software in cloud computing. We created a miniSaaS application for an online shopping system Sun Devil Inc. which allows multiple tenants to register and customize their workflow and customers to buy laptop or book from the system. It allows multiple tenants to use the system which is achieved through multi-tenancy architecture , one of the important features of SaaS. And each tenant will have a different workflow in the system. This is achieved through workflow customization, another feature of SaaS. There are multiple web services implemented in the system. And those web services are recommended through a recommendation engine called ontology system which is implemented in rdf schema. As tenant logs in he will be able to create a data model, add, read, update or delete data from the data table. A tenant can perform workflow search and workflow customization. A customer for a particular tenant logs in to system, selects the item, mentions the quantity and coupon and checks out.
DESCRIPTION OF PROJECT AND SOLUTION
Requirement and Document Specification
The requirements of the system which were to be implemented were gathered to a document. The document includes three parts: Data model definition, business logic and GUI specification. The following methods are defined in the system: user sign-in, registration, placing order, checkout, payment and shipping. The main Objects of the system that are defined for database are laptop, book, warehouse, order status, cart, customer, and shipping vendor . For each object, the fields and their types in database are defined in the data model definition. Each method is explained with its functionalities and navigation in the website. Fig 1 depicts the work flow of the system:
Multi-Tenant and Data Model Creation layer
One of the applications of SaaS is multi-tenancy. This miniSaaS application enables multiple tenants to register and login to system for customization . Before a tenant access the system, he has to be authorized. A web-interface is created that authenticates the user and allows the registration. As the tenant registers into the system, a unique-id is generated in the database. A field is added into database with unique tenant-Id and tenant information.
There are many tenants having their own specifications. A web interface is developed that allows tenant to perform the CRUD operations. Each tenant creates their own data model. In the data model created, a tenant can add the custom objects details. This will add a row into a table with the tenant-id, object id, object name and other details. An example is shown is Table 1.
To the created data model a tenant can add, delete, read and update fields of any particular object.
Each process in a system is considered as workflow. A given functionality can be defined by different workflows by each tenant. SaaS allows the customization for all these workflows in an application. For example, a tenant can apply tax on the total amount before applying coupon and another can apply after coupon is added. A web interface is implemented that allows the tenant to login and choose his own workflow. For each workflow,  web services are created in the system which is chose by tenant through the web interface. There can be one or more web services for a workflow. The web services are selected in an order. The web services are executed in the order selected. The web interface also includes the tenant to create a work flow. Fig 2 depicts how the services are stored in the database.
Fig. 2. Web services table
Work flow Recommendation Engine
The next step in the implementation of the system is recommendation layer to workflow. This is achieved through ontology system. A web service can be used for many processes. For example, a web service for ebook or textbook is same. As the web services are reused many times in an application these should be semantically correct to the end users. A rdf schema is created that stores the words and its synonyms in .owl file . These words are connected to database table and saved in a field called tags across each web service. As per tenant request for a web service, it is checked for the matching tags and retrieves the recommended service for the workflow. Fig. 3 displays all the web services retrieved from the database for the search tag 'bill'.
Fig 3. Web services for 'bill'
With the above implementation, the following results are achieved. This online shopping system involves many tenants and many customers to use it. There would be different operations for tenant and customer. A tenant creates a data model and adds data to the data model. He also does a workflow search to get the required web services and does the workflow customization. The following figure shows the options available for a tenant as he logs into the system.
Fig 4. Tenant UI
As the customer logs in, he would be having options to buy laptop or book. Based upon the selection, the list of either laptops or books is displayed. This data is retrieved from the tenant's data model. The interface provides the customer to place an order. The following figure shows the list of laptops for check out.
Fig 5. Customer UI
MY CONTRIBUTION TO PROJECT
Our team discussed and spliced the work appropriately in all parts of the project. The first part of the project was to submit the requirement specification document. I came up with the workflow and listed the design of the all pages and its functionalities. In second part, I wrote code in php for add, read and delete data pages. I was a part of the group, who implemented the web services in the next part. These web services were implemented in C# language. In the last part, I helped my team in creating the UI for workflow customization. With this web-interface the tenant selects web services for a workflow. The web services are implemented in the order the tenant needs, which is specified in the textbox across the web service. The following figure shows the UI of the work flow customization.
Fig 6. Work flow customization
TEAM MEMBERS AND KNOWLEDGE GAINED
This project was developed by three members:
1. Bharath Shive Gowda
2. Sravani Thota
3. Srijith Ravikumar
Bharath worked on login and registration pages; he also implemented the ontology system. Srijith worked on creating data model pages and some of the web services.
From this project, I learnt to create web services in asp.net. From one of my team member I acquired knowledge on programming in php. I also understood how the ontology system works for a random search. I learnt about SaaS technology and how applications work on cloud computing. I also learnt to collaborate with team and work. I also gained how the Software development life cycle works, from requirement phase to deploy state.