53
Lunch & Learn Enterprise könnten Social sein. Präsentiert: Raymond Gao September, 2012

Salesforce & SAP Integration

Embed Size (px)

DESCRIPTION

Cloud to onpremise integration with Salesforce & SAP technologies see: https://github.com/raygao/RaysCruiserDemo

Citation preview

Page 1: Salesforce & SAP Integration

Lunch & LearnEnterprise könnten Social sein. Präsentiert: Raymond Gao

September, 2012

Page 2: Salesforce & SAP Integration

What are in common between Food and Computing? What is Good food?

Ask ten people, you get ten different answers. Tasty, Wholesome, Looks and Smells nice,

Nutritious, facilitates good conversation, … What is Good Enterprise IT architecture?

Purposeful, efficient, easy to manage, positive ROI, …

A lot of good IT people are also Foodies!

das Bier, die Wurst, und die Brezel

Page 3: Salesforce & SAP Integration

Who is this Speaker?

Page 4: Salesforce & SAP Integration

Wer ist Ray? (Who is this dude?)

Job history Authored Salesforce / Ruby Integration Toolkit Chief Architect @ Nokia Business Infrastructure Senior E-Commerce Architect / Technical Manager @ Sun

Microsystems (now Oracle) Board of Director for Project JXTA (P2P Computing - Bit

Torrent) Java Community Process Member

Publications Editor-in-Chief, Peer-to-Peer Computing Journal (Peer-

reviewed) eAI Journal, Enterprise Linux, XML Journal, …

Conferences JavaOne 2001 WebServices One 2002 Dagstuhl 2005 (Max Planck Institute) University of Dresden etc 9 Novembre, 20102010 IUT Cloud Computing Seminar 4

Page 5: Salesforce & SAP Integration

Dagstuhl, Saarland, 2005

Page 6: Salesforce & SAP Integration

Photos from my past conference

University of BurgundyFrance, 2010

JavaOneSan Francisco, 2001

Dagstuhl, 2005

F8, 2009Dagstuhl, 2005

Page 7: Salesforce & SAP Integration

Background Information

Page 8: Salesforce & SAP Integration

What do you do? AEs / SEs / Architects / Developer?

What kinds of clients & customers do you have?

What do you think about doing business in Bavaria & Germany? Challenges Unique Situations Trend

Ask My Audience

Page 9: Salesforce & SAP Integration

Business Climate in Bavaria

Page 10: Salesforce & SAP Integration

Manufacturing – Inventory Management, Resource Planning, Demand Forecasting and Shipping, ERP

Life Science – Customer Care, Vendor Management Software – Revenue Recognition, Sales & Marketing Media – Lead-to-Cash, Reporting, BI Analytics Distribution – Warehouse Management, Fulfillment,

Partner Relation Management Finance – Risk Management, CRM, Reporting, Billing

Different Industry VerticalsDifferent Enterprise IT Requirements

Page 11: Salesforce & SAP Integration

Business Overview

Page 12: Salesforce & SAP Integration

ERP in the Big Picture

Page 13: Salesforce & SAP Integration

Manufacturing Process

Page 14: Salesforce & SAP Integration

ERP Market Share

Page 15: Salesforce & SAP Integration

Enterprise IT System – 3 NOTs

• Too Complex• Too Bloated• Too Expensive

Page 16: Salesforce & SAP Integration

Big Bloat

Reasons:• Overly

Technical• Too Complex• Boring, • Costly• Dangerous to

your health

Page 17: Salesforce & SAP Integration

Mistake x Mistake ≠ Success

Unnecessary Complexity

Page 18: Salesforce & SAP Integration

Acronym City

Only God understand this!!!

Page 19: Salesforce & SAP Integration

Is there a Salvation from the Bad Hair Day?

Page 20: Salesforce & SAP Integration

Easy to understand Clear Business Process Good Use Case leads to positive ROI, lower

TCO Capital vs. Operating Cost

Preserves existing investment – Integration

Keys to Good Design

Page 21: Salesforce & SAP Integration

Put it to Together

Page 22: Salesforce & SAP Integration

Robust Data Model & Processes Well managed and timely system & API

updates Trust.Salesforce.com API releases (Spring, Summer, Winter, …)

SaaS model leads to High Adoption Rate Capital Expense -> Operating Expense

What are the main strength of Salesforce CRM system?

Page 23: Salesforce & SAP Integration

Think Salesforce, Think Integration

Page 24: Salesforce & SAP Integration

Robust Data Model

Page 25: Salesforce & SAP Integration

Changing Landscape of IT

Page 26: Salesforce & SAP Integration

Increasing importance of Dynamic Languages and Platforms Ruby, Clojure, Play, Python, …

Rise of Big Data / NoSQL MongoDB, Hbase, Cassandra, Redis, CouchDB,

Dynamo DB Social Coding

Github, StackOverflow, HotScripts, CoderWall, CodePlex, …

Interesting New Development

Page 27: Salesforce & SAP Integration

Leading Programming Platforms *

Java

Spring

JSF

J2EE

Struts 2

Mac

Object C

AppleScript

.Net

C#

VB

Dynamic Languag

es

Ruby

Python

Perl

PHP

Functional (Scala / Clojure)

Node.JS

For Enterprise IT

Page 28: Salesforce & SAP Integration

Programming Language Index

Page 29: Salesforce & SAP Integration

NOSQL Growth Rate

Page 30: Salesforce & SAP Integration

GitHub Stats – April 20, 2011

Page 31: Salesforce & SAP Integration

Sweet Spots for Heroku

Languages & Platform Support

• Clojure• Java – Spring / Play• Python – Django• Scala• Facebook• Node.js• Ruby - Rails

Page 32: Salesforce & SAP Integration

What is the deal with DatenSchutz?

Page 33: Salesforce & SAP Integration

Continuity of Business Process

• Lead Generation

• SEO• Cool UIs

Web 2.0 Portal

Ruby / Heroku

• Order Management

• Reporting• Case

TrackingChatter

Salesforce CRM

ERP System

Java Based Gateway

Java AS (NetWeaver, Oracle Glassfish, …)

Inventory Management

Production Scheduling

Supplier Management

Page 34: Salesforce & SAP Integration

Front Portal on Heroku

Page 35: Salesforce & SAP Integration

Inventory Management

Page 36: Salesforce & SAP Integration

Order Overview

Page 37: Salesforce & SAP Integration

Order to Chatter

Page 38: Salesforce & SAP Integration

Part Details

Page 39: Salesforce & SAP Integration

Portal to Salesforce Synch

Page 40: Salesforce & SAP Integration

Salesforce Data Reporting

Page 41: Salesforce & SAP Integration

Backend ERP App (Java)

Page 42: Salesforce & SAP Integration

Ruby - Custom portal Custom Objects and Attributes – Salesforce CRM Java Spring – Java App Server (Tomcat, Oracle Glassfish,

SAP NetWeaver) JSON / REST APIs

Time: ~3 Weeks Building the environment – 10 Days

Setup Linux, Download IDE & Plugin, SAP installation & Configuration, DB administration, …

Development Ruby App – 3 Days Java App – 4 Days

Testing – 1 Day

Technology & Timeline

Page 43: Salesforce & SAP Integration

Key Features & Benefits: Perfect solution for DatenSchutz Continuity of Business Processes vs. Data Moving Preservation of Existing IT Investment Social Enterprise all the way, including the Floor Workers Production Scheduling & Inventory Management driven

by Real-time Market-data. Best of breed technology Simple yet Robust architecture (extension of community

data model)

Business Process Integration

Page 44: Salesforce & SAP Integration

Enterprise Architecture in 3 Simple Words

Strategy + Process + Vision => Huge Business Value

Put things together; and, they just work!

Page 45: Salesforce & SAP Integration

My Contact Info

Email: [email protected]: raygaoSkype: raygao2000

Page 46: Salesforce & SAP Integration

Backup Slides

Page 47: Salesforce & SAP Integration

Two screens, Custom portal & Salesforce side by side.

ERP

Show the Demo

Page 48: Salesforce & SAP Integration
Page 49: Salesforce & SAP Integration

Top 20 Programming Languages

Page 50: Salesforce & SAP Integration

/*show Order Delivery Date */@RequestMapping(value="/show_delivery/{id}", method = RequestMethod.GET)@ResponseBody public String show_delivery(@PathVariable("id") String id, Model model) {

Orders order = service.read(id);logger.info("show order delivery date => " + order.getName());model.addAttribute("order", order);// return order; //This returns a Date in JSON formatreturn order.getDelivery_date().toString(); //This returns a Date in String format

}

Integration between Ruby & Java

Java Side

# Show Delivery date def show_delivery order_id = params[:order_id] url = SiteConfig[:sap_server][:host] + ":" + SiteConfig[:sap_server][:port] + "/RaysCruiserERP/orders/show_delivery/" + order_id # TODO change to use HTTParty logger.info("url is #{url}") response = HTTParty.get(url).body render :text => response end

Ruby Side

Page 51: Salesforce & SAP Integration

{ "_id" : ObjectId( "5020ce4caeaa3a9c24000011" ),"description" : "Bike Parts - Z2 STRETCH Cruiser frame with tank

BLUE - will accept 24\\\" or 26\\\" rear wheel. Use a straight springer fork and a 22.2mm headset, or a 1\\\" steering tube chopper fork with a 1\\\" chopper headset.\\r\\nPart #: 514831”, "image_filename" : "stretched_cruiser_frame.jpg”,

"item_type_id" : ObjectId( "5020ce3faeaa3a9c24000006" ),"name" : "Stretched Cruiser Frame”,"price" : 179,"quantity" : 4,"remaining_quantity" : 8

}

JSON Example

Page 52: Salesforce & SAP Integration

Application Data Model

Page 53: Salesforce & SAP Integration

Application Class Diagram