450 likes | 591 Views
Professional Computer Software Services (PCSS) Lucio Gayosso (Research/Development). Bidirectional Systems Interfacing Via XML/Text Files and Plex. PCSS Judicial Systems development since 1985 A division of CSDC Systems ( http://www.csdcsystems.com/ )
E N D
Professional Computer Software Services (PCSS) Lucio Gayosso (Research/Development) Bidirectional Systems Interfacing Via XML/Text Files and Plex
PCSS • Judicial Systems development since 1985 • A division of CSDC Systems (http://www.csdcsystems.com/) • Main Product: JEMS: Judicial Enforcement Management System • Mission: Paperless courts • Multiplatform solutions with advanced technologies • Allows data coordination with multiple agencies Lucio Gayosso • Plex Developer since 1995 (V1.03) experienced with SDLF and PLC • Engineer in Communications and Electronics with MIS/M • Creator of Plex World (www.plex-world.com) • Producer/DJ for R@DIO DIMENSION (www.radiodimension.com) • Languages and sports
Interfacing • Systems cannot longer work in isolation • Interfacing disparate systems is a common challenge • Interfacing requires trade-offs • Standards are required • Interfaces are not static “in·ter·face [n. in-ter-feys; v. in-ter-feys, in-ter-feys] Computers. a. equipment or programs designed to communicate information from one system of computing devices or programs to another” (Dictionary.com, 2007).
JEMS (Judicial Enforcement Management System) • Large database (over 800 physical files and 3000 views) • Highly partitioned
JEMS (cont.) • Large database (over 800 physical files and 3000 views) • Highly partitioned • Highly configurable • Multi-platform Client/server (Client: WinC, Servers: WinNT and iSeries)
Interfacing Goals and Directives • Co$t effective • Quick to develop and deploy • Configurable • Flexible • Easy to use How can an inexpensive solution be built? What tools and resources are available? What existing design and functionality can be reused? How flexible should it be made? How can the output/input processes be designed? How should it be triggered and controlled?
Ways to build inexpensive solution Delimit and control project scope Utilize existing resources and tools Take advantage of existing design elements and database infrastructure to minimize development life-cycle Employ common formats for information transfer Aim to maintain simplicity in design and use
Tools and resources available • Plex 5.5 • VBScript (Plex Source Code objects) • Microsoft’s XML-DOM • General availability of TXT and XML formats "The Document Object Model (DOM) provides a standardized way to access and manipulate the information stored in XML documents. DOM application programming interfaces (APIs) serve as a bridge between applications and XML documents" (Microsoft 1, 2007)
Existing design and functionality to reuse • Re-utilize JEMS DB design/concepts to develop a transfer repository
How flexible should the solution be? • User I/O configuration • Limit the configuration options but define a flexible infrastructure • Be consistent
How flexible should the solution be? (cont.) • User I/O configuration
How flexible should the solution be? (cont.) • Define standard layouts
How flexible should the solution be? (cont.) • Define standard layouts • Document and distribute agreements highlighting considerations
Output Process Design • XML Output • Basic XML design (Nodes and Text)
Output Process Design (cont.) • XML Output • Basic XML design (Nodes and Text) • Output created via stringing with Plex
Output Process Design (cont.) • XML Output • Basic XML design (Nodes and Text) • Output created via stringing with Plex
Output Process Design (cont.) • XML Output • Basic XML design (Nodes and Text) • Output created via stringing with Plex (large XML string)
Output Process Design (cont.) • Text Output • Text file creation steps: Open, Write, and Close
Output Process Design (cont.) • Text Output • Text file creation steps: Open, Write, and Close • Standard text file with user defined delimiters
Input Process Design • XML Input • Same XML layout as Output process
Input Process Design (cont.) • XML Input • Same XML layout • Use of abstract reader functions to support agreed layouts
Input Process Design (cont.) • XML Input • Same XML layout • Use of abstract reader functions to support agreed layouts
Input Process Design (cont.) • XML Input • Same XML layout • Abstract reader functions to support agreed layouts
Input Process Design (cont.) • XML Input • Same XML layout • Abstract reader functions to support agreed layouts (XML file access function)
Input Process Design (cont.) • XML Input • Same XML layout • Abstract reader functions to support agreed layouts (XML file access function)
Input Process Design (cont.) • XML Input • Same XML layout • Abstract reader functions to support agreed layouts • Readers instantiation
Input Process Design (cont.) • XML Input • Same XML layout • Abstract reader functions to support agreed layouts • Readers instantiation (XML file access function)
Input Process Design (cont.) • Text Input • Same Input layout to minimize discrepancies • Data extraction • Bulk Insert via Exec SQL "BULK INSERT: Imports a data file into a database table or view in a user-specified format" (Microsoft, 2007)
Input Process Design (cont.) • Text Input • Same Input layout to minimize discrepancies • Data extraction • Bulk Insert via Exec SQL • Text line read (open, read, close)
Trigger and control • On demand • JEMS built-in launcher • External Executable
Trigger and control (cont.) • On demand • JEMS built-in launcher • External Executable • Automated • Simple approach via Windows Scheduled Task
QUESTIONS? • Contact me • Lucio Gayosso lucio@pcssinc.om
References • Dictionary.com (2005). Interface Definition. Dictionary.com . Retrieved November 13th, 2007 from http://dictionary.reference.com/search?q=interface • Microsoft 1 (2007). COM CONCEPTS. Microsoft, Retrieved November 14th, 2007 from http://msdn2.microsoft.com/en-us/library/ms764620.aspx • Microsoft (2007). Bulk Insert (Transact-SQL). Microsoft, Retrieved November 13th, 2007 from http://msdn2.microsoft.com/en-us/library/ms188365.aspx