PhotArk Code Structure
Looking at PhotArk source structure in the SVN Repository the following files and modules are available:
distribution - builds and assembly PhotArk release distributions
photark - model objects and interfaces used across PhotArk project
photark-admin - administration interface <work in progress>
photark-embedded - PhotArk application using a embedded Jetty Application Server to serve albums and the PhotArk UI
photark-webapp - PhotArk web application that can be deployed in a Java EE Application Server
pom.xml - maven project configuration file
Below you can find a high level design diagram of the PhotArk services. These services are assembled together using SCA and the Apache Tuscany runtime, and then exposed with different bindings to the client applications (e.g JSON-RPC for Web Interface and ATOM Feed binding for integration with other applications/readers)
Gallery Services is a facade that enables application to interact with the different types of albums of a gallery.
Album Services abstracts the operations available for the different types of albums. This should be extensible to allow users/developers to plug support for other types of albums.
Currently there are support for two types of repositories, a plain file system that allows PhotArk application to allow PhotArk to be deployed in constraining environments such as Google AppEngine, and a JCR based repository.
PhotArk Model UML (future design)
Copyright © 2009-2011, The Apache Software Foundation Apache PhotArk is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incubator PMC. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status is not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has yet to be fully endorsed by the ASF.