Top Banner
Media Partner Organizers Top Media Partner General Partner Supporters Emil Náhlik, Martin Kočan Accenture Embedded Web Applications October 17, 2014
42

Emil Náhlik, Martin Kočan - openslava.sk · Media Partner Organizers Top Media Partner Supporters General Partner Emil Náhlik, Martin Kočan Accenture Embedded Web Applications

May 15, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Emil Náhlik, Martin Kočan - openslava.sk · Media Partner Organizers Top Media Partner Supporters General Partner Emil Náhlik, Martin Kočan Accenture Embedded Web Applications

Media Partner

Organizers

Top Media Partner

General Partner

Supporters

Emil Náhlik, Martin Kočan Accenture

Embedded Web Applications October 17, 2014

Page 2: Emil Náhlik, Martin Kočan - openslava.sk · Media Partner Organizers Top Media Partner Supporters General Partner Emil Náhlik, Martin Kočan Accenture Embedded Web Applications

About us

Emil Náhlik Martin Kočan

Page 3: Emil Náhlik, Martin Kočan - openslava.sk · Media Partner Organizers Top Media Partner Supporters General Partner Emil Náhlik, Martin Kočan Accenture Embedded Web Applications

Ask questions or rate the Speaker

www.sli.do/openslava

Page 4: Emil Náhlik, Martin Kočan - openslava.sk · Media Partner Organizers Top Media Partner Supporters General Partner Emil Náhlik, Martin Kočan Accenture Embedded Web Applications

Agenda

• Introduction

• Embedded Web Application Architecture

• Packaged Software with Embedded Web Application

• Salesforce.com Demo

Page 5: Emil Náhlik, Martin Kočan - openslava.sk · Media Partner Organizers Top Media Partner Supporters General Partner Emil Náhlik, Martin Kočan Accenture Embedded Web Applications

Agenda

• Introduction

• Embedded Web Application Architecture

• Packaged Software with Embedded Web Application

• Salesforce.com Demo

Page 6: Emil Náhlik, Martin Kočan - openslava.sk · Media Partner Organizers Top Media Partner Supporters General Partner Emil Náhlik, Martin Kočan Accenture Embedded Web Applications

Introduction

• Do you know some Packaged Software?

• Why clients use Packaged Software?

• How is Packaged Software adjusted to client needs?

Page 7: Emil Náhlik, Martin Kočan - openslava.sk · Media Partner Organizers Top Media Partner Supporters General Partner Emil Náhlik, Martin Kočan Accenture Embedded Web Applications

Introduction

• Embedded Web Application is similar to embedded components

• For users it means:

– Same look & feel as the Host Application

– Non-disturbing to Host Application

– No extra login

– User does not perceive any different working with EWA – except better productivity !!!

Page 8: Emil Náhlik, Martin Kočan - openslava.sk · Media Partner Organizers Top Media Partner Supporters General Partner Emil Náhlik, Martin Kočan Accenture Embedded Web Applications

Agenda

• Introduction

• Embedded Web Application Architecture

• Packaged Software with Embedded Web Application

• Salesforce.com Demo

Page 9: Emil Náhlik, Martin Kočan - openslava.sk · Media Partner Organizers Top Media Partner Supporters General Partner Emil Náhlik, Martin Kočan Accenture Embedded Web Applications

Embedded Web Application Architecture

Traditional Web Application

Client Browser

Rendered UI (HTML & JS)

Cookies

Application Server Java / PHP / .NET / …

View

Cached Code

Cached Code

Cached resources

Business services

DB Access, Integration

HTTP

HTTP

Cached Code

Cached Code

Template (HTML, JS,

CSS, …)

Page 10: Emil Náhlik, Martin Kočan - openslava.sk · Media Partner Organizers Top Media Partner Supporters General Partner Emil Náhlik, Martin Kočan Accenture Embedded Web Applications

Embedded Web Application Architecture

Embedded Web Application (EWA)

Client Browser

Rendered UI (HTML & JS)

Cookies

Application Server Java / PHP / .NET / …

View

Cached Code

Cached Code

Cached resources

Cached Code

Cached Code

Template (HTML, JS,

CSS, …)

Business services

DB Access, Integration

HTTP Embedded Code HTTP

Cached Code

Embedded Application

MVC

REST

REST

Local Storage

REST API

Page 11: Emil Náhlik, Martin Kočan - openslava.sk · Media Partner Organizers Top Media Partner Supporters General Partner Emil Náhlik, Martin Kočan Accenture Embedded Web Applications

Embedded Web Application Architecture

EWA Initialization and Workflow

FirewallApplication / Web Server

Reverse Proxy

External Database

External System

REST API

1. HTTP GET /app REST API

REST API

HTTP GET

Page 12: Emil Náhlik, Martin Kočan - openslava.sk · Media Partner Organizers Top Media Partner Supporters General Partner Emil Náhlik, Martin Kočan Accenture Embedded Web Applications

Embedded Web Application Architecture

EWA Initialization and Workflow

FirewallApplication / Web Server

Reverse Proxy

External Database

External System

REST API

1. HTTP GET /app 2. HTTP 200 OK (.html, .js, .css, .png, …)

REST API

REST API

Single page application code

Page 13: Emil Náhlik, Martin Kočan - openslava.sk · Media Partner Organizers Top Media Partner Supporters General Partner Emil Náhlik, Martin Kočan Accenture Embedded Web Applications

Embedded Web Application Architecture

FirewallApplication / Web Server

Reverse Proxy

External Database

External System

REST API

1. HTTP GET /app 2. HTTP 200 OK (.html, .js, .css, .png, …) 3. JavaScript starts and renders UI

REST API

REST API

@

EWA Initialization and Workflow

Page 14: Emil Náhlik, Martin Kočan - openslava.sk · Media Partner Organizers Top Media Partner Supporters General Partner Emil Náhlik, Martin Kočan Accenture Embedded Web Applications

Embedded Web Application Architecture

FirewallApplication / Web Server

Reverse Proxy

External Database

External System

REST API

1. HTTP GET /app 2. HTTP 200 OK (.html, .js, .css, .png, …) 3. JavaScript starts and renders UI 4. REST call to app. server

REST API

REST API

?

REST call

EWA Initialization and Workflow

Page 15: Emil Náhlik, Martin Kočan - openslava.sk · Media Partner Organizers Top Media Partner Supporters General Partner Emil Náhlik, Martin Kočan Accenture Embedded Web Applications

Embedded Web Application Architecture

FirewallApplication / Web Server

Reverse Proxy

External Database

External System

REST API

1. HTTP GET /app 2. HTTP 200 OK (.html, .js, .css, .png, …) 3. JavaScript starts and renders UI 4. REST call to app. server

REST API

REST API

Data

?

EWA Initialization and Workflow

Page 16: Emil Náhlik, Martin Kočan - openslava.sk · Media Partner Organizers Top Media Partner Supporters General Partner Emil Náhlik, Martin Kočan Accenture Embedded Web Applications

Embedded Web Application Architecture

FirewallApplication / Web Server

Reverse Proxy

External Database

External System

REST API

1. HTTP GET /app 2. HTTP 200 OK (.html, .js, .css, .png, …) 3. JavaScript starts and renders UI 4. REST call to interact with server 5. REST call to external system

REST API

REST API

?

REST call

EWA Initialization and Workflow

Page 17: Emil Náhlik, Martin Kočan - openslava.sk · Media Partner Organizers Top Media Partner Supporters General Partner Emil Náhlik, Martin Kočan Accenture Embedded Web Applications

Embedded Web Application Architecture

FirewallApplication / Web Server

Reverse Proxy

External Database

External System

REST API

1. HTTP GET /app 2. HTTP 200 OK (.html, .js, .css, .png, …) 3. JavaScript starts and renders UI 4. REST call to interact with server 5. REST call to external system

REST API

REST API

Data

?

EWA Initialization and Workflow

Page 18: Emil Náhlik, Martin Kočan - openslava.sk · Media Partner Organizers Top Media Partner Supporters General Partner Emil Náhlik, Martin Kočan Accenture Embedded Web Applications

Embedded Web Application Architecture

Resource utilization comparison

Data

?

Client CPU

Bandwidth

Server CPU

HTML / JSON

Client CPU

Bandwidth

Server CPU

Standard Web Application Embedded Web Application

Page 19: Emil Náhlik, Martin Kočan - openslava.sk · Media Partner Organizers Top Media Partner Supporters General Partner Emil Náhlik, Martin Kočan Accenture Embedded Web Applications

Agenda

• Introduction

• Embedded Web Application Architecture

• Packaged Software with Embedded Web Application

• Salesforce.com Demo

Page 20: Emil Náhlik, Martin Kočan - openslava.sk · Media Partner Organizers Top Media Partner Supporters General Partner Emil Náhlik, Martin Kočan Accenture Embedded Web Applications

Packaged Software - SAP, Siebel, Salesforce.com

Packaged Software with EWA

Client Browser

Rendered UI (HTML & JS)

New View Edit Delete List Search

Application Server Java / PHP / .NET / …

View

Controller

Model

HTTP

HTTP

Cached Code

Cached Code

Template (HTML, JS,

CSS, …)

Page 21: Emil Náhlik, Martin Kočan - openslava.sk · Media Partner Organizers Top Media Partner Supporters General Partner Emil Náhlik, Martin Kočan Accenture Embedded Web Applications

Packaged Software MVC - Model

Packaged Software with EWA

Client Browser

Rendered UI (HTML & JS)

New View Edit Delete List Search

Application Server Java / PHP / .NET / …

View

Controller

Model

HTTP

HTTP

Cached Code

Cached Code

Template (HTML, JS,

CSS, …)

Page 22: Emil Náhlik, Martin Kočan - openslava.sk · Media Partner Organizers Top Media Partner Supporters General Partner Emil Náhlik, Martin Kočan Accenture Embedded Web Applications

Packaged Software with EWA

Packaged Software MVC - Model

• Standard Objects – Product, Order, Order Item

– Extendible declaratively by adding attributes, relations

– Out of the Box functionality – Processes, Reports, Approval Rules

• Custom Objects

– Defined declaratively

– Limitations of the platform

Page 23: Emil Náhlik, Martin Kočan - openslava.sk · Media Partner Organizers Top Media Partner Supporters General Partner Emil Náhlik, Martin Kočan Accenture Embedded Web Applications

Packaged Software MVC - View

Packaged Software with EWA

Client Browser

Rendered UI (HTML & JS)

New View Edit Delete List Search

Application Server Java / PHP / .NET / …

View

Controller

Model

HTTP

HTTP

Cached Code

Cached Code

Template (HTML, JS,

CSS, …)

Page 24: Emil Náhlik, Martin Kočan - openslava.sk · Media Partner Organizers Top Media Partner Supporters General Partner Emil Náhlik, Martin Kočan Accenture Embedded Web Applications

Packaged Software with EWA

Packaged Software MVC - View • Generated Page Layouts

• WYSIWYG Design Tools for Page Layouts

• Look & Feel adjusted through CSS

• User interaction based on manipulation of Standard or Custom objects

– New, View, Edit, Delete, List, Search

• JavaScript snippets can improve user interaction

Page 25: Emil Náhlik, Martin Kočan - openslava.sk · Media Partner Organizers Top Media Partner Supporters General Partner Emil Náhlik, Martin Kočan Accenture Embedded Web Applications

Packaged Software MVC - Controller

Packaged Software with EWA

Client Browser

Rendered UI (HTML & JS)

New View Edit Delete List Search

Application Server Java / PHP / .NET / …

View

Controller

Model

HTTP

HTTP

Cached Code

Cached Code

Template (HTML, JS,

CSS, …)

Page 26: Emil Náhlik, Martin Kočan - openslava.sk · Media Partner Organizers Top Media Partner Supporters General Partner Emil Náhlik, Martin Kočan Accenture Embedded Web Applications

Packaged Software with EWA

Packaged Software MVC - Controller • Platform generates Standard Controller for each Object

• Controllers are extended with specific business logic

• Coding in languages such as ABAP, Apex, eScript

Page 27: Emil Náhlik, Martin Kočan - openslava.sk · Media Partner Organizers Top Media Partner Supporters General Partner Emil Náhlik, Martin Kočan Accenture Embedded Web Applications

Packaged Software with EWA

Example – Generic Ordering

Model

View • Add Order Item

• Edit Order Item

• Search Product

• …

Controller • Order – Create, Read, Update, Delete, Query

• Order Item – Create, Read, Update, Delete, Query

• Product – Create, Read, Update, Delete, Query

Order Order Item Product

Page 28: Emil Náhlik, Martin Kočan - openslava.sk · Media Partner Organizers Top Media Partner Supporters General Partner Emil Náhlik, Martin Kočan Accenture Embedded Web Applications

Embedded Web Application

Packaged Software with EWA

Client Browser

Rendered UI (HTML & JS)

Application Server Java / PHP / .NET / …

View

Controller

Model

HTTP

HTTP

Cached Code

Cached Code

Template (HTML, JS,

CSS, …)

Embedded Application

Model

Controller

View

REST

REST

Page 29: Emil Náhlik, Martin Kočan - openslava.sk · Media Partner Organizers Top Media Partner Supporters General Partner Emil Náhlik, Martin Kočan Accenture Embedded Web Applications

Embedded Web Application MVC - Model

Packaged Software with EWA

Client Browser

Rendered UI (HTML & JS)

Application Server Java / PHP / .NET / …

View

Controller

Model

HTTP

HTTP

Cached Code

Cached Code

Template (HTML, JS,

CSS, …)

Embedded Application

Model

Controller

View

REST

REST

Page 30: Emil Náhlik, Martin Kočan - openslava.sk · Media Partner Organizers Top Media Partner Supporters General Partner Emil Náhlik, Martin Kočan Accenture Embedded Web Applications

Packaged Software with EWA

Embedded Web Application MVC - Model

• Custom Model not restricted by Packaged Software

• Fits the needs of solved problem

• Example for Ordering:

– Kitchen Furniture Ordering • Help customers to choose furniture which fits their kitchen

• Objects like Kitchen, Wall, Space, Furniture, Palette

Page 31: Emil Náhlik, Martin Kočan - openslava.sk · Media Partner Organizers Top Media Partner Supporters General Partner Emil Náhlik, Martin Kočan Accenture Embedded Web Applications

Embedded Web Application MVC - View

Packaged Software with EWA

Client Browser

Rendered UI (HTML & JS)

Application Server Java / PHP / .NET / …

View

Controller

Model

HTTP

HTTP

Cached Code

Cached Code

Template (HTML, JS,

CSS, …)

Embedded Application

Model

Controller

View

REST

REST

Page 32: Emil Náhlik, Martin Kočan - openslava.sk · Media Partner Organizers Top Media Partner Supporters General Partner Emil Náhlik, Martin Kočan Accenture Embedded Web Applications

Packaged Software with EWA

Embedded Web Application MVC - View

• Leverage richness of the JavaScript libraries (e.g. AngularJS, Bootstrap, etc.)

– Graph visualization of data

– Animations

– Maps

• Example for Ordering:

– Kitchen Furniture Ordering • Visualization of Kitchen design (drag&drop)

Page 33: Emil Náhlik, Martin Kočan - openslava.sk · Media Partner Organizers Top Media Partner Supporters General Partner Emil Náhlik, Martin Kočan Accenture Embedded Web Applications

Embedded Web Application MVC - Controller

Packaged Software with EWA

Client Browser

Rendered UI (HTML & JS)

Application Server Java / PHP / .NET / …

View

Controller

Model

HTTP

HTTP

Cached Code

Cached Code

Template (HTML, JS,

CSS, …)

Embedded Application

Model

Controller

View

REST

REST

Page 34: Emil Náhlik, Martin Kočan - openslava.sk · Media Partner Organizers Top Media Partner Supporters General Partner Emil Náhlik, Martin Kočan Accenture Embedded Web Applications

Packaged Software with EWA

Embedded Web Application MVC - Controller

• Performs actions on Embedded Application Model and generates View

• Synchronizes with Model of Host Application – Loads and translates data from Host Application Model

– Translates and updates any changes to Host Application Model

• Examples from Ordering:

– Load List of Products into a Palette and Furniture

– Update configured Kitchen into List of Order Items

Page 35: Emil Náhlik, Martin Kočan - openslava.sk · Media Partner Organizers Top Media Partner Supporters General Partner Emil Náhlik, Martin Kočan Accenture Embedded Web Applications

Agenda

• Introduction

• Embedded Web Application Architecture

• Packaged Software with Embedded Web Application

• Salesforce.com Demo

Page 36: Emil Náhlik, Martin Kočan - openslava.sk · Media Partner Organizers Top Media Partner Supporters General Partner Emil Náhlik, Martin Kočan Accenture Embedded Web Applications

Salesforce.com Demo

• CRM Sales Cloud and Service Cloud applications are built on the Force.com platform. They include application specific MVC.

• Chatter is a social enterprise application

• Database.com is the cloud-based database platform. It includes:

– Security model.

– Integration mechanisms.

CRM Applications

Database.com

Force.com

Chatter

Force.com is a cloud-based platform for building applications.

Page 37: Emil Náhlik, Martin Kočan - openslava.sk · Media Partner Organizers Top Media Partner Supporters General Partner Emil Náhlik, Martin Kočan Accenture Embedded Web Applications

Salesforce.com Demo

Account Hierarchy Management – a real Embedded Web App

Account Name Parent Account

Stanford University

School of Engineering Stanford University

School of Medicine Stanford University

Neurosurgery School of Medicine

Radiation Oncology School of Medicine

Radiation & Cancer Biology Radiation Oncology

Salesforce.com Model (Records)

Account Hierarchy Model (Tree)

Page 38: Emil Náhlik, Martin Kočan - openslava.sk · Media Partner Organizers Top Media Partner Supporters General Partner Emil Náhlik, Martin Kočan Accenture Embedded Web Applications

Salesforce.com Demo

Use Case – Search Accounts with out-of-the-box features

Page 39: Emil Náhlik, Martin Kočan - openslava.sk · Media Partner Organizers Top Media Partner Supporters General Partner Emil Náhlik, Martin Kočan Accenture Embedded Web Applications

Salesforce.com Demo

Use Case – Search Accounts in Embedded Web App

Page 40: Emil Náhlik, Martin Kočan - openslava.sk · Media Partner Organizers Top Media Partner Supporters General Partner Emil Náhlik, Martin Kočan Accenture Embedded Web Applications

Salesforce.com Demo

Use Case – Hierarchy Reorganization with out-of-the-box features

Page 41: Emil Náhlik, Martin Kočan - openslava.sk · Media Partner Organizers Top Media Partner Supporters General Partner Emil Náhlik, Martin Kočan Accenture Embedded Web Applications

Salesforce.com Demo

Use Case – Hierarchy Reorganization in Embedded Web App

Page 42: Emil Náhlik, Martin Kočan - openslava.sk · Media Partner Organizers Top Media Partner Supporters General Partner Emil Náhlik, Martin Kočan Accenture Embedded Web Applications

Conclusion

Benefits

• Better user experience

• Responsiveness

• Off-line mode

• Small footprint

• Cost effective

Challenges

• Source code at client side

• Intellectual Property Protection

• API documentation of packaged SW

Sky is the limit, let your creativity fly…

Thank you for your attention! Now is the Q&A time…