The Java API for XML Processing (JAXP) enables applications to parse (SAX/DOM), transform (XSLT), validate (Against the XML schema) and query (XPath) XML documents using an API that is independent of a particular XML processor implementation. JAXP provides a pluggability layer to enable vendors to provide their own implementations without introducing dependencies in application code. JAXP selects the parser based on system properties. You can set the properties to select a different parser than the default one.
Existing JAXP implementation include, but not limited to Resin, Xalan, Xerces and Crimson.
Xerces and Crimson is an XML parser. Xalan is an implementation of XPath and XSLT. Xalan can work with any JAXP-compliant XML parser. Resin has parser and transformer implementation for all JAXP API.
You can find the more information on each JAXP implementation from links below:
XML Parsing
http://xml.apache.org/crimson/ (sun default jaxp implementation)
http://xerces.apache.org/xerces-j/
http://www.caucho.com/resin-3.0/xml/jaxp.xtp
XMl Transformation and XPath
http://xalan.apache.org/
http://www.caucho.com/resin-3.0/xml/jaxp.xtp
Additional jaxp reading list (Past, Current and Future Roadmap)
The Evolution of JAXP
http://www.xml.com/pub/a/2005/07/06/jaxp.html?page=1
Monday, October 22, 2007
JAXP Implementation Provider
Posted by My Tech Blog 1 comments
Friday, October 19, 2007
Jakarta Common Validator & Struts Validator
The Commons Validator is a basic validation framework that lets you define validation rules for a JavaBean in an xml file. Validators, the validation definition, can also be defined in the xml file. An example of a validator would be defining what method and class will be called to perform the validation for a required field. Validation rules can be grouped together based on locale and a JavaBean/Form that the rules are associated with. The framework has basic support for user defined constants which can be used in some field attributes.
Here is the quick tutorial for Jakarta common validator, you can see that there is a need to define a validation rule xml file to declare the validation rules and objects & fields to be validated.
Noted, inside the xml file, the individual fields in the input data are called fields, the set of input data is collectively called a form, and a collection of forms is called a form-set.
The relationship between the elements is shown here:
Fields --> Forms --> FormSet
Struts Validator is built on Jakarta Commons validator and other common packages. It split the rule defintion xml file into two, one (validation-rules.xml) is for rule definitions, another (validation.xml) is for which and what object and fields to be validated. Struts validator is a web form validator and support both client and server side validation.
Here is a tutorial for how to use the Struts Validator.
Posted by My Tech Blog 0 comments
Tuesday, October 16, 2007
EJB Reference Definiton and Lookup in Oracle Application Server 10g
EJB Reference Definition
There are two way for EJB reference definition in Oracle AS:
One is define the (ejb-ref-name) together with (ejb-link) within the (ejb-ref) element. Configure (ejb-ref-name) with a logical name and configure (ejb-link) with the actual name of the target bean as shown below:
Example: Configuring ejb-ref-name with a Logical Name Resolved by ejb-link
(ejb-ref)
(ejb-ref-name)ejb/nextVal(/ejb-ref-name)
(ejb-ref-type)Session(/ejb-ref-type)
(home)myBeans.BeanAHome(/home)
(remote)myBeans.BeanA(/remote)
(ejb-link)myBeans/BeanA(/ejb-link)
(/ejb-ref)
This option provides indirection that offers assembly and deployment flexibility.
Another way is to Configure (ejb-ref-name) with a logical name and in the orion-ejb-jar.xml deployment descriptor, define an (ejb-ref-mapping) element that maps the logical name to the actual name of the target bean as shown below:
Example: Configuring ejb-ref-name with a Logical Name Resolved by ejb-ref-mapping
(ejb-ref)
(ejb-ref-name)ejb/nextVal(/ejb-ref-name)
(ejb-ref-type)Session(/ejb-ref-type)
(home)myBeans.BeanAHome(/home)
(remote)myBeans.BeanA(/remote)
(/ejb-ref)
Example: Mapping Logical Name to Actual Name with ejb-ref-mapping
(ejb-ref-mapping name="ejb/nextVal" location="myBeans/BeanA"/)
This option provides indirection that offers the most assembly and deployment flexibility.
EJB Reference Lookup
To lookup EJB in the OAS, there are two ways too. One is using the ejb-ref (logical name in the web.xml/ejb-jar.xml) and second way is using the real location (jndi name in the server).
For sample code snippet, refer to links below:
http://download.oracle.com/docs/cd/B25221_04/web.1013/b14428/servjndi.htm#CHDGBAFJ
http://download.oracle.com/docs/cd/B25221_04/web.1013/b14427/jndi.htm#i1084614
http://download.oracle.com/docs/cd/B25221_04/web.1013/b14427/jndi.htm#CIHGAHFF
Posted by My Tech Blog 0 comments
Oracle Application Server 10g How-To's
This link provides a high-level overview of a feature along with relevant code excerpts to illustrate how the feature can be used.
Infrastructure
How-To Use Application Properties
How-To Register MBeans on Container Startup
How-To Create Simple JMX MBeans Mar-2006
How-To Swap Oracle JDBC Drivers
How-To Swap XML Parsers
How-To Configure and Use Job Scheduler with database persistence
How-To Configure and Use Job Scheduler with JMS persistence
How-To Configure and Use JCA 1.5 Resource Adapters
How-To Configure and Use Data Sources
How-To Configure and Use JNDI
How-To Configure and Use Proxy-authentication with Data Sources
How to Configure and use Active MQ JCA 1.5 Resource Adapter with OC4J 10 g (10.1.3)
How-To Use ORMI/SSL with OC4J
How-To Propagate a transaction context between OC4J instances
How-to Stop an MDB via JMX (Blog)
How-to Establish a Remote connections to OC4J with JConsole (Blog)
Servlets and JSP / Web Container
How-To Use Dependency Injection in a Web Module
How-To Use Servlet 2.4 Features
How-To Use HTTPClient in OC4J 10g
Web Services
How-To Use MTOM to exchange binary data
How-To Develop a Web Service From an Existing Java Class
How-To Develop a Web Service From a WSDL Document
How-To Generate a Web service using Web service Metadata Annotations (JSR 181)
How -To Use WS Security between OracleAS Web Services and Microsoft .Net
How to Use JDeveloper 10.1.3 to Secure and Test a Web Service
How-to Share State of Stateful Web Services Between Clients (Blog)
How to use SOAP Compression using JAX-RPC, on OC4J (Blog)
How to use SSL with OracleAS Web Services (Blog)
Spring Framework
Using the New Spring JTA Transaction Manager
Use EJB 3.0 and Java Persistence API with Spring in OC4J
Spring-TopLink Pet Clinic Demo
Messaging (JMS)
How-To Use the OracleAS JMS Router
How to Configure and Use Oracle's Generic JMS Resource Adapter
With IBM WebSphere MQ JMS
With Tibco Enterprise for JMS
With SonicMQ JMS
With OEMS JMS (In-Memory and File-Based)
With OEMS JMS (Database)
How-to Create as Simple MDB with Oracle Database JMS Provider (Blog)
How-to Propagate JMS Messages to Multiple Targets (Blog)
How-to use OracleAS JMS, Hermes and MBeans (Blog)
J2EE Security / JAAS
How-To Integrate a Custom JAAS Login Module in OracleAS
How-To Reset oc4jadmin password (Blog)
Oracle Rules Engine
How-To Build a Rules Enabled Java Application
How-To build a Rules Enabled Application using XML facts
Additional Resources
Tutorial for Java EE Developers (10.1.3.1.0)
How to use SASH Starter 2.0 with OracleAS 10g R3
EJB 3.0 How-To's
Oracle TopLink How-To's
Oracle JDeveloper How-To's
How-To Use Eclipse with OC4J 10g (Eclipse Web Tools Project Page)
Posted by My Tech Blog 0 comments
Friday, October 5, 2007
Where did System.out | System.err statements print in Oracle AS 10g (10.1.3)?
By default, Sys.out statements are printed in the $Oracle_Home/opmn/logs/
To specify other out file location:
We use "-out [file]" option in the oc4j startup parameter list to Specifies a file to route the standard output to. The specified file contains messages that are printed to System.out, as well as the messages sent to output through the servlet logging interface. If not specified, all output is written to standard out.
Note that in an OPMN-managed configuration, the file will be generated within an instance_default_group_1 directory appended to the path specified.
For example, if you specify the following in opmn.xml:
The mylog.log file will actually be generated in:
/mypath/instanceName_default_group_1/mylog.log.
To specify other err file location:
We use "-err [file]" option in the oc4j startup parameter list to specify a file to route standard error output to. The file contains messages that are printed to System.err. If not specified, all errors are written to standard error.
Note that in an OPMN-managed configuration, the file will be generated within an instance_default_group_1 directory appended to the path specified. See the -out description above for details.
See "Managing stdout/stderr Log Files" for additional system properties that can be set to manage stdout files.
Posted by My Tech Blog 0 comments
Thursday, October 4, 2007
TIBCO Rendezvous vs SonicMQ
This article is compiled from source available in the WWW, not my own opinion and only used for reference and information purpose.
TIBCO Rendezvous
TIBCO has been one of the leading providers of EAI since its establishment 20 years ago and TIB/RV is one of the most widely used messaging middleware in enterprises.
TIB/RV is implemented in C and based on a distributed architecture. An installation of TIB/RV resides on each host on the network.
Messaging can be delivered in point-to-point or publish/subscribe, synchronously or asynchronously, locally delivered or sent via WAN or the Internet. Rendezvous messages are self-describing and platform independent.
TIB/RV is composed of three main components:
- RV Daemon (RVD) responsible for the delivery of messages within a LAN.
- RV Agent (RVA)
- RV Routing Daemon (RVRD)
In TIB/RV, point-to-point messages sending model is fairly similar to publish/subscribe, The RV Sender program passes the message and destination topic to RVD. RVD then broadcasts this message using User Data Packet (UDP) to the entire network. All subscribing computers with RVDs on the network will receive this message. RVD will filter the messages which non-subscribers will not be notified of the message. Therefore only subscriber programs to the particular topic will get the messages.
SonicMQ
SonicMQ is JMS implementation, and has outstanding performances competitive with existing MOM technologies, such as IBM MQSeries. SonicMQ is written in 100% pure Java, supports XML messaging, and HTTP tunnelling to allow SonicMQ to work over the Internet. The underlying mechanism of SonicMQ is its “broker” that facilitates the movement of messages across the network.
The communication protocols that can be used with SonicMQ include TCP, HTTP and SSL. Since it uses common Internet protocol, SonicMQ can extend its deployment to the Internet. It also provides bridges to many other popular MOMs that allow messages to be sent and received between SonicMQ and other MOMs.
There are three types of configurations a user can choose from:
- Single-broker Configuration: Under this configuration, there is one broker which is being shared across a few nodes.
- Multi-broker Clusters
- Multi-node Configurations
The broker is the most important underlying implementation of SonicMQ. It is responsible for delivering and acquiring of messages within a LAN environment. It is a client-server model, where many clients connect to a single broker. The connection can be via TCP (for LAN), SSL (for security encryption), or even HTTP (to connect to external entities).
The downside with single broker configuration is that scalability is limited by the capabilities of the node machine. Also the system is dependent on the single broker machine (node), hence leading to a bottleneck of the system at the node. The whole system may collapse if the node goes down. To solve this problem a multi-broker cluster must be used.
There exist a benchmark report for SonicMQ by Progress Software. SonicMQ showed outstanding performances compared to IBM MQSeries and Fiorano FioranoMQ, (both are JMS implementations) under WinNT platform.
TIB/RV vs SonicMQ
There is a benchmarking result shows that TIB/RV has exceptional performance compared to SonicMQ.
They are as follows:
- High publish/subscribe and point-to-point send/receive rates
- High scalability:
- Publishing rate not affected by introducing more receivers;
- Subscriber rate increases as more subscribers are introduced.
- Low memory and CPU consumption
The only major downside of TIB/RV is that when there are very few receivers in the network, it could flood the network with many unnecessary UDP packets, introducing congestions.
TIB/RV is using multicast-based publish/subscribe messaging, which is an excellent solution for near-real-time message dissemination when 1 to 'very-many' delivery capabilities matter. It is better for application with high volume, high performance, acceptance of unreliability (nature of UDP), 1 to very many.
However, in most EAI cases the opposite requirements are true: ‘Cardinality’ of message delivery is 1-1, 1-2; 1 to-very-many is a rare case. With exception of ‘consolidated application’ integration model (near real time request reply with timeout heuristics), reliability of message delivery takes priority over performance.
Reference List
Benchmarking Message-Oriented Middleware TIB/RV vs SonicMQ
Tibco RV vs Tibco EMS
Posted by My Tech Blog 0 comments
Wednesday, October 3, 2007
Hands-on Tutorial of Oracle BI EE
1. BI EE Installation http://www.oracle.com/technology/obe/obe_bi/bi_ee_1013/install/installoraclebee.htm
2. Create A Repository
http://www.oracle.com/technology/obe/obe_bi/bi_ee_1013/bi_admin/biadmin.html
3. Create A DashBoard http://www.oracle.com/technology/obe/obe_bi/bi_ee_1013/saw/saw.html
4. Integration with BI Publisher http://www.oracle.com/technology/obe/obe_bi/bipub/bip_biee/bip_biee.htm
OU Reference
http://ouweb.us.oracle.com/database/oracle_business_inteligence_series_replays.html
Posted by My Tech Blog 1 comments
BI Primer
Recently, i am looking at the Oracle Business Intelligence (BI) solution and preparing a technical sharing session.
When I dive into the BI, i found it is a damn big topic and a lot of acronym and technical term need to be clear before get to understand it.
Information here is compiled from multiple source available from the internet to clear those prerequisite.
What is BI ?
Business intelligence (BI) is a business management term, which refers to applications and technologies that are used to gather, provide access to, and analyze data and information about company operations.
BI systems can help companies have a more comprehensive knowledge of the factors affecting their business, such as metrics on sales, production, internal operations, and they can help companies to make better business decisions.
BI software and applications includes a range of tools. Some BI applications are used to analyze performance, projects, or internal operations. Other BI applications are used to store and analyze data, such as Data mining (DM), Data Farming, and Data warehouses; Decision Support Systems (DSS) and Forecasting. Other BI applications are used to analyze or manage the "human" side of businesses, such as Customer Relationship Management (CRM) and Marketing tools and Human Resources applications.
BI often uses key performance indicators (KPIs) to assess the present state of business and to prescribe a course of action. The KPI methodology was further expanded with the Chief Performance Officer methodology which incorporated KPIs and root cause analysis into a single methodology.
What is OLTP ?
OLTP stand for Online Transaction Processing. This is a standard, normalized database structure. OLTP is designed for transactions, which means that inserts, updates, and deletes must be fast. Imagine a call center that takes orders. Call takers are continually taking calls and entering orders that may contain numerous items. Each order and each item must be inserted into a database. Since the performance of the database is critical, we want to maximize the speed of inserts (and updates and deletes). To maximize performance, we typically try to hold as few records in the database as possible. OLTP is typically for data entry and retrieval transaction processing.
What us OLAP ?
Online Analytical Processing is an approach to quickly providing answers to analytical queries that are multidimensional in nature. OLAP is part of the broader category BI, which also includes Extract transform load (ETL), relational reporting and data mining. The typical applications of OLAP are in business reporting for sales, marketing, management reporting, business process management (BPM), budgeting and forecasting, financial reporting and similar areas. The term OLAP was created as a slight modification of the traditional database term OLTP (Online Transaction Processing).
The output of an OLAP query is typically displayed in a matrix (or pivot) format. The dimensions form the row and column of the matrix; the measures, the values.
What is an OLAP cube ?
The term "cube" comes from the geometric object that has three dimensions. OLAP cubes can have many more dimensions than 3, but the term continues to apply.
In database theory, an OLAP cube is an abstract representation of a projection of an RDBMS relation. It is an arrangement of data in arrays (alternatively called cubes) to allow fast analysis. The arrangement of data into cubes avoids a limitation of relational databases which are not well suited for near instantaneous analysis of large amounts of data. OLAP cubes can be thought of as extensions to the two-dimensional array of a spreadsheet. Because there can be more than three dimensions in an OLAP system the term hypercube is sometimes used. The commercial OLAP products have different methods of creating the cubes and hypercubes and of linking cubes and hypercubes.
What is Measure, Dimension & Hierarchy?
While most databases designed for OLTP such as those used in claims processing are designed for efficiency in data storage, OLAP cubes are designed for efficiency in data retrieval.
Regular relational databases treat all data into the database similarly, however OLAP cubes categorize data into "dimensions" and "measures".
Measures represent items that are counted, summarized or aggregated, such as costs or units of service.
A company might wish to analyse some financial data by product, by time-period, by city, by type of revenue and cost, and by comparing actual data with a budget. These additional methods of analysing the data are known as dimensions.
Dimensions are variables by which measures are summarized, such as hospitals, physicians, or dates of service. This organization of data greatly facilitates the ability to formulate data requests based on real-life situations.
Each of the elements of a dimension could be summarised using a hierarchy. For example May 2005 could be summarised into Second Quarter 2005 which in turn would be summarised in the Year 2005. Similarly the cities could be summarised into regions, countries and then global regions; products could be summarised into larger categories; and cost headings could be grouped into types of expenditure. Conversely the analyst could start at a highly summarised level such as the total difference between the actual results and the budget and drill down into the cube to discover which locations, products and periods had produced this difference.
In addition, many of queries that could be posed to the data are "pre-aggregated" in the database such that the answers have already been precalculated and can be reported without delay.
What is Oracle OLAP Cube?
Oracle OLAP Cube requires a specific set of materialized views to map to a star schema. A materialized view is a replica of a target master from a single point in time. The master can be either a master table at a master site or a master materialized view at a materialized view site. ( more about 1 | 2).
Why are OLAP cubes important ?
Before OLAP technology was well developed, data had to be extracted from databases using "queries".
This meant that the analyst had to structure a request to the database for the information desired, and then submitted this query to the database server. That server would processing query and return the results.
Depending on the size of the database and the data requested, this query could take minutes or hours to complete.
In this sense, the "online" aspect of this type of reporting is questionable. OLAP cubes are fundamentally different in that they "pre-aggregate" the data used to answer many of queries that are anticipated.
What is star schema?
The star schema (sometimes referenced as star join schema) is the simplest style of data warehouse schema, consisting of a few "fact tables" (possibly only one, justifying the name) referencing any number of "dimension tables". The "facts" that the data warehouse helps analyze are classified along different "dimensions": the fact tables hold the main data, while the usually smaller dimension tables describe each value of a dimension and can be joined to fact tables as needed.
Dimension tables have a simple primary key, while fact tables have a compound primary key consisting of the aggregate of relevant dimension keys.
Facts and Dimensions
When we talk about the way we want to look at data, we usually want to see some sort of aggregated data. These data are called measures. These measures are numeric values that are measurable and additive. For example, our sales dollars are a perfect measure.
Just tracking measures isn't enough, however. We need to look at our measures using those "by conditions". These "by conditions" are called dimensions.
Therefore, in designing a star schema, our first order of business is usually to determine what we want to see (our measures) and how we want to see it (our dimensions).
Building the Fact Table
The Fact Table holds our measures, or facts. The measures are numeric and additive across some or all of the dimensions. For example, sales are numeric and we can look at total sales for a product, or category, and we can look at total sales by any time period. The sales figures are valid no matter how we slice the data.
While the dimension tables are short and fat, the fact tables are generally long and skinny. They are long because they can hold the number of records represented by the product of the counts in all the dimension tables.
What is data mining?
Data mining has been defined as "the nontrivial extraction of implicit, previously unknown, and potentially useful information from data" and "the science of extracting useful information from large data sets or databases".
Data mining involves sorting through large amounts of data and picking out relevant information. It is usually used by Business intelligence organizations, and financial analysts, but is increasingly used in the sciences to extract information from the enormous data sets generated by modern experimental and observational methods.
What is oracle OLAP Solution?
Oracle OLAP solution has Oracle DB OLAP Option and Hyperion Essbase.
Oracle Database OLAP is optimal for accelerating query performance and
adding analytic content for SQL-based BI Tools on Oracle Database, whereas oracle’s Hyperion Essbase is ideal for performance management applications to be the de-facto world leader in planning, budgeting applications etc.
Both the OLAP Option and Essbase share certain core capabilities which are fast query performance, fast incremental update of data sets, rich calculation capabilities and dimensional calculation and query models.
Oracle OLAP—an option to Oracle Database 11g Enterprise Edition—is a calculation engine that supports the entire spectrum of advanced analytical applications. It extends the analytic capabilities of the Oracle database by providing new multidimensional datatypes, a multidimensional calculation engine, and a framework to build OLAP applications using SQL, PL/SQL, and Java. (Know more about oracle OLAP option)
Database vs. Data Warehouse
The primary difference betwen you application database and a data warehouse is that while the former is designed (and optimized) to record , the latter has to be designed (and optimized) to respond to analysis questions that are critical for your business. Application databases are OLTP (On-Line Transaction Processing) systems where every transation has to be recorded, and super-fast at that.This system is write-optimized, and you shouldn?¡¥t crib if your analysis query (read operation) takes a lot of time on such a system.
A Data Warehouse (DW) on the other end, is a database (yes, you are right, it?¡¥s a database) that is designed for facilitating querying and analysis. Often designed as OLAP (On-Line Analytical Processing) systems, these databases contain read-only data that can be queried and analysed far more efficiently as compared to your regular OLTP application databases. In this sense an OLAP system is designed to be read-optimized.
Creation of a DW leads to a direct increase in quality of analyses as the table structures are simpler (you keep only the needed information in simpler tables), standardized (well documented table structures), and denormalized (to reduce the linkages between tables and the corresponding complexity of queries). A DW drastically reduces the ??cost-per-analysis?¡¥ and thus permits more analysis per FTE. Having a well-designed DW is the foundation successful BI/Analytics initiatives are built upon (original post).
Data Warehouse vs Data Mart
Data Warehouses and Data Marts are conceptually different in scope. However, they are built using the exact same methods and procedures.
A Data Mart is a specific, subject oriented, repository of data designed to answer specific questions for a specific set of users. So an organization could have multiple data marts serving the needs of marketing, sales, operations, collections, etc. A data mart usually is organized as one dimensional model as a star-schema (OLAP cube) made of a fact table and multiple dimension tables.
In contrast, a Data Warehouse (DW) is a single organizational repository of enterprise wide data across many or all subject areas. The Data Warehouse is the authoritative repository of all the fact and dimension data (that is also available in the data marts) at an atomic level.
A data warehouse (or mart) is way of storing data for later retrieval. This retrieval is almost always used to support decision-making in the organization. That is why many data warehouses are considered to be DSS (Decision-Support Systems). oth a data warehouse and a data mart are storage mechanisms for read-only, historical, aggregated data.
As technology improved (lower cost for more performance) and user requirements increased (faster data load cycle times and more features), data warehouses have evolved through several fundamental stages:
* Offline Operational Databases ?a Data warehouses in this initial stage are developed by simply copying the database of an operational system to an off-line server where the processing load of reporting does not impact on the operational system's performance.
* Offline Data Warehouse ?a Data warehouses in this stage of evolution are updated on a regular time cycle (usually daily, weekly or monthly) from the operational systems and the data is stored in an integrated reporting-oriented data structure
* Real Time Data Warehouse ?a Data warehouses at this stage are updated on a transaction or event basis, every time an operational system performs a transaction (e.g. an order or a delivery or a booking etc.)
* Integrated Data Warehouse ?a Data warehouses at this stage are used to generate activity or transactions that are passed back into the operational systems for use in the daily activity of the organization.
The term data warehouse architecture is primarily used today to describe the overall structure of a Business Intelligence system. Other historical terms include decision support systems (DSS), management information systems (MIS), and others (original post).
List of reference i used to compile this primer:
Introduction to OLAP
http://www.dwreview.com/OLAP/Introduction_OLAP.html
Data Warehousing Overview
http://www.dwreview.com/DW_Overview.html
Designing OLAP Solutions
http://www.dwreview.com/OLAP/OLAP_Comparison.html
OLAP architectures
http://www.olapreport.com/Architectures.htm
Designing the Star Schema Database By Craig Utley
http://www.ciobriefings.com/whitepapers/StarSchema.asp
Open Source Analytics / Open source BI by Nishith
http://opensourceanalytics.com/
Discussion of designing OLAP Cubes
http://databaseanswers.org/designing_olap_cubes.htm
Posted by My Tech Blog 6 comments
Vector graphics Vs Raster graphics
Source: wikimedia.orgVector graphics (also called geometric modeling or object-oriented graphics) is the use of geometrical primitives such as points, lines, curves, and polygons, which are all based upon mathematical equations to represent images in computer graphics.
It is used in contrast to the term raster graphics, which is the representation of images as a collection of pixels, and used as the sole graphic type for actual photographic images. To know more about vector | raster
Posted by My Tech Blog 0 comments
Oracle Locator Vs Oracle Spatial
To get a quick idea of what difference between oracle locator and spatial are, i put them down here.
Features included in Oracle Locator:
* Exactly the same code base as Oracle Spatial for included functions - you won't get a performance degrade by using Oracle Locator, and features behave in the same manner in Oracle Locator and Oracle Spatial;
* Full support to store spatial data types;
* Standard SQL query access to spatial data;
* All indexing types are available - including R-Tree and partition support;
* No limits on the size and complexity of data stored;
* Most of the common spatial operations, such as "find all customers in this region" and "what shops are within 100 metres of this school", are available;
* Data compatibility between Oracle Spatial and Locator, so if you do decide to upgrade, all your data remains valid; and
* Support for multiple coordinate systems.
Oracle Spatial provides the following functions which are not included in Oracle Locator:
* Linear referenced features e.g. roads which store the distance along the road;
* Network models, such as road networks, allowing rapid calculation of shortest paths;
* Topological relationships can be stored, such as this property boundary touches this neighbouring boundary. Generally used by data producers wishing to edit high integrity spatial data;
* Storage of images such as satellite and aerial photography;
* A geocoder that translates address data to coordinate; and
* Some more complex spatial functions, mainly for analysis and data aggregation.
Find the original article here.
There a list of relevant readings from where you can go further.
Oracle Spatial - Wikipedia
Oracle Spatial Documents - Documentation
Oracle Locator and Spatial Option - Datasheet
Oracle Locator and Spatial FAQ - FAQ
Oracle XE , Locator & Geospatial Information Systems - Interview
Posted by My Tech Blog 0 comments