Oracle Siebel CRM

32
Oracle Siebel CRM integration with Android Devices Date: 19 th October 2012 Santosh B. Bogam & Sajan Viswambharan

Transcript of Oracle Siebel CRM

Page 1: Oracle Siebel CRM

Oracle Siebel CRM

integration with

Android Devices

Date: 19th October 2012

Santosh B. Bogam & Sajan Viswambharan

Page 2: Oracle Siebel CRM

At the end of this session, the audience will get a brief on

Siebel CRM & Evolution

Android Evolution & Architecture

Android Application & Siebel REST Services Architecture

Proof-Of-Concept for Siebel-Android Integration & Technical Challenges

Objectives

Page 3: Oracle Siebel CRM

About us

Page 4: Oracle Siebel CRM

Santosh B. Bogam • Manager, Deloitte Consulting India Pvt. Ltd.

• 13+ years of IT experience in delivering Siebel

CRM solutions

• 8+ years in Deloitte Consulting

• Implemented Siebel CRM engagements for

clients across Healthcare, Insurance & TMT

Industries

• Leading CRM Whitepapers initiatives

• Email: [email protected]

Page 5: Oracle Siebel CRM

Sajan Viswambharan

Specialist Senior, Deloitte Consulting India Pvt. Ltd.

8+ Years of IT experience, Managing Siebel CRM engagements

4+ Years in Deloitte Consulting India

Extensively involved in building tools, accelerators and methods

that enable delivery of Oracle package implementation projects.

Software and Web Security Hobbyist

Email: [email protected]

Page 6: Oracle Siebel CRM

About Siebel CRM

Page 7: Oracle Siebel CRM

Siebel is a brand owned by Oracle Corporation since 2006

History (prior to 2006) –

• Siebel CRM Systems, Inc. was a software company principally engaged in

the design, development, marketing, and support of customer relationship

management (CRM) applications.

• Siebel Systems, Inc. began in sales force automation software, then

expanded into marketing and customer service applications.

• 1993: Siebel Systems, Inc. is founded by Thomas Siebel and Patricia House.

• 1996: Siebel becomes a publicly traded company.

• 2000: Revenue surpasses the $1 billion mark.

• 2006: Oracle acquires Siebel Systems.

Oracle Siebel CRM

Page 8: Oracle Siebel CRM

Oracle Siebel CRM

• helps companies differentiate their businesses to achieve maximum top-line

and bottom-line growth

• delivers a combination of transactional, analytical, and engagement capabilities

to manage all customer-facing operations

• delivers comprehensive on-premise and on demand CRM solutions that are

tailored to industry solutions with customer intelligence and pre-built integration

• provides solutions tailored to 20+ industries

Oracle Siebel CRM (contd.,)

Siebel Sales

Siebel Customer Order Management

Siebel Enterprise Marketing Suite Siebel Contact Center and Service

Siebel Partner Relationship Management

Source: Oracle

Page 9: Oracle Siebel CRM

Major releases:-

• Oracle CRM On Demand

• Oracle Business Intelligence Enterprise Edition Plus (released 2007)

• Oracle Business Intelligence Applications (Siebel Analytics) (released 2007)

• Oracle Siebel 8.2 (Released in 2011)

• Oracle Siebel 8.1 (Released in 2008)

• Oracle Siebel 8.0 (Released in 2007)

• Siebel 7.8 (Released in 2005)

• Siebel 7.7 (Released in 2004)

• Siebel 7.5 (Released in 2002)

• Siebel 7.0 (Released 2001, was the first web-based version)

• Siebel 6 (also known as Siebel 2000)

• Siebel 99

• Siebel 98

• Siebel 3.0 (Release Feb 1997)

• Siebel 2.0 (Release end of 1995)

• Siebel Sales Enterprise

• Siebel Customer Relationship Management (CRM)

Oracle Siebel CRM – Evolution & Major Releases

Page 10: Oracle Siebel CRM

Android

Page 11: Oracle Siebel CRM

Android – An Overview

Android is an operating system for mobile devices such as smartphones and

tablet computers.

Developed by the Open Handset Alliance led by Google.

Open Source and customizable

Provides a development kit (SDK)

Emulator support for testing

Version Release date API Level

4.1.x Jelly Bean July 9, 2012 16

4.0.x Ice Cream Sandwich October 19, 2011 14-15

3.x.x Honeycomb February 22, 2011 11-13

2.3.x Gingerbread December 6, 2010 9-10

2.2 Froyo May 20, 2010 8

2.0, 2.1 Eclair October 26, 2009 7

1.6 Donut September 15, 2009 4

1.5 Cupcake April 30, 2009 3

Page 12: Oracle Siebel CRM

Mobile OS popularity

Page 13: Oracle Siebel CRM

Android OS Version Usage

Page 14: Oracle Siebel CRM

Android – Architecture Understanding the OS Software Stack

Page 15: Oracle Siebel CRM

Lifecycle of an Android Executable

APK

Page 16: Oracle Siebel CRM

Proof of concept Oracle Siebel - Android

Synchronization

Page 17: Oracle Siebel CRM

Objectives

• To build a proof of concept that demonstrates

Android application sync with Siebel CRM 8.2

data

Display Siebel Contact Profile data on

Android 4.0 AVD device/Android 2.3

Physical Device.

To implement and deploy REST API

services

To document the challenges faced during

implementation and share

Page 18: Oracle Siebel CRM

Development Environment for Proof of Concept Operating System

• Windows 7 (32 bit)

• Also Supported on Mac OS & Linux

Android Development Setup

• Android SDK

• Eclipse 3.6 (Helios) or greater

• Eclipse JDT plugin (included in most Eclipse IDE packages)

• Eclipse Classic

• JDK 5 or JDK 6 (JRE alone is not sufficient)

• Android Development Tools (ADT) plugin

• Physical Devices : Samsung S2 (Android OS : 2.3.4)

CRM: Siebel CRM 8.2

Integration Technology used: Siebel RESTful Services Using SAI for Oracle

Fusion Middleware

Page 19: Oracle Siebel CRM

Copyright © 2011 Deloitte Development LLC. All rights reserved. 18 Footer

Android :

o Knowledge of JAVA

o Knowledge of Android framework/SDK

o Multithreading and thread synchronization

Siebel Knowledge

o Oracle Fusion Middleware Deployment , Adapter Configuration &

Development

o Siebel System Architecture

o Siebel Enterprise Application Integration

Technical Skillset

Page 20: Oracle Siebel CRM

• REST stands for Representational State Transfer.

• REST is an architecture style for designing networked applications. The idea is that,

rather than using complex mechanisms such as CORBA, RPC or SOAP to connect

between machines, simple HTTP is used to make calls between machines.

• RESTful applications use HTTP requests to post data (create and/or update), read data

(e.g., make queries), and delete data. Thus, REST uses HTTP for all four CRUD

(Create/Read/Update/Delete) operations.

• Advantages –

Lightweight and uses standard HTTP Methods and URI Model

Uses the inherent HTTP security model, certain methods are mapped to certain URIs

that can easily be restricted by firewall configuration, unlike other XML over HTTP

messaging formats.

The major problem with SOAP/XML RPC is a tweak in the HTTP spec by adding

another layer of abstraction onto HTTP rather than using the original design. REST

uses the original HTTP design.

Request/Response Messages are simple.

Does not need any specific clients like SOAP Client and COM Clients.

What is REST ?

Page 21: Oracle Siebel CRM

Siebel REST Architecture

`

The following figure provides an overview of REST Architecture

framework:-

Page 22: Oracle Siebel CRM

a) Siebel CRM Fix Pack 8.1.1.7 or later. No specific patches needed for

later versions. Check for the existence of oracle-siebel-eai-

fusion_bundle.zip in SiebSrvr\classes.

b) Oracle WebLogic Server 11g Release 1.

c) Oracle JDeveloper 11g

d) JDK

e) Refer the site for documentation on REST http://docs.oracle.com/cd/E16348_01/books/SAI_OFM/SAI_OFM_REST.htm

f) For SAI Deployment for Oracle Middleware refer.

http://docs.oracle.com/cd/E14004_01/books/SAI_OFM/SAI_OFM_WhatsNew.html

Requirements: SAI with Oracle Fusion Middleware

Page 23: Oracle Siebel CRM

Technical Implementation

Page 24: Oracle Siebel CRM

• Android Application (“Siebel Sync”) basically acts as a Siebel REST API Client.

• Each Android application runs in its own Virtual Machine (VM).

• Application is packaged into an apk(Android Application Package) file and

signed.

• Once deployed you can see the POC Application under Apps.

Implementation Overview

Page 25: Oracle Siebel CRM

Android Application UI (Touch screen) Overview

Classes Used:

EditText

EditText is a thin veneer over

TextView that configures itself to be

editable.

android.widget.EditText

TextView

Displays text to the user and

optionally allows them to edit it.

android.widget.TextView

Button Represents a push-button widget.

android.widget.Button

ImageView

Displays an arbitrary image, such as

an icon.

android.widget.ImageView

Page 26: Oracle Siebel CRM

Identify the Contact Profile Data that we need to sync back to Android

Application. The fields used in the application are marked in RED.

Identify Data

Page 27: Oracle Siebel CRM

• When the “Sync with Siebel” button is pressed on the touch screen, a

Siebel REST API call is triggered.

Request URL used to invoke Siebel REST API

http:// <Host>:7001/oracle-

crm/api/rest/siebel/siebel.SiebelResourceAdapterConnFactory/Contact%20IO?searchexpr=[

Id]='1-5JSND3‘

• The Siebel REST API returns the following HTTP Response.

<?xml version="1.0" encoding="utf-8"?>

<SiebelREST>

<ListOfContactIo>

<Contact>

<First_0x20_Name>Sachin</First_0x20_Name>

<Last_0x20_Name>Tendulkar</Last_0x20_Name>

<Middle_0x20_Name>Ramesh</Middle_0x20_Name>

<Birth_0x20_Date>04/24/1973</Birth_0x20_Date>

<Preferred_0x20_Communications>Cell

Phone</Preferred_0x20_Communications>

<CellularPhone>(888) 888-8888</CellularPhone>

<Email_0x20_Address>[email protected]</Email_0x20_Address>

<Comment>sachin-tendulkar.jpg</Comment>

</Contact>

</ListOfContactIo>

</SiebelREST>.

Behind the Scene

Page 28: Oracle Siebel CRM

1. Spawning a new thread to handle networking activities

(Better performance/security)

Detection

StrictMode is most commonly used to catch accidental disk or network access on

the application's main thread, where UI operations are received and animations

take place. Keeping disk and network operations off the main thread makes for

much smoother, more responsive applications. By keeping your application's main

thread responsive, you also prevent ANR dialogs from being shown to users.

StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder() .

detectDiskReads() .detectDiskWrites() . detectNetwork()

// or .detectAll() for all detectable problems

.penaltyLog() .build());

Remedy

Use background Processing . Classes like Threads, Handler or AsyncTask can be

used.

Proof-Of-Concept Technical Challenges

Page 29: Oracle Siebel CRM

2. Enabling Networking - java.net.SocketException: Permission denied

AndroidManifest.xml

<manifest ….

<uses-permission android:name="android.permission.INTERNET"/>

</manifest>

3. Basic Authentication while connecting to the Rest API.

httpclient = new DefaultHttpClient();

httpclient.getCredentialsProvider().setCredentials( new AuthScope(strHost,

strPort), new UsernamePasswordCredentials(username, password));

HttpGet httpget = new HttpGet(accessUrl);

Proof-Of-Concept Technical Challenges… Continued

Page 30: Oracle Siebel CRM

Demo of Proof of Concept

Page 31: Oracle Siebel CRM
Page 32: Oracle Siebel CRM