Oracle Siebel CRM Integration with Android Devices - aioug

449 downloads 117 Views 1MB Size Report
Oct 19, 2012 ... 8+ Years of IT experience, Managing Siebel CRM engagements ... Siebel CRM Systems, Inc. was a software company principally engaged in.
Oracle Siebel CRM integration with Android Devices

Santosh B. Bogam & Sajan Viswambharan Date: 19th October 2012

Objectives 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

About us

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]

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]

About Siebel CRM

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 (contd.,) 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

Siebel Sales

Siebel Enterprise Marketing Suite

Siebel Customer Order Management Source: Oracle

Siebel Contact Center and Service

Siebel Partner Relationship Management

Oracle Siebel CRM – Evolution & Major Releases 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)

Android

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 4.1.x Jelly Bean 4.0.x Ice Cream Sandwich 3.x.x Honeycomb 2.3.x Gingerbread 2.2 Froyo 2.0, 2.1 Eclair 1.6 Donut 1.5 Cupcake

Release date API Level July 9, 2012 October 19, 2011 February 22, 2011 December 6, 2010 May 20, 2010 October 26, 2009 September 15, 2009 April 30, 2009

16 14-15 11-13 9-10 8 7 4 3

Mobile OS popularity

Android OS Version Usage

Android – Architecture Understanding the OS Software Stack

Lifecycle of an Android Executable APK

Proof of concept Oracle Siebel - Android Synchronization

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

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

Technical Skillset  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

18

Footer

Copyright © 2011 Deloitte Development LLC. All rights reserved.

What is REST ? •

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.

Siebel REST Architecture The following figure provides an overview of REST Architecture framework:`

Requirements: SAI with Oracle Fusion Middleware 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-eaifusion_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

Technical Implementation

Implementation Overview • 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.

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

Displays an arbitrary image, such as ImageView an icon. android.widget.ImageView

Identify Data Identify the Contact Profile Data that we need to sync back to Android Application. The fields used in the application are marked in RED.

Behind the Scene • 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:// :7001/oraclecrm/api/rest/siebel/siebel.SiebelResourceAdapterConnFactory/Contact%20IO?searchexpr=[ Id]='1-5JSND3‘

• The Siebel REST API returns the following HTTP Response. Sachin Tendulkar Ramesh 04/24/1973 Cell Phone (888) 888-8888 [email protected] sachin-tendulkar.jpg .

Proof-Of-Concept Technical Challenges 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… Continued 2. Enabling Networking - java.net.SocketException: Permission denied AndroidManifest.xml