GACL Version 1.2 - (GRID Version 1.0) - Released April 2011
- Stability: DOS / overflow protection on batch queries.
- Scalability: Distributed frontend (aka 3rd level) caching on the most frequently used query types.
- Realtime monitoring: Displays system health and service status (see /monitor/).
- L10N/I18N for categories (see Trivial Datasource)
- SOAP and REST APIs:
- Public available:
- Authenticate via REST in addition to SOAP (REST API derives from the SOAP API).
- Available in the protected namespace:
- SOAP API "cache-control" allows to invalidate caches from remote and gather information on cache efficiency.
- SOAP API "server-statistics" allows to monitor load and usage from remote (including a REST based interface, that allows to retrieve information from connected cluster nodes).
- Start reprocessing jobs or restart stale jobs in a transaction safe way.
- Batch query on job states for known job GUIDs (simplifies job monitoring).
- Forward and reverse category matching methods for files and packages.
Allows execute the queries "what files/packages belong to 'category a'" and "what are the categories for the given list of files/packages".
GACL Version 1.1 - (GRID Version 1.0) - Released January 2011
- Public query for Metadata (see Metadata Handler)..
- Freely configurable path pattern used to store the binary file content (see CIFS DataSource).
- Separate TestSuite supporting automated CI, manual and synthetic testing.
- Reliability: The ACL nodes restart automatically when an out-of-memory error occurred.
GACL Version 1.0 - (GRID Version 1.0) - Released August 2010
- Self contained, easy to use, portable JEE server solution running on Linux or Windows.
- Object oriented, modular design. (multiple API layers, maintenance & extension friendly)
- Admin-, usage guides and SDK (with example clients) included in the package.
- Multisite concept ready. (Documented and considered in the design of the internal data structures)
- Data persistence & binding using a DB abstraction layer supporting the CoreDB Schema on MSSQL and HSQL database engine. (Support for DB engines is realized via a plugin API, with very low efforts to attach others)
- Framework for storing and finding tagged products and files based on tag expression searches that are either freely defined or bound to categories.
- Full change history recording allowing to trace how products change over time.
- SOAP and REST APIs:
- Public available:
- Known good / bad or unknown status on files by SHA1 or SHA1 + MD5 query.
- Query products or individual files that match tag expressions (and an optional time range on: "last processed" or "first seen")
- Query basic information on files and products / packages (hashes, timestamps, tags and count of referencing sources and packages or contained files)
- Query category views, categories and the products belonging to it.
- Additionally available inside the protected namespace, URI "../internal/..":
- Submit files for processing including metadata, basic job management and prioritization.
- Query processing status on submitted files (basic support for process tracing).
- Query and update source information (last modified, custom content tag, source content SHA1 / MD5) using public URIs or source identifiers (SHA1 based) in order to avoid reprocessing of existing information.
- Query and update metadata on sources and jobs.
- Query / download file contents based on SHA1 or SHA1 + MD5. (Note: Can be used in conjunction with tag expression / date range queries to download files based on certain criteria.)
- Query file and product metadata based on SHA1 or SHA1 + MD5 or product names.
- Binding to the GRID message bus via the generic module HTTPMSMQBridge (the bridge is not part of the ACL, it is a separate module allowing language neutral access to MSMQ)
- Binding to the file repository using an embedded CIFS connection (no OS support required) or using OS supported local mounts or shares (using any protocol supported by OS).
- File logging (rolling / compressed log) and JMX monitoring enabled.
- Generic distributed caching (Level 2 cache, driven by Hibernate + Infinispan + JGroups)
EA Features - (Implemented, but not entirely tested & bound to quality of back-end processing)
- SOAP and REST APIs:
- Public available:
- Query relationships:
- Query for products or packages that a file belongs to.
- Query for products that contain certain products or packages.
- Query for products or packages that are contained in a given product or package.
- Query for all product variants of a product family (e.g. version, L10N, platforms)
- Query the product families of a certain vendor.
- Query known vendors.
- Send feedback on file access counts (including option to report files in the wild, not actually known by the GRID)
- Additionally available inside the protected namespace, URI "../internal/..":
- Query and update metadata on vendors, product families.
- Query the list of sources of a particular file or job.
Unimplemented Features
- Security Model
- Pure private interfaces are not implemented.
- Filter source URIs based on profiles.
- Support LDAP / Kerberos authentication.
- Multisite.