N CYCLES software solutions. XML White Paper. Where XML Fits in Enterprise Applications. May 2001



Similar documents
by LindaMay Patterson PartnerWorld for Developers, AS/400 January 2000

Session Topic. Session Objectives. Extreme Java G XML Data Processing for Java MOM and POP Applications

LabVIEW Internet Toolkit User Guide

Concrete uses of XML in software development and data analysis.

XML & Databases. Tutorial. 2. Parsing XML. Universität Konstanz. Database & Information Systems Group Prof. Marc H. Scholl

CS346: Database Programming.

Introducing the Microsoft IIS deployment guide

ISM/ISC Middleware Module

Team Members: Christopher Copper Philip Eittreim Jeremiah Jekich Andrew Reisdorph. Client: Brian Krzys

SSL CONFIGURATION GUIDE

Introduction to XML Applications

Instant Chime for IBM Sametime Installation Guide for Apache Tomcat and Microsoft SQL

Mobility Information Series

Web Services Implementation: The Beta Phase of EPA Network Nodes

Web. Services. Web Technologies. Today. Web. Technologies. Internet WWW. Protocols TCP/IP HTTP. Apache. Next Time. Lecture # Apache.

Bar Code Printing Options for Zebra Printers with Oracle WMS and MSCA APPLICATION WHITE PAPER

INTRODUCTION TO WEB TECHNOLOGY

Course Number: IAC-SOFT-WDAD Web Design and Application Development

Automating Security Testing. Mark Fallon Senior Release Manager Oracle

DocuSign Connect Guide

Contents at a Glance. 1 Introduction Basic Principles of IT Security Authentication and Authorization in

Last Week. XML (extensible Markup Language) HTML Deficiencies. XML Advantages. Syntax of XML DHTML. Applets. Modifying DOM Event bubbling

Oracle Collaboration Suite

A Generic Database Web Service

DataDirect XQuery Technical Overview

Firewall Builder Architecture Overview

PDA DRIVEN WAREHOUSE INVENTORY MANAGEMENT SYSTEM Sebastian Albert Master of Science in Technology

FileMaker Server 9. Custom Web Publishing with PHP

Introducing the BIG-IP and SharePoint Portal Server 2003 configuration

Application of XML Tools for Enterprise-Wide RBAC Implementation Tasks

Software documentation systems

Step into the Future: HTML5 and its Impact on SSL VPNs

SOFT 437. Software Performance Analysis. Ch 5:Web Applications and Other Distributed Systems

Ficha técnica de curso Código: IFCAD320a

The presentation explains how to create and access the web services using the user interface. WebServices.ppt. Page 1 of 14

Module 12: Microsoft Windows 2000 Clustering. Contents Overview 1 Clustering Business Scenarios 2 Testing Tools 4 Lab Scenario 6 Review 8

Core Feature Comparison between. XML / SOA Gateways. and. Web Application Firewalls. Jason Macy jmacy@forumsys.com CTO, Forum Systems

Drupal CMS for marketing sites

Load Balancing BEA WebLogic Servers with F5 Networks BIG-IP v9

WEB SITE DEVELOPMENT WORKSHEET

Ahsay Replication Server v5.5. Administrator s Guide. Ahsay TM Online Backup - Development Department

Web Services for Management Perl Library VMware ESX Server 3.5, VMware ESX Server 3i version 3.5, and VMware VirtualCenter 2.5

IBM WebSphere Portal Reference Guide Release 9.2

Efficiency of Web Based SAX XML Distributed Processing

Enhanced Connector Applications SupportPac VP01 for IBM WebSphere Business Events 3.0.0

DEPLOYMENT GUIDE DEPLOYING THE BIG-IP SYSTEM WITH MICROSOFT INTERNET INFORMATION SERVICES (IIS) 7.0

Oracle HTTP Server powered by Apache

Web Services Technologies

Developing a Web Server Platform with SAPI Support for AJAX RPC using JSON

JAVA r VOLUME II-ADVANCED FEATURES. e^i v it;

IBM Unica emessage Version 8 Release 6 February 13, User's Guide

WEB DEVELOPMENT IA & IB (893 & 894)

DOCUMENTS ON WEB OBJECTIVE QUESTIONS

JDOM Overview. Application development with XML and Java. Application Development with XML and Java. JDOM Philosophy. JDOM and Sun

Knocker main application User manual

Introducing IBM Tivoli Configuration Manager

CST6445: Web Services Development with Java and XML Lesson 1 Introduction To Web Services Skilltop Technology Limited. All rights reserved.

What is a Web service?

KC Data Integration Web Service Developer Guide

Multimedia Applications. Mono-media Document Example: Hypertext. Multimedia Documents

Oracle CRM Foundation

PHP Integration Kit. Version User Guide

FileMaker Server 12. Custom Web Publishing with PHP

APACHE. Presentation by: Lilian Thairu

High Performance XML Data Retrieval

A Framework for Developing the Web-based Data Integration Tool for Web-Oriented Data Warehousing

4D v11 SQL Release 3 (11.3) ADDENDUM

NetIQ Identity Manager Setup Guide

XML WEB TECHNOLOGIES

McAfee Web Gateway 7.4.1

An Oracle White Paper June RESTful Web Services for the Oracle Database Cloud - Multitenant Edition

Cache Configuration Reference

The following multiple-choice post-course assessment will evaluate your knowledge of the skills and concepts taught in Internet Business Associate.

Product Life Cycle Management

JobScheduler Web Services Executing JobScheduler commands

MarkLogic Server. Java Application Developer s Guide. MarkLogic 8 February, Copyright 2015 MarkLogic Corporation. All rights reserved.

Managing XML Documents Versions and Upgrades with XSLT

Onset Computer Corporation

Oct 15, Internet : the vast collection of interconnected networks that all use the TCP/IP protocols

Oracle9i Application Server: Options for Running Active Server Pages. An Oracle White Paper July 2001

Performance Testing for Ajax Applications

IBM SDK, Java Technology Edition Version 1. IBM JVM messages IBM

Web Development. How the Web Works 3/3/2015. Clients / Server

DEPLOYMENT GUIDE DEPLOYING F5 WITH MICROSOFT WINDOWS SERVER 2008

Developing XML Solutions with JavaServer Pages Technology

WebSocket Server. To understand the Wakanda Server side WebSocket support, it is important to identify the different parts and how they interact:

What is ODBC? Database Connectivity ODBC, JDBC and SQLJ. ODBC Architecture. More on ODBC. JDBC vs ODBC. What is JDBC?

Towards XML-based Network Management for IP Networks

IBM Watson Ecosystem. Getting Started Guide

Release System Administrator s Guide

Grandstream Networks, Inc.

The World Wide Web: History

E-Commerce for IT Advanced. Louis Aguila & Matt Burt

Test Plan Security Assertion Markup Language Protocol Interface BC-AUTH-SAML 1.0

Configuring an Alternative Database for SAS Web Infrastructure Platform Services

Transcription:

N CYCLES software solutions White Paper Where Fits in Enterprise Applications May 2001 65 Germantown Court 1616 West Gate Circle Suite 205 Nashville, TN 37027 Cordova, TN 38125 Phone 901-756-2705 Phone 615-403-3168 Fax 901-758-1597 Fax 630-214-4909 www.ncycles.com

Table of Contents Table of Contents... 1 Introduction... 2 Understanding... 2 Benefits of... 3 Using Oracle with, Xerces, and Apache... 3 Implementation Successes... 5 Conclusion... 6

Introduction Is it the savior of E-Commerce? It is a step in the right direction. Actually, is a retrenchment back to simplicity. EDI (Electronic Data Interface) and its X12 book of standards work well in most cases, but it takes coordination of multiple parties. EDI is expensive with VAN Charges, Translators, and EDI Coordinators. EDI is not flexible, if the standard does not suit your application, or does not have all your required fields such as a field for an electronic signature, there is no way to transmit the needed data. The standard becomes less effective for a tailored solution. The other major drawback with EDI, is all vendors interpret the standard in different ways. The same EDI Document from FedEx, and UPS will require two separate data maps. The data path to legacy systems will be different because of vendor specific implementations, removing the effectiveness of the standard. Because of Sun, Microsoft, IBM, and the open source movement behind it, is becoming the next generation of usable business technology. Understanding The Development of started in 1996, it was built on the successes and failures of Standard Generalized Markup Language (SGML). SGML has been an ISO standard since 1986. All the Internet markup languages such as HTML, CSS, and others have their roots in SGML., the Extensible Markup Language, is a language of creating your own markup language. allows a developer to create information modules for different types of data such as rendering, configuration, or an interface standard. By tagging these information elements according to their meanings, development of external data access methods is simplified. For example, if a Microsoft Word Document was saved in Format, all Platforms and programs could view and manipulate the data: not just Microsoft Applications, or Windows Applications! Sample Document for saving product data: <? VERSION= 1.0 ENCODING= UTF-8?> <!DOCTYPE products SYSTEM products.dtd > <TRANSACTION> <PRODUCTS> <ROW> <ID>1</ID> <NAME>TOSHIBA LAPTOP </NAME> <COST>1.95</COST> </ROW> </PRODUCTS> </TRANSACTION> MARCH, 2001 PAGE 2

Benefits of files are text files, allowing a document to be human readable. With simple tools such as Notepad or VI, the message can be read and manipulated. The messages compress well using standard tools such as Zip or GZIP, allowing messages to be transported efficiently using HTTP protocols, raw sockets, or FTP. The most powerful argument for using is its flexibility. For Instance, a developer can create a purchase order and place all the required data elements along with binary data all in the same document. The binary data could be a signature or a picture of the desired outcome. The document can then be parsed, and processed by the intended receiver using a standard parser such as Apache s XERCES, IBM S 4J, etc. Possible uses of include: disparate databases, interfaces, or configuration files. Using Oracle with, Xerces, and Apache is complementary technology to a relational database. A Document is a data holder, similar to how a PL/SQL record works with PL/SQL Tables. In PL/SQL Tables, records are pushed and popped off an ordered stack based on a key. is broken down in two types of processing: DOM, and SAX. DOM ( Document Object Model ) processing is more memory and processor expensive because its creates a tree view of data. SAX ( Simple API for ) works by creating an element handler or callback. Since SAX does not create a data structure, it s more efficient in dealing with large data sets. For instance, creating a processes that would be similar to a SQL*LOADER task. Apache / JSERV is ideal deployment platform for E-Commerce, Intranet, and Internet. JSERV can serve web pages that are headless, as well as the typical user interactive website. A headless web site is a site that does not render HTML to the user, only name / value pairs of data. The message becomes a parameter and is passed to the server for processing, and a reply message is formed and replied to the calling client application. Example: For reading, and parsing a Document in Java. /* --------------------------------------------------------------- /* function : parse /* Purpose : Parse the xmlmessages, and inserts the data into /* : oracle /* Copyright: Ncycles Software Solutions /* ----------------------------------------------------------- ---- MARCH, 2001 PAGE 3

private void parse (long id, String xmlmessage ) throws IOException, SQLException, DOMException ByteArrayInputStream is = new ByteArrayInputStream ( xmlmessage.getbytes () ); InputSource input = new InputSource(is); DOMParser domparser = new DOMParser(); domparser.parse(input); Document doc = domparser.getdocument(); Node root = doc.getelementsbytagname("transaction").item(0); NodeList children = root.getchildnodes(); for (int i = 0; i < children.getlength(); i++) Node table = (Element) children.item(i); String tablename = table.getlocalname (); // Search through the table elements NodeList rows = table.getchildnodes(); // Reset the default to one ((OracleConnection)connection ).setdefaultexecutebatch ( rows.getlength() ); for (int j = 0; j < rows.getlength(); j++) pw.println ("\n RowItr - > "); DataHolder holder = new DataHolder (); holder.settablename( tablename.touppercase().trim() ); // Rows have no data tags Node row = rows.item(j); NodeList rowchildren = row.getchildnodes(); Vector columnnames = new Vector (); Vector columndata = new Vector (); for (int k = 0; k < rowchildren.getlength(); k++) Node dataelement = rowchildren.item(k); if (dataelement.getnodetype() == Node.ELEMENT_NODE) String columnfield = dataelement.getlocalname().trim(); String columndataelement = ""; NodeList textchildren = dataelement.getchildnodes(); MARCH, 2001 PAGE 4

for (int l = 0; l < textchildren.getlength(); l++) Node text = textchildren.item(l); if (text.getnodetype() == Node.CDATA_SECTION_NODE text.getnodetype() == Node.TEXT_NODE) columndataelement += text.getnodevalue().trim(); } columnnames.add ( columnfield.touppercase() ); if (!columnfield.equalsignorecase("image")) // Do not want to upper base 64 data, it corrupts it. columndata.add ( columndataelement.trim().touppercase() ); else columndata.add ( columndataelement ); } } // Inserts Records holder.setcolumnnames ( columnnames); holder.setcolumndata( columndata ); displayholder ( holder ); int chkvalue = insert ( id, holder ); if ( chkvalue == 0) insertisgood = false; pw.flush(); } // rows } // tables } // parse Implementation Successes N Cycles Software Solutions has designed, developed, and implemented Solutions for over two years. Accuship.com: created shipping applications that are headed and headless utilizing, Apache, JDBC, and Oracle. N Cycles s WebDBA Monitor agents utilize headless / SSL messaging to ensure remote Oracle Database s are operational, and performing optimally. MARCH, 2001 PAGE 5

Major Financial Institution: Bi-directional synchronization of data from Oracle to Cloudscape. Note: Included Binary Images as well. Conclusion is a very powerful tool in a developer s tool chest. Like any great tool, if used properly it yields powerful results. For instance: a hammer is for driving, and extracting. It does not work well tightening a bolt. is not a save all, or the Rosetta Stone for business data. It is a language for defining information about data. MARCH, 2001 PAGE 6