View
225
Download
1
Tags:
Embed Size (px)
Citation preview
DEV-30: Integrating Business Objects® and Your OpenEdge® Application
Brandon GibbsManager, US Solution Engineers
© 2008 Progress Software Corporation2 DEV-30 Integrating Business Objects and your OpenEdge Application
Agenda
BO/Crystal/Xcelsius® product overviews BO/Crystal OpenEdge Data OpenEdge applications BO/Crystal
© 2008 Progress Software Corporation3 DEV-30 Integrating Business Objects and your OpenEdge Application
Xcelsius - http://www.xcelsius.com
Xcelsius Engage• An intuitive desktop application designed to create flash-based data
presentations and dashboards from many sources (Excel, DB’s, etc.)
Xcelsius Engage Server (includes Engage and…)• Integration kits for Adobe® LiveCycle Data Services, IBM®
Websphere®, Microsoft® SharePoint, and Reporting Services• Flynet Web Services generator
Development Time Run Time
© 2008 Progress Software Corporation4 DEV-30 Integrating Business Objects and your OpenEdge Application
Xcelsius Example
© 2008 Progress Software Corporation5 DEV-30 Integrating Business Objects and your OpenEdge Application
COPYRIGHT © 2007 BUSINESS OBJECTS S.A. ALL RIGHTS RESERVED.
Xcelsius Example
© 2008 Progress Software Corporation6 DEV-30 Integrating Business Objects and your OpenEdge Application
Scalable for Functionality
Scalability
CR Server
BO
Enterprise
Professional
Java™, .NET™ & COM SDKs
Max 20 CALServer provides:- Web Access- Scheduling- Security
Add-on:Live OfficeCR 2008
Crystal Reports 2008 / Business Objects XI 3.0
© 2008 Progress Software Corporation7 DEV-30 Integrating Business Objects and your OpenEdge Application
Agenda
BO/Crystal/Xcelsius product overviews Crystal OpenEdge Data OpenEdge applications Crystal
© 2008 Progress Software Corporation9 DEV-30 Integrating Business Objects and your OpenEdge Application
Connection Options
© 2008 Progress Software Corporation10 DEV-30 Integrating Business Objects and your OpenEdge Application
ODBC
Most common way of data access
OE SQL
engine
OE SQL
engine
Crystal
Reports
Crystal
Reports
Crystal
Server
Crystal
Server
SQL statement
Resultset
ServerClient
© 2008 Progress Software Corporation11 DEV-30 Integrating Business Objects and your OpenEdge Application
ODBC
Works with all Crystal products Easiest to implement ad-hoc option Most flexible approach Re-implement data security and logic in SQL ODBC install and configure on each client
Wizard usable in all scenarios – more details can be found at:
http://www.psdn.com/library/kbcategory.jspa?categoryID=1417
Most common way of data access
© 2008 Progress Software Corporation12 DEV-30 Integrating Business Objects and your OpenEdge Application
ODBC
© 2008 Progress Software Corporation13 DEV-30 Integrating Business Objects and your OpenEdge Application
ODBC
© 2008 Progress Software Corporation14 DEV-30 Integrating Business Objects and your OpenEdge Application
ODBC
© 2008 Progress Software Corporation15 DEV-30 Integrating Business Objects and your OpenEdge Application
ODBC
© 2008 Progress Software Corporation16 DEV-30 Integrating Business Objects and your OpenEdge Application
ODBC
© 2008 Progress Software Corporation17 DEV-30 Integrating Business Objects and your OpenEdge Application
ODBC
© 2008 Progress Software Corporation18 DEV-30 Integrating Business Objects and your OpenEdge Application
ODBC
© 2008 Progress Software Corporation19 DEV-30 Integrating Business Objects and your OpenEdge Application
ODBC
© 2008 Progress Software Corporation20 DEV-30 Integrating Business Objects and your OpenEdge Application
ODBC
© 2008 Progress Software Corporation21 DEV-30 Integrating Business Objects and your OpenEdge Application
ODBC
© 2008 Progress Software Corporation22 DEV-30 Integrating Business Objects and your OpenEdge Application
ODBC
© 2008 Progress Software Corporation23 DEV-30 Integrating Business Objects and your OpenEdge Application
ODBC
© 2008 Progress Software Corporation24 DEV-30 Integrating Business Objects and your OpenEdge Application
ODBC
© 2008 Progress Software Corporation25 DEV-30 Integrating Business Objects and your OpenEdge Application
ODBC
© 2008 Progress Software Corporation26 DEV-30 Integrating Business Objects and your OpenEdge Application
ODBC
© 2008 Progress Software Corporation27 DEV-30 Integrating Business Objects and your OpenEdge Application
ODBC
© 2008 Progress Software Corporation28 DEV-30 Integrating Business Objects and your OpenEdge Application
Business ServicesBusiness Services
OpenEdge Reference Architecture
PresentationPresentation
Business ServicesBusiness Services
Data AccessData Access
Data SourcesData Sources
Co
mm
on
Infrastru
cture
Co
mm
on
Infrastru
cture
Enterprise ServicesEnterprise ServicesCrystal
Business Services (XML Export / Open Client)Business Services (XML Export / Open Client)
ODBC
OE SQL OE ABL
© 2008 Progress Software Corporation29 DEV-30 Integrating Business Objects and your OpenEdge Application
ADO.NET (XML)
Most simple way to reuse business logic & security
CRServer/BO Ent
CRServer/BO Ent
TempTableProDataSet™
AppServer™AppServer™
ServerClient
CrystalReports®
CrystalReports®
OpenEdgeApp
OpenEdgeApp
XML XML
© 2008 Progress Software Corporation30 DEV-30 Integrating Business Objects and your OpenEdge Application
ADO.NET (XML)
Some overhead Usable in 2-tier, 3-tier and 4-tier Only Push from ABL (no scheduling) Limited or no ad-hoc option
Most simple way to reuse business logic & security
© 2008 Progress Software Corporation31 DEV-30 Integrating Business Objects and your OpenEdge Application
ADO.NET (XML)
© 2008 Progress Software Corporation32 DEV-30 Integrating Business Objects and your OpenEdge Application
Open Client
Most elegant way of integration
CR Server/BO Ent
CR Server/BO Ent
TempTableProDataSet
AppServerAppServer
ServerClient
CrystalReports
CrystalReports
Open ClientJava / .NET
Open ClientJava / .NET
TempTableProDataSet
TTitem.pTTitem.p
proxy.pproxy.p
TTitem.pTTitem.p
© 2008 Progress Software Corporation33 DEV-30 Integrating Business Objects and your OpenEdge Application
Open Client
100% OpenEdge Reference Architecture Usable in 3-tier and 4-tier (AppServer req.) Usable without OpenEdge application push!
ADO.NET implements ProDataSet Java client implements Temp-Table
NEW in OpenEdge 10.1A - can use ProDataSet!
Most elegant way of integration
© 2008 Progress Software Corporation34 DEV-30 Integrating Business Objects and your OpenEdge Application
ADO.NET Example
© 2008 Progress Software Corporation35 DEV-30 Integrating Business Objects and your OpenEdge Application
ADO.NET Example
© 2008 Progress Software Corporation36 DEV-30 Integrating Business Objects and your OpenEdge Application
ADO.NET Example
© 2008 Progress Software Corporation37 DEV-30 Integrating Business Objects and your OpenEdge Application
ADO.NET Example
© 2008 Progress Software Corporation38 DEV-30 Integrating Business Objects and your OpenEdge Application
ADO.NET Example
© 2008 Progress Software Corporation39 DEV-30 Integrating Business Objects and your OpenEdge Application
ADO.NET Example
© 2008 Progress Software Corporation40 DEV-30 Integrating Business Objects and your OpenEdge Application
ADO.NET Example
© 2008 Progress Software Corporation41 DEV-30 Integrating Business Objects and your OpenEdge Application
ADO.NET Example
© 2008 Progress Software Corporation42 DEV-30 Integrating Business Objects and your OpenEdge Application
Java / Temp Table Example
© 2008 Progress Software Corporation43 DEV-30 Integrating Business Objects and your OpenEdge Application
Java / Temp Table Example
© 2008 Progress Software Corporation44 DEV-30 Integrating Business Objects and your OpenEdge Application
Java / Temp Table Example
© 2008 Progress Software Corporation45 DEV-30 Integrating Business Objects and your OpenEdge Application
Java / Temp Table Example
© 2008 Progress Software Corporation46 DEV-30 Integrating Business Objects and your OpenEdge Application
Java / Temp Table Example
© 2008 Progress Software Corporation47 DEV-30 Integrating Business Objects and your OpenEdge Application
Java / Temp Table Example
© 2008 Progress Software Corporation48 DEV-30 Integrating Business Objects and your OpenEdge Application
Java / Temp Table Example
© 2008 Progress Software Corporation49 DEV-30 Integrating Business Objects and your OpenEdge Application
Java / Temp Table Example
© 2008 Progress Software Corporation50 DEV-30 Integrating Business Objects and your OpenEdge Application
Java / Temp Table Example
© 2008 Progress Software Corporation51 DEV-30 Integrating Business Objects and your OpenEdge Application
Java / Temp Table Example
© 2008 Progress Software Corporation52 DEV-30 Integrating Business Objects and your OpenEdge Application
Java / Temp Table Example
© 2008 Progress Software Corporation53 DEV-30 Integrating Business Objects and your OpenEdge Application
Java / Temp Table Example
© 2008 Progress Software Corporation55 DEV-30 Integrating Business Objects and your OpenEdge Application
Web Services - GetOrders.P
DEFINE TEMP-TABLE OrderDetails
FIELD OrderNum LIKE Order.OrderNum
FIELD SalesRep LIKE Order.SalesRep
FIELD OrderDate LIKE Order.OrderDate
FIELD ShipDate LIKE Order.ShipDate
FIELD TotalDollars AS DECIMAL
FIELD OrderStatus LIKE Order.OrderStatus.
DEF INPUT PARAMETER i AS INTEGER.
DEFINE OUTPUT PARAMETER TABLE FOR orderdetails.
FOR EACH Order WHERE Order.CustNum = i:
CREATE OrderDetails.
ASSIGN
OrderDetails.OrderNum = Order.OrderNum
OrderDetails.SalesRep = Order.SalesRep
OrderDetails.OrderDate = Order.OrderDate
OrderDetails.ShipDate = Order.ShipDate
OrderDetails.OrderStatus = Order.OrderStatus.
END.
© 2008 Progress Software Corporation56 DEV-30 Integrating Business Objects and your OpenEdge Application
Web Services - WSDL
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions name="OrderInfo" targetNamespace="urn:OpenEdgeServices:OrderInfo" xmlns:tns="urn:OpenEdgeServices:OrderInfo“
...
<wsdl:documentation>Author=Brandon, EncodingType=DOC_LITERAL, Proxygen_Product=Progress Version 10.1A</wsdl:documentation>
<wsdl:types>
...
<schema elementFormDefault="qualified" targetNamespace="urn:OpenEdgeServices:OrderInfo:OrderInfo" xmlns="http://www.w3.org/2001/XMLSchema"><complexType name="getOrderDetails_OrderDetailsRow"><sequence><element name="OrderNum" nillable="true" type="xsd:int"/><element name="SalesRep" nillable="true" type="xsd:string"/><element name="OrderDate" nillable="true" type="xsd:date"/><element name="ShipDate" nillable="true" type="xsd:date"/><element name="TotalDollars" nillable="true" type="xsd:decimal"/><element name="OrderStatus" nillable="true" type="xsd:string"/></sequence></complexType><complexType name="getOrderDetails_OrderDetailsParam"><sequence><element maxOccurs="unbounded" minOccurs="0" name="OrderDetailsRow" type="S2:getOrderDetails_OrderDetailsRow"/></sequence></complexType><element name="getOrderDetails"><complexType><sequence><element name="i" nillable="true" type="xsd:int"/></sequence></complexType></element><element name="getOrderDetailsResponse"><complexType><sequence><element name="result" nillable="true" type="xsd:string"/><element name="OrderDetails" nillable="true" type="S2:getOrderDetails_OrderDetailsParam"/></sequence></complexType></element></schema>
</wsdl:types>
© 2008 Progress Software Corporation57 DEV-30 Integrating Business Objects and your OpenEdge Application
Web Services - WSDL
...
<Author>Brandon</Author><Service>asbroker1</Service><WorkDir>C:\OpenEdge\WRK\</WorkDir>
<WebServicesClient>true</WebServicesClient><UserDefinedAppService>true</UserDefinedAppService>...
</PGGenInfo>
<DeploymentWizard>
<SoapEndpointURL>http://localhost:8080/wsa/OrderInfo</SoapEndpointURL>
<WebServiceNamespace userDefined="true">urn:OpenEdgeServices:OrderInfo</WebServiceNamespace>
</DeploymentWizard>
<Name>OrderInfo</Name><ProPath>c:\openedge\wrk\</ProPath>
<Name>getOrderDetails</Name><ProPath>c:\openedge\wrk\</ProPath><ProcExt>p</ProcExt>
<Name>result</Name><Type>1</Type><Mode>0</Mode></ReturnValue><Parameter ordinal="1">
<Name>i</Name><Type>4</Type><Mode>1</Mode></Parameter><Parameter ordinal="2">
<Name>OrderDetails</Name><Type>15</Type><Mode>2</Mode>
<MetaData><FieldName>OrderNum</FieldName><TypeName>integer</TypeName></MetaData>
<MetaData><FieldName>SalesRep</FieldName><TypeName>character</TypeName></MetaData>
<MetaData><FieldName>OrderDate</FieldName><TypeName>date</TypeName></MetaData>
<MetaData><FieldName>ShipDate</FieldName><TypeName>date</TypeName></MetaData>
<MetaData><FieldName>TotalDollars</FieldName><TypeName>decimal</TypeName></MetaData>
<MetaData><FieldName>OrderStatus</FieldName><TypeName>character</TypeName></MetaData>
© 2008 Progress Software Corporation58 DEV-30 Integrating Business Objects and your OpenEdge Application
Web Services - WSA
© 2008 Progress Software Corporation59 DEV-30 Integrating Business Objects and your OpenEdge Application
Web Services
© 2008 Progress Software Corporation60 DEV-30 Integrating Business Objects and your OpenEdge Application
Web Services
© 2008 Progress Software Corporation61 DEV-30 Integrating Business Objects and your OpenEdge Application
Web Services
© 2008 Progress Software Corporation62 DEV-30 Integrating Business Objects and your OpenEdge Application
Web Services
© 2008 Progress Software Corporation63 DEV-30 Integrating Business Objects and your OpenEdge Application
Web Services
© 2008 Progress Software Corporation64 DEV-30 Integrating Business Objects and your OpenEdge Application
Web Services
© 2008 Progress Software Corporation65 DEV-30 Integrating Business Objects and your OpenEdge Application
Web Services
© 2008 Progress Software Corporation66 DEV-30 Integrating Business Objects and your OpenEdge Application
Web Services
© 2008 Progress Software Corporation67 DEV-30 Integrating Business Objects and your OpenEdge Application
Web Services
© 2008 Progress Software Corporation68 DEV-30 Integrating Business Objects and your OpenEdge Application
Data Connectivity OptionsSummary
ODBC XML ADO
.NET
Java
Pull + - + +
Ad-hoc ++ - - -
BusinessLogic/ Security reuse
-- + ++ ++
Config/deploy - + +- +-
2-tier/3-tier/4-tier 234 234 34 34
© 2008 Progress Software Corporation69 DEV-30 Integrating Business Objects and your OpenEdge Application
Agenda
BO/Crystal/Xcelsius product overviews
Crystal OpenEdge Data
OpenEdge Apps Crystal
© 2008 Progress Software Corporation70 DEV-30 Integrating Business Objects and your OpenEdge Application
Integration OpenEdge Crystal
Various client and server options
ASP/JSPASP/JSP
ServerClient
CR OCX
Viewer
CR OCX
Viewer
OpenEdge
App
OpenEdge
App
COM COM
CR OCX
Designer
CR OCX
Designer
CR RDCCR RDC
WSWS
CR Server /
BO Ent
CR Server /
BO Ent
CSPCSP
URLURLCreation
© 2008 Progress Software Corporation71 DEV-30 Integrating Business Objects and your OpenEdge Application
What Do You Want to Offer?
Run completely locally or with AppServer Auto generate reports, feed parameters Use ODBC, XML or Open Client View in ActiveX window Print to printer locally or on server Export to PDF, Word, Excel, XML, HTML ???
© 2008 Progress Software Corporation75 DEV-30 Integrating Business Objects and your OpenEdge Application
Very loosely coupled interface Viewrpt.asp (.csp pre release 10) URL Parts:
• id = CMS Object ID
• apsuser, apspassword, apsauthtype
• init = Viewer Type
• promptex
• cmd; export_fmt; export_opt = Export Options
• sf = Selection Formula
• gf = Group Selection Formula
URL Syntax
© 2008 Progress Software Corporation76 DEV-30 Integrating Business Objects and your OpenEdge Application
Example URL’s – View and Refresh
http://nbbgibbs/businessobjects/viewrpt.cwr? id=152&apsuser=administrator &apspassword=Pr0gr3$$&apsauthtype=secEnterprise&cmd=export&export_fmt=u2fpdf:0
<same as previous, except last line>&promptex-empStart=10&promptex-MyParam=My own report header&init=actx:connect
© 2008 Progress Software Corporation77 DEV-30 Integrating Business Objects and your OpenEdge Application
© 2008 Progress Software Corporation78 DEV-30 Integrating Business Objects and your OpenEdge Application
© 2008 Progress Software Corporation79 DEV-30 Integrating Business Objects and your OpenEdge Application
Conclusion
Data access• ODBC for easiest ad-hoc and other cases • XML or Open Client Java Bean / ADO.NET
for best re-use of business logic Integration
• Use CR Server if possible – grow path to Business Objects Enterprise
• ActiveX or DHTML/Browser to view
Many options exist – which to choose?
© 2008 Progress Software Corporation80 DEV-30 Integrating Business Objects and your OpenEdge Application
Business Intelligence Exchange Sessions
Monday• OPS-6 Beginners Guide on OpenEdge SQL via
ODBC or JDBC
Wednesday• OPS-27 Understanding Record and Table Locking
In OpenEdge SQL Applications• DEV-34 Get to Know Your Data – Open Source
Data Integration, Business Intelligence and more
© 2008 Progress Software Corporation81 DEV-30 Integrating Business Objects and your OpenEdge Application
Questions?
© 2008 Progress Software Corporation82 DEV-30 Integrating Business Objects and your OpenEdge Application
Thank You
© 2008 Progress Software Corporation83 DEV-30 Integrating Business Objects and your OpenEdge Application