Hack This Document!

Introduction:

Corrections, Comments, Opinions and below are welcome. The goal of this document is to begin a dialog outlining the service base of DSpace+2.0 and our expectations on those services. These services were outlined in the June 25th Funded work meeting. The list below is a tentative set of service boundaries to take into concern.

What are Services?

The concept of "services" used here refers to the "Service Locator" Design Pattern. Something that is used in many Enterprise Java Applications and a prevalent pattern in the Sakai Framework.

References

1. "CodeProject: A Basic Introduction On Service Locator Pattern. Free source code and programming help," http://www.codeproject.com/KB/architecture/Service_Locator_Pattern.aspx.

2. "Core J2EE Patterns - Service Locator," http://java.sun.com/blueprints/corej2eepatterns/Patterns/ServiceLocator.html.

3. "Design Patterns: Service Locator," http://java.sun.com/blueprints/patterns/ServiceLocator.html.

4. "Introduction+to+Sakai+and+Sakai+Services.ppt," http://bugs.sakaiproject.org/confluence/download/attachments/32712/Introduction+to+Sakai+and+Sakai+Services.ppt?version=1.

5. "Inversion of Control Containers and the Dependency Injection pattern," http://martinfowler.com/articles/injection.html.

6. "SakaiDevPractice.ppt," http://bugs.sakaiproject.org/confluence/download/attachments/27777/SakaiDevPractice.ppt?version=1.

7. "ServiceLocator Pattern: Does EJB 3 Really Kill It Off?," http://www.javalobby.org/articles/service-locator/.

8. "Session Facade, meet Business Delegate and his friend Service Locator... « ranting without the raving...," http://etweb.wordpress.com/2007/09/27/session-facade-meet-business-delegate-and-his-friend-service-locator/.

Outlined Service Domains:

Content Storage (Assetstore, Content/Read, Content/Write):

Includes aspects of storing and retrieving content files from a DSpace repository.

Criticisms about 1.5 (MRD):

Proposed Solution in 2.0 (MRD):

Design Ideas (MRD):

Metadata Management (Search/Browse/Indexing, Metadata store, Metadata schema, Versioning, External Identifiers, ObjectIdentifiers)

All aspects of managing and navigating the Metadata space. This includes supporting metadata properties attached to any DSpace Resource Identifier may be represented by one or more services.

Design Ideas (MRD):

Policy Management (Roles, Policies, Workflows)

Design Ideas (MRD):

User Management (Users/Groups)

Design Ideas (MRD):

Monitoring and Event Processing (Logging / Statistics, Events, Monitoring and Integrity)

A very core aspect of DSpace, Allows event notifications to be attached to higher level services that may report Access and Mutation of DSpace Content and its associated Properties.

Design Ideas (MRD):

Authentication and Authorization (AuthN/AuthZ)

Criticisms in 1.5

Needs greater Abstraction away from HTTP Servlet API and Separation of Authentication substrate, Method and Realms.

Design Ideas (MRD):

Content Dissemination (Export / disseminate)

Content Transformation (MediaFilter, Data extraction, Transformation, etc)

Criticisms in 1.5

Conflated with Preservation. (Text extraction for Search turned into Preserving Content in a open accessable format)? Text Extraction, Thumbnail Creation all should have configurable levels of preservation (cached derivative vs preserved derivative)

Content Ingestion (Import / ingest)

Criticisms in 1.5

Not granular enough, cannot add Content to Items. Not CRUD enough, no implementation of replace or delete on both Content and Metadata.

--------------

I'm leaving these for Aaron or others to flesh out.

Standard Service Protocols / Support

Some thoughts on Content Services:

Thoughts on Services in relation to Metadata / Resource Modeling:

DSpace Service API

DSpace Content Hosting Sevice

Modeled on common design aspects of JCR, Sakai, Fedora. It provides the following set of functionality:

Important mappings/aspects

Fedora

JCR

Sakai

http://bugs.sakaiproject.org/confluence/display/CHS/Roadmap+for+JCR+Migration

For an excellent overview of

External Resources

The Digital Library Technology Jester...

http://dltj.org/article/fedora-plus-sakai/trackback/
http://dltj.org/article/fedora-plus-sakai-3/trackback/
http://dltj.org/article/sakai-gets-jsr170/trackback/