250 likes | 367 Views
Using WebFOCUS to Consolidate Multiple Legacy Data Stores. Jason Miley Richard Young June, 2008. Introduction. Harris County in Houston, Texas (www.hctx.net) Nation’s 3 rd Largest County 3.9 Million Residents. Introduction. Justice Information Management Systems (division of I.T.C.)
E N D
Using WebFOCUS to Consolidate Multiple Legacy Data Stores Jason Miley Richard Young June, 2008
Introduction • Harris County inHouston, Texas (www.hctx.net) • Nation’s 3rd Largest County • 3.9 Million Residents
Introduction • Justice Information Management Systems (division of I.T.C.) • Department since 1976 • 36 Full-time Employees • 20 Contractors • 20 years average tenure ! • Responsible for most of the Justicerelated software development for Harris County • 24,000 Users across 2,100 agencies • Our Primary Users are other Harris County agencies
Your Presenters • Richard Young • With Harris County since 1999 • CICS / COBOL / Model 204 developer since 1999 • CICS / COBOL / JAVA / JSP developer since 2004 • WebFOCUS “expert” since 2007 • Jason Miley • With Harris County since 1981 (that’s right…) • CICS / COBOL since 1981 • CICS / COBOL / Model 204 since 1985 • CICS / COBOL / Model 204 / JAVA (sort of) since 2000 • WebFOCUS ( I can spell it on a good day) since 2007 • Data Management Team Lead
Environment • Hardware • IBM Mainframe ( Z/9 OS/MVS) • Languages • CICS / COBOL • Model 204 • JAVA • Data Stores • VSAM • Model 204 • DB2 • IBM Websphere and WSAD (RSA 7 coming soon) • WebFOCUS server on USS on ZOS Platform. Version 7.6.5 • Developers Studio Version 7.6.4 client on Windows XP • WebFOCUS server environment on SUSE Linux Version 7.6.5.
History JIMS • Original System • Began in 1976 • CICS / COBOL / VSAM • Model 204 (since 1985) • Development continues to this day JIMS 2 • JIMS redesign • Began in 2000 • Websphere / JAVA / DB2 • Browser based
Where We Are Today VSAM Model 204 DB2 2 years old 30+ years old JIMS JIMS2 Mainframe • New development being done in both systems.
History of Information Builders @ Harris County • Customer since ( a long time ago ) • Very few users until recently • Used mostly for large nightly data downloads from production files by individual user agencies to feed their local systems • Adopted as the reporting solution for new JIMS2 system less than a year ago • Changed the way we use WebFOCUS • Continue to use for nightly data downloads but, • Embedded WebFOCUS in application workflow
Down to Business - Initial Reporting Requirements • Find a reporting solution that can read all three of our mainframe data sources in real-time • Combine and massage the data into a mostly text-based report • Deliver the report in PDF form to the users workstation quickly. • Example: • A court clerk must enter the conditions of supervision according to the Judges orders and print the required documents for signatures while the parties are waiting.
Report Example • Variable number of pages • Page 1 header • Final page section and thumb print box
Report Example • Variable number of elements depending on data
Report Example • Variable number of pages • Page 1 header • Final page footer and thumb print box
Challenges • Static and variable length data elements • Word wrap
Solution • We inserted the database info into variable length fields and embedded those into the static text. • There are some code examples at the end.
Report Example • Variable number of pages • Page 1 header • Final page footer and thumb print box
Challenges Produce PDF output and resolve html tags embedded in the database columns. <B> <I> <font …>
Report Example • Variable number of pages • Page 1 header • Final page footer and thumb print box
Challenges Expanded Date Floating Thumb Print Box
ChallengesBridging the JIMS2 application to WebFOCUS. • Report Catalog • Contains a cross-reference of report-id’s to WebFOCUS URL’s and parms.
Here’s What It Looks Like • The user clicks the Print button • The app reads the report catalog, builds the URL and runs the WebFOCUS report. The Print Button
Thanks… We could not have come as far as we have without a lot of help from IBI. Thanks to: Sharam for all your technical help and patience Tony for your support and patience Rena for all that you do and just being you. All the other folks @ IBI into whose lives we brought a little misery
Code Example 1 SET COMPONENT='report2' -*component_type report DEFINE FILE CSMODIFY PAGEHEADER/A500V='On this the <u>' | CASESPRVSNBEGDATEDAYORD | '</u> day of <u>' | CASESPRVSNBEGDATEMONTH || '</u>, <u>' | CASESPRVSNBEGDATEYEAR | '</u> you are granted <u>' | SPRVISIONLENTH || '</u> community supervision for the felony offense of <u>' | OFFENSETRIM || '</u> in accordance with section <u>3</u> of Article 42.12, Texas Code of Criminal Procedure, in the <u>' | COURTCODEORD | '</u> District Court of Harris County, Texas, by the Honorable <u>' | SIGNEDBYFLNAME | '</u> Judge Presiding. It is the order of this Court that you abide by the following Conditions of Community Supervision:'; END TABLE FILE CSMODIFY PRINT PAGEHEADER AS '' WHERE SPRVISIONORDER_ID EQ &SPRVISIONORDER_ID; ON TABLE SET PAGE-NUM OFF ON TABLE NOTOTAL ON TABLE PCHOLD FORMAT PDF ON TABLE SET HTMLCSS ON ON TABLE SET STYLE * UNITS=IN, PAGESIZE='Letter', SQUEEZE=ON, ORIENTATION=PORTRAIT, $ TYPE=REPORT, GRID=OFF, FONT='ARIAL', SIZE=9, MARKUP=ON, $
Code Example 2 SET COMPONENT='report3' -*component_type report TABLE FILE CSMODIFY PRINT RESOLVEDESC SKIP-LINE AS '' COMPUTE COUNTER/I3 = COUNTER + 1; NOPRINT COMPUTE CONDITIONS/A35V = IF COUNTER EQ 1 THEN ' ' ELSE 'CONDITIONS OF COMMUNITY SUPERVISION'; NOPRINT COMPUTE FORSPACE/A5 = IF COUNTER EQ 1 THEN ' ' ELSE 'FOR: '; NOPRINT COMPUTE DEFENDANT/A94V = IF COUNTER EQ 1 THEN ' ' ELSE &partyName.QUOTEDSTRING; NOPRINT COMPUTE CAUSE/A15 = IF COUNTER EQ 1 THEN ' ' ELSE 'CAUSE NUMBER: '; NOPRINT COMPUTE ACAUSENUMBER/A13V = IF COUNTER EQ 1 THEN ' ' ELSE CAUSENUMBER; NOPRINT BY SEQUENCENUM NOPRINT BY CONDITIONNUMBERWITHADOT AS '' HEADING " <CONDITIONS" " " "<FORSPACE<DEFENDANT <CAUSE<ACAUSENUMBER" " <+0> <+0> <+0> <+0> " WHERE SPRVISIONORDER_ID EQ &SPRVISIONORDER_ID; ON TABLE SET PAGE-NUM OFF ON TABLE NOTOTAL ON TABLE PCHOLD FORMAT PDF ON TABLE SET STYLE * UNITS=IN, PAGESIZE='Letter', … FONT='ARIAL', SIZE=9, MARKUP=ON, $