DTI Generates E-Business XML Applications using 4GL Meta-Code XPATH and XMLSchema Jason Brown dti

Preview:

Citation preview

DTI Generates E-Business XML

Applications using 4GL Meta-Code XPATH

and XMLSchema

Jason Brown

dti

Overview

• DTI BackgroundDTI Background• IT HistoryIT History• Solutions InvestigatedSolutions Investigated• FOX Radical Solution FOX Radical Solution

(Demo 1)(Demo 1)• FOX ArchitectureFOX Architecture• Building Fox Modules Building Fox Modules

(Demo 2 )(Demo 2 )

dti

DTI Business Processes

• Receive ApplicationsReceive Applications• Issue Notices, Permits, Issue Notices, Permits,

ContractsContracts• Request Information / DataRequest Information / Data• MonitoringMonitoring

dti

Our Data

• Offshore well operationsOffshore well operations• Production ReportingProduction Reporting• Environmental Consents & Environmental Consents &

MonitoringMonitoring• Decommissioning Liability Decommissioning Liability

NoticesNotices• Etc.Etc.

dti

Mission

UK government mandatory UK government mandatory requirements:requirements:

• Paperless by 2005Paperless by 2005• Alignment with the internet Alignment with the internet

(Browser)(Browser)• XML data exchangeXML data exchange• Data about our data (Metadata)Data about our data (Metadata)

dti

dtiMission

ReviewSubmission

Produce Documents

Digitally Sign & File

Deliver Contract

Acknowledge Contract

Submit Application

Obtain Copy

internet

Master Legal

documents

Electronic Communications Act 2000

Obtain Copy

dti

Challenges

• Central Government – limited Central Government – limited resourcesresources

• Sizable Complex DataSizable Complex Data• Complex WorkflowComplex Workflow• Technology Choices for E-Technology Choices for E-

businessbusiness• Skills & TimescalesSkills & Timescales• Future SupportFuture Support

dti

IT History

3GL, T.P. Forms, Cobol, Codasyl Database.Everything hard work !

10-20 md

1980’s

TechnologyBuild Period

3GL, Hand crafted Pl/Sql HTML, Oracle8.

3-6 md

>2000

4GL, Case*Generators, Forms3, Oracle7/8.

2-5 md

1990’s

dti

Problems post Y2K

• 3GL (been here before)3GL (been here before)• Focus divertedFocus diverted• Restricted XML tools Restricted XML tools • GUI less robust GUI less robust • Individual coding styles Individual coding styles • Lost productivity, reliability, Lost productivity, reliability,

and consistencyand consistency

dti

Solutions Considered

• Oracle pl/sql - stateless• Mod OSE • Webview/Webdb/HTML DB• UIX (bc4j) • EJB • Jdev/jsps/servlets• .NET• JSF/webforms/ADF • XSLT

dti

Radical SolutionFOX

UK OIL PORTAL

dti

E-Business

The UK Oil PortalThe UK Oil Portaldti

Complex XML Processing Engine

Oil Companies

Browser

DTI Staff

Other Government Departments

Oracle Application Server 9i

J2EE Java Servlet ......

......

<ORG>...200

......

XML_DATAID

XML DATA TABLE

Oracle Server9i R 2

XHTLM & JavaScript

JDBC

XMLMeta-Code

FOX

The Solution in Action

Live Demonstration 1

http://www.foxopen.net/foxdemo1.html

dti

Fox ApproachRadical Solution

• Modules written in XML 4GL Modules written in XML 4GL Meta-code Meta-code

• 1 Line of Code = Much Work1 Line of Code = Much Work• XPath used in 4GL meta-codeXPath used in 4GL meta-code• XMLSchema design generates 4GL XMLSchema design generates 4GL

logic and screens (e.g. LOV)logic and screens (e.g. LOV)• Stateful/Transactional – uses

module call stack

dti

Fox Approach (continued)

• Fewer tables and columns:ID NUMBER(12), XML_DATA (SYS.XMLTYPE)

• No XMLSchema on tables - data builds over time

• Incremental validation (Levels 1 and 2)

• Level 3 validation using SQL & PL/SQL

• XML cached in memory using DOM• DOM node - a wonderful object (pass

it around)

dti

FOX Development Technology

• Fox Engine (upfront one-off investment):

Java J2EE Servlet, IDE Oracle JDEV, 9iAS

• Fox Meta-code: XMLSchema, XMLSpy

Stored in Oracle Tables• Developer Tools and Features:

Oracle XMLType, Blob, Clob, Collections Toad Beta for XMLType Developer Testing

dti

Fox is SophisticatedModule Manager

Module Cache

Activity Thread Manager

Action LogicEngine

PresentationGenerator - XHTML

- Java ScriptDOM Lock

Manager

Fox Modules

Thread XML

Application XML

Application

TablesDML Generator

API Engine

SQL Engine

DOM

CACHE

Browser

FORM Translatorvalues merged

into XML Hierarchy

1 – INITIAL URL REQUEST

3 – LOAD MODULES

8

2-LOAD MODULE

4-MODULE JAVA OBJECT

6

7

7-XHTML

8 – HT

ML F

OR

M P

OS

T

Selects, PLSQL,

Inserts, Updates

Deletes

6

dti

Document Generator

5 – THREAD STATE MEMORY

Application Component Build

Live Demonstration 2

http://www.foxopen.net/foxdemo2.html

dti

Conclusion• Handles large complex Handles large complex

submissions and complex submissions and complex workflow – performantworkflow – performant

• Manages document preparation Manages document preparation & signing& signing

• Achieves 100% paperless and Achieves 100% paperless and electronic legal compliance electronic legal compliance

• XML complianceXML compliance• Fox engine improvements Fox engine improvements

benefit all apps at a strokebenefit all apps at a stroke• Road not always smooth but Road not always smooth but

Good PositionGood Position

dti

More Info and Contacts www.og.dti.gov.uk/ukoug2005References /

Acknowledgements:

• Altova XMLSpy: XML Editing, XMLSchema Design/Validation; XSL-FOhttp://link.altova.com

• The Apache XML Project: XPATH Engine (Xerces), PDF Document Generation (FOP)http://xml.apache.org/

• interactivetools.com: WYSIWYG Text Editor (htmlArea)http://www.interactivetools.com/

• Oracle: Oracle 9i/10G, 9ias Application Server, JDeveloperhttp://www.oracle.com/

• Quest Software Toad: Developer Database Toolshttp://www.toadsoft.com/

• World Wide Web Consortium: DOM, XML, XHTML, XPATH, XMLSchema, XSLT, XSL-FOhttp://www.w3.org/

dti

Recommended