2 2 2009 FTA Technology Conference and Exhibition XML Facilitated Web Pattern Development at New York State Taxation and Finance James Lieb, Director Common Services and Case Management NYS Department of Taxation and Finance Business Modernization Overview A I X M A I N F R A M E Business Processes CICS Transactions Data Rules Data Exceptions Component Repository Mapping Engine Storage BO JAVA XML HTM CTG (FFA, (RAD) (DB2 V9) (WPS) BC BC BC BC BC WID) COBOL CISS Business Monitoring WEB SERVICES (WebSphere Business Monitor) SCA, BPEL TAXPAYERS Component Repository DTF Users DTF Users On -line Tax Center (Web Portal) (WebSphere TAX Commerce ) PREPARERS BC BC BC BC BC JAVA e-mpire Web eforms, Call Web Applications Manager, and Portal (WebSphere ) IVR (e-mpire Framework ) DTF Users JAVA Business Components Business Processes Data Mapping - BO Data Storage - XML Rules Engine - Java Exceptions - WPS CICS Transactions Paper Input Business Monitoring Internal/External Web eforms, Call Manager (VOIP), and IVR T R A N S A C T I O N A L 2
Integrated Tax Systems to Integrated Tax Services Integrated Tax System Returns Processing Return Remmittance Request Processing Processing Processing Accounting Taxpayer Overpayment Accounting Processing Leveraged Assets For our Modernization we started with COTS solutions as a starting point but.. Fraud Exception Detection Resolution Taxpayer Identification Taxpayer Obligation Registration Maintenance and Licensing Revenue Accounting Compliance Discovery Audit Common Database Content Management Management Reporting Collections Appeals Workflow Common Services Data Security Exchange Rules Management Integrated Tax Services Leveraged Assets Returns Processing Accounting Content Management Return Processing Remmittance Processing Request Processing Taxpayer Accounting Overpayment Processing Management Reporting Instead evolved into an SOA solution that leveraged existing assets and was more open to integrating industry standard products for common services. Exception Resolution Service Repository Taxpayer Identification Revenue Accounting Compliance Common Database Workflow Security Data Exchange eforms Taxpayer Registration Obligation Maintenance and Licensing Collections Audit Appeals Rules Management Discovery Fraud Detection 3 Returns Processing Summary Operational XML Next Generation DB Design It-201 It-150 W2 col1 col2 col3 col4 col5 col1000 134 NULL 11/23/05 NULL NULL NULL NULL 276 NULL NULL Yes NULL 12 NULL NULL 99.99 NULL NULL NULL NULL NULL 123.23 NULL No <filing> <form formid = IT201 > <wages>134</wages> <date>11/23/05</date> </form> <form formid = W2 > <wages>278</wages> <jointtp>yes</jointtp> </form> </filing> Relational Table by Form 3600 tables required Difficult to get filing context Made Rules engine, display difficult Much IO Generalized Relational Table Needed DB to translate fields Sparsely populated Performance issues Rules engine limitations XML Solution Business object based (the audit folder) Keeps business context Robust rules processing Can leverage XML tooling 4
XML s Transformation Technological Convergence changes view of XML Usage Patterns Traditional Data sharing Data transfer Strategic Transactions Execution format Persistence protocol Technologies Parsers (SAX, DOM) Web Services (WSDL) XQuery, XPath DOM/SDO XML/Relational DBMS eforms AJAX, REST, RIA, Atom Business Issue Resolved Simplified Collaboration Expanded channels Enabled partners Customer empowerment Faster solution delivery 5 Layers of Transactional XML Domain Model Exceptions Quality or Condition of Data Auto Routing Customer Service History What, Why and Who of all Changes Auditability Exception Resolution All relevant data in one place Less I/O Data Integrity Enable Transaction Processing 6
Correcting Information during processing Math errors Credit claims Fraud Transactional XML: Computations Tag based solution <Wages xxx /> <WagesComputed xxx /> <WagesComputedReason xxxx /> Attribute based advantages Reduce tags More efficient processing map Reduced DB storage Easier integration with Rules Engine Attribute based solution <Wages Captured= xxx, Computed= xxx, ComputedReason= xxxx /> 7 Transactional XML: Exceptions Describing a document that has some processing issues Critical processing issues Informational issues Mechanism for getting work stopped/reviewed/corrected Exception Segments <filing> <taxpayer> </taxpayer> <forms> <w2 id= 512 > </w2> </forms> <exceptionsseg> <exception issue= xxx, severity=1/> <exception issue= yyy, severity=0/> </exceptionseg> </filing> Exception Segment advantages State persisted with business object Facilitates exception handling UI Process routing Easy integration with Rules Engine 8
Transactional XML: History History Segments <filing> <taxpayer> </taxpayer> <forms > <w2 id= 512, efctvdate= 2009-06-29 > </w2> <w2 id= 512, efctvdate= 2009-01-16 > </w2> </forms> </filing> History Segment advantages All changes within the business object Maps to the Audit Folder Facilitates return adjustments Works with rules engine Easy to compare forms and filings by date Facilitates off line use 9 XML Execution Model - Traditional Object-Relational Mapping OR Tools/Frameworks Mapping Info Processing Model Object Classes Relational DB 10
XML Execution Model - Strategic XML Mapping XML Processing Model - DOM/SDO Object-Relational XML DB Model Benefits Easy to process Easy to persist Easy to query Easy to share 11 Facilitating Business Alignment Eliminates Technical Abstraction. All processes, functions and reports configured in user s terms. Sharing the same Business defined business object (XML) The same core Business Object Is leveraged by all of the system components. 12
External Channels Development Enablement Establishing Patterns Processing 13 Web Development challenges Develop quicker Reuse segments of web apps Consistent features (print, return to application) Consistently defined navigation patterns Track users usage of application 14
What is a Web Application? A series of form based UI objects that create a transaction for processing. Then each of these forms can be designed exactly the same way. <transaction> <form formid = a > <field1>134</field1> <field2>abc</field21> </form> <exceptions> <context>a</context> <errnbr>17</errnbr> </exception> </transaction> A Form has a UI object has a object enforcing form rules has an XML segment in the transaction XML In this way pages can be coded separately and following the same pattern and integrated into a web application. 15 Web Navigation Pattern Web Navigation highlights All pages coded exactly the same Single XML table allows restart Navigation patterns enforced (Wizard, conditional, etc.) Process server allows for externalization of navigation Common error handling Can use previous filing to start new transaction 16
Web Navigation 17 Web Service Pattern Web Service Process highlights Same pattern serves all web services Leverages same rules as web Once web is established no additional coding required 18
Paper Process Pattern Paper Process highlights Same pattern serves all paper processes Leverages the same form Interfaces Leverages same XML database Leverages same rules as web Has built in capabilities to have different acceptance rules for paper 19 XML within CM <USAddress> <Address> <AddressLine1> PO BOX 228 </AddressLine1> <City>SCHENECTADY </City> <State> NY</State> <ZIPCode> 123080000 </ZIPCode> </USAddress> </Address> </USAddress> </StateOfIncorporation> <HdrCode> <FederalReturnFiledOther>String</FederalReturnFiledOther> <FilerClassificationCode>AA3</FilerClassificationCode> <FormType>CT5</FormType> <ReturnTypeCode>CT5</ReturnTypeCode> <SoftwareDeveloper> <DeveloperName> <BusinessNameLine1>Sunrise Investments Inc</BusinessNameLine1> <BusinessNameLine2>A A</BusinessNameLine2> Receive XML from the IRS and show the document in the form (integrated with our EDMS) user view is independent of channel! all data received is stored in one table form can be used as input and for correction PureXML solution uses advanced indexing 20
File - level edits ; Br eak file into pieces (par ent / child ) ; Som e custom developm ent Ifneeded XML Indexing XML indexing highlights Allows for a many to one indexing scheme Index fields can be added on fly Supports optional index 21 e-mpire R3 Returns Processing Source File (s ) Mapping Pre - Processor M apping Target Data File Sort / Split Combined Filers Target Data Files TI Validate Create /Update LP Sort Target Data File (s ) Target Data Files Load Returns to TERETURN Retrieve Form Data ( For RP and TA ) Return Validation & Com putation TA DEM DEM Exceptions Exceptions P roc ess D ata R ec overy JAVA / AIX DEM Process Server Control Tm p M apping Source Flat File Adapter File (s ) and WID WID Tool JAVA / AIX DEM Leverages source target mapping in one COBOL step Microflow Transaction boundary, twophase commit OR XM L OR Multiple Instances of These Processes Would Be Utilized To Enhance Performance Revenue Accounting Business SCA async invoke (uses SIBUS) Com ponent( s) TI Driver WebSphere Process Server Microflow 400B Invoke CICS Tx 1 Liability Period Business Com ponents Other Business Com ponents OR Translation XM L If needed Exceptions Business Com ponents (from any of these processes ) Common taxpayer JCA validation Connector routine (AIX) which reconciles taxpayers and output common CICS Transaction DB structure Gateway 6.1 (z/os) CICS Transaction1 Invoke CICS Tx 2 CICS Transaction2 CICS OR Invoke CICS Tx X M ultiple Instances of These Processes Would Be Utilized To Enhance Perform ance Filing Validity Business Com ponents CICS TransactionX TI Driver TERETURN (Mainframe ) 410B JAVA / AIX Persist JAVA Rules Engine DB2 V9 purexml Store data on or off platform? Exceptions Business Com ponents (from any of these processes ) XM L / VIPER (AIX ) Third batch program which processes form rules Cr eate T A Q ueue WebSphere MQ to backend systems (parallelism not illustrated) 22
23 NY State Tax SOA Processing PIT (Personal Income Tax) 11M returns processed Peak in April: 390,000+ per day Up to 14,500 different data elements for the filings (60% Electronic) 6M Refunds ($4.9 B), direct deposit up 13.1%, checks down 6% Electronic extensions up 160% (439,000) Corporate Tax IRS ELF Program 2007-32,317, 2008-193,977 Peak month: 100,000 returns in April 2009 Peak day: 20,000 returns Sales Tax 1Q2009 : 60,000 on the Web 1Q2009 : 400,000 from partners Withholdings Tax 50,000 web filings of XML STAR Property Tax Rebate Application (Tax Refund) 3.5 web applications in a 3 month period 24
What s s next? Convert other Subsystems (Domains) to XML Simplify conversion Map data structures closer to the business Leverage the rules engine Expand the use of web navigation with integration into operational XML Incorporate more XML enabled tools to speed delivery and improve product Leverage the XML data in new ways (AJAX, REST, RIA) 25 Questions? 26