-
Notifications
You must be signed in to change notification settings - Fork 33
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
86 changed files
with
25,993 additions
and
0 deletions.
There are no files selected for viewing
86 changes: 86 additions & 0 deletions
86
openidm-doc/src/main/docbkx/dev-guide/DO-NOT-BUILD-index.xml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,86 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<!-- | ||
! CCPL HEADER START | ||
! | ||
! This work is licensed under the Creative Commons | ||
! Attribution-NonCommercial-NoDerivs 3.0 Unported License. | ||
! To view a copy of this license, visit | ||
! http://creativecommons.org/licenses/by-nc-nd/3.0/ | ||
! or send a letter to Creative Commons, 444 Castro Street, | ||
! Suite 900, Mountain View, California, 94041, USA. | ||
! | ||
! You can also obtain a copy of the license at | ||
! legal/CC-BY-NC-ND.txt. | ||
! See the License for the specific language governing permissions | ||
! and limitations under the License. | ||
! | ||
! If applicable, add the following below this CCPL HEADER, with the fields | ||
! enclosed by brackets "[]" replaced with your own identifying information: | ||
! Portions Copyright [yyyy] [name of copyright owner] | ||
! | ||
! CCPL HEADER END | ||
! | ||
! Copyright 2011-2012 ForgeRock AS | ||
! | ||
--> | ||
<book xml:id='dev-guide' | ||
xmlns='http://docbook.org/ns/docbook' version='5.0' xml:lang='en' | ||
xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' | ||
xsi:schemaLocation='http://docbook.org/ns/docbook http://docbook.org/xml/5.0/xsd/docbook.xsd' | ||
xmlns:xlink='http://www.w3.org/1999/xlink' | ||
xmlns:xinclude='http://www.w3.org/2001/XInclude'> | ||
<info> | ||
<title>OpenIDM <?eval ${project.version}?> Developer's Guide</title> | ||
<copyright> | ||
<year>2011</year> | ||
<holder>ForgeRock AS</holder> | ||
</copyright> | ||
<authorgroup> | ||
<author> | ||
<personname> | ||
<firstname>Mark</firstname><surname>Craig</surname> | ||
</personname> | ||
</author> | ||
<author> | ||
<personname> | ||
<firstname>Paul</firstname><surname>Bryan</surname> | ||
</personname> | ||
</author> | ||
<author> | ||
<personname> | ||
<firstname>Andi</firstname><surname>Egloff</surname> | ||
</personname> | ||
</author> | ||
<author> | ||
<personname> | ||
<firstname>Laszlo</firstname><surname>Hordos</surname> | ||
</personname> | ||
</author> | ||
</authorgroup> | ||
<xinclude:include href="../legal.xml" /> | ||
<date><?dbtimestamp format="B d, Y"?></date> | ||
<pubdate>Publication date: <?dbtimestamp format="B d, Y"?></pubdate> | ||
<releaseinfo><?eval ${softwareReleaseDate}?></releaseinfo> | ||
</info> | ||
|
||
<toc /> | ||
|
||
<xinclude:include href="preface.xml" /> | ||
|
||
<part label="A"> | ||
<title>Overview</title> | ||
<partintro> | ||
|
||
<para>TODO</para> | ||
</partintro> | ||
|
||
<xinclude:include href='chap-api-overview.xml' /> | ||
<xinclude:include href='chap-distributed_task.xml' /> | ||
<xinclude:include href='chap-object_model.xml' /> | ||
<xinclude:include href='chap-repository.xml' /> | ||
<xinclude:include href='chap-terminology.xml' /> | ||
<xinclude:include href='chap-best-practices.xml' /> | ||
</part> | ||
|
||
<index /> | ||
</book> |
158 changes: 158 additions & 0 deletions
158
openidm-doc/src/main/docbkx/dev-guide/chap-api-overview.xml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,158 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<!-- | ||
! CCPL HEADER START | ||
! | ||
! This work is licensed under the Creative Commons | ||
! Attribution-NonCommercial-NoDerivs 3.0 Unported License. | ||
! To view a copy of this license, visit | ||
! http://creativecommons.org/licenses/by-nc-nd/3.0/ | ||
! or send a letter to Creative Commons, 444 Castro Street, | ||
! Suite 900, Mountain View, California, 94041, USA. | ||
! | ||
! You can also obtain a copy of the license at | ||
! legal/CC-BY-NC-ND.txt. | ||
! See the License for the specific language governing permissions | ||
! and limitations under the License. | ||
! | ||
! If applicable, add the following below this CCPL HEADER, with the fields | ||
! enclosed by brackets "[]" replaced with your own identifying information: | ||
! Portions Copyright [yyyy] [name of copyright owner] | ||
! | ||
! CCPL HEADER END | ||
! | ||
! Copyright 2011 ForgeRock AS | ||
! | ||
--> | ||
<chapter xml:id='chap-api-overview' | ||
xmlns='http://docbook.org/ns/docbook' | ||
version='5.0' xml:lang='en' | ||
xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' | ||
xsi:schemaLocation='http://docbook.org/ns/docbook http://docbook.org/xml/5.0/xsd/docbook.xsd' | ||
xmlns:xlink='http://www.w3.org/1999/xlink' | ||
xmlns:xinclude='http://www.w3.org/2001/XInclude'> | ||
<title>OpenIDM APIs and Protocols</title> | ||
<sect1> | ||
<title>Development</title> | ||
<para>Pages in this section should be aimed toward developers working on OpenIDM.</para> | ||
<sect2> | ||
<title>Dependencies</title> | ||
<para>This page outlines the external library dependencies that OpenIDM has with a brief description for each. For the exact version dependency consult the maven POM files.</para> | ||
<sect3> | ||
<title>Runtime dependencies</title> | ||
<para/> | ||
<para>These are prerequisites to deploy and run the OpenIDM zip package.</para> | ||
<para/> | ||
<para> | ||
<link xlink:href="http://www.oracle.com/technetwork/java/javase/overview/index.html">Oracle Java SE JDK 6 Update 24+</link> | ||
</para> | ||
<para>The latest stable version of the Sun Java Development Kit and runtime. We may elect to switch to OpenJDK in future, but there are known bugs that are still in it that are known to be fixed in Sun’s.</para> | ||
<para/> | ||
</sect3> | ||
|
||
<sect3> | ||
<title>Build dependencies</title> | ||
<para/> | ||
<para>These are dependencies that are required to build OpenIDM from source.</para> | ||
<para/> | ||
<para> | ||
<link xlink:href="http://maven.apache.org/">Maven 3.0+</link> | ||
</para> | ||
<para>Manages the build of the OpenIDM project from source. Resolves module dependencies, compiles code, executes testing, provides build and test reporting and documentation.</para> | ||
<para/> | ||
</sect3> | ||
|
||
<sect3> | ||
<title>Bundled dependencies</title> | ||
<para/> | ||
<para>These are runtime dependencies that we include in our zip package distribution. These are automatically resolved by Maven during the build.</para> | ||
<para/> | ||
<para> | ||
<link xlink:href="http://felix.apache.org/site/index.html">Apache Felix</link> | ||
</para> | ||
<para>The OSGi modularity framework that is bundled with the default packaging. We leverage additional optional bundles, such as the web console.</para> | ||
<para/> | ||
<para> | ||
<link xlink:href="http://jackson.codehaus.org">Jackson</link> | ||
</para> | ||
<para>A high-performance JSON processor. In most cases, we will be using this for simple data binding to standard Java data types: Map, List, String, Number, Boolean. Has good integration with Restlet for providing JSON representation of in-memory object structures.</para> | ||
<para/> | ||
<para> | ||
<link xlink:href="http://wiki.ops4j.org/display/paxweb/Pax+Web">Jetty/Pax Web Bundle</link> | ||
</para> | ||
<para>Servlet Container and HTTP service embedded as an OSGi bundle.</para> | ||
<para/> | ||
<para> | ||
<link xlink:href="http://www.orientechnologies.com/orient-db.htm">OrientDB</link> | ||
</para> | ||
<para>An embeddable NoSQL database that is bundled with OpenIDM as its default data store.</para> | ||
<para/> | ||
<para> | ||
<link xlink:href="http://www.quartz-scheduler.org">Quartz Scheduler</link> | ||
</para> | ||
<para>Scheduling service to perform periodic jobs. We currently use a wrapped version with an OSGi manifest created by servicemix.</para> | ||
<para/> | ||
<para> | ||
<link xlink:href="http://www.restlet.org">Restlet</link> | ||
</para> | ||
<para>Provides a resource-oriented architecture framework for exposure of objects via a RESTful HTTP API. Allows for more dynamic resource taxonomy and routing than other frameworks such as JAX-RS.</para> | ||
<para/> | ||
<para> | ||
<link xlink:href="http://www.mozilla.org/rhino">Rhino</link> | ||
</para> | ||
<para>Rhino is an open-source implementation of JavaScript written entirely in Java. It is typically embedded into Java applications to provide scripting to end users.</para> | ||
<para/> | ||
<para> | ||
<link xlink:href="http://www.slf4j.org">SLF4J</link> | ||
</para> | ||
<para>The Simple Logging Facade for Java, a facade for Java logging to defer binding to a particular logging implementation to deployment time. Extremely small, with nice features such as parameterized logging as well as nested and mapped diagnostic contexts (NDC/MDC).</para> | ||
<para/> | ||
<para/> | ||
</sect3> | ||
|
||
<sect3> | ||
<title>Test dependencies</title> | ||
<para>These are dependencies that are required to perform unit and integration testing of OpenIDM. These are automatically resolved by Maven during the unit test phase.</para> | ||
<para/> | ||
<para> | ||
<link xlink:href="http://testng.org">TestNG</link> | ||
</para> | ||
<para>A testing framework for unit, functional, end-to-end and integration testing.</para> | ||
<para/> | ||
<para> | ||
<link xlink:href="http://docs.codehaus.org/display/FEST/Fluent+Assertions+Module">FEST-Assert</link> | ||
</para> | ||
<para>A library for writing fluent assertions in unit tests.</para> | ||
</sect3> | ||
</sect2> | ||
<sect2> | ||
<title>Guidelines</title> | ||
<sect3> | ||
<title>Design guidelines</title> | ||
<itemizedlist> | ||
<listitem> | ||
<para>Adhere to resource-oriented architecture patterns wherever practical.</para> | ||
</listitem> | ||
<listitem> | ||
<para>Maintain JavaScript object model for objects with desired interoperability with applications, services, scripts.</para> | ||
</listitem> | ||
<listitem> | ||
<para>Use OSGi bundles for loose coupling of components.</para> | ||
</listitem> | ||
</itemizedlist> | ||
</sect3> | ||
|
||
<sect3> | ||
<title>Coding guidelines</title> | ||
<para>All coding conventions should follow the Code Conventions for the Java Programming Language, with the following exceptions:</para> | ||
<itemizedlist> | ||
<listitem> | ||
<para>Indentation: spaces, no tabs.</para> | ||
</listitem> | ||
<listitem> | ||
<para>Line length limit: 128 characters.</para> | ||
</listitem> | ||
</itemizedlist> | ||
</sect3> | ||
</sect2> | ||
</sect1> | ||
</chapter> |
39 changes: 39 additions & 0 deletions
39
openidm-doc/src/main/docbkx/dev-guide/chap-best-practices.xml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<!-- | ||
! CCPL HEADER START | ||
! | ||
! This work is licensed under the Creative Commons | ||
! Attribution-NonCommercial-NoDerivs 3.0 Unported License. | ||
! To view a copy of this license, visit | ||
! http://creativecommons.org/licenses/by-nc-nd/3.0/ | ||
! or send a letter to Creative Commons, 444 Castro Street, | ||
! Suite 900, Mountain View, California, 94041, USA. | ||
! | ||
! You can also obtain a copy of the license at | ||
! legal/CC-BY-NC-ND.txt. | ||
! See the License for the specific language governing permissions | ||
! and limitations under the License. | ||
! | ||
! If applicable, add the following below this CCPL HEADER, with the fields | ||
! enclosed by brackets "[]" replaced with your own identifying information: | ||
! Portions Copyright [yyyy] [name of copyright owner] | ||
! | ||
! CCPL HEADER END | ||
! | ||
! Copyright 2011 ForgeRock AS | ||
! | ||
--> | ||
<chapter xml:id='chap-best-practices' | ||
xmlns='http://docbook.org/ns/docbook' | ||
version='5.0' xml:lang='en' | ||
xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' | ||
xsi:schemaLocation='http://docbook.org/ns/docbook http://docbook.org/xml/5.0/xsd/docbook.xsd' | ||
xmlns:xlink='http://www.w3.org/1999/xlink' | ||
xmlns:xinclude='http://www.w3.org/2001/XInclude'> | ||
<title>Best Practices For OpenIDM Integration</title> | ||
|
||
<para>This chapter presents best practices to keep in mind when integrating | ||
and extending OpenIDM services in your organization.</para> | ||
|
||
</chapter> | ||
|
Oops, something went wrong.