COMP-6: Integrating Crystal ® and your OpenEdge ® Application Brandon Gibbs Sr. Systems Engineer.

Post on 21-Jan-2016

220 views 0 download

Tags:

Transcript of COMP-6: Integrating Crystal ® and your OpenEdge ® Application Brandon Gibbs Sr. Systems Engineer.

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