Upload
silas-bishop
View
220
Download
0
Tags:
Embed Size (px)
Citation preview
COMP-6: Integrating Crystal® and your OpenEdge® Application
Brandon GibbsSr. Systems Engineer
© 2006 Progress Software Corporation2COMP-6 Integrating Crystal and your OpenEdge Application
Agenda
Crystal products overview Crystal OpenEdge Data OpenEdge applications Crystal
© 2006 Progress Software Corporation3COMP-6 Integrating Crystal and your OpenEdge Application
Scalable for Functionality
Scalability
CR Pro
CR Dev
CR Server
BOBJ
Enterprise
BOBJ Ent Premium
Explorer
Live Office
Auditor
Java™, .NET™ & COM SDKs
Standalone
Max 20CAL ServerWeb AccessSchedulingSecurity
Crystal Reports XI / Business Objects XI
© 2006 Progress Software Corporation4COMP-6 Integrating Crystal and your OpenEdge Application
Agenda
Crystal products overview Crystal OpenEdge Data OpenEdge applications Crystal
© 2006 Progress Software Corporation5COMP-6 Integrating Crystal and your OpenEdge Application
Connection Options
© 2006 Progress Software Corporation6COMP-6 Integrating Crystal 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
© 2006 Progress Software Corporation7COMP-6 Integrating Crystal 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 in former Crystal presentation: http://psdn.progress.com/library/events_archive/index.ssp
Most common way of data access
© 2006 Progress Software Corporation8COMP-6 Integrating Crystal and your OpenEdge Application
ODBC
© 2006 Progress Software Corporation9COMP-6 Integrating Crystal and your OpenEdge Application
ODBC
© 2006 Progress Software Corporation10COMP-6 Integrating Crystal and your OpenEdge Application
ODBC
© 2006 Progress Software Corporation11COMP-6 Integrating Crystal and your OpenEdge Application
ODBC
© 2006 Progress Software Corporation12COMP-6 Integrating Crystal and your OpenEdge Application
ODBC
© 2006 Progress Software Corporation13COMP-6 Integrating Crystal and your OpenEdge Application
ODBC
© 2006 Progress Software Corporation14COMP-6 Integrating Crystal and your OpenEdge Application
ODBC
© 2006 Progress Software Corporation15COMP-6 Integrating Crystal and your OpenEdge Application
ODBC
© 2006 Progress Software Corporation16COMP-6 Integrating Crystal and your OpenEdge Application
ODBC
© 2006 Progress Software Corporation17COMP-6 Integrating Crystal and your OpenEdge Application
ODBC
© 2006 Progress Software Corporation18COMP-6 Integrating Crystal and your OpenEdge Application
ODBC
© 2006 Progress Software Corporation19COMP-6 Integrating Crystal and your OpenEdge Application
ODBC
© 2006 Progress Software Corporation20COMP-6 Integrating Crystal and your OpenEdge Application
ODBC
© 2006 Progress Software Corporation21COMP-6 Integrating Crystal and your OpenEdge Application
ODBC
© 2006 Progress Software Corporation22COMP-6 Integrating Crystal and your OpenEdge Application
ODBC
© 2006 Progress Software Corporation23COMP-6 Integrating Crystal and your OpenEdge Application
ODBC
© 2006 Progress Software Corporation25COMP-6 Integrating Crystal 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
© 2006 Progress Software Corporation28COMP-6 Integrating Crystal and your OpenEdge Application
ADO.NET (XML)
Most simple way to reuse business logic & security
CRServer/BOBJ Ent
CRServer/BOBJ Ent
TempTableProDataSet
AppServer™AppServer™
ServerClient
CrystalReports®
CrystalReports®
OpenEdgeApp
OpenEdgeApp
XML XML
© 2006 Progress Software Corporation29COMP-6 Integrating Crystal and your OpenEdge Application
ADO.NET (XML)
Some overhead Usable in 2-tier, 3-tier and 4-tier Only Push from ABL (no scheduling)
Most simple way to reuse business logic & security
© 2006 Progress Software Corporation30COMP-6 Integrating Crystal and your OpenEdge Application
ADO.NET (XML)
© 2006 Progress Software Corporation31COMP-6 Integrating Crystal and your OpenEdge Application
Open Client
Most elegant way of integration
CR Server/BOBJ Ent
CR Server/BOBJ Ent
TempTableProDataSet
AppServerAppServer
ServerClient
CrystalReports
CrystalReports
Open ClientJava / .NET
Open ClientJava / .NET
TempTableProDataSet
TTitem.pTTitem.p
proxy.pproxy.p
TTitem.pTTitem.p
© 2006 Progress Software Corporation32COMP-6 Integrating Crystal 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 OE10.1A - can use ProDataSet!
Most elegant way of integration
© 2006 Progress Software Corporation33COMP-6 Integrating Crystal and your OpenEdge Application
ADO.NET Example
© 2006 Progress Software Corporation34COMP-6 Integrating Crystal and your OpenEdge Application
ADO.NET Example
© 2006 Progress Software Corporation35COMP-6 Integrating Crystal and your OpenEdge Application
ADO.NET Example
© 2006 Progress Software Corporation36COMP-6 Integrating Crystal and your OpenEdge Application
ADO.NET Example
© 2006 Progress Software Corporation37COMP-6 Integrating Crystal and your OpenEdge Application
ADO.NET Example
© 2006 Progress Software Corporation38COMP-6 Integrating Crystal and your OpenEdge Application
ADO.NET Example
© 2006 Progress Software Corporation39COMP-6 Integrating Crystal and your OpenEdge Application
ADO.NET Example
© 2006 Progress Software Corporation40COMP-6 Integrating Crystal and your OpenEdge Application
ADO.NET Example
© 2006 Progress Software Corporation41COMP-6 Integrating Crystal and your OpenEdge Application
Java / Temp Table Example
© 2006 Progress Software Corporation42COMP-6 Integrating Crystal and your OpenEdge Application
Java / Temp Table Example
© 2006 Progress Software Corporation43COMP-6 Integrating Crystal and your OpenEdge Application
Java / Temp Table Example
© 2006 Progress Software Corporation44COMP-6 Integrating Crystal and your OpenEdge Application
Java / Temp Table Example
© 2006 Progress Software Corporation45COMP-6 Integrating Crystal and your OpenEdge Application
Java / Temp Table Example
© 2006 Progress Software Corporation46COMP-6 Integrating Crystal and your OpenEdge Application
Java / Temp Table Example
© 2006 Progress Software Corporation47COMP-6 Integrating Crystal and your OpenEdge Application
Java / Temp Table Example
© 2006 Progress Software Corporation48COMP-6 Integrating Crystal and your OpenEdge Application
Java / Temp Table Example
© 2006 Progress Software Corporation49COMP-6 Integrating Crystal and your OpenEdge Application
Java / Temp Table Example
© 2006 Progress Software Corporation50COMP-6 Integrating Crystal and your OpenEdge Application
Java / Temp Table Example
© 2006 Progress Software Corporation51COMP-6 Integrating Crystal and your OpenEdge Application
Java / Temp Table Example
© 2006 Progress Software Corporation52COMP-6 Integrating Crystal and your OpenEdge Application
Java / Temp Table Example
© 2006 Progress Software Corporation54COMP-6 Integrating Crystal 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.
© 2006 Progress Software Corporation55COMP-6 Integrating Crystal 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>
© 2006 Progress Software Corporation56COMP-6 Integrating Crystal 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>
© 2006 Progress Software Corporation57COMP-6 Integrating Crystal and your OpenEdge Application
Web Services - WSA
© 2006 Progress Software Corporation58COMP-6 Integrating Crystal and your OpenEdge Application
Web Services
© 2006 Progress Software Corporation59COMP-6 Integrating Crystal and your OpenEdge Application
Web Services
© 2006 Progress Software Corporation60COMP-6 Integrating Crystal and your OpenEdge Application
Web Services
© 2006 Progress Software Corporation61COMP-6 Integrating Crystal and your OpenEdge Application
Web Services
© 2006 Progress Software Corporation62COMP-6 Integrating Crystal and your OpenEdge Application
Web Services
© 2006 Progress Software Corporation63COMP-6 Integrating Crystal and your OpenEdge Application
Web Services
© 2006 Progress Software Corporation64COMP-6 Integrating Crystal and your OpenEdge Application
Web Services
© 2006 Progress Software Corporation65COMP-6 Integrating Crystal and your OpenEdge Application
Web Services
© 2006 Progress Software Corporation66COMP-6 Integrating Crystal and your OpenEdge Application
Web Services
© 2006 Progress Software Corporation67COMP-6 Integrating Crystal 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
© 2006 Progress Software Corporation68COMP-6 Integrating Crystal and your OpenEdge Application
Agenda
Crystal products overview
Crystal OpenEdge Data
OpenEdge Apps Crystal
© 2006 Progress Software Corporation69COMP-6 Integrating Crystal 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 ServerCR Server
CSPCSP
URLURLCreation
© 2006 Progress Software Corporation70COMP-6 Integrating Crystal 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 ???
© 2006 Progress Software Corporation74COMP-6 Integrating Crystal and your OpenEdge Application
Very loosely coupled interface Viewrpt.asp (.csp pre version 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
© 2006 Progress Software Corporation75COMP-6 Integrating Crystal 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
© 2006 Progress Software Corporation76COMP-6 Integrating Crystal and your OpenEdge Application
© 2006 Progress Software Corporation77COMP-6 Integrating Crystal and your OpenEdge Application
© 2006 Progress Software Corporation78COMP-6 Integrating Crystal 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?
© 2006 Progress Software Corporation79COMP-6 Integrating Crystal and your OpenEdge Application
Business Intelligence Exchange Sessions
Monday• 10:30, COMP-2: Data Search and Query• 2:00, COMP-8: Business Objects XI R2
Tuesday• 9:15, COMP-6: Integrating Crystal/Progress• 10:30, COMP-2: Enterprise Reporting• 3:30, COMP-9: Crystal Xcelsius• 4:45, COMP-15: BI Information Exchange
Wednesday• 3:45, BOF: BI Birds of a Feather Meeting
© 2006 Progress Software Corporation80COMP-6 Integrating Crystal and your OpenEdge Application
Questions?
© 2006 Progress Software Corporation81COMP-6 Integrating Crystal and your OpenEdge Application
Thank you foryour time
© 2006 Progress Software Corporation82COMP-6 Integrating Crystal and your OpenEdge Application