How Progress uses Progress Jordi Sastre IT Architect

  • Slides: 47
Download presentation
How Progress uses Progress Jordi Sastre IT Architect, Progress Software Corporation 10 June 2014

How Progress uses Progress Jordi Sastre IT Architect, Progress Software Corporation 10 June 2014

Agenda § About Progress IT § Platform Strategy for Applications § Application Portfolio §

Agenda § About Progress IT § Platform Strategy for Applications § Application Portfolio § Data Integration Architecture § Integration Examples § Pro. Desk (IT Help. Desk application) § Business Intelligence and Data Warehousing 2 © 2014 Progress Software Corporation. All rights reserved.

About Progress IT § 82 employees in 5 countries (USA, India, Australia, Ireland the

About Progress IT § 82 employees in 5 countries (USA, India, Australia, Ireland the Netherlands) § 24 x 5 live IT support provided to 1, 100+ users, 17 offices in 13 countries § 24 x 7 support of critical systems § 24 x 7 support of critical business applications 3 © 2014 Progress Software Corporation. All rights reserved.

Platform Strategy for Applications § We don’t have the manpower to write and maintain

Platform Strategy for Applications § We don’t have the manpower to write and maintain business applications § We want to the best of breed for business functions § We want to take advantage of the Cloud, like everybody else § The most critical business operations applications are based on Open. Edge • Order Management • Financials § When we need to develop we choose Progress (Open. Edge, Rollbase) § Data integration across all systems is key 4 © 2014 Progress Software Corporation. All rights reserved.

Platform Strategy for Applications (cont. ) Enterprise Collaboration Web Sites Field Operations Business Operations

Platform Strategy for Applications (cont. ) Enterprise Collaboration Web Sites Field Operations Business Operations Product Operations Promsgs 3 rd Party Components Beta Program Management Customer Product Integration Layer Employee Business Intelligence & Data Warehouse 5 © 2014 Progress Software Corporation. All rights reserved. PID Test Results Which DB

Platform Strategy for Applications (cont. ) Enterprise Collaboration Web Sites § Enterprise Collaboration •

Platform Strategy for Applications (cont. ) Enterprise Collaboration Web Sites § Enterprise Collaboration • User/Employee Authentication and Single Sign On • Email, Calendar, Community, Share. Point, Lync, Web Sites 6 © 2014 Progress Software Corporation. All rights reserved.

Platform Strategy for Applications (cont. ) Field Operations § Field Operations • CRM (front-end)

Platform Strategy for Applications (cont. ) Field Operations § Field Operations • CRM (front-end) applications for lead flow, sales automation, customer support • Mainly cloud based for easy access 7 © 2014 Progress Software Corporation. All rights reserved.

Platform Strategy for Applications (cont. ) Business Operations § Business Operations • ERP (back-end)

Platform Strategy for Applications (cont. ) Business Operations § Business Operations • ERP (back-end) applications for order entry, financials, invoicing and human resources • On-premise (Open. Edge) and cloud 8 © 2014 Progress Software Corporation. All rights reserved.

Platform Strategy for Applications (cont. ) Product Operations Promsgs 3 rd Party Components Beta

Platform Strategy for Applications (cont. ) Product Operations Promsgs 3 rd Party Components Beta Program Management § Product Operations • Source code management, defect tracking, product build, etc. • On-premise 9 © 2014 Progress Software Corporation. All rights reserved. PID Test Results Which DB

Platform Strategy for Applications (cont. ) § Integration Layer • Data entity and service-oriented

Platform Strategy for Applications (cont. ) § Integration Layer • Data entity and service-oriented integration layer to share and replicate data across platforms • Mainly based on Open. Edge Customer 10 Product Employee © 2014 Progress Software Corporation. All rights reserved. Integration Layer

Platform Strategy for Applications (cont. ) § Business Intelligence and Data Warehouse • Transformation

Platform Strategy for Applications (cont. ) § Business Intelligence and Data Warehouse • Transformation of operational data entities and transactions into reporting data models (cubes) • Open. Edge database available to Web. Speed and Tableau Business Intelligence & Data Warehouse 11 © 2014 Progress Software Corporation. All rights reserved.

Main Business Applications Function Vendor Technology Microsoft, Open. AM, Telligent Several Salesforce. com Cloud

Main Business Applications Function Vendor Technology Microsoft, Open. AM, Telligent Several Salesforce. com Cloud QAD Open. Edge Flexera Cloud Service Cloud Advanced Computer Software Open. Edge Lawson Outhosted Progress IT Open. Edge Tableau / Progress IT Cloud / Open. Edge Integration Progress IT Open. Edge Other Progress IT Open. Edge, Java Web Collaboration Sales Order Management Electronic Software Download Customer Support Financials Human Resources IT Help. Desk Data Warehousing 12 © 2014 Progress Software Corporation. All rights reserved.

Data Integration 13 © 2014 Progress Software Corporation. All rights reserved.

Data Integration 13 © 2014 Progress Software Corporation. All rights reserved.

Data Integration 14 © 2014 Progress Software Corporation. All rights reserved.

Data Integration 14 © 2014 Progress Software Corporation. All rights reserved.

Data Integration Architecture 15 © 2014 Progress Software Corporation. All rights reserved.

Data Integration Architecture 15 © 2014 Progress Software Corporation. All rights reserved.

Data Integration Architecture § Framework based on Open. Edge • Persistent procedures • Include

Data Integration Architecture § Framework based on Open. Edge • Persistent procedures • Include files • Method libraries • Event database § Service oriented § Data entity oriented § Layered: • Integration processes • Data services • Transport methods 16 © 2014 Progress Software Corporation. All rights reserved.

Integration Principles 17 § Architecture focused on supportability and functionality § Service oriented, as

Integration Principles 17 § Architecture focused on supportability and functionality § Service oriented, as opposed to point-to-point integration § Data entity oriented, as opposed to application oriented § Separation of logics (transport, data service, process / presentation, process, services / MVC) § Reuse of logic, code and data § Highly configurable to avoid code modifications § Easy replacement of applications § Support for multiple transport mechanisms, including flat files, SCP, (S)FTP, JMS messages, SOAP and REST Web Services, Open. Edge App. Servers, Open. Edge Procedures and Email § Integrations from/to externally hosted applications need to be secure and encrypted § Use of the best technology for each integration point § Reduced set of technologies, mainly based on Progress Software technologies © 2014 Progress Software Corporation. All rights reserved.

Integration Example: Create Customer 18 © 2014 Progress Software Corporation. All rights reserved.

Integration Example: Create Customer 18 © 2014 Progress Software Corporation. All rights reserved.

Integration Example: Customer Creation 1 Account 2 Customer 3 19 © 2014 Progress Software

Integration Example: Customer Creation 1 Account 2 Customer 3 19 © 2014 Progress Software Corporation. All rights reserved.

Integration Example: Customer Creation 20 © 2014 Progress Software Corporation. All rights reserved.

Integration Example: Customer Creation 20 © 2014 Progress Software Corporation. All rights reserved.

Integration Example: Customer Creation Force. com 21 © 2014 Progress Software Corporation. All rights

Integration Example: Customer Creation Force. com 21 © 2014 Progress Software Corporation. All rights reserved. QXtend

Integration Example: Customer Creation QXtend Force. com SOAP 22 lib. SFDC. p © 2014

Integration Example: Customer Creation QXtend Force. com SOAP 22 lib. SFDC. p © 2014 Progress Software Corporation. All rights reserved. lib. QXtend. p SOAP

Integration Example: Customer Creation Create. Customer. html Create. Customer. w QXtend Force. com SOAP

Integration Example: Customer Creation Create. Customer. html Create. Customer. w QXtend Force. com SOAP 23 lib. SFDC. p © 2014 Progress Software Corporation. All rights reserved. lib. QXtend. p SOAP

Get Salesforce. com data using lib. SFDC. p tt. Account. i DEF TEMP-TABLE tt.

Get Salesforce. com data using lib. SFDC. p tt. Account. i DEF TEMP-TABLE tt. Account NO-UNDO FIELD Id AS CHAR FIELD Name AS CHAR FIELD Cust. Num AS CHAR HELP "Customer_Number__c" FIELD Account. Type AS CHAR HELP "Account_Type__c" FIELD Owner. Name AS CHAR HELP "Owner. Name" FIELD Rep. Code AS CHAR HELP "Owner. Alias" (. . . ) DEF VAR htt. Account AS HANDLE NO-UNDO. htt. Account = TEMP-TABLE tt. Account: HANDLE. Create. Customer. w RUN SFDCQuery(INPUT "SELECT * FROM Account WHERE Id = '" + c. Prospect. ID + "'" , INPUT-OUTPUT htt. Account , OUTPUT i. Records). 24 © 2014 Progress Software Corporation. All rights reserved.

Transform and display data using wsbp. i – HTML Create. Customer. html (. .

Transform and display data using wsbp. i – HTML Create. Customer. html (. . . ) <tr> <td class="label"> Company Name: </td> <input name="SFDC-Company" size="40" value=""> [[SFDC-Company]] </td> <td class="label"> Street: </td> <input name="SFDC-Address 1" size="40" value=""> [[SFDC-Address 1]] </td> <td class="label"> </td> <input name="SFDC-Address 2" size="40" value=""> [[SFDC-Address 2]] </td> <td class="label"> Phone: </td> <td><input name="SFDC-Phone" value="" ><td class="label"> Country: </td> <select name="SFDC-Country" onchange="country. Changed()"> [[COUNTRY-OPTIONS]]</select> [[Country. Code]]   ([[Country. Name]]) </td> </tr><tr> <td class="label"> State: </td> <select name="SFDC-State" id="SFDC-State"> [[STATE-OPTIONS]] </select> [[State. Code]]   [[State. Name]] </td> </tr> (. . . ) 25 © 2014 Progress Software Corporation. All rights reserved.

Transform and display data using wsbp. i – ABL Create. Customer. w (. .

Transform and display data using wsbp. i – ABL Create. Customer. w (. . . ) Set. Field. Value("SFDC-ID", tt. Account. Id). Set. Field. Value("SFDC-Owner", tt. Account. Owner. Name). Set. Field. Value("SFDC-Company", tt. Account. Name). Set. Field. Value("SFDC-Address 1" , TRIM(ENTRY(1, tt. Account. Billing. Street, CHR(10)))). IF NUM-ENTRIES(tt. Account. Billing. Street, CHR(10)) > 1 THEN Set. Field. Value("SFDC-Address 2" , TRIM(ENTRY(2, tt. Account. Billing. Street, CHR(10)))). IF NUM-ENTRIES(tt. Account. Billing. Street, CHR(10)) > 2 THEN DO: c = "". DO i = 3 TO NUM-ENTRIES(tt. Account. Billing. Street, CHR(10)). c = c + TRIM(ENTRY(i, tt. Account. Billing. Street, CHR(10))) + " ". END. Set. Field. Value("SFDC-Address 3", TRIM(c)). END. Set. Field. Value("SFDC-Country", tt. Account. Billing. Country). (. . . ) 26 © 2014 Progress Software Corporation. All rights reserved.

Transform and write QAD EE data using lib. QXtend. p tt. Customer. i Create.

Transform and write QAD EE data using lib. QXtend. p tt. Customer. i Create. Customer. w CREATE tt. Customer. Support. Status tt. Customer. Created. By tt. Customer. Credit. Limit tt. Customer. Entity. ID tt. Customer. Language. ID tt. Customer. Cust. Name tt. Customer. Address 1 tt. Customer. Address 2 tt. Customer. Is. Active tt. Customer. Sfdc. ID = = = = = "STANDARD". REMOTE_USER. tt. Currency. Credit. Limit. tt. Domain. Entity. ID. tt. Domain. Language. ID. Get. Field. Value("SFDC-Company"). Get. Field. Value("SFDC-Address 1"). Get. Field. Value("SFDC-Address 2"). YES. IF c. Mode = "Sold. To" THEN Get. Field. Value("SFDC-ID") ELSE "". (. . . ) RUN QXCreate. Customer(INPUT-OUTPUT TABLE tt. Customer). 27 © 2014 Progress Software Corporation. All rights reserved. DEF TEMP-TABLE tt. Customer NO-UNDO FIELD Cust. ID AS CHAR FIELD Cust. Name AS CHAR FIELD Address 1 AS CHAR FIELD Address 2 AS CHAR FIELD City AS CHAR (. . . )

Integration Example: Customer Creation Create. Customer. html Create. Customer. w QXtend Force. com SOAP

Integration Example: Customer Creation Create. Customer. html Create. Customer. w QXtend Force. com SOAP 28 lib. SFDC. p © 2014 Progress Software Corporation. All rights reserved. lib. QXtend. p SOAP

Integration Example: Support Case 29 © 2014 Progress Software Corporation. All rights reserved.

Integration Example: Support Case 29 © 2014 Progress Software Corporation. All rights reserved.

Integration Example: Support. Case 3 30 © 2014 Progress Software Corporation. All rights reserved.

Integration Example: Support. Case 3 30 © 2014 Progress Software Corporation. All rights reserved. 1 2

Integration Example: Support. Case Web Service QXtend Force. com SOAP 31 lib. SFDC. p

Integration Example: Support. Case Web Service QXtend Force. com SOAP 31 lib. SFDC. p © 2014 Progress Software Corporation. All rights reserved. lib. QXtend. p SOAP

Integration Example: Support. Case Web Service Force. com SOAP 32 QXtend Support. Case. p

Integration Example: Support. Case Web Service Force. com SOAP 32 QXtend Support. Case. p lib. SFDC. p © 2014 Progress Software Corporation. All rights reserved. lib. QXtend. p SOAP

Integration Example: Support Case Web Service file Start Parse web service file into fields

Integration Example: Support Case Web Service file Start Parse web service file into fields QAD EE QXtend QAD EE Use serial number to get entitlement Use email addres to get Contact Salesforce. c om Sforce API Salesforce. com Create Contact if it doesn’t exist Create Case Attach files End 33 © 2014 Progress Software Corporation. All rights reserved.

Integration Example: Support Case Web Service file Start Parse web service file into fields

Integration Example: Support Case Web Service file Start Parse web service file into fields QAD EE QXtend QAD EE RUN QXGet. Support. Maint("", tt. Case. Serial, INPUT-OUTPUT TABLE tt. Support. Maint). Use serial number to get entitlement Use email addres to get contact Salesforce. c om Sforce API Salesforce. com l. OK = h. DS: READ-XML("FILE", c. XMLfile, "EMPTY", ? , ? ). Create Contact if it doesn’t exist Create Case Attach files RUN SFDCQuery(INPUT "SELECT Id, Name, Account. Id, Account. Name " + "FROM Contact WHERE Email = '" + c. Email + "'" , INPUT-OUTPUT htt. Contact. Query, OUTPUT i. Records). IF i. Records = 0 THEN RUN SFDCCreate(htt. Contact, OUTPUT i. Errors). RUN SFDCCreate(htt. Case, OUTPUT i. Errors). RUN SFDCCreate(htt. Attachment, OUTPUT i. Errors). RUN SFDCCreate(htt. Case. Comment, OUTPUT i. Errors). End 34 © 2014 Progress Software Corporation. All rights reserved.

Other Salesforce. com QAD EE Integrations Create Customer Support Case Customer Updates Support Entitlements

Other Salesforce. com QAD EE Integrations Create Customer Support Case Customer Updates Support Entitlements Account Updates Trigger APEX Web Services Web App Batch Force. com lib. SFDC. p 35 © 2014 Progress Software Corporation. All rights reserved. QXtend lib. QXtend. p

Application: Pro. Desk 36 © 2014 Progress Software Corporation. All rights reserved.

Application: Pro. Desk 36 © 2014 Progress Software Corporation. All rights reserved.

IT Help. Desk (Pro. Desk) § Application developed and implemented in 2004 § Open.

IT Help. Desk (Pro. Desk) § Application developed and implemented in 2004 § Open. Edge 10. 0 B • Rich GUI Client for service providers – Smart. Objects, Progress Web. Client • Web. Speed UI for company employees 37 © 2014 Progress Software Corporation. All rights reserved.

Pro. Desk Architecture § Open. Edge Reference Architecture concepts Business Logic Web. Client GUI

Pro. Desk Architecture § Open. Edge Reference Architecture concepts Business Logic Web. Client GUI Interface Users App. Server Database 38 Web. Speed Web Interface © 2014 Progress Software Corporation. All rights reserved. Providers

Options for modernizing Pro. Desk § Replace with a Rollbase-based version 39 © 2014

Options for modernizing Pro. Desk § Replace with a Rollbase-based version 39 © 2014 Progress Software Corporation. All rights reserved.

Options for modernizing Pro. Desk § Replace with a Rollbase-based version § Upgrade to

Options for modernizing Pro. Desk § Replace with a Rollbase-based version § Upgrade to 11. x with a Java. Script-based front end (j. Query, DHTMLX) JS Framework Ajax Business Logic App. Server User Interface Client Logic Provider Interface Database 40 © 2014 Progress Software Corporation. All rights reserved. Users Providers

Options for modernizing Pro. Desk § Replace with a Rollbase-based version § Upgrade to

Options for modernizing Pro. Desk § Replace with a Rollbase-based version § Upgrade to 11. x with a Java. Script-based front end (j. Query, DHTMLX) § Add a mobile client 41 © 2014 Progress Software Corporation. All rights reserved.

Business Intelligence & Data Warehousing 42 © 2014 Progress Software Corporation. All rights reserved.

Business Intelligence & Data Warehousing 42 © 2014 Progress Software Corporation. All rights reserved.

BI and DW 43 © 2014 Progress Software Corporation. All rights reserved.

BI and DW 43 © 2014 Progress Software Corporation. All rights reserved.

BI and DW 44 © 2014 Progress Software Corporation. All rights reserved.

BI and DW 44 © 2014 Progress Software Corporation. All rights reserved.

BI and DW 45 © 2014 Progress Software Corporation. All rights reserved.

BI and DW 45 © 2014 Progress Software Corporation. All rights reserved.

Summary § Progress IT combines cloud with on-premise, third-party with home-grown § Open. Edge

Summary § Progress IT combines cloud with on-premise, third-party with home-grown § Open. Edge used for critical business applications, simple tools and integration § Well designed frameworks make life easier and users happier § Pacific products are making its way into the technology portfolio 46 © 2014 Progress Software Corporation. All rights reserved.