Cloud Based E-Commerce Platform for Multi-Tenant and Multi-Vendor

DOI : 10.17577/IJERTV3IS090134

Download Full-Text PDF Cite this Publication

Text Only Version

Cloud Based E-Commerce Platform for Multi-Tenant and Multi-Vendor

Chandrashekar Bemagoni

    1. ech (Computer Science),

      School of Information Technology JNTU Hyderabad, Hyderabad, Telangana, India

      Suresh Babu Kare

      Asst. Professor, Department of Computer Science, School of Information Technology JNTU Hyderabad, Hyderabad, Telangana, India

      Abstract: Now-a-days most consumer products are available on e-commerce websites and e-commerce business is booming. Many businesses which want to sell their products online are facing difficulties in developing and maintaining e-commerce websites on their own as cost involved in building and maintaining and the time to develop a custom website platform are very high. As a result many vendors are unable to sell their products online. In order to solve these problems, we propose a cloud based multi-tenant, multi-vendor e-commerce platform as a service which. This proposed e-commerce platform allows tenants to develop a multi-vendor e-commerce market place as well as individual e-commerce websites for different vendors. In addition to developing e-commerce websites, this platform also enables development of mobile applications and desktop application via an API.

      Keywords-Platform as a service, REST API, multi tenant, multi vendor, elastic cloud computing, cloud based platform, technology compatible, e-commerce platform.

      1. INTRODUCTION

        An ecommerce website enables a vendor sell their products online from where buyers purchase the products. In this process e-commerce site owner (in case of a multi- vendor site) gets some share/fee from vendors on each product sale. E-commerce platform means multiple tenants use the platform to build e-commerce sites, mobile and desktop applications. Presently developing an ecommerce site and listing products online is not easy for everyone. It is expensive, time consuming and requires frequent maintenance of the e-commerce site. To solve this problem and build e-commerce sites quickly and cost effectively, we are proposing a multi-tenant multi-vendor e-commerce platform (software) as a service. In this e-commerce platform, a Tenant (who develops and maintains e-commerce websites on their own) can create their e-commerce website in different technologies (PHP, Java, and .NET), desktop application and mobile apps (Android, iOS, windows, etc.) by using the API. In this system Tenant consumes platform services using a REST API. Essentially, each Tenant is a site operator. We also use the term Tenant to refer to the site as well. In Tenant e-commerce website vendors sell their products from where buyers purchase the products. If any vendor wants to maintain a separate website for their customized products, they can approach the Tenant who has capability to build separate e-commerce website, mobile app and desktop application for vendors by using e-commerce

        platform. Vendors have to pay the Tenant for creating website, mobile app .Vendors can keep their products in Tenant e-commerce website as well as vendor e-commerce web site, and here buyer or consumer can buy the products from the both places.

        In this cloud based e-commerce platform we could provide differentiated services, multiple data access formats, authentication, authorization, scalability, high availability, security and reliability and extensibility.

        In this paper Architecture section specifies cloud based e- commerce platform design and workflow. The Implementation section includes how to creation of platform and REST API details. The Feature section specifies different services and features. The cloud based e-commerce platform section details the configuration and installation of platform in the cloud and its working. We conclude with directions for further improvements.

      2. ARCHITECTURE

        We are providing e-commerce platform as a service. We develop an e-commerce platform, configure and install in the cloud (on virtual servers like Amazon EC2). Our E- commerce platform serves multi tenant requirements. Each tenant can have multiple vendors. Here each tenant has capability of building an e-commerce site, mobile application and touch applications for each vendor separately. Using this platform vendors can list their products online and sell products. This cloud based e-commerce platform contains an API layer (REST API), Business Layer (business logic of all E-commerce operations) and Data Layer (database, cloud storage) and a UI layer (for admin and tenants)

        Various applications like tenant and vendor e- commerce sites, mobile applications and desktop applications interact with platforms using a REST API. The REST API internally uses the business layer which in turn processes the requests and retrieves/transforms the data from the Data Layer. The response from the REST API can be either JSON or XML depending on the request parameters. The platform supports both formats.

        The Tenant has capability of building e-commerce site for specific vendors; tenant can build a mobile app or desktop application for each of his vendors. The tenant can design the website using any technology or language, for

        example .NET, Java, PHP. In this platform each tenant can build e-commerce site for vendors in different technologies with help of REST API.

        Figure1: Architecture of cloud based e-commerce platform

      3. MPLEMENTATION

        In this section we present a brief implementation sketch.

        E-commerce site, mobile application and desktop application interact with the platform through REST API.

        In REST (Representational state transfer)

        1. REST is stateless design.

        2. In REST different resources are identified by following URL based tree structure.

        3. In REST data transfer in the XML and JSON (Java script object notation) or both.

        4. REST is less verbose.

        5. REST is worked based on http protocol.

        6. It supports requests from different platforms REST API has different URL for different services.

        In this REST API we create different service for different purpose.

        For example

        Tenant Service – in which we will handle each tenant requirements.

        Vendor Service – in this we handle each vendor operation of tenants.

        Buyer Service – buyer login, purchase and subscription, interests and etc.

        Catalog service – all products information.

        REST API can be configured to have different URLs for different services. Using this URL and parameter data, each tenant and its vendors interact with platform for e-commerce operations.

        Some simplified examples:

        1. ecommerceplatform/tenant/1/vendor/{id}/products

        2. ecommerceplatform/tenant/2/vendor/{id}/users

        3. ecommerceplatform/tenant/1/vendor/registration/

        4. ecommercplatform/tenant/1/buyer/login/username=? &password=?.

        A consuming application (E-commerce site or mobile application, desktop application) sends the request to REST API via HTTP. The platform then processes the request by routing it to the appropriate component in the Business Layer and Data Layer. After processing the request, the response is sent back to the requesting application (e- commerce site or mobile app, or desktop application).

        REST API gives the reply in different format JSON (JavaScript object notation) or xml format

        Example:

        JSON format:

        {"User": [{"name":"chandrashekar""userid":"23"},

        {"name":"Madhu","uesrid":"44"},

        {"Name":"Mhan","userid":"45"}]} Xml format:

        <Users>

        <user1>

        <Name>chandrashekar</name>

        <Userid>23</userid>

        </user1>

        <user2>

        <Name>Chandrasekhar</name>

        <Use rid>23</use rid>

        </user2></users>.

        This data can then be processed using any technology and on any platform (windows, UNIX, iOS, Android etc.).

        The data layer is partitioned among different tenants via a TenantId column.

        TenantId

        TenantName

        API access key

        1

        2345

        SVK fashions

        546fdghd786hu

        2

        2346

        Elctro Market

        Dg78ddn7j9j7nu

        3

        2347

        flameCart

        Sg6474ghyf8978

        Table 1: Tenants

        TenantId

        Vendor id

        VendorName

        1

        2345

        001

        Banaras sarees

        2

        2345

        002

        MeenaBazar

        3

        2345

        003

        Dhramavarm sarees

        Table 2: Vendors of particular tenant

        Cloud based architecture offers us numerous options for scalability and high availability. In particular, we used Amazon SES for mail services, Amazon SQS for handling message queues, Amazon S3 for storing images and documents (like a CDN), Amazon ELB for load balancing.

      4. CLOUD BASED PLATFORM

        The e-commerce platform is deployed in Amazon cloud. The platform is configured and installed on Amazon EC2. Since the platform follows a distributed architecture, it is installed on multiple instances of EC2. Cloud based e- commerce platform receives different requests from tenants and their vendors, buyers. All these requests are first handled by the Amazon Elastic Load Balancer (ELB) which in turn routes them to the appropriate instance based on availability and load of each instance.

        Figure2: E-commerce platform workflow in cloud

        A Elastic Load Balancing

        Elastic loads balancer takes the incoming application traffic from various sources and its automatically distributes to multiple Amazon EC2 instances in the cloud. By Elastic load balancer we can achieve greater levels of fault tolerance in our applications as elastic load balancer provides the required amount of load balancing capacity needed to distribute application traffic.

        Advantages of elastic load balancer:

        1. Availability. Elastic Load Balancing will route traffic to only healthy EC2 instances in particular zones

        2. Elastic.

        3. Secure

        B Elastic Cloud Computing (EC2):

        Amazon Elastic cloud computing provides scalable computing capacity AWS cloud. This EC2 is like virtual computers, in this virtual server, we can develop applications and deploy faster. EC2 makes us to eliminate investing on the hardware part.

        The features provided by EC2 are

        1. Providing virtual computing environment also called instances.

        2. Provides various configuration capabilities, storage, memory, CPU for EC2 instances.

        3. It will secure way of login information, there will be two keys, one is a public key which is stored in Amazon cloud storage, second one is private is key it will retain with the user..

        4. EC2 provides multiple physical allocations for us to store the resources.

      5. FEATURES OF E-COMMERCE PALTFORM

        Cloud based E-commerce platform has the following features.

        1. Platform (software) as a service: in this we are providing platform as a service.

          By this anyone can build e-commerce site easy with different technologies (Java/.NET/PHP).

          This platform can also be used for building mobile applications (android, iOS, windows etc.) and desktop applications

        2. Extensibility: we can add different services to the platform required by tenant and vendors.

        3. High availability: achieved with the help of Amazon EC2 and Amazon elastic load balancer which handles thousands of simultaneous requests efficiently.

        4. Reliability

        5. Security: the access to the platform is secured by using a combination of an API key, permissions and HMAC signature. Every API consumer will provided with an API access key.

        6. Distributable: The platform is a distributed, meaning that multiple instances of the core

          applications can be run in parallel. In a distributed environment the number of single point failures are minimized. This distributed architecture also helps in horizontally scaling as per the load.

        7. Multi-currency: The platform supports multiple currencies. The buyers can choose currency on the site to view the prices in their currencies. They can also transact in their own currency.

        8. Persistent shopping cart: Many vendors and buyers consider a persistent shopping cart to be a good feature since the customers shopping efforts are preserved in case they are interrupted and want to return to shopping later. Persistence works via cookies which must be enabled in the customer's web browser.

        9. Settlement mechanism with configuration commission.

        10. Package services

        11. API service JSON/Xml.

      6. CONCLUSION

By making e-commerce platform as service, we made building e-commerce sites quick and cost effective, so that vendors can sell/display their products online. Using a cloud based e-commerce platform, we can reduce the cost, time and resources required for building and maintaining an e-commerce site.

ACKNOWLEDGMENT

We thank Mr. Siddhartha Chinthapally (Zessta Software Solutions Private Limited) for his valuable suggestions and help in writing this paper.

REFERENCES

  1. http://aws.amazon.com/elasticloadbalancing/

  2. http://aws.amazon.com/ec2/

  3. http://coenraets.org/blog/2011/11/set-up-an-amazon-ec2-instance- with-tomcat-and-mysql-5-minutes-tutorial/

  4. http://social.msdn.microsoft.com/forums/vstudio/en- US/2542228f-9b73-4158-bc8f-f1caede95398/json-in-a-soap- message-body

  5. http://www.infoq.com/articles/rest-soap-when-to-use-each

  6. http://java.dzone.com/articles/j2ee-compare-restful-vs-soap

  7. http://searchsoa.techtarget.com/essentialguide/Guide-When-and- how-to-use-REST#guideSection1

  8. http://searchsoa.techtarget.com/feature/RESTful-services-take-on- a-role-in-health-IT-infrastructure

Leave a Reply