Title: Bidirectional Systems Interfacing Via XML/Text Files and Plex
1Bidirectional Systems Interfacing Via XML/Text
Files and Plex
- Professional Computer Software Services (PCSS)
- Lucio Gayosso (Research/Development)
2- 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_at_DIO DIMENSION
(www.radiodimension.com) - Languages and sports
3- 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
interface 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).
4- JEMS (Judicial Enforcement Management System)
- Large database (over 800 physical files and 3000
views) - Highly partitioned
5- 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)
6- Interfacing Goals and Directives
- Cot 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?
7- 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
8- Tools and resources available
- Plex 5.5
- VBScript (Plex Source Code objects)
- Microsofts 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)
9- Existing design and functionality to reuse
- Re-utilize JEMS DB design/concepts to develop a
transfer repository
10- How flexible should the solution be?
- User I/O configuration
- Limit the configuration options but define a
flexible infrastructure - Be consistent
11- How flexible should the solution be? (cont.)
- User I/O configuration
12- How flexible should the solution be? (cont.)
- Define standard layouts
13- How flexible should the solution be? (cont.)
- Define standard layouts
- Document and distribute agreements highlighting
considerations
14- Output Process Design
- XML Output
- Basic XML design (Nodes and Text)
15- Output Process Design (cont.)
- XML Output
- Basic XML design (Nodes and Text)
- Output created via stringing with Plex
16- Output Process Design (cont.)
- XML Output
- Basic XML design (Nodes and Text)
- Output created via stringing with Plex
17- Output Process Design (cont.)
- XML Output
- Basic XML design (Nodes and Text)
- Output created via stringing with Plex (large XML
string)
18- Output Process Design (cont.)
- Text Output
- Text file creation steps Open, Write, and Close
19- Output Process Design (cont.)
- Text Output
- Text file creation steps Open, Write, and Close
- Standard text file with user defined delimiters
20- Input Process Design
- XML Input
- Same XML layout as Output process
21- Input Process Design (cont.)
- XML Input
- Same XML layout
- Use of abstract reader functions to support
agreed layouts
22- Input Process Design (cont.)
- XML Input
- Same XML layout
- Use of abstract reader functions to support
agreed layouts
23- Input Process Design (cont.)
- XML Input
- Same XML layout
- Abstract reader functions to support agreed
layouts
24- Input Process Design (cont.)
- XML Input
- Same XML layout
- Abstract reader functions to support agreed
layouts (XML file access function)
25- Input Process Design (cont.)
- XML Input
- Same XML layout
- Abstract reader functions to support agreed
layouts (XML file access function)
26- Input Process Design (cont.)
- XML Input
- Same XML layout
- Abstract reader functions to support agreed
layouts - Readers instantiation
27- Input Process Design (cont.)
- XML Input
- Same XML layout
- Abstract reader functions to support agreed
layouts - Readers instantiation (XML file access function)
28- 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)
29- 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)
30- Trigger and control
- On demand
- JEMS built-in launcher
- External Executable
31- Trigger and control (cont.)
- On demand
- JEMS built-in launcher
- External Executable
- Automated
- Simple approach via Windows Scheduled Task
32QUESTIONS?
- Contact me
- Lucio Gayosso
- lucio_at_pcssinc.om
33References
- Dictionary.com (2005). Interface Definition.
Dictionary.com . Retrieved November 13th, 2007
from http//dictionary.reference.com/search?qinte
rface - 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
34API References
35API References
36API References
37API References
38API References
39API References
40API References
41API References
42API References
43API References
44API References
45API References