8
@IJRTER-2016, All Rights Reserved 1 Secured Real Time Data Sharing Between Salesfore.com and Heroku for Better Business Analysis Prof. Pritesh Patil 1 , Miss. Pranita Gujar 2 , Miss. Pralesha Jadhav 3 , Mr. Rishikesh Jadhav 4 1,2,3,4 Information Technology, AISSMS IOIT AbstractThe system allows seamless integration for information exchange in order to integrate with other system on cloud. Number of integration points ranging from off the shelf native ERP connectors to web service, email, syndication feeds and HTTP based REST callouts is provided by Salesforce.com’s Force.com platform. Integration can be done with other languages such as Java, .net, ruby, objective –c and PHP by the platforms which also supports several API’s including the Force.com SOAP and REST API. The proposed system creates a client that integrates with Force.com by using any language and also direct access to data within Salesforce.com Instance using these API’s. For the deployment of applications in various languages Heroku is used as powerful Platform as a Service. Handling of request response application in Salesforce.com cloud based system is done by web application using external framework within MVC framework. The Salesforce.com Wen App uses web service callout as the mode of integration with the External system and Heroku platform is used for the fulfillment of the system which can be done by languages like Java, .NET etc. KeywordsCloud Integration, Salesforce.com, Force.com, Heroku, Business analysis, Real-time Integration. I. INTRODUCTION A typical enterprise uses many applications, many or most of which are not designed to work with one another out of the box. Integrating separate but related apps helps organizations achieve greater levels of operational consistency, efficiency, and quality. Each application can have data, business logic, presentation, and security layers, all of which are possible targets for integration. This project is an overall launch point for exploring the various integration options related to Force.com and other Salesforce platform technologies. The Software developed in Cloud should integrate with other systems and allow Seamless integration for information exchange between systems. If it does not allow integration with the External System, it does not allow real time data exchange between systems for real time transactions. The standalone system need to Import data manually, the system is not secured, Data may be loss or corrupt, No real time transaction and it is not adoptable standard in Industry. Project Scope: Integration with cloud based Salesforce.com’s Force.com platform will be used to integrate two different applications on two different platforms. Scope Includes: Cloud based Integration with External System Page Layout and Record Types Security and Sharing User Access Control Validation Business Automation using Reports Dashboards Email Notifications on Order Closure

Secured Real Time Data Sharing Between Salesfore.com and ... · The Force.com SOAP APIs and associated toolkits, such as the Mobile SDK, AJAX Toolkit, Java, .NET, PHP and Adobe Flex

  • Upload
    others

  • View
    12

  • Download
    0

Embed Size (px)

Citation preview

@IJRTER-2016, All Rights Reserved 1

Secured Real Time Data Sharing Between Salesfore.com and Heroku

for Better Business Analysis

Prof. Pritesh Patil1, Miss. Pranita Gujar2, Miss. Pralesha Jadhav3, Mr. Rishikesh Jadhav4 1,2,3,4 Information Technology, AISSMS IOIT

Abstract— The system allows seamless integration for information exchange in order to integrate

with other system on cloud. Number of integration points ranging from off the shelf native ERP

connectors to web service, email, syndication feeds and HTTP based REST callouts is provided by

Salesforce.com’s Force.com platform. Integration can be done with other languages such as Java, .net,

ruby, objective –c and PHP by the platforms which also supports several API’s including the

Force.com SOAP and REST API. The proposed system creates a client that integrates with Force.com

by using any language and also direct access to data within Salesforce.com Instance using these API’s.

For the deployment of applications in various languages Heroku is used as powerful Platform as a

Service. Handling of request response application in Salesforce.com cloud based system is done by

web application using external framework within MVC framework. The Salesforce.com Wen App

uses web service callout as the mode of integration with the External system and Heroku platform is

used for the fulfillment of the system which can be done by languages like Java, .NET etc.

Keywords— Cloud Integration, Salesforce.com, Force.com, Heroku, Business analysis, Real-time

Integration.

I. INTRODUCTION

A typical enterprise uses many applications, many or most of which are not designed to work

with one another out of the box. Integrating separate but related apps helps organizations achieve

greater levels of operational consistency, efficiency, and quality. Each application can have data,

business logic, presentation, and security layers, all of which are possible targets for integration. This

project is an overall launch point for exploring the various integration options related to Force.com

and other Salesforce platform technologies. The Software developed in Cloud should integrate with

other systems and allow Seamless integration for information exchange between systems. If it does

not allow integration with the External System, it does not allow real time data exchange between

systems for real time transactions. The standalone system need to Import data manually, the system

is not secured, Data may be loss or corrupt, No real time transaction and it is not adoptable standard in

Industry.

Project Scope:

Integration with cloud based Salesforce.com’s Force.com platform will be used to integrate two

different applications on two different platforms.

Scope Includes:

Cloud based Integration with External System

Page Layout and Record Types

Security and Sharing

User Access Control

Validation

Business Automation using

Reports

Dashboards

Email Notifications on Order Closure

International Journal of Recent Trends in Engineering & Research (IJRTER) Volume 02, Issue 03; March - 2016 [ISSN: 2455-1457]

@IJRTER-2016, All Rights Reserved 332

II. LITERATURE SURVEY

2.1 Internal system:

Force.com[6] the #1 Platform-as-a-Service, with the help of rock-solid APIs and frameworks helps

developers create and deploy next-generation cloud apps. Force.com[6] provides an on-demand

cloud database with easy tools for developing data driven applications and APIs for combing with

other application.

API: Use REST and SOAP APIs to access, modify and report on your organization’s data and to create

notifications when it changes.[1]

Mobile SDK: Everything you need to build custom native iOS and Android Apps[4].

Programmatic: Add business logic and triggers to your organization’s data with Apex and build

custom interfaces with Visualforce.[5]

Drag & Drop Business Logic: Create and modify application components, including objects, page

layouts, reports, workflow rules, approval processes triggers, and more.

Social: Users, data, and processes are instantly social and feed first. Create custom, contextually aware

feed publishers to make your apps smarter and faster.[2]

Security: Control access to your apps, data and logic with fine-grained programmatic and user-level

access control.[1]

Here’s an example: the RestResponse object is included to illustrate where it would be added to the

method definition.

2.2 External System:

Heroku includes

Heroku Connect: Bi-directional data sync between Heroku[3] Postgres and Salesforce so you can

build apps that leverage your core customer data.

Languages You Love: Build Ruby, Node.js, Python, PHP, Java, Scala and Clojure apps, and integrate

them with your Salesforce apps using supported open source API client libraries.[3]

Add-on Marketplace: Dozens of fully managed cloud services you can add and scale in a single

command.

Instant, On-Demand Scale: Scale up quickly and reliably to meet traffic spikes, accommodate more

users, and deliver new features.

III. SPECIFICATION OF THE SYSTEM

3.1 Functionality Provider by the System:

End user should go online and login into the Salesforce.com System (server)

User should see salesforce.com Cloud based Integration home page with all required tabs

Create App to distinguish separate functionality and add logo to provide branding to the application.

User should be able to add Merchandise, set price and quantity, add Invoice, with Status and Order ID

International Journal of Recent Trends in Engineering & Research (IJRTER) Volume 02, Issue 03; March - 2016 [ISSN: 2455-1457]

@IJRTER-2016, All Rights Reserved 333

for integration.

Only authorized User should be able to delete Merchandise, Invoice, and Line Item

Merchandise, Invoice and Line Item should have multiple page layouts.

User can order items greater than zero and less than or equal to availability of merchandise in stock.

When user adds Invoice line items, Available merchandise should be automatically reduced and

updated quantity should be displayed on merchandise.[3]

All line Items in Invoice should be rolled up to invoice total.

Users/agents as well as managers should see dashboard i.e. graphical representation of report on

Salesforce UI [6] and mobile device. Assign cases to queue automatically and notify user/ agent by

email using Salesforce automation.

System should allow Import, Export, Update, and Export All Data, Data backup and recovery

requirement, Schedule Reports and Email them to specified users, Data migration from Legacy

systems.

3.2 Expected Outcome: The application created in Salesforce[1] consists of various objects, fields, relationships

(Lookup and Master-Detailed relationship [MOR]) that provide security to metadata and supports the

validation given in the programming aspects.

Migration of data and code, replica of production, testing, deployment, UAT, SIT, sandbox testing

etc. is to be done.

Salesforce based application integrate with an external system based on a different platform called

Heroku. Heroku provides an order id to the merchandise that are added as line items in the invoice in

on the Salesforce platform and both the systems are updated simultaneously under a secure

functionality.

Dashboards and reports of all the operations carried out are obtained in the Salesforce based

internal/base system[3].

3.3. System Requirement

i. Performance Requirements

High Speed Internet (Broadband)

ii. Hardware Requirement

2-4 GB RAM

i3, i5, i7, AMD, Mobile Processors

iii. Software requirement

Windows7/8.1/10 / Linux/Android/IOS

Mozilla Firefox, IE 11, Chrome, Bing and any other browser.

Apex Data loader

iv. Security Requirements

Securing access to your applications, data and logic is a key part of application development

and system configuration. This security should not only protect data and logic from unauthorized

external access, but also from unauthorized internal access—for example by only granting data access

to users with the appropriate authorization. Force.com is built around a robust and flexible security

architecture, providing you with a fine degree of control over the users, network, and data. This article

discusses these various aspects of security—introducing everything from user and client authentication

through administrative permissions and the data access and sharing model.

International Journal of Recent Trends in Engineering & Research (IJRTER) Volume 02, Issue 03; March - 2016 [ISSN: 2455-1457]

@IJRTER-2016, All Rights Reserved 334

Users and Security

User Authentication

Network-based Security

Session Security

Auditing

Security Tokens

Data Security

Data Access

Report and Dashboard Access

IV. BLOCK DIAGRAM OF THE SYSTEM

4.1. System Architecture Diagram

Real-time integrations have higher risk and require complicated queuing mechanisms and error

handling mechanisms to account for system outage and data errors. Often, a near real-time alternative

is acceptable in the cases of “fire and forget” patterns (e.g. a user submits a record for processing and

will receive an email notification once it has been processed successfully). This type of integration

will utilize Salesforce Apex Callouts to call remote web services.[2]

The following sections examine the more fundamental integration building blocks:

Creating and exposing web services using the Apex programming language

Invoking external web services from Apex

Outbound messaging for invoking external web services when data changes[5]

HTTP and REST integration

Email integration for inbound and outbound messaging

The Force.com SOAP APIs and associated toolkits, such as the Mobile SDK, AJAX Toolkit, Java,

.NET, PHP and Adobe Flex integrations.

Syndication feeds via Force.com Sitesthe Web services support in Apex provides a way for you to

invoke business logic on the Force.com platform from some external system.

Apex is a strongly-typed programming language that executes on the Force.com platform. Apex is

used to add business logic to applications, to program controllers in the Visualforce user interface

layer, and to write database triggers.

Fig. 1 Data Flow in the System

4.2. Working of Proposed System:

An application for the management of warehouse is developed in the force.com platform

provided by the Salesforce.com[1] which is a cloud based platform. This application keeps a record of

the total merchandise available in the warehouse. The user can create an invoice and can add the

International Journal of Recent Trends in Engineering & Research (IJRTER) Volume 02, Issue 03; March - 2016 [ISSN: 2455-1457]

@IJRTER-2016, All Rights Reserved 335

merchandise that are to be sold as line items to the invoice. As the invoice’s status is changed to close,

the total number of merchandise left in the warehouse is updated and the invoice total is displayed.[3]

The part of the application works in the internal/base system, but simultaneously the

application integrates with an external system – Heroku, where the order id of the invoice is

automatically generated and updated. The order id can be used by the external system for further

processing like online payment etc.[4]

Cloud based integration helps to integrate 2 systems in a much secure and easy manner. All the

features of the cloud based system such as security, 24X7 customer service, less TOI (Total Cost of

Investment) etc. are by default incorporated in the proposed system.

Fig.2 Working of the System

V. RESULT ANALYSIS

Cloud based Integration successfully integrated with Heroku using REST API and we have

determined following outcome of the system.

Reports and Dashboards offer a real-time picture of your business at a glance. Dig deeper with

detailed reports that anyone can create. And access your reports and dashboards from anywhere.

Salesforce Security Model helps us to provide Security to Data, Access, based on user profile, IP

Address Restriction, Network IP and Sharing Settings.

Salesforce Offers 99.99 % availability with 300ms response time with high Performance.

5.1. Add Merchandise:

Fig.3: Adding Merchandise

International Journal of Recent Trends in Engineering & Research (IJRTER) Volume 02, Issue 03; March - 2016 [ISSN: 2455-1457]

@IJRTER-2016, All Rights Reserved 336

Fig.4: Adding Merchandise

5.2. Create Invoice

Fig.5: Creating Invoice

Fig.6: Creating Invoice

5.3. Integrate With Heroku:

Fig.6: Integration with Heroku

International Journal of Recent Trends in Engineering & Research (IJRTER) Volume 02, Issue 03; March - 2016 [ISSN: 2455-1457]

@IJRTER-2016, All Rights Reserved 337

Fig.7: Integration with Heroku

5.4. CBI Dashboard:

CBI dashboard shows real time Data Analytics.

Fig. 8: CBI dashboard.

5.5. Heroku Dashboard

Fig.9: Heroku dashboard.

International Journal of Recent Trends in Engineering & Research (IJRTER) Volume 02, Issue 03; March - 2016 [ISSN: 2455-1457]

@IJRTER-2016, All Rights Reserved 338

Fig.9: Heroku dashboard.

VI. CONCLUSION The app we created now retrieves invoice information using Force.com’s Representational State

Transfer API and provides it to the user. You configured your app in Salesforce to use OAuth for

authentication, and add OAuth credentials to the applicationthat you host on Heroku. You can further

make changes to your application to alter invoice information as required.

With a combination of OAuth authentication, Force.com[6] Apex triggers, REST API, @future

callouts, the framework of the Heroku platform, Visualforce and Force.com Canvas we created and

deployed a bi-directional integration between two clouds.

Read the pattern summary and selection matrix if you’re considering large-scale adoption of

Salesforce-based applications (or the Force.com or Database.com tool sets) so that you can become

familiar with the integration capabilities and options available. [7]

Architects and developers should consider these pattern details and best practices during the design

and implementation phase of a Salesforce integration project. If implemented properly, these patterns

enable you to get to production as fast as possible and have the most stable, scalable, and maintenance-

free set of applications possible. [8]

Salesforce’s own consulting architects use these patterns as reference points during architectural

reviews and are actively engaged in maintaining and improving them. As with all patterns, they cover

the majority of integration scenarios, but not all. While Salesforce[1] allows for user interface (UI)

integration—mashups, for example—such integration is outside the scope of this document. If you

feel that your requirements are outside the bounds of what these patterns describe, please speak with

your Salesforce representative. [1]

REFERENCES

1. www.salesforce.com [Accessed: August 15th 2015]

2. www.developer.salesforce.com [Accessed: August 17th 2015]

3. www.heroku.com[Accessed: August 23rd 2015]

4. https://developer.salesforce.com/page/Integration [Accessed: August 19th 2015]

5. http://www.salesforce.com/in/platform/services/how-you-integrate/ [Accessed: August 20th 2015]

6. https://developer.salesforce.com/page/Integrating_with_the_Force.com_Platform [Accessed: August 19th 2015]

7. https://developer.salesforce.com/page/Data_Integration [Accessed: August 24th 2015]

8. http://www.salesforce.com/in/cloudcomputing/ [Accessed: August 28th 2015]