Large-Scale Deployments with Servicemix 4 a Fusesource White Paper

Total Page:16

File Type:pdf, Size:1020Kb

Large-Scale Deployments with Servicemix 4 a Fusesource White Paper WHITE PAPER Large-Scale Deployments with Servicemix 4 A FuseSource White Paper Andreas Gies, Principal Consultant, FuseSource March 2009 Large Scale Deployments with Servicemix 4 www. TABLE OF CONTENTS fusesource Introduction .......................................................................................2 A Detailed Look at the Case ...............................................................4 .com Initial Scoping of the Project ..............................................................5 Software Installation and Configuration ......................................5 Functional Requirements .............................................................5 Performance Requirements .........................................................6 High-level Application Design ............................................................6 The Shop Registry ........................................................................8 The Server Endpoints Component ...............................................10 The Shop Server Router Component ..........................................12 The Shop Endpoints Module ........................................................14 Benefits of Using OSGi ................................................................15 Possible Extensions ......................................................................15 Deployment Considerations ..............................................................16 FuseSource: Open Source for the Enterprise ....................................21 1 Large Scale Deployments with Servicemix 4 www. INTRODUCTION fusesource One of the more difficult challenges of building an enterprise system is designing for scalability. It is often skipped in the proof-of-concept stage of development, and it requires product-specific knowledge .com and experience. To help the development of extremely large deployments, the FuseSource team is sharing the experiences and results of a specific, real-world deployment at a large retailer with stores throughout Europe. This company has over 2000 retail shops spread out across six European countries. This white paper is using the experience we gained in this project with this customer and suggests a blueprint for how to deploy large systems based on Apache ServiceMix . The code discussed here is available on the FuseSource wiki at http://fusesource.com/wiki/display/ProdInfo/Large+Scale+Deploym ent+Demo. The company has a central ERP system (based on SAP) that serves as the master database for all product and pricing information and performs all disposition tasks required to optimize the delivery of goods to each retail outlet. Data collected by the shops is then used by the ERP system to perform the disposition tasks, and pricing decisions are disseminated to the shops. The company was using a typical end-of-day batch file transfer pattern. Market data was transferred once a day to the data center, where batch jobs did all the central processing, and the new information for the markets was then transferred back in batch. With a growing number of shops and a growing palette of goods the company offered, soon there was not enough processing time at night to accommodate the growth of the company. In addition, the data was always stale. 2 Large Scale Deployments with Servicemix 4 www. The solution was to migrate to an architecture that could support real-time delivery of the shop data in the data center for processing fusesource and real-time communication of pricing events to the shops. Given the huge number of shops and the limited number of IT personnel in the individual countries, the development team followed two key .com principles: . To limit the resources needed for development, the operations in each shop standardized from an organizational point of view to limit the number of different services needed in each shop. To accommodate the uniqueness of each shop, services needed to be parameterized. The parameters would reflect the location and identity of each shop. Proper design and implementation only brought the team half the way; the provisioning infrastructure was also key for a distributed project of this size. The provisioning infrastructure included: . A single installation package to be used as an installation base for each shop . An installation package to determine the environment it is running in (e.g., the unique network address of the shop host or the machine name) and derive the service customization parameters from that unique key . Service parameters applied during installation so that the service instances are ,in fact, associated with a specific shop . A mechanism in the installation package to establish the network connectivity between the data center and the freshly installed shop 3 Large Scale Deployments with Servicemix 4 www. This white paper is using the experience we gained in this project with this customer and suggests a blueprint for how to deploy large fusesource systems based on Apache ServiceMix. The FuseSource team has decades of experience building mission-critical, IT applications for the Fortune 500 and employs many of the key committers and .com leaders at Apache. A DETAILED LOOK AT THE USE CASE The project consisted of integrating the systems in each of the individual retail outlets (shops) with the central ERP system at headquarters. In each shop, two applications are present: a point-of- sale (POS) system and a warehousing system (WH). The POS system is the backend system for the cash desks. It needs accurate pricing information from the data center and provides data about the revenues and which goods have been sold to the data center. The system originally sent accumulated data at the end of day to the data center via a traditional batch-oriented file transfer. At some point during the night the POS server received pricing updates from the data center and forwarded them to the cash desks. The WH system is a dispositioning system that generates and transfers the orders to the central ERP system (SAP). Any state changes for theses orders are communicated back to the WH server via batch-oriented file transfer. Both the POS and WH systems had a file-based interface in each shop to share information. The SAP Business Connector (BC) collected the files to transmit to the central ERP system and dropped data files into the file system to be imported into the local POS and WH systems. At headquarters, a mapping tool was used to transform all data going into or coming out of the central ERP system. For simplicity, assume that the mapping tool communicates through a JMS. 4 Large Scale Deployments with Servicemix 4 www. The existing installation was working, albeit with stale data, but headquarters imposed a new requirement on the system that fusesource threatened to break the proverbial camel’s back: the data from the POS systems also had to be shared with a data warehouse component to be analyzed for cost-efficiency, fraud detection of .com cash desk operators, etc. INITIAL SCOPING OF THE PROJECT The FuseSource team reviewed the existing infrastructure, future requirements, and the scale of operations and scoped the project into three separate, functional areas. Software Installation and Configuration The solution would be a distributed application with decoupled components communicating asynchronously through a JMS middleware component. This would replace the company’s batch file transfer with an event-driven architecture. The components would be independent from each other and communicate using well-defined interfaces. Each shop would receive a deployment package that contains the necessary components to connect the shop to the data center, and the number of different deployment packages would be minimal. An optimal solution would deliver the same deployment package to each shop and only use different configuration files for the setup. The components must run in different profiles such as development, QA and production and must be adaptable during deployment. Functional Requirements All data must be transferred without data loss. The data must be transmitted in near real time despite low bandwidth networks. Required changes in the participating applications to move from batch processing to event-driven data processing are not in the scope of this document. 5 Large Scale Deployments with Servicemix 4 www. The design must be flexible and future-proofed to support future requirements. fusesource Performance Requirements A normal market performs two-to-three cash operations a minute, .com With 300 markets online in phase 1 this translates to roughly 1000 messages per minute. In phase 2 with about 600 markets online the traffic goes up to 2500-3000 messages per minute. Phase 2 includes shops with more cash decks and, therefore, more cash operations per minute than the shops included in phase 1. HIGH-LEVEL APPLICATION DESIGN The retail scenario has two major functional components. The first component is run in the data center and contains the following modules: . Server endpoints module—provides the communication interface to the central ERP system. This module collects the data transmitted from the central ERP system regardless of the underlying transport and creates a shop request document in a defined JMS queue. Content-based routing module—is responsible for reading the shop request documents from the JMS queue and determining which shop receives the request. This module uses the shop registry module to facilitate the routing decisions. Shop registry—provides a central registry of shops that
Recommended publications
  • Talend Open Studio for Big Data Release Notes
    Talend Open Studio for Big Data Release Notes 6.0.0 Talend Open Studio for Big Data Adapted for v6.0.0. Supersedes previous releases. Publication date July 2, 2015 Copyleft This documentation is provided under the terms of the Creative Commons Public License (CCPL). For more information about what you can and cannot do with this documentation in accordance with the CCPL, please read: http://creativecommons.org/licenses/by-nc-sa/2.0/ Notices Talend is a trademark of Talend, Inc. All brands, product names, company names, trademarks and service marks are the properties of their respective owners. License Agreement The software described in this documentation is licensed under the Apache License, Version 2.0 (the "License"); you may not use this software except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.html. Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. This product includes software developed at AOP Alliance (Java/J2EE AOP standards), ASM, Amazon, AntlR, Apache ActiveMQ, Apache Ant, Apache Avro, Apache Axiom, Apache Axis, Apache Axis 2, Apache Batik, Apache CXF, Apache Cassandra, Apache Chemistry, Apache Common Http Client, Apache Common Http Core, Apache Commons, Apache Commons Bcel, Apache Commons JxPath, Apache
    [Show full text]
  • Return of Organization Exempt from Income
    OMB No. 1545-0047 Return of Organization Exempt From Income Tax Form 990 Under section 501(c), 527, or 4947(a)(1) of the Internal Revenue Code (except black lung benefit trust or private foundation) Open to Public Department of the Treasury Internal Revenue Service The organization may have to use a copy of this return to satisfy state reporting requirements. Inspection A For the 2011 calendar year, or tax year beginning 5/1/2011 , and ending 4/30/2012 B Check if applicable: C Name of organization The Apache Software Foundation D Employer identification number Address change Doing Business As 47-0825376 Name change Number and street (or P.O. box if mail is not delivered to street address) Room/suite E Telephone number Initial return 1901 Munsey Drive (909) 374-9776 Terminated City or town, state or country, and ZIP + 4 Amended return Forest Hill MD 21050-2747 G Gross receipts $ 554,439 Application pending F Name and address of principal officer: H(a) Is this a group return for affiliates? Yes X No Jim Jagielski 1901 Munsey Drive, Forest Hill, MD 21050-2747 H(b) Are all affiliates included? Yes No I Tax-exempt status: X 501(c)(3) 501(c) ( ) (insert no.) 4947(a)(1) or 527 If "No," attach a list. (see instructions) J Website: http://www.apache.org/ H(c) Group exemption number K Form of organization: X Corporation Trust Association Other L Year of formation: 1999 M State of legal domicile: MD Part I Summary 1 Briefly describe the organization's mission or most significant activities: to provide open source software to the public that we sponsor free of charge 2 Check this box if the organization discontinued its operations or disposed of more than 25% of its net assets.
    [Show full text]
  • Apache Karaf Users' Guide
    Apache Karaf Users' Guide Copyright 2010 The Apache Software Foundation 1 Table of contents • 1. Overview • 2. Quick start • 2.1. Quick Start (Source) • 3. Installation • 4. Understanding Karaf • 4.1. Console and Commands • 4.2. Remote Console • 4.3. Logging system • 4.4. Deployer • 4.5. Security framework • 4.6. Provisioning • 4.7. Administration • 4.8. Configuration • 5. Using Karaf • 5.1. Troubleshooting, Debugging and Profiling • 5.2. Developping applications • 5.3. Creating bundles for third party dependencies • 6. Advanced uses • 6.1. Extending the console • 6.2. Building custom distributions • 6.3. Programmatically connect to the console • 6.4. Embedding Karaf • 6.5. Deploying security providers • 6.6. Installing additional features • 6.7. Configuring Failover Deployments • 7. Optional Features • 7.1. Enabling Colorized Console Output On Windows 2 1. Overview Apache Karaf is a small OSGi based runtime which provides a lightweight container onto which various components and applications can be deployed. Here is a short list of features supported by the Karaf: • Hot deployment: Karaf supports hot deployment of OSGi bundles by monitoring jar files inside the [home]/deploy directory. Each time a jar is copied in this folder, it will be installed inside the runtime. You can then update or delete it and changes will be handled automatically. In addition, the Karaf also supports exploded bundles and custom deployers (blueprint and spring ones are included by default). • Dynamic configuration: Services are usually configured through the ConfigurationAdmin OSGi service. Such configuration can be defined in Karaf using property files inside the [home]/etc directory. These configurations are monitored and changes on the properties files will be propagated to the services.
    [Show full text]
  • Apache Karaf 2.2.3, the Transitive Dependencies for This POM and the Bundles Listed in Src/Main/Resources/ Bundles.Properties
    Apache Karaf Version 2.2.3 Apache Karaf Users' Guide 1 Copyright 2011 The Apache Software Foundation 2 Table of contents Overview Quick Start Users Guide Developers Guide 3 Overview 4 OVERVIEW Karaf Overview Apache Karaf is a small OSGi based runtime which provides a lightweight container onto which various components and applications can be deployed. Here is a short list of features supported by the Karaf: • Hot deployment: Karaf supports hot deployment of OSGi bundles by monitoring jar files inside the [home]/deploy directory. Each time a jar is copied in this folder, it will be installed inside the runtime. You can then update or delete it and changes will be handled automatically. In addition, Karaf also supports exploded bundles and custom deployers (Blueprint and Spring ones are included by default). • Dynamic configuration: Services are usually configured through the ConfigurationAdmin OSGi service. Such configuration can be defined in Karaf using property files inside the [home]/etc directory. These configurations are monitored and changes on the properties files will be propagated to the services. • Logging System: using a centralized logging back end supported by Log4J, Karaf supports a number of different APIs (JDK 1.4, JCL, SLF4J, Avalon, Tomcat, OSGi) • Provisioning: Provisioning of libraries or applications can be done through a number of different ways, by which they will be downloaded locally, installed and started. • Native OS integration: Karaf can be integrated into your own Operating System as a service so that the lifecycle will be bound to your Operating System. • Extensible Shell console: Karaf features a nice text console where you can manage the services, install new applications or libraries and manage their state.
    [Show full text]
  • Hänninen, Arttu Enterprise Integration Patterns in Service Oriented Systems Master of Science Thesis
    CORE Metadata, citation and similar papers at core.ac.uk Provided by Trepo - Institutional Repository of Tampere University Hänninen, Arttu Enterprise Integration Patterns in Service Oriented Systems Master of Science Thesis Examiner: Prof. Tommi Mikkonen Examiners and topic approved in the council meeting of Faculty of Information Technology on April 3rd, 2013. II TIIVISTELMÄ TAMPEREEN TEKNILLINEN YLIOPISTO Tietotekniikan koulutusohjelma Hänninen, Arttu: Enterprise Integration Patterns in Service Oriented Systems Diplomityö, 58 sivua Kesäkuu 2014 Pääaine: Ohjelmistotuotanto Tarkastajat: Prof. Tommi Mikkonen Avainsanat: Enterprise Integration Patterns, Palvelukeskeinen arkkitehtuuri (SOA), Viestipohjainen integraatio Palvelupohjaisen integraation toteuttaminen mihin tahansa tietojärjestelmään on haas- tavaa, sillä integraatioon liittyvät järjestelmät voivat muuttua jatkuvasti. Integraatiototeu- tusten tulee olla tarpeeksi joustavia, jotta ne pystyvät mukautumaan mahdollisiin muu- toksiin. Toteutukseen voidaan käyttää apuna eri sovelluskehyksiä, mutta ne eivät vält- tämättä takaa mitään standardoitua tapaa tehdä integraatio. Tätä varten on luotu joukko ohjeita (Enterprise Integration Patterns, EIP), jotka kuvaavat hyväksi havaittuja tapoja tehdä integraatioita. Tässä työssä keskitytään näiden mallien tutkimiseen ja siihen, miten niitä voidaan hyödyntää yritysjärjestelmissä. Jotta tutkimukseen saadaan konkreettinen vertailutulos, erään järjestelmän integraatioratkaisu tullaan päivittämään uuteen. Uusi ratkaisu hyödyntää sovelluskehystä,
    [Show full text]
  • Full-Graph-Limited-Mvn-Deps.Pdf
    org.jboss.cl.jboss-cl-2.0.9.GA org.jboss.cl.jboss-cl-parent-2.2.1.GA org.jboss.cl.jboss-classloader-N/A org.jboss.cl.jboss-classloading-vfs-N/A org.jboss.cl.jboss-classloading-N/A org.primefaces.extensions.master-pom-1.0.0 org.sonatype.mercury.mercury-mp3-1.0-alpha-1 org.primefaces.themes.overcast-${primefaces.theme.version} org.primefaces.themes.dark-hive-${primefaces.theme.version}org.primefaces.themes.humanity-${primefaces.theme.version}org.primefaces.themes.le-frog-${primefaces.theme.version} org.primefaces.themes.south-street-${primefaces.theme.version}org.primefaces.themes.sunny-${primefaces.theme.version}org.primefaces.themes.hot-sneaks-${primefaces.theme.version}org.primefaces.themes.cupertino-${primefaces.theme.version} org.primefaces.themes.trontastic-${primefaces.theme.version}org.primefaces.themes.excite-bike-${primefaces.theme.version} org.apache.maven.mercury.mercury-external-N/A org.primefaces.themes.redmond-${primefaces.theme.version}org.primefaces.themes.afterwork-${primefaces.theme.version}org.primefaces.themes.glass-x-${primefaces.theme.version}org.primefaces.themes.home-${primefaces.theme.version} org.primefaces.themes.black-tie-${primefaces.theme.version}org.primefaces.themes.eggplant-${primefaces.theme.version} org.apache.maven.mercury.mercury-repo-remote-m2-N/Aorg.apache.maven.mercury.mercury-md-sat-N/A org.primefaces.themes.ui-lightness-${primefaces.theme.version}org.primefaces.themes.midnight-${primefaces.theme.version}org.primefaces.themes.mint-choc-${primefaces.theme.version}org.primefaces.themes.afternoon-${primefaces.theme.version}org.primefaces.themes.dot-luv-${primefaces.theme.version}org.primefaces.themes.smoothness-${primefaces.theme.version}org.primefaces.themes.swanky-purse-${primefaces.theme.version}
    [Show full text]
  • Talend Open Studio for Big Data Release Notes
    Talend Open Studio for Big Data Release Notes 6.5.1 Contents Copyleft.......................................................................................................................3 System requirements...................................................................................................4 Talend Open Studio for Big Data: new features........................................................4 Talend Open Studio for Big Data: bug fixes............................................................. 7 Talend Open Studio for Big Data: deprecated items................................................. 7 Talend Open Studio for Big Data: known issues and limitations...............................7 Talend Open Studio for Big Data: hints and notes.................................................... 8 Documentation............................................................................................................ 9 Reporting defects and issues.................................................................................... 10 Talend Open Studio for Big Data 6.5.1 © Talend 2018 Copyleft Adapted for 6.5.1. Supersedes previous releases. Publication date: January 18, 2018 This documentation is provided under the terms of the Creative Commons Public License (CCPL). For more information about what you can and cannot do with this documentation in accordance with the CCPL, please read: http://creativecommons.org/licenses/by-nc-sa/2.0/. Notices Talend is a trademark of Talend, Inc. All brands, product names, company names, trademarks
    [Show full text]
  • Service Oriented Integration with Servicemix and Camel
    Service Oriented Integration with ServiceMix and Camel Chris Custine Principal Engineer IONA Technologies Agenda What is an ESB? What is JBI? Introduction to ServiceMix Introduction to Camel ServiceMix and Camel Working Together Roadmap for Servicemix 4.0 2 © 2007 IONA Technologies What is... an ESB? 3 © 2007 IONA Technologies What is an ESB? "An Enterprise Service Bus (ESB) is a new architecture that exploits Web services, messaging middleware, intelligent routing, and transformation. ESBs act as a lightweight, ubiquitous integration backbone through which software services and application components flow.” (Gartner) 4 © 2007 IONA Technologies What is an ESB? An ESB acts as a shared messaging layer for connecting applications and other services throughout an enterprise computing infrastructure. It supplements its core asynchronous messaging backbone with intelligent transformation and routing to ensure messages are passed reliably. Services participate in the ESB using either web services messaging standards or JMS (LooselyCoupled.com) 5 © 2007 IONA Technologies What is an ESB? An ESB is an open standards, message-based, distributed, integration solution that provides routing, invocation, and mediation services to facilitate the interactions of disparate distributed information technology resources (applications, services, information, platforms) in a reliable manner. (Brenda Michelson, Elemental Links) 6 © 2007 IONA Technologies What is... JBI? 7 © 2007 IONA Technologies What is JBI? JBI defines an architecture that allows the construction
    [Show full text]
  • Apache Karaf 2.4.1 Guides
    Apache Karaf Version 2.4.1 Apache Karaf Users' Guide 1 Copyright 2011 The Apache Software Foundation The PDF format of the Karaf Manual has been generated by Prince XML (http://www.princexml.com). 2 Table of contents Overview Quick Start Users Guide Developers Guide 3 Overview 4 OVERVIEW Karaf Overview Apache Karaf is a small OSGi based runtime which provides a lightweight container onto which various components and applications can be deployed. Here is a short list of features supported by the Karaf: • Hot deployment: Karaf supports hot deployment of OSGi bundles by monitoring jar files inside the deploy directory. Each time a jar is copied in this folder, it will be installed inside the runtime. You can then update or delete it and changes will be handled automatically. In addition, Karaf also supports exploded bundles and custom deployers (Blueprint and Spring ones are included by default). • Dynamic configuration: Services are usually configured through the ConfigurationAdmin OSGi service. Such configuration can be defined in Karaf using property files inside the etc directory. These configurations are monitored and changes on the properties files will be propagated to the services. • Logging System: using a centralized logging back end supported by Log4J, Karaf supports a number of different APIs (JDK 1.4, JCL, SLF4J, Avalon, Tomcat, OSGi) • Provisioning: Provisioning of libraries or applications can be done through a number of different ways, by which they will be downloaded locally, installed and started. • Native OS integration: Karaf can be integrated into your own Operating System as a service so that the lifecycle will be bound to your Operating System.
    [Show full text]
  • Red Hat Fuse 7.3 Release Notes
    Red Hat Fuse 7.3 Release Notes What's new in Red Hat Fuse Last Updated: 2020-06-26 Red Hat Fuse 7.3 Release Notes What's new in Red Hat Fuse Legal Notice Copyright © 2020 Red Hat, Inc. The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/ . In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version. Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law. Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries. Linux ® is the registered trademark of Linus Torvalds in the United States and other countries. Java ® is a registered trademark of Oracle and/or its affiliates. XFS ® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries. MySQL ® is a registered trademark of MySQL AB in the United States, the European Union and other countries. Node.js ® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
    [Show full text]
  • Interop.Jar Activation
    Resource name License name License reference Usage Type a-j-interop.jar Eclipse 1.0 http://www.j-interop.org/license.html Dynamic library http://mirrors.ibiblio.org/pub/mirrors/maven2/javax/activation/act activation-1.1.jar CDDL 1.0 ivation/1.1/activation-1.1.pom Dynamic library activation.jar LGPL 2.1 https://github.com/wildfly/wildfly/blob/master/README.md Dynamic library http://mirrors.ibiblio.org/pub/mirrors/maven2/org/apache/activem activemq-all-5.7.0.jar Apache 2.0 q/activemq-all/5.7.0/activemq-all-5.7.0.pom Dynamic library http://mirrors.ibiblio.org/pub/mirrors/maven2/org/apache/activem activemq-core-5.7.0.jar Apache 2.0 q/activemq-core/5.7.0/activemq-core-5.7.0.pom Dynamic library http://mirrors.ibiblio.org/pub/mirrors/maven2/org/apache/activem activemq-pool-5.7.0.jar Apache 2.0 q/activemq-pool/5.7.0/activemq-pool-5.7.0.pom Dynamic library http://mirrors.ibiblio.org/pub/mirrors/maven2/org/apache/activem activemq-protobuf-1.1.jar Apache 2.0 q/protobuf/activemq-protobuf/1.1/activemq-protobuf-1.1.pom Dynamic library http://mirrors.ibiblio.org/pub/mirrors/maven2/org/apache/axis2/a addressing-1.6.2.jar Apache 2.0 ddressing/1.6.2/addressing-1.6.2.pom Dynamic library advancedPersistentLookupLib-1.0.jar Commercial http://www.talend.com Dynamic library aether-api-1.11.jar Eclipse 1.0 https://www.eclipse.org/aether/download/ Dynamic library aether-connector-asynchttpclient-1.11.jar Eclipse 1.0 https://www.eclipse.org/aether/download/ Dynamic library aether-connector-wagon-1.11.jar Eclipse 1.0 https://www.eclipse.org/aether/download/ Dynamic
    [Show full text]
  • Apache Karaf Cave 4.X - Documentation Apache Software Foundation
    Apache Karaf Cave 4.x - Documentation Apache Software Foundation Apache Karaf Cave 4.x - Documentation Overview User Guide 1. Installation 1.1. Pre-installation requirements 1.2. Registration of the Apache Karaf Cave features 1.3. Starting Apache Karaf Cave Server 2. Repository 2.1. Create 2.2. List 3. Populate repository 3.1. Upload a single artifact 3.2. Populate from an external repository 4. Proxy repository 5. HTTP wrapper service 5.1. Repository metadata access 6. Maven wrapper service 7. Administration 7.1. JMX 7.2. REST Overview Apache Karaf Cave is an Apache Karaf sub-project. Cave is an implementation of the OSGi Repository specification, providing additional features such as a complete Maven repository support, a REST API for management, support of remote repository proxy. Cave deals with the requirements and capabilities of all artifacts. Apache Karaf Cave provides the following features: • Storage: Cave includes a storage backend. The default one is a simple filesystem backend. As the Cave backend is designed in a plugin way, you can implement your own backend (for instance, JDBC or LDAP backend). • Repository Metadata Generation: Cave creates the repository metadata for you, using the artifacts presents in the repository storage. • Maven support: Cave repositories act as a complete Maven repository, allowing you to use Cave directly with Maven. • REST API: Cave provides a REST API to manipulate the repositories. • Artifact Upload: Users can upload OSGi bundle in a Cave repository. It supports URLs like mvn:groupId/artifactId/version, file:, http:, etc. • Repository proxy: Cave is able to proxy an existing repository, for instance an existing Maven repository.
    [Show full text]