Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
System Data User: FPDS MRS Remote Access Introduction Procurement Business Intelligence Service (PBIS) OSD, AT&L, DPAP Version 1.1 12/06/2016 Document Revision: V1.1 Page 1 Contents Contents........................................................................................................................................................................ 2 Objective / Scope .......................................................................................................................................................... 3 Purpose ......................................................................................................................................................................... 3 Requirements ............................................................................................................................................................... 3 Supply external system’s information to DPAP: ............................................................................................... 3 PBIS System Data Users external system assumptions: ................................................................................... 3 External system configuration setup instructions ........................................................................................................ 3 Connection using JDBC Driver........................................................................................................................... 4 Prerequisites ................................................................................................................................................. 4 Details ........................................................................................................................................................... 4 Example......................................................................................................................................................... 4 Connection using DBLink .................................................................................................................................. 5 Prerequisites ................................................................................................................................................. 5 Details ........................................................................................................................................................... 5 Document Revision: V1.1 Page 2 Objective / Scope The main objective of this document is to provide technical setup instructions for the Procurement Business Intelligence Service (PBIS) System Data Users that are interested in connecting to the Federal Procurement Data System Management Report Server (FPDS MRS). Purpose Procurement Action data is available from the Federal Procurement Data System – Next Generation (FPDS-NG) through their Atom Feed process. Defense Procurement and Acquisition Policy (DPAP) built an interface from FPDS-NG to PBIS using this Atom Feed process to consume the data. Making this FPDS-NG data available to other DoD components alleviates the need for duplicate developmental efforts. The FPDS MRS is designed for the end user to consume the FPDS-NG data they need and was not intended to be a transactional information server. FPDS MRS was intentionally designed to be the source to build a data repository on the System Data User’s external system. Requirements Supply System Data User’s external system information to DPAP: The System Data User will provide DPAP with its forward facing server’s IP address/port information and currently we can accept a maximum of two IPs, e.g. one for development and one for production. The hosting facility will make the necessary network configuration changes to allow connectivity from the external system. Due to the time necessary to implement these changes this information should be provided as early as possible. To begin this process please access and fill out accordingly the System_Data_User_Request_Form_V1_20161031.docx located on the DoD Procurement Toolbox at http://dodprocurementtoolbox.com/site-pages/system-datausers. System Data User’s external system assumptions: o It will connect via a DBLINK or JDBC Type 4 connection. o It is an Oracle database if using the DBLINK connectivity. o It will not treat FPDS MRS as a transactional information server but will treat FPDS MRS as the source to build a data repository on the System Data User’s external system. o It resides outside the ALTESS boundary and is located on the .MIL network. o It will use the SSL authentication to connect to FPDS MRS instead of native encryption. System Data User’s external system configuration setup instructions The System Data User should receive the following information from DPAP prior to establishing connection to FPDS MRS: Document Revision: V1.1 Page 3 o The database username/password on FPDS MRS to connect remotely. o For JDBC Connection only: Authentication certificate supplied in Java Key Store (JKS) along with password to open the JKS. o For DBLINK Connection only: Authentication certificate supplied in Oracle Wallet. Connection using JDBC Driver Prerequisites o The System Data User’s external system is installed with the JDK software and the thin JDBC Driver “ojdbc6.jar”. o The JDBC Driver file is added to the Java CLASSPATH. o The PATH environment variable has the JDK’s bin directory added to it. Details To connect to the FPDS MRS using JDBC SSL, the System Data User’s external system requires: o JDBC Driver – “ojdbc6.jar”. o FPDS MRS authentication certificate (provided by DPAP as an attachment in an encrypted email. File name is “osdbimrsdb.jks”) o A password to open the “osdbimrsdb.jks” file (supplied by DPAP in a different encrypted email). o TNS Connection information to the FPDS MRS database (provided in the sample java program below). The ipAddress and port number information is masked in the below java program (the real ipAddress and Port# are provided by DPAP in an encrypted email). Example Here is a sample Java Program that shows how to connect to the FPDS MRS database using the above information. NOTE: DPAP will supply ipaddress/portNumber to use inside TNSNAMES connection string, Oracle UserName/Password for the FPDS MRS, and the Trust Store JKS file with a password to open it. For now, the sample program below has fake values for all of these. import import import import java.sql.DriverManager; java.sql.Connection; java.sql.SQLException; java.util.Properties; public class ojdbctest { public static void main(String[] argv) { System.out.println("-- Oracle JDBC Connection Testing --"); try { Class.forName("oracle.jdbc.driver.OracleDriver"); } catch (ClassNotFoundException e) Document Revision: V1.1 Page 4 { System.out.println("Where is your Oracle JDBC Driver?"); e.printStackTrace(); return; } System.out.println("Oracle JDBC Driver Registered!"); Connection connection = null; String url = "jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCPS) (HOST=999.99.99.999)(PORT=9999))(CONNECT_DATA=(SERVER=DEDICATED) (SERVICE_NAME=mosdora.altess.army.mil)))"; Properties props = new Properties(); props.setProperty("user", "oracle_application_user"); props.setProperty("password", "password"); props.setProperty("javax.net.ssl.trustStore", "<Truststore path>/xxxx.jks"); props.setProperty("javax.net.ssl.trustStoreType","JKS"); props.setProperty("javax.net.ssl.trustStorePassword","trustStorePswd"); try { connection = DriverManager.getConnection(url, props); } catch (SQLException e) { System.out.println("Database connection failed! Check output console"); e.printStackTrace(); return; } if (connection != null) { System.out.println("Database connection successful!"); } else { System.out.println("Database connection failed!"); } } } Connection using DBLink Prerequisites o From the Oracle database, the System Data User’s external system uses SSL authentication instead of native encryption to connect to FPDS MRS. Details To connect to the FPDS MRS using DBLINK SSL, the System Data User’s external system is required to: o Save the Oracle wallet supplied by DPAP into an operating system folder that is accessible by the database. o Make necessary changes to SQLNET.ORA file o Make necessary changes to TNSNAMES.ORA file o Create a private DBLINK to FPDS MRS DB user account from Oracle database. Document Revision: V1.1 Page 5 o Make changes to SQLNET.ORA file: o Remove or comment out if any of the variables set in SQLNET.ORA file o SQLNET.ENCRYPTION_CLIENT o SQLNET.ENCRYPTION_TYPES_CLIENT o SQLNET.CRYPTO_CHECKSUM_CLIENT o SQLNET.CRYPTO_CHECKSUM_TYPES_CLIENT o Add the following two variables to SQLNET.ORA file and replace the tag <WALLET_DIRECTORY_LOCATION> with the appropriate location value. o SQLNET.AUTHENTICATION_SERVICES = (BEQ, TCPS) o WALLET_LOCATION=(SOURCE=(METHOD=FILE)(METHOD_DATA=( DIRECTORY=<WALLET_DIRECTORY_LOCATION>))) o This full directory path of the Wallet will replace the <WALLET_DIRECTORY_LOCATION> tag value. o Make changes to TNSNAMES.ORA file: o Add the following entry into TNSNAMES.ORA file to connect to the FPDS MRS server's TCPS listener port. IPADDRESS and PORT NUMBER are masked and should be replaced. These values will be supplied in an encrypted email. FPDS_MRS = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCPS)(HOST =999.99.99.999)(PORT = 9999)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = mosdora.altess.army.mil) ) (SECURITY = (SSL_SERVER_CERT_DN = "CN=mosdora.altess.army.mil,OU=DoD,O=U.S. Government,C=US") ) ) o Create a private DBLINK to FPDS MRS DB user account from Oracle database o Create the private database link with the following code. CREATE DATABASE LINK "FPDS_MRS.ALTESS.ARMY.MIL" CONNECT TO <FPDS MRS User Account Name> IDENTIFIED BY "<FPDS MRS User Account Password>" USING 'FPDS_MRS'; o System Data User’s external system must use the service name as indicated in the previously mentioned tnsnames.ora (in the example above it would be FPDS_MRS) to create the database link. Document Revision: V1.1 Page 6 Summary This document provides technical setup instructions for remote access to the FPDS MRS. This includes the system requirements and the steps for connecting via either JDBC Driver or DBLink. Once a connection is established, periodic data extracts pull data from FPDS MRS to the System Data User’s external system. For more information on setting up data extracts, please reference the next document in the FPDS MRS section of the DoD Procurement Toolbox. Document Revision: V1.1 Page 7