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]