Skip to content

Commit 7ed87fb

Browse files
committed
Merge remote-tracking branch 'origin/master'
# Conflicts: # README.md # doc/Building-and-running-tests.md # doc/Building-source-code.md # doc/Getting-started-example.md
2 parents a3e165a + 352634e commit 7ed87fb

File tree

4 files changed

+78
-76
lines changed

4 files changed

+78
-76
lines changed

README.md

Lines changed: 25 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,23 @@
1-
# SODA 1.0.0
2-
Simple Oracle Document Access (SODA) is a new family of APIs from Oracle that let you create Oracle Database applications at a level of simplicity and ease-of-use typically associated with NoSQL document stores. More specifically, SODA lets you create and store collections of documents in Oracle Database, retrieve them, and query them, without needing to know Structured Query Language (SQL) or how the data in the documents is stored in the database.
1+
# SODA 1.1.0
2+
Simple Oracle Document Access (SODA) is an API which allows you to use the Oracle Database as a NoSQL JSON document store. Although SODA is particularly powerful when it comes to JSON data, data of any other type is supported as well.
33

4-
SODA for Java is a Java library that provides SODA. You can use it to perform create, retrieve, update, and delete (CRUD) operations on documents of any kind, and you can use it to query JSON documents.
4+
With the SODA architecture, your data is stored as documents, and documents are organized into collections. Each document contains the actual data, as well as additional information automatically maintained by SODA, such as unique key, last-modified timestamp, version, type, etc. SODA lets you create and store such collections of documents in the Oracle Database, and perform create, retrive, update, and delete (CRUD) operations on these documents, without needing to know Structured Query Language (SQL), or JDBC, or how the data is stored in the database. Essentially SODA provides a virtual NoSQL document store on top of your Oracle Database. Under the covers, a collection is stored as a regular Oracle Database table, and each document is stored as a row in the table. SQL access to the table using standard tools is still allowed.
55

6-
With the SODA architecture, a database contains collections, and each collection contains documents. SODA is designed primarily for working with JSON documents, but a document can be of any Multipurpose Internet Mail Extensions (MIME) type.
6+
SODA for Java supports:
77

8-
**This is an open source project maintained by Oracle Corp.**
8+
* CRUD operations on documents containing data of any type using unique document keys
9+
* CRUD operations on documents containing JSON data using QBEs (simple pattern-like queries-by-example expressed in JSON), or unique document keys
10+
* Bulk read/write operations
11+
* Optimistic locking
12+
* Transactions
13+
* Document collections backed by Oracle Database tables or views
14+
* Mapping of existing Oracle Database tables or views as document collections
15+
16+
SODA for Java is stable, well-documented, and has a comprehensive test suite. We are actively working on adding new features as well.
917

10-
SODA is built on top of native JSON support in the Oracle database.
18+
SODA for Java is built on top of native JSON support in the Oracle Database.
19+
20+
**This is an open source project maintained by Oracle Corp.**
1121

1222
See the [Oracle as a Document Store](http://www.oracle.com/technetwork/database/application-development/oracle-document-store/index.html) page on the Oracle Technology Network for more info.
1323

@@ -59,28 +69,28 @@ while (c.hasNext())
5969

6070
Note that there's no SQL or JDBC programming required. Under the covers, SODA for Java transparently converts operations on document collections into SQL and executes it over JDBC.
6171

62-
See [Getting Started with SODA for Java](https://github.com/oracle/SODA-FOR-JAVA/blob/master/doc/Getting-started-example.md) for a complete introductory example.
72+
See [Getting Started with SODA for Java](https://github.com/oracle/soda-for-java/blob/master/doc/Getting-started-example.md) for a complete introductory example.
6373

6474
### Documentation
6575

66-
The documentation is located [here](http://docs.oracle.com/cd/E63251_01/index.htm).
76+
* [Introduction to SODA](https://docs.oracle.com/en/database/oracle/oracle-database/18/adsdi/). This book covers subjects common to all SODA impls, such as QBEs and indexing.
77+
* SODA Java documentation is located [here](https://docs.oracle.com/en/database/oracle/simple-oracle-document-access/java-1/adsda/).
6778

68-
The Javadoc is located [here](http://oracle.github.io/SODA-FOR-JAVA).
79+
The Javadoc is located [here](http://oracle.github.io/soda-for-java).
6980

7081
### Build
7182

72-
SODA for Java source code is built with Ant and (optionally) Ivy. See [Building the source code](https://github.com/oracle/SODA-FOR-JAVA/blob/master/doc/Building-source-code.md) for
83+
SODA for Java source code is built with Ant and (optionally) Ivy. See [Building the source code](https://github.com/oracle/soda-for-java/blob/master/doc/Building-source-code.md) for
7384
details.
7485

75-
SODA for Java comes with a testsuite, built with JUnit and driven by Ant. See [Building and running the tests]
76-
(https://github.com/oracle/SODA-FOR-JAVA/blob/master/doc/Building-and-running-tests.md) for details.
86+
SODA for Java comes with a testsuite, built with JUnit and driven by Ant. See [Building and running the tests](https://github.com/oracle/soda-for-java/blob/master/doc/Building-and-running-tests.md) for details.
7787

7888
### Contributions
7989

80-
SODA is an open source project. See [Contributing](https://github.com/oracle/SODA-FOR-JAVA/blob/master/CONTRIBUTING.md) for details.
90+
SODA is an open source project. See [Contributing](https://github.com/oracle/soda-for-java/blob/master/CONTRIBUTING.md) for details.
8191

82-
Oracle gratefully acknowledges the contributions to SODA made by the community.
92+
Oracle gratefully acknowledges the contributions to SODA made by the community
8393

8494
### Getting in touch
8595

86-
Please open an issue [here](https://github.com/oracle/SODA-FOR-JAVA/issues), or post to the [ORDS, SODA, and JSON in the database forum] (https://community.oracle.com/community/database/developer-tools/oracle_rest_data_services/) with SODA-FOR-JAVA in the subject line.
96+
Please open an issue [here](https://github.com/oracle/soda-for-java/issues), or post to the [ORDS, SODA, and JSON in the database forum](https://community.oracle.com/community/database/developer-tools/oracle_rest_data_services/) with SODA-FOR-JAVA in the subject line.

doc/Building-and-running-tests.md

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,18 @@
1-
#Building and running the tests
1+
# Building and running the tests
22

3-
To build and execute SODA tests, you must have a live Oracle database
4-
12.1.0.2 instance, with patch 20885778 applied.
3+
To build and execute SODA tests, you must have an Oracle Database
4+
12.2.0.1 or above instance, or 12.1.0.2 instance with patch 20885778 applied.
55

6-
Obtain the patch from My Oracle Support ([https://support.oracle.com](https://support.oracle.com)).
7-
Select tab Patches & Updates. Search for patch number, 20885778 or access it directly at this URL: [https://support.oracle.com/rs?type=patch&id=20885778](https://support.oracle.com/rs?type=patch&id=20885778).
6+
The patch is only necessary for the Oracle Database 12.1.0.2 release, and is not required for 12.2.0.1 and above releases of the Oracle Database. The patch is available from My Oracle Support ([https://support.oracle.com](https://support.oracle.com)). Select tab Patches & Updates. Search for patch number, 20885778 or access it directly at this URL: [https://support.oracle.com/rs?type=patch&id=20885778](https://support.oracle.com/rs?type=patch&id=20885778).
87
Make sure you follow all the installation steps specified in the README.txt file included with
98
the patch, including the post-installation step.
109

1110
The test framework is located in the /test directory under the root SODA directory (the root SODA directory is the one containing LICENSE.txt file). It's built with JUnit and driven by Ant. The actual Java test files are in /test/src/oracle/json/tests/soda. To configure the database instance and the test framework, follow these steps (note that some of them require sysdba access).
1211

1312
**(1)** Build the source code (which includes downloading SODA dependencies), as described
14-
in [Building the source code](https://github.com/oracle/SODA-FOR-JAVA/blob/master/doc/Building-source-code.md). Make sure you perform all steps described in this link. Specifically, make sure that the JAVA6HOME environment variable is set, and that the following jars are located in the /lib directory under the top level SODA directory (the one that contains LICENSE.txt):
13+
in [Building the source code](https://github.com/oracle/soda-for-java/blob/master/doc/Building-source-code.md). Make sure you perform all steps described in this link. Specifically, make sure that the JAVA_HOME environment variable is set, and that the following jars are located in the /lib directory under the top level SODA directory (the one that contains LICENSE.txt):
1514

16-
* ojdbc6.jar (the JDBC jar that ships with Oracle database version 12.1.0.2)
15+
* JDBC jar
1716
* javax.json-1.0.4.jar (JSR353 jar)
1817
* junit-3.8.1.jar (JUnit jar)
1918
* orajsoda.jar (SODA Java jar)
@@ -34,7 +33,7 @@ The directory /path/to/wallet/dir should already exist; if not then you should c
3433

3534
alter system set encryption key authenticated by "mywalletpass";
3635

37-
This creates the wallet with the password mypass and opens it.
36+
This creates the wallet with the password mywalletpass and opens it.
3837

3938
The above steps are needed only once. After the wallet is created and open, it stays open as long as the database is up (unless it is explicitly closed). If the database is restarted, you have to open the wallet with:
4039

@@ -55,13 +54,13 @@ Note: do not use a quoted (case-sensitive) account name.
5554
**(5)** Provide the database instance connection info to the SODA test framework. Edit datasource.properties
5655
located in /test/datasource.properties, under the top level SODA directory. The file has the following contents:
5756

58-
UserName=myaccount
59-
Password=mypassword
60-
Server=myoraclehost
61-
Port=myoracleport
62-
DBName=mysid
57+
UserName=account
58+
Password=password
59+
Server=oracleHost
60+
Port=oraclePort
61+
DBName=oracleServiceName
6362

64-
Replace myaccount and mypassword with the account name and password created in step 3. Replace myoraclehost and myoracleport with the host name and port on which the Oracle instance is running/listening. Replace mydbname with the Oracle SID.
63+
Replace myaccount and mypassword with the account name and password created in step 3. Replace myoraclehost and myoracleport with the host name and port on which the Oracle instance is running/listening. Replace mydbname with the Oracle Service Name.
6564

6665
**(6)** Supply the directory where sqlplus is located to the test framework by setting the SODA_SQLPLUS environment variable. For example, assume sqlplus is located in /oracle/software/bin. Then, assuming you're on Linux and using the C shell (csh) do:
6766

@@ -74,3 +73,4 @@ If you're using an OS other then Linux, set the environment variable using the a
7473
ant -Ddatasource=datasource.properties
7574

7675
The test framework should run and output "BUILD SUCCESSFUL" at the end. Open up a browser, and navigate to the /test/testoutput directory under the root SODA directory. Then navigate to the directory identified by the timestamp of your run (this directory is created by the test framework, on every run). From there, nagivate to /html/index.html, for a detailed test report. In case of test failures, this report allows you to navigate to the failures, and see the stack trace of their occurrence in each failed test.
76+

doc/Building-source-code.md

Lines changed: 11 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,20 @@
1-
#Building the source code
1+
# Building the source code
22

3-
SODA is built using Ant with Ivy. Make sure you have ant installed and configured.
4-
It's not required that Ivy is installed - as long as you have an internet connection,
5-
the build process will download Ivy and use it to download SODA dependencies.
3+
SODA is built using Ant with Ivy. Make sure you have Ant 1.9 or above installed and configured. It's not required that Ivy is installed - as long as you have an internet connection, the build process will download Ivy and use it to download SODA dependencies.
64

7-
The only SODA dependency that must be manually downloaded is the Oracle JDBC jar that ships with
8-
the 12.1.0.2 release of the Oracle database.
5+
The only SODA dependency that must be manually downloaded is the Oracle JDBC jar that ships with the Oracle database. JDBC 6 or above jar is required.
96

10-
The JDBC jar can be downloaded from here:
7+
For example, if you're using JDK8 or above, you could use ojdbc8.jar that ships with Oracle Database 18c, available from [this page](https://www.oracle.com/technetwork/database/application-development/jdbc/downloads/jdbc-ucp-183-5013470.html). Alternatively, you can also use ojdbc8.jar that ships with OracleDatabase 12.2.0.1, available from [this page](https://www.oracle.com/technetwork/database/features/jdbc/jdbc-ucp-122-3110062.html). If you're still on JDK7 or even JDK6, you can use ojdbc7.jar or ojdbc6.jar respectively. These ship with Oracle Database 12.1.0.2, and are downloadable from [this page](http://www.oracle.com/technetwork/database/features/jdbc/default-2280470.html).
118

12-
[http://www.oracle.com/technetwork/database/features/jdbc/default-2280470.html](http://www.oracle.com/technetwork/database/features/jdbc/default-2280470.html)
9+
Copy the downloaded JDBC jar to the /lib directory under the root SODA directory (the root SODA directory is the one containing LICENSE.txt file).
1310

14-
Make sure you pick ojdbc6.jar, out of the different flavors available.
15-
16-
Copy the downloaded ojdbc6.jar to the /lib directory under the root SODA directory (the root SODA directory is the one containing LICENSE.txt file).
17-
18-
Other dependencies will be automatically downloaded by Ivy. You also have the
19-
option to not use Ivy, and to download the dependencies manually (see "Building without Ivy" below).
11+
Other dependencies will be automatically downloaded by Ivy. You also have the option to not use Ivy, and to download the dependencies manually (see "Building without Ivy" below).
2012

2113
The following instructions require setting various environment variables. They assume you're on Linux, and using the C Shell (csh). On other OSes, you would set environment variables analogously, using a mechanism appropriate for your specific operating system.
2214

23-
SODA builds using Java 6. Set the JAVA6HOME environment
24-
variable to the JDK install directory. For example, assuming JDK6 is installed
25-
under /jdk6, and you're using the C Shell (csh) on Linux, do:
15+
Set the JAVA_HOME environment variable to the JDK install directory. At a minimum, JDK 6 is required. For example, assuming you are using JDK 8 installed under /jdk8, and you're using the C Shell (csh) on Linux, do:
2616

27-
setenv JAVA6HOME /jdk6
17+
setenv JAVA_HOME /jdk8
2818

2919
### Building with Ivy
3020

@@ -42,17 +32,14 @@ IVY_HOME as follows:
4232
setenv IVY_HOME /home/myname/invyinstall
4333

4434
If you don't have Ivy installed, it will be downloaded automatically to
45-
${user.home}/.ant/lib. See [https://ant.apache.org/manual/Tasks/property.html](https://ant.apache.org/manual/Tasks/property.html) for info on what ${user.home} resolves to on different operating
46-
systems.
35+
${user.home}/.ant/lib. See [https://ant.apache.org/manual/Tasks/property.html](https://ant.apache.org/manual/Tasks/property.html) for info on what ${user.home} resolves to on different operating systems.
4736

4837
Finally, navigate to the top SODA Java directory (the one that contains LICENSE.txt),
4938
and execute the ant build file by typing:
5039

5140
ant
5241

53-
As this command is executing, you should see messages informing you about Ivy downloading itself
54-
(unless it's already installed), downloading of the SODA dependencies, and code compilation
55-
and archiving (jar creation).
42+
As this command is executing, you should see messages informing you about Ivy downloading itself (unless it's already installed), downloading of the SODA dependencies, and code compilation and archiving (jar creation).
5643

5744
If the process gets stuck while downloading Ivy, or downloading SODA dependencies (in case you
5845
have Ivy installed already), and you're behind a firewall, make sure your proxy host and port
@@ -77,8 +64,7 @@ and execute the ant build file by typing the following command:
7764

7865
ant -Ddownload.deps=false
7966

80-
As this command is executing, you should see messages related to code compilation and archiving
81-
(jar creation).
67+
As this command is executing, you should see messages related to code compilation and archiving (jar creation).
8268

8369
If the build is successful, you should see orajsoda.jar (the SODA jar) in the /lib directory
8470
under the top SODA directory.

0 commit comments

Comments
 (0)