Bidirectional Systems Interfacing Via XML/Text Files and Plex Professional Computer Software Services (PCSS) Lucio Gayosso (Research/Development)
PCSS Judicial Systems development since 1985 A division of CSDC Systems ( 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 ( Producer/DJ for DIMENSION ( 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”. “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 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? Co$t effective Quick to develop and deploy Configurable Flexible Easy to use
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 Limit the configuration options but define a flexible infrastructure Be consistent 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) Basic XML design (Nodes and Text)
Output Process Design (cont.) XML Output Basic XML design (Nodes and Text) Basic XML design (Nodes and Text) Output created via stringing with Plex Output created via stringing with Plex
Output Process Design (cont.) XML Output Basic XML design (Nodes and Text) Basic XML design (Nodes and Text) Output created via stringing with Plex Output created via stringing with Plex
Output Process Design (cont.) XML Output Basic XML design (Nodes and Text) Basic XML design (Nodes and Text) Output created via stringing with Plex (large XML string) Output created via stringing with Plex (large XML string)
Output Process Design (cont.) Text Output Text file creation steps: Open, Write, and Close Text file creation steps: Open, Write, and Close
Output Process Design (cont.) Text Output Text file creation steps: Open, Write, and Close Text file creation steps: Open, Write, and Close Standard text file with user defined delimiters Standard text file with user defined delimiters
Input Process Design XML Input Same XML layout as Output process Same XML layout as Output process
Input Process Design (cont.) XML Input Same XML layout Same XML layout Use of abstract reader functions to support agreed layouts Use of abstract reader functions to support agreed layouts
Input Process Design (cont.) XML Input Same XML layout Same XML layout Use of abstract reader functions to support agreed layouts Use of abstract reader functions to support agreed layouts
Input Process Design (cont.) XML Input Same XML layout Same XML layout Abstract reader functions to support agreed layouts Abstract reader functions to support agreed layouts
Input Process Design (cont.) XML Input Same XML layout Same XML layout Abstract reader functions to support agreed layouts (XML file access function) Abstract reader functions to support agreed layouts (XML file access function)
Input Process Design (cont.) XML Input Same XML layout Same XML layout Abstract reader functions to support agreed layouts (XML file access function) Abstract reader functions to support agreed layouts (XML file access function)
Input Process Design (cont.) XML Input Same XML layout Same XML layout Abstract reader functions to support agreed layouts Abstract reader functions to support agreed layouts Readers instantiation Readers instantiation
Input Process Design (cont.) XML Input Same XML layout Same XML layout Abstract reader functions to support agreed layouts Abstract reader functions to support agreed layouts Readers instantiation (XML file access function) Readers instantiation (XML file access function)
Input Process Design (cont.) Text Input Same Input layout to minimize discrepancies Same Input layout to minimize discrepancies Data extraction 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 Same Input layout to minimize discrepancies Data extraction Data extraction Bulk Insert via Exec SQL Text line read (open, read, close)
Trigger and control On demand JEMS built-in launcher JEMS built-in launcher External Executable External Executable
Trigger and control (cont.) On demand JEMS built-in launcher JEMS built-in launcher External Executable External ExecutableAutomated Simple approach via Windows Scheduled Task Simple approach via Windows Scheduled Task
QUESTIONS? Contact me Lucio Gayosso Lucio
References Dictionary.com (2005). Interface Definition. Dictionary.com. Retrieved November 13 th, 2007 from Microsoft 1 (2007). COM CONCEPTS. Microsoft, Retrieved November 14 th, 2007 from Microsoft (2007). Bulk Insert (Transact-SQL). Microsoft, Retrieved November 13 th, 2007 from us/library/ms aspx us/library/ms aspxhttp://msdn2.microsoft.com/en- us/library/ms aspx
API References