Index Changes

Difference between version and version     

Back to Understanding Database Binding Component, or Understanding Database Binding Component Info


At line 3 changed 1 line.
!!! Understanding the Database Binding Component
!!! Working With the Database Binding Component
At line 5 changed 1 line.
The topics listed below provide information about Understanding the Database Binding Component.
The topics in this document provide information about Understanding the Database Binding Component.
At line 7 changed 1 line.
__What You Need to Know__
__Contents__
At line 10 changed 3 lines.
* About Database Binding Component.\\
* Open ESB Packages that Make Up the New Database Binding Component.\\
* Functional Architecture of Database Binding Component.\\
* [About Database Binding Component|About DB BC].\\
* [Supporting Features in the Database Binding Component|[Supporting Features in the Database Binding Component].\\
* [Open ESB Packages that Make Up the New Database Binding Component|Open ESB Packages].\\
* [Functional Architecture of Database Binding Component|Functional Architecture].\\
At line 14 removed 90 lines.
!!!About Database Binding Component
The Database Binding Component (DB BC) provides a comprehensive solution for configuring and connecting to databases that support Java Database Connectivity (JDBC) from within a JBI environment. DB BC is a JBI component that provides database operations as services. JBI components acting as consumers invoke these Web Services.
The DB BC supports the following database artifacts to be exposed as Services.
* Tables\\
* Prepared Statements\\
* Stored Procedures\\
* SQL File\\
!!Components of Database BC
Database BC helps users to handle databases with flexibility. These also provide Web Services in conjunction with other OpenESB components.
The following components are part of the DB BC.
* WSDL from Database wizard which supports Tables, Prepared Statements, Stored Procedure, and SQL File., (NetBeans plug-in).\\
* Custom WSDL extensions for configuring the Web Service, (NetBeans plug-in).\\
* Database Binding Runtime component, (JBI runtime component).\\
!!Supported Features in Database BC
The Database BC has all the features of JDBC BC and subset of SQL SE. The DB BC supports the following database artifacts that are exposed as Services.
* __Database Objects__\\
** Tables\\
** View\\
** Prepared Statements \\
** Stored Procedure\\
** SQL File\\
* __Database Operations (DDL)__\\
** Tables\\
* Insert\\
* Update\\
* Delete\\
* Select\\
* Database Polling for Inbound\\
* PollPostProcessing Delete\\
* PollPostProcessing Mark Column\\
* PollPostProcessing Copy\\
* PollPostProcessing Move\\
** Prepared Statements\\
* Select\\
* Insert\\
* Update\\
* Delete\\
** Stored Procedures\\
* __Database Connectivity__\\
Database connectivity through Java Naming and Directory Interface (JNDI) lookup\\
* __XSD Creation and Editing__\\
** Creating XML Schema Definition (XSD) through wizard for\\
* Tables\\
* Prepared Statements\\
* Stored Procedure\\
* SQL File\\
* __WSDL Creation and Editing__\\
Creating WSDL through wizard with relevant binding information, service, and port definitions
** Tables\\
** Prepared Statements\\
** Stored Procedure\\
** SQL File\\
* __Other Features__\\
** Transaction Control (including XA)\\
** JDBC WSDL extensions validations in WSDL Editor\\
** Fault Handling\\
* __Databases Supported__\\
** __Tier 1 Databases Supported__\\
** MySQL\\
** Oracle\\
__Tier 2 Databases Supported__\\
** SQL Server\\
** DB2\\
** Sybase\\
* __Driver Types Supported__\\
Drivers are uniquely different in what they do and the type of functions they support.\\
** DataDirect 3.7 (Type 4)\\
** Derby Network client driver for Derby 10.2\\
** Oracle Database\\
* Oracle Type 2 driver (thin) for Oracle 9i\\
* Oracle Type 2 driver (thin) for Oracle 10G\\
* Oracle Type 2 driver (thin) for Oracle 11G\\
__ojdbc14.jar,ojdbc5.jar__: This is setup to work with Tables, Prepared Statements and Stored Procedures.\\
** MySQL Native, MySQL DataDirect Driver\\
__mysql-connector-java-5.1.5-bin.jar__: This is setup to work with Tables, Prepared Statements, and Stored Procedures.\\
** Oracle Native, Oracle DataDirect Driver\\
** SQL SERVER Native, SQL SERVER DataDirect Driver\\
__sqljdbc.jar__: This is setup to work with Tables and Prepared Statements only.\\
** Sybase Native\\
__jconn3.jar__: This is setup to work with Tables and Prepared Statements only.\\
** DB2 Native\\
__db2jcc.jar__: This is setup to work with Tables, Prepared statements and Stored Procedures only.\\
At line 105 removed 1 line.
%%information Note - With this, both the JAR Files and the NBM Files are installed together. %% \\
At line 107 changed 20 lines.
* __Supported Platforms__\\
** Windows\\
** Solaris\\
** Mac OS X\\
** Linux\\
* __Support for OpenESB__\\
NetBeans plug-in compliant with NetBeans enterprise suite.\\
* __Systemic Qualities__\\
** Application Configuration and Variables\\
** Logging\\
** Runtime Monitoring\\
** Recovery \\
** Dynamic Addressing \\
** Throttling\\
** Serial Processing\\
** Redelivery\\
** Unique Message Ids\\
** Common Fault and Error Handling\\
** Transaction Propagation \\
** Configuration Usability\\
%%(color:blue;)__Click me__%%\\
[Using the Database Binding Component|http://wiki.open-esb.java.net/Wiki.jsp?page=UsingDatabaseBindingComponent]\\
This document provides information you need to know before and when using the Database Binding Component.
At line 128 removed 83 lines.
!!!Open ESB Packages that Make Up the New Database Binding Component
This runtime component is available as a __sun-database-binding__.
The design-time components still leverage the __org-netbeans-modules-wsdlextensions-jdbc.nbm__. NetBeans Modules help create artifacts for the sun-database-binding. The Artifacts that the new version of these components generate are deployed to the DB BC instead of the JDBC BC or SQL SE.
Database BC (DB BC) is a Java Business Integration (JBI) runtime component that provides a comprehensive solution for configuring and connecting to databases. DB BC provides data operations as services. It supports the JDBC from within a JBI environment. Other JBI components invoke these Web Services acting as consumers. DB BC exposes both Data Manipulation Language (DML) and Data Definition Language (DDL) operations as Web Services.
DB BC also acts as a consumer incase of inbound functionality where DB BC polls data from a particular table, converts them into messages, and sends it to the Normalized Message Router (NMR). This is analogous to the inbound connections implemented in CAPS 6.
The services that DB BC exposes are actually SQL operations on Tables, Prepared Statements, and Stored Procedure. The DB BC supports the following database artifacts to be exposed as services.
* Tables\\
* Prepared Statements\\
* Stored Procedures\\
* SQL File\\
The DB BC can assume the role of either a JBI consumer (polling inbound requests) or a JBI provider (sending outbound messages).
When the DB BC acts as a JBI consumer, it polls a specified database for updates to a table in the database. When a new record is stored in the table, the database polls for the record for the specified time interval and the DB BC picks up that record, constructs a JBI message, and sends the message to the JBI framework so it can be serviced by other JBI components.
When the DB BC acts as a JBI provider, it extracts the SQL query from a JBI message received from the JBI framework. It then executes the query on a specified database. It converts the reply from the database into a JBI message that other JBI components can service.
[{Image src='open-esb_jdbc.gif' width='320' height='375' alt='Image shows ...' align='left|center|right' }]
Once installed, the DB BC can be used to design, deploy, and run the Service Units. The most important part of a Service Unit is the WSDL that describes the Database services. DB BC provides a set of extension elements specific to DB BC for connecting to the Database.
The binding component provides features and facilities to the user at various stages of the composite application development lifecycle.
!!Database BC as Provider
Database BC acts as a provider in case of outbound message flow. DB BC acts as an external service provider when other engines and components 'invoke' it. In this role, when it receives a normalized message as part of the message exchange, it converts and extracts the SQL operation. The SQL operation is then executed on the specified database.
!!Database BC as Consumer
Database BC acts as a consumer in case of inbound message flow. DB BC polls for records from a particular table constructs a normalized message and sends it as part of the message exchange.
!!Database BC WSDL Extensibility Elements
The Database BC WSDL extensibility element is a template used to construct an instance of a DB BC WSDL. The DB BC WSDL extensibility elements contains information for constructing the DB BC message. These are constructed using the message parts, message formats, properties mapping, and other message related information necessary for the DB BC to properly map message exchanges to DB BC messages and vice versa. The DB BC WSDL extensibility elements also contain information about which database it connects.
!!!Functional Architecture of Database Binding Component
[{Image src='DatabaseBCHighLevelDesign_JBI_Framework.gif' width='529' height='645' alt='Image shows ...' align='left|center|right' }]
The functional architecture of DB BC is explained as illustrated in the Figure.
The table briefly describes the functional operation of each Module or Wizard.
__Table 1 Functional Description__
|| Function|| Description
| __Installation Module__| Installation Module installs, uninstalls, and manages the life cycle of the DB BC. This module is used to plug the DB BC into the JBI Frame work and monitor the life cycle of the Binding Component (such as install, uninstall, start, stop, and so on) .
| __Wizard Module__| The Database Wizard assists in interacting with the database.* The Database Wizard create/edit interface queries the database to build WSDL from Database Tables, Stored Procedures and Prepared SQL Statements.\\* XSD's are created based on the Tables, Stored Procedures, and Prepared SQL Statements in the external data source.\\* Database Operations are added to provide the appropriate database functionality.\\* The Wizard assists in interacting with the database using JDBC API specific calls and ensures that appropriate methods are called and the data is formatted appropriately when manipulating the database. \\* The Database Wizard can create XSD's based on any combination of Tables, Stored Procedures or Prepared SQL Statements.\\* Database Wizard uses the imported interfaces like WSDL Editor and XSD Editor.\\
| __Wizard Launcher__| Wizard Launcher launches the Database Wizard, this interface basically plugged in into existing WSDL Editor Wizard.
| __Schema Handler__| Schema Handler is responsible to create an XML Schema for the corresponding table. The generated schema can be imported in to the WSDL
| __MetaData Handler__| MetaData Handler gets the MetaData from the database and displays to the user through the wizard. MetaData consists user specific description of the table. MetaData handler get the MetaData of the Tables , Columns , Prepared Statements, and Procedures. This data is supplied to the schema generator module to generate the schemas.
| __WSDL Generator__| WSDL Generator generates the WSDL using the imported APIs and the Schema Handler.
| __Database BC Runtime__| DB BC Runtime module provides the functionality for DB BC at runtime. The DB BC receives the Normalized Message it gets from the NMR, denormalizes the message and gathers the required parameters (JNDI name, Operations and so on) from the message. It processes the operations and normalizes the output and sends it back to the NMR.
| __Connection Handler__| Connection management module provides the functionality to get the connection from different databases. This module uses the JMX API to create a connection pool and the JNDI name to obtain the connection from the Data source or Java Naming API. This is used to create JDBC resource and bind it to JDBC context of the JNDI tree.Connection Handler uses two methods to get connected to the database. If the user has already created the JNDI name and wants to establish a connection to the database, then the connection handler looks up the JNDI name in the JNDI context and gets the connection. If the given JNDI Name does not exist it binds as a new JDBC context to the JNDI tree during deployment time.In the second method the connection handler establishes a connection using the connection parameters. (Driver class name, URL, Username and Password).
| __Transaction Management__| DB BC implements the XAResource interface of JTA to be part of the global Transaction and enlists the resource with the Transaction manager. It is responsible to start and end the XA Transaction. It implements the two phase commit protocol to support the global transaction.
| __JMX Interface__| JMX Interface provides a method to bind the DB BC context to the JNDI tree of an application server context.
| __JBI Framework__| JBI Framework provides administration tools (such as install, uninstall, deploy, and undeploy) and normalized message router functionality to the DB BC.
| __NetBeans Common Model__| Database BC uses WSDL Editor and XSD Editor imported models from NetBeans as part of the enterprise pack.
!!Functional Architecture of JDBC Binding Component — A Comparative Study
The illustration depicts the functional architecture of Database BC. Various logical components, external systems are depicted in the architecture. The diagram is centered around the external and internal interfaces provided by the binding component. The term interface is used here in a generic sense to mean any piece of information going back and forth between components.
[{Image src='Functional_Architecture.gif' width='513' height='539' alt='Image shows ...' align='left|center|right' }]
The architecture includes the following:
* Public Private (external to Alaska)\\
* Project Private (Internal to Alaska but external to JDBC BC)\\
* Imported Interfaces\\
* Exported Interfaces\\
* Core JDBC BC Functional modules\\
[Previous|P1]
At line 212 changed 2 lines.
\\

JSPWiki v2.4.100
[RSS]
« Home Index Changes Prefs
This page (revision-14) was last changed on 07-Dec-08 13:39 PM, -0800 by PRABHAMS