Developer(s) | BRICKS consortium |
---|---|
Stable release | 0.42 / 2007-03-01 |
Written in | Java |
Type | Digital library management |
License | LGPL |
Website | brickscommunity |
Building Resources for Integrated Cultural Knowledge Services (BRICKS) is an open-source software framework for the management of distributed digital assets. BRICKS was deployed on cultural institutions under the umbrella of the BRICKS Cultural Heritage Network, a community of cultural heritage, scientific and industrial organizations across Europe. The software itself is shared under the GNU Lesser General Public License (LGPL).
The BRICKS project released the first prototype of its software framework (v0.1) in December 2005. In February 2007, the third prototype release was made available. A release was planned in July 2007.[ citation needed ] The BRICKS project work was partly funded by a research grant from the European Commission as part of the sixth of the Framework Programmes for Research and Technological Development under the Information Society Technologies priority, action line “Technology. Enhanced Learning and Access to Cultural heritage.” The consortium invested an overall 12.2 million Euros in the project, including 7 million Euros from the European Commission. The funding began in January 2004 and ended in June 2007. [1] In February 2007 the consortium announced a developer community, which had a web site through 2008. [2] The project traveled to several conferences from 2005 through 2007, and a conference in Singapore in 2006. [3] A final report published in September 2007 showed visitors to the web site peaked in October 2006. [4]
The BRICKS project established a network of cultural institutions to share digital cultural resources. These institutions included: the European Library, the MICHAEL Project, the British Museums, Libraries and Archives Council, and the Russian Culture Heritage Network.
The BRICKS network uses the Internet, and is made of decentralized BRICKS Nodes (BNode), in order to avoid central points whose failure or overload could stop or slowdown the whole network. BNodes communicate among each other and manage content and metadata.
Every BNode knows directly only a subset of other BNodes in the system. However, if a BNode wants to reach another member that is directly unknown to it, it will forward a request to some of its known neighbour BNodes that will deliver the request to the final destination or forward it again. BRICKS users access the system only through a local BNode available at their institution. Hence every user request is primarily sent to the institution's BNode and then the request is routed via other BNodes to the final destination.
Search requests behave like that; the BNode pre-selects a list of BNodes where a search request can be fulfilled, and then the BNode routes it there. When the location of the content is known, e.g. as a result of the query, the BNode is directly contacted.
A BNode could be seen as a set of services that are required to manage an institution's presence in the system, and to provide services for the rest of the community. A BNode consists of three types of components: fundamental, core, and basic Bricks. Most of them are standard Web services, described by Web Services Description Language (WSDL) documents and registered with a Universal Description, Discovery, and Integration (UDDI)-compatible repository – which are also used for discovering appropriate services.
Since the BNode architecture is service-based, a BNode installation can be spread across multiple machines at the installation site. In such cases, fundamental Bricks are needed on every machine that is part of the local installation, while core and basic Bricks may only be present on some machines. As their name suggests, core Bricks provide core-system functionalities to users, i.e. a minimal set of services that enables users to use the system. On the other side,[ clarification needed ]basic Bricks are optional,[ clarification needed ] and they must not be present on every installation site.[ clarification needed ]
Services run within a Web-service framework that provides: service deployment or non-deployment, service invocation, and parameters serialisation/deserialisation. The software is mainly written in the Java programming language, using an embedded version of the Apache Tomcat application Server. BNode services use open-source libraries and frameworks, including: Jena, Apache Axis, Apache Lucene, Apache Jackrabbit, Apache Ant, JUnit, and HSQLDB.
The BNode exposes its services through a SOAP web-service application programming interface. A Java Server Pages (JSP) web-based GUI is provided for administrative tasks, including security, user management, and configuration of network settings.
Users interact with a BNode through the BRICKS Pillar applications.
The BRICKS Workspace is a JSP web application based on the Struts framework. It offers a view of the BRICKS Network, allowing to search and browse available collections of digital objects, group objects into logical collections, annotate objects, manage, and import them. BRICKS Workspace must be installed along the BNode software.
The BRICKS Desktop is an Eclipse-RCP application providing a more advanced access to the BNode services. It features a fully configurable user application framework allowing advanced metadata editing, ontology browsing, extensive searching, and interactive content creation.
Many other applications based on the BRICKS platform exist, including specific applications for the Cultural Heritage sector. The EMYA (European Museum of the Year) application, for example allows the management of an award for museum institutions across Europe, belonging to the European Museum Forum association.
The Finds Identifier application was proposed to help members of the general public classify archaeological objects. The user would be presented with a set of questions, like the material of the object, dimensions, allowing the application to retrieve matching objects from reference collections and present an image of the objects and a description to the user so he/she can further narrow down the classification.
A "living memory" application was prototyped for visitors of cultural exhibitions to create and exhibit their personal contributions by interacting with the cultural objects shown in an exposition or museum. [5] This prosumer paradigm is also reflected in an annotation tool for curators or visitors to create annotations on content.
WebObjects was a Java web application server and a server-based web application framework originally developed by NeXT Software, Inc.
eZ Publish is an open-source enterprise PHP content management system that was developed by the Norwegian company Ibexa. eZ Publish is freely available under the GNU GPL version 2 license, as well as under proprietary licenses that include commercial support. In 2015, eZ Systems introduced eZ Platform to replace eZ Publish with a more modern and future-proof solution.
In software engineering, inversion of control (IoC) is a design pattern in which custom-written portions of a computer program receive the flow of control from a generic framework. The term "inversion" is historical: a software architecture with this design "inverts" control as compared to procedural programming. In procedural programming, the code that expresses the purpose of the program calls into reusable libraries to take care of generic tasks, but with inversion of control, it is the framework that calls into the custom (program) code.
Apache Tapestry is an open-source component-oriented Java web application framework conceptually similar to JavaServer Faces and Apache Wicket. Tapestry was created by Howard Lewis Ship, and was adopted by the Apache Software Foundation as a top-level project in 2006.
A web framework (WF) or web application framework (WAF) is a software framework that is designed to support the development of web applications including web services, web resources, and web APIs. Web frameworks provide a standard way to build and deploy web applications on the World Wide Web. Web frameworks aim to automate the overhead associated with common activities performed in web development. For example, many web frameworks provide libraries for database access, templating frameworks, and session management, and they often promote code reuse. Although they often target development of dynamic web sites, they are also applicable to static websites.
LAMP is an acronym denoting one of the most common software stacks for many of the web's most popular applications. However, LAMP now refers to a generic software stack model and its components are largely interchangeable.
Echo is a web application framework created by the company NextApp. The latest iteration, Echo3, allows writing applications in either server-side Java or client-side JavaScript. Server-side applications do not require developer knowledge of HTML, HTTP, or JavaScript. Client-side JavaScript-based applications do not require a server, but can communicate with one via AJAX.
Fedora is a digital asset management (DAM) content repository architecture upon which institutional repositories, digital archives, and digital library systems might be built. Fedora is the underlying architecture for a digital repository, and is not a complete management, indexing, discovery, and delivery application. It is a modular architecture built on the principle that interoperability and extensibility are best achieved by the integration of data, interfaces, and mechanisms as clearly defined modules.
Silverstripe CMS is a free and open source content management system (CMS) and framework for creating and maintaining websites and web applications. It provides an out of the box web-based administration panel that enables users to make modifications to parts of the website, which includes a WYSIWYG website editor. The core of the software is Silverstripe Framework, a PHP Web application framework.
Apache Felix is an open source implementation of the OSGi Core Release 6 framework specification. The initial codebase was donated from the Oscar project at ObjectWeb. The developers worked on Felix for a full year and have made various improvements while retaining the original footprint and performance. On June 21, 2007, the project graduated from incubation as a top level project and is considered the smallest size software at Apache Software Foundation.
Europeana is a web portal created by the European Union containing digitised cultural heritage collections of more than 3,000 institutions across Europe. It includes records of over 50 million cultural and scientific artefacts, brought together on a single platform and presented in a variety of ways relevant to modern users. The prototype for Europeana was the European Digital Library Network (EDLnet), launched in 2008.
The JBoss Enterprise Application Platform is a subscription-based/open-source Java EE-based application server runtime platform used for building, deploying, and hosting highly-transactional Java applications and services developed and maintained by Red Hat. The JBoss Enterprise Application Platform is part of Red Hat's Enterprise Middleware portfolio of software. Because it is Java-based, the JBoss application server operates across platforms; it is usable on any operating system that supports Java. JBoss Enterprise Application Platform was originally called JBoss and was developed by the eponymous company JBoss, acquired by Red Hat in 2006.
The following outline is provided as an overview of and topical guide to the Perl programming language:
The virtual world framework (VWF) is a means to connect robust 3D, immersive, entities with other entities, virtual worlds, content and users via web browsers. It provides the ability for client-server programs to be delivered in a lightweight manner via web browsers, and provides synchronization for multiple users to interact with common objects and environments. For example, using VWF, a developer can take video lesson plans, component objects and avatars and successfully insert them into an existing virtual or created landscape, interacting with the native objects and users via a VWF interface.
Apache Attic is a project of Apache Software Foundation to provide processes to make it clear when an Apache project has reached its end-of-life. The Attic project was created in November 2008. Also the retired projects can be retained.
Apache Stanbol is an open source modular software stack and reusable set of components for semantic content management. Apache Stanbol components are meant to be accessed over RESTful interfaces to provide semantic services for content management. Thus, one application is to extend traditional content management systems with semantic services.
Samvera, originally known as Hydra, is an open-source digital repository software product. Samvera main components are Fedora Commons, Solr, Blacklight, and HydraHead. Each Samvera implementation is called a "head".
Microsoft, a technology company historically known for its opposition to the open source software paradigm, turned to embrace the approach in the 2010s. From the 1970s through 2000s under CEOs Bill Gates and Steve Ballmer, Microsoft viewed the community creation and sharing of communal code, later to be known as free and open source software, as a threat to its business, and both executives spoke negatively against it. In the 2010s, as the industry turned towards cloud, embedded, and mobile computing—technologies powered by open source advances—CEO Satya Nadella led Microsoft towards open source adoption although Microsoft's traditional Windows business continued to grow throughout this period generating revenues of 26.8 billion in the third quarter of 2018, while Microsoft's Azure cloud revenues nearly doubled.
The BRICKS project consortium included 22 partners from 9 different European countries. The project was led by Engineering Ingegneria Informatica SpA, an Italian company, while the scientific and technical lead was Fraunhofer IPSI from Germany.
Other consortium partners: