SlideShare une entreprise Scribd logo
Osgi in Action Creating Modular Applications in
Java Unedited Draft 1st Edition Richard Hall
download
https://ebookultra.com/download/osgi-in-action-creating-modular-
applications-in-java-unedited-draft-1st-edition-richard-hall/
Explore and download more ebooks or textbooks
at ebookultra.com
We have selected some products that you may be interested in
Click the link to download now or visit ebookultra.com
for more options!.
Enterprise OSGi in Action With examples using Apache Aries
Holly Cummins
https://ebookultra.com/download/enterprise-osgi-in-action-with-
examples-using-apache-aries-holly-cummins/
Modular Java 1st Edition Craig Walls
https://ebookultra.com/download/modular-java-1st-edition-craig-walls/
Java Internationalization Creating International
Applications Java Series First Edition David Czarnecki
https://ebookultra.com/download/java-internationalization-creating-
international-applications-java-series-first-edition-david-czarnecki/
Integrative Psychotherapy in Action Richard G Erskine
https://ebookultra.com/download/integrative-psychotherapy-in-action-
richard-g-erskine/
Java Persistence with Hibernate Second Edition of
Hibernate in Action Christian Bauer
https://ebookultra.com/download/java-persistence-with-hibernate-
second-edition-of-hibernate-in-action-christian-bauer/
Professional Flash Mobile Development Creating Android and
iPhone Applications 1st Edition Richard Wagner
https://ebookultra.com/download/professional-flash-mobile-development-
creating-android-and-iphone-applications-1st-edition-richard-wagner/
Consumed by War European Conflict in the 20th Century
Richard C. Hall
https://ebookultra.com/download/consumed-by-war-european-conflict-in-
the-20th-century-richard-c-hall/
Quantum Dots Applications in Biology 1st Edition Richard
L. Ornberg
https://ebookultra.com/download/quantum-dots-applications-in-
biology-1st-edition-richard-l-ornberg/
POJOs in Action Developing Enterprise Applications with
Lightweight Frameworks 1st Edition Chris Richardson
https://ebookultra.com/download/pojos-in-action-developing-enterprise-
applications-with-lightweight-frameworks-1st-edition-chris-richardson/
Osgi in Action Creating Modular Applications in Java Unedited Draft 1st Edition Richard Hall
Osgi in Action Creating Modular Applications in Java
Unedited Draft 1st Edition Richard Hall Digital Instant
Download
Author(s): Richard Hall, Karl Pauls, Stuart McCulloch, David Savage
ISBN(s): 9781933988917, 1933988916
Edition: 1
File Details: PDF, 4.90 MB
Year: 2011
Language: english
©Manning Publications Co. Please post comments or corrections to the Author Online forum:
http://www.manning-sandbox.com/forum.jspa?forumID=507
MEAP Edition
Manning Early Access Program
Copyright 2010 Manning Publications
For more information on this and other Manning titles go to www.manning.com
©Manning Publications Co. Please post comments or corrections to the Author Online forum:
http://www.manning-sandbox.com/forum.jspa?forumID=507
Table of Contents
1. OSGi Revealed
2. Mastering Modularity
3. Learning Lifecycle
4. Studying Services
5. Delving Deeper into Modularity
6. Moving Toward Bundles
7. Managing Bundles and Applications
8. Testing Applications
9. Debugging Applications
10. Component Models
11. Launching and Embedding an OSGi
Framework
12. Security
13. Web Applications and Services
©Manning Publications Co. Please post comments or corrections to the Author Online forum:
http://www.manning-sandbox.com/forum.jspa?forumID=507
1
OSGi Revealed
The Java™ platform is an unqualified success story. It is used to develop applications for
small mobile devices to massive enterprise endeavors. This is a testament to its well thought
out design and continued evolution. However, this success has come in spite of the fact that
Java does not have explicit support for building modular systems beyond ordinary object-
oriented data encapsulation.
So, what does this mean to you? If Java is a success despite its lack of advanced
modularization support, then you might wonder if its absence is a problem. Most well
managed projects have to build up a repertoire of comparable, but project specific,
techniques to compensate for the lack of modularization in Java. These include:
 Programming practices,
 Tricks with multiple class loaders, and
 Serialization between in-process components.
However these techniques are inherently brittle and error prone since they are not
enforceable via any specific compile-time or run-time checks. The end result has detrimental
impacts on multiple stages of an application's lifecycle:
 Development – you are unable to clearly and explicitly partition development into
independent pieces.
 Deployment – you are unable to easily analyze, understand, and resolve requirements
imposed by the collection of independently developed pieces that make up the
system.
 Execution – you are unable to manage and evolve the constituent pieces of a running
system, nor minimize the impact of doing so.
It is definitely possible to manage these issues in Java, and lots of projects do so using
the custom techniques mentioned above, but it is much more difficult than it should be.
We're tying ourselves in knots to work around the lack of a fundamental feature. If Java had
explicit support for modularity, then you would be freed from such issues and could
©Manning Publications Co. Please post comments or corrections to the Author Online forum:
http://www.manning-sandbox.com/forum.jspa?forumID=507
concentrate on what you really want to do, which is developing the functionality of your
application.
Welcome to the OSGi™ Service Platform. The OSGi Service Platform is an industry
standard defined by the OSGi Alliance to specifically address the lack of support for
modularity in the Java platform. Additionally, it also introduces a new service-oriented
programming model, referred to by some as “SOA in a VM.” This chapter will give you an
overview of the OSGi Service Platform and the issues it is intended to address. Once we have
finished this chapter we will have enough background knowledge to start digging into the
details in chapter 2.
1.1 The what and why of OSGi
The sixty-four-thousand dollar question is, “What is OSGi?” The simplest answer to this
question is it is a modularity layer for the Java platform. Of course, the next question that
might spring to mind is, “What do you mean by modularity?” Here we use modularity more
or less in the traditional computer science sense, where the code of your software application
is divided into logical parts representing separate concerns as in Figure 1.1.1. If your
software is modular, then you can simplify development and improve maintainability by
enforcing the logical module boundaries; we will discuss more modularity details in Chapter
2.
The notion of modularity is not new. The concept actually became fashionable back in the
1970s. So, why is OSGi all the rage right now? To better understand what OSGi can do for
you, it is worthwhile to understand what Java is not doing for you with respect to modularity.
Once you understand that, then you can see how OSGi can help.
1.1.1 Java's modularity limitations
Java was never intended to support modular programming, so we admit that criticizing its
inability to do so is a little unfair. Java has been promoted as a platform for building all sorts
©Manning Publications Co. Please post comments or corrections to the Author Online forum:
http://www.manning-sandbox.com/forum.jspa?forumID=507
Figure 1.1.1 Modularity refers to the logical
decomposition of a large system into smaller
collaborating pieces
Module
A
Module
B
Module
C
uses
uses
uses
u
s
e
s
of applications for all sorts of domains ranging from mobile phone to enterprise applications.
Most of these endeavors require, or could at least benefit from, modularity, so Java's lack of
explicit support does cause some amount of pain for developers. From this point of view, we
do feel the following criticisms are valid.
LOW-LEVEL CODE VISIBILITY CONTROL
While Java provides a fair complement of access modifiers to control visibility (e.g., public,
protected, private, and package private), these tend to address low-level object-
oriented encapsulation and do not really address logical system partitioning. Java has the
notion of a package, which is typically used for partitioning code. For code to be visible from
one Java package to another, the code must be declared public (or protected if using
inheritance). Sometimes the logical structure of your application calls for specific code to
belong in different packages, but then this means any dependencies among the packages
must be exposed as public, which makes it accessible to everyone else too. Often this can
expose implementation details, which makes future evolution more difficult since users may
end up with dependencies on your non-public API.
To illustrate this, let's consider a trivial hello world application that provides a public
interface in one package, a private implementation in another and a main class in yet
another.
Listing 1.1.1 Trivial example of the limitations of Java's object-orientated encapsulation
package org.foo.hello;
public interface Greeting { #1
void sayHello();
}
package org.foo.hello.impl;
import org.foo.hello.Greeting;
public class GreetingImpl implements Greeting {
final String m_name;
public GreetingImpl(String name) { #2
m_name = name;
}
public void sayHello() {
System.out.println("Hello, " + m_name + "!");
}
}
package org.foo.hello.main;
import org.foo.hello.Greeting;
import org.foo.hello.impl.GreetingImpl;
©Manning Publications Co. Please post comments or corrections to the Author Online forum:
http://www.manning-sandbox.com/forum.jspa?forumID=507
public class Main {
public static void main(String[] args) {
Greeting greet = new GreetingImpl(“Hello World”); #3
greet.sayHello();
}
}
I n Listing 1.1.1, the author may have intended a third party to only interact with the
application via the Greeting interface at (#1). He or she may mention this in Javadoc,
tutorials, blogs, or even email rants, but there is nothing actually stopping a third party from
constructing a new GreetingImpl using its public constructor at (#2) as is done at (#3).
You might argue that the constructor should not be public and there is no need to split
the application into multiple packages, which could well be true in this trivial example. But in
real-world applications class-level visibility when combined with packaging turns out to be a
very crude tool for ensuring API coherency. Seeing how a supposedly private implementation
can be accessed by third-parties developers, now you need to worry about changes to
private implementation signatures as well as that of public interfaces when making updates.
This problem stems from the fact that although Java packages appear to have a logical
relationship via nested packages, they actually do not. A common misconception for people
first learning Java is to assume that the parent-child package relationship bestows special
visibility privileges on the involved packages. Two packages involved in a nested relationship
are equivalent to two packages that are not. Nested packages are largely useful for avoiding
name clashes and provide only partial support for the logical code partitioning.
What this all means is in Java you are regularly forced to decide between:
1. Impairing your application's logical structure by lumping unrelated classes into the
same package to avoid exposing non-public API or
2. Keeping your application's logical structure by using multiple packages at the expense
of exposing non-public API so it can be accessed by classes in different packages.
Neither choice is particularly palatable.
ERROR-PRONE CLASS PATH CONCEPT
The Java platform also inhibits good modularity practices. The main culprit is the Java class
path. Why does the class path pose problems for modularity? Largely due to all of the issues
that it hides, such as code versions, dependencies, and consistency. Applications are
generally composed of various versions of libraries and components. The class path pays no
attention to code versions, it simply returns the first version that it finds. Even if it did pay
attention, there is no way to explicitly specify dependencies. The process of setting up your
class path is largely trial and error; you just keep adding libraries until the VM stops
complaining about missing classes.
©Manning Publications Co. Please post comments or corrections to the Author Online forum:
http://www.manning-sandbox.com/forum.jspa?forumID=507
Figure 1.1.2 shows the sort of “class path Hell” that can often be found when more than
one JAR file provides a given set of classes. Even though each JAR file may have been
compiled to work as a unit, when merged at run time the Java class path pays no attention
to the logical partitioning of the components. This tends to lead to such hard to predict
errors, such as NoSuchMethodError, when a class from one JAR file interacts with an
incompatible class from another one.
In large applications, created from independently developed components, it is not
uncommon to have dependencies on different versions of the same component, such as
logging or XML parsing mechanisms. The class path forces you to choose just one version in
such situations, which may not always work for all parts of the application if there are
incompatibilities between versions. Worse, if you happen to have multiple versions of the
same package on the class path, either on purpose or accidentally, they are treated as split
packages by Java and are implicitly merged based on order of appearance. Overall, the class
path approach lacks any form of consistency checking. You just get whatever classes have
been made available by the system administrator, which is very likely only an approximation
of what the developer actually expected. This hardly inspires confidence.
LIMITED DEPLOYMENT AND MANAGEMENT SUPPORT
Java also lacks support when it comes to deploying and managing your application. There is
no easy way in Java to deploy the proper transitive set of versioned code dependencies and
execute your application. Likewise for evolving your application and its components after
deployment. Consider the common requirement of wanting to support a dynamic plugin
mechanism. The only way to achieve such a benign request is to use class loaders, which are
low level and error prone. Class loaders were never intended to be a common tool for
application developers, but so many of today's systems require their use. A properly defined
modularity layer for Java can deal with these issues by making the module concept explicit
and raising the level of abstraction for code partitioning.
©Manning Publications Co. Please post comments or corrections to the Author Online forum:
http://www.manning-sandbox.com/forum.jspa?forumID=507
Figure 1.1.2 Multiple JARs containing the “same” class are merged based on their order of appearance
in the class path paying no respect to logical coherency between archives
Jar 2
Jar 1
Classpath
Jar 3
With this better understanding of the limitations of Java when it comes to modularity, we
can ponder whether OSGi is the right solution for your projects.
1.1.2 Can OSGi help you?
Nearly all but the simplest of applications can benefit from the modularity features OSGi
provides, so if you are wondering if OSGi is something you should be interested in, the
answer is most likely, “Yes!” Still not convinced? Here are some common scenarios that you
may have encountered where OSGi can be helpful:
 If you ever received ClassNotFoundExceptions when starting your application
because the class path was not correct. OSGi can help you here by ensuring that code
dependencies are satisfied before allowing the code to execute.
 If you ever encountered run-time errors when executing your application due to the
wrong version of a dependent library on the class path. OSGi verifies that the set of
dependencies are consistent with respect to required versions and other constraints.
 If you ever wanted to share classes between modules without worrying about
constraints implied by hierarchical class loading schemes; put in a more concrete way,
the dreaded appearance of “foo instanceof Foo == false” when sharing
objects between two servlet contexts.
 If you ever wanted to package your application as logically independent JAR files and
be able to deploy only those pieces you actually need for a given installation. This
pretty much describes the purpose of OSGi.
 If you ever wanted to package your application as logically independent JAR files and
also wanted to declare which code is accessible from each JAR file and have this
visibility enforced. OSGi enables a new level of code visibility for JAR files that allows
you to specify what is and what is not visible externally.
 If you ever wanted to define an extensibility mechanism for your application, like a
plugin mechanism. OSGi modularity is particularly suited to providing a powerful
extensibility mechanism, including support for run-time dynamism.
As you can see, these scenarios cover a lot of use cases, but are by no means
exhaustive. The simple and non-intrusive nature of OSGi tends to make you discover more
ways to apply it the more you use it. Having explored some of the limitations of the standard
Java class path we'll now properly introduce you to OSGi.
1.2 A quick OSGi overview
The OSGi Service Platform is composed of two parts: the OSGi framework and OSGi standard
services (depicted in Figure 1.1.3). The framework is the runtime that implements and
provides OSGi functionality. The standard services define reusable APIs for common tasks,
such as Logging and Preferences.
©Manning Publications Co. Please post comments or corrections to the Author Online forum:
http://www.manning-sandbox.com/forum.jspa?forumID=507
The OSGi specifications for the framework and standard services are managed by the
OSGi Alliance (http://www.osgi.org). The alliance is an industry backed non-profit
corporation founded in March 1999. The framework specification is now on it's fourth major
revision and is stable. Technology based on this specification is in use in a range of large
scale industry applications including (but not limited to) automotive, mobile devices, desktop
applications, and more recently enterprise application servers.
NOTE
Once upon a time, the letters “OSGi” were an acronym that stood for the Open Services
Gateway Initiative. This acronym highlights the lineage of the technology, but has fallen
out of favor. After the third specification release, the OSGi Alliance officially dropped the
acronym and “OSGi” is now simply a trademark for the technology.
In the bulk of this book we will discuss the OSGi framework, its capabilities, and how to
leverage these capabilities. Since there are so many standard services, we will only discuss
the most relevant and useful services where appropriate. For any service we miss, you can
get more information from the OSGi specifications themselves. Let's continue our overview of
OSGi by introducing the broad features of the OSGi framework.
1.2.1 The OSGi Framework
The OSGi framework plays a central role when creating OSGi-based applications, since it is
the application's execution environment. The OSGi Alliance's framework specification defines
the proper behavior of the framework, which gives you a well-defined API to program
against. The specification also enables the creation of multiple implementations of the core
framework to give you some freedom of choice; there are a handful of well-known open
source projects, such as Apache Felix, Eclipse Equinox, and Knopflerfish. This ultimately
benefits you, since you are not tied to a particular vendor and are able to program against
the behavior defined in the specification. It's sort of like the reassuring feeling you get by
knowing you can go into any McDonald's anywhere in the world and get the same meal.
©Manning Publications Co. Please post comments or corrections to the Author Online forum:
http://www.manning-sandbox.com/forum.jspa?forumID=507
Figure 1.1.3 The OSGi Service Platform
specification is divided into two halves, one for the
OSGi framework and one for standard services
Framework
Standard services
OSGi SERVICE PLATFORM
The OSGi specification conceptually divides the framework into three layers (see Figure
1.1.4):
 Module layer – this layer is concerned with packaging and sharing code.
 Lifecycle layer – this layer is concerned with providing run-time module management
and access to the underlying OSGi framework.
 Service layer – this layer is concerned with interaction and communication among
modules, specifically the components contained in them.
Like typical layered architectures, each layer is dependent upon the layers beneath it.
Therefore, it is possible for you to use lower OSGi layers without using upper ones, but not
vice versa. The next three chapters discuss these layers in detail, but we will give an
overview of each here.
1.2.2 Module layer
The module layer defines the OSGi module concept, called a bundle, which is simply a JAR
file with extra metadata (i.e., data about data) as depicted in Figure 1.1.5. A bundle contains
your class files and their related resources. Bundles are typically not an entire application
packaged into a single JAR file; rather, they are the logical modules that combine to form a
given application. Bundles are more powerful than standard JAR files, since you are able to
explicitly declare which contained packages are externally visible (i.e., exported packages).
In this sense, bundles extend the normal access modifiers (i.e., public, private, and
protected) associated with the Java language.
Another important advantage of bundles over standard JAR files is that you are also able
to explicitly declare on which external packages your bundle depends (i.e., imported
packages). The main benefit of explicitly declaring your bundles' exported and imported
packages is that the OSGi framework can manage and verify the consistency of your bundles
automatically; this process is called bundle resolution and involves matching exported
packages to imported packages. Bundle resolution ensures consistency among bundles with
respect to versions and other constraints, which we will discuss in detail in Chapter 2.
©Manning Publications Co. Please post comments or corrections to the Author Online forum:
http://www.manning-sandbox.com/forum.jspa?forumID=507
Figure 1.1.4 OSGi layered architecture
MODULE
LIFECYCLE
SERVICE
1.2.3 Lifecycle layer
The lifecycle layer defines how bundles are dynamically installed and managed in the OSGi
framework. If we were building a house, the module layer provides the foundation and
structure, while the lifecycle layer is the electrical wiring – it makes everything go.
The lifecycle layer serves two different purposes. External to your application, the
lifecycle layer precisely defines the bundle lifecycle operations (e.g., install, update, start,
stop, and uninstall). These lifecycle operations allow you to dynamically administer, manage,
and evolve your application in a well-defined way. This means that bundles can be safely
added and removed from the framework without restarting the application process. Internal
to your application, the lifecycle layer defines how your bundles gain access to their
execution context, which provides them with a way to interact with the OSGi framework and
the facilities it provides during execution. This overall approach to the lifecycle layer is
©Manning Publications Co. Please post comments or corrections to the Author Online forum:
http://www.manning-sandbox.com/forum.jspa?forumID=507
Figure 1.1.6 The service-oriented interaction pattern. Providers
publish services into a registry where requesters can discover
which services are available for use.
Publish Find
Interact
Service
Registry
Service
Provider
Service
Requester
Service
Description
Figure 1.1.5 A bundle contains code,
resources, and metadata
Bundle
.class
class files
.xml,
.jpeg,
etc.
resource files
MANI
FEST
.MF
metadata
powerful since it allows you to create externally (and remotely) managed applications or
completely self-managed applications (or any combination of the two).
1.2.4 Service layer
Finally, the service layer supports and promotes a flexible application programming model
that incorporates concepts popularized by service-oriented computing (although, these
concepts were part of the OSGi framework before SOA became popular). The main concepts
revolve around the service-oriented publish, find, and bind interaction pattern: service
providers publish their services into a service registry, while service clients search the
registry to find available services to use (see Figure 1.1.6). Nowadays, SOA is largely
associated with web services, but OSGi services are local to a single VM, which is why some
people refer to it as “SOA in a VM”.
The OSGi service layer is very intuitive, since it promotes an interface-based development
approach, which is generally considered good practice. Specifically, it promotes the
separation of interface and implementation. OSGi services are simply Java interfaces that
represent a conceptual contract between service providers and service clients. This makes
the service layer very lightweight, since service providers are simply Java objects accessed
via direct method invocation. Additionally, the service layer expands the bundle-based
dynamism of the lifecycle layer with service-based dynamism, i.e., services can appear or
disappear at any time. The result is a programming model that eschews the monolithic and
brittle approaches of the past, in favor of being modular and flexible.
Certainly, this sounds all well and good, but you might still be wondering how these three
layers all fit together and how you go about using them to create an application on top of
them. Fair enough, in the next couple of sections we'll explore how these layers fit together
using some small example programs.
1.2.5 Putting it all together
The OSGi framework is made up of layers, but how do we use these layers in application
development? Let's try to make it a little clearer by outlining the general approach you will
use when creating an OSGi-based application:
3. Design your application by breaking it down into service interfaces (i.e., normal
interface-based programming) and clients of those interfaces.
4. Implement your service provider and client components using your preferred tools and
practices.
5. Package your service provider and client components into [usually] separate JAR files,
augmenting each JAR file with the appropriate OSGi metadata.
6. Start the OSGi framework.
7. Install and start all of your component JAR files from step 3.
©Manning Publications Co. Please post comments or corrections to the Author Online forum:
http://www.manning-sandbox.com/forum.jspa?forumID=507
If you are already following an interface-based approach, then the OSGi approach will feel
very familiar to you. The main difference will be how you locate your interface
implementations (i.e., your services). Normally, you might instantiate implementations and
pass around references to initialize clients. In the OSGi world, your services will publish
themselves in the service registry and your clients will look up available services in the
registry. Once your bundles are installed and started, your application will start and execute
like normal, but with several advantages. Underneath, the OSGi framework is providing more
rigid modularity and consistency checking and its dynamic nature opens up a whole world of
possibilities.
Don't fret if you don't or can't use an interfaced-based approach for your development.
The first two layers of the OSGi framework still provide a lot of functionality for you; in truth,
the bulk of OSGi framework functionality lies in these first two layers, so keep reading.
Enough talk, let's look at some code.
1.3 “Hello, world!” examples
Since OSGi functionality is divided over the three layers mentioned previously (modularity,
lifecycle, and service), we will show you three different “Hello, world!” examples that
illustrate each of these layers.
1.3.1 Modularity layer
The modularity layer is actually not related to code creation as such; rather, it is related to
the packaging of your code into bundles. There are certain code-related issues of which you
need to be aware when developing, but by and large you prepare your code for the
modularity layer by adding packaging metadata to your project's generated JAR files. For
example, suppose you want to share the class in Listing 1.1.2.
Listing 1.1.2 Basic greeting implementation
package org.foo.hello;
public class Greeting {
final String m_name;
public Greeting(String name) {
m_name = name;
}
public void sayHello() {
System.out.println("Hello, " + m_name + "!");
}
}
During the build process you would compile the source code and put the generated class
file into a JAR file. To leverage the OSGi modularity layer you must add some metadata into
your JAR file's META-INF/MANIFEST.MF file, such as the following snippet:
Bundle-ManifestVersion: 2 #A
©Manning Publications Co. Please post comments or corrections to the Author Online forum:
http://www.manning-sandbox.com/forum.jspa?forumID=507
Bundle-Name: Greeting API #B
Bundle-SymbolicName: org.foo.hello #C
Bundle-Version: 1.0 #C
Export-Package: org.foo.hello;version="1.0" #D
#A Indicates the OSGi metadata syntax version
#B Human-readable name, not strictly necessary
#C Symbolic name and version bundle identifier
#D Share packages with other bundles
In this small example, the bulk of the metadata is largely related to bundle identification.
The important part is the Export-Package statement, since this extends the functionality
of a typical JAR file with the ability for you to explicitly declare which packages contained in
the JAR are visible to the users of it. In this particular example, only the contents of the
org.foo.hello package are externally visible; if there were other packages in our
example, they would not be externally visible. So what does this really mean? It means when
you run your application, other modules will not be able to accidentally (or intentionally)
depend on packages that your module doesn't explicit expose.
To use this shared code in another module you would again add metadata, this time using
the Import-Package statement to explicitly declare which external packages are required
by the code contained in the client JAR. The following snippet illustrates this:
Bundle-ManifestVersion: 2 #A
Bundle-Name: Greeting Client #B
Bundle-SymbolicName: org.foo.hello.client #C
Bundle-Version: 1.0 #C
Import-Package: org.foo.hello;version="[1.0,2.0)" #D
#A Indicates the OSGi metadata syntax version
#B Human-readable name, not strictly necessary
#C Symbolic name and version bundle identifier
#D Specify dependency on an external package
To see this example in action, go into the greeting-example/modularity/ directory
for Chapter 1 in the accompanying code and type “ant” to build it and “java -jar
main.jar” to run it. Although this example is simple, it illustrates that creating OSGi
bundles out of your existing JAR files is a reasonably non-intrusive process. In addition, there
are tools that can help you create your bundle metadata, which we will discuss in [ref xx],
but in reality no special tools are required to create a bundle other than what you normally
use to create a JAR file. Chapter [ref ch2] will go into all of the juicy details of OSGi
modularity and how to take advantage of it in your applications.
1.3.2 Lifecycle layer
In the last subsection we saw that it is possible to leverage OSGi functionality in a non-
invasive way by simply adding metadata to your existing JAR files. Such a simple approach is
sufficient for most reusable libraries, but sometimes we need or want to go further to meet
specific requirements or to use additional OSGi features. The lifecycle layer moves us deeper
into the OSGi world.
©Manning Publications Co. Please post comments or corrections to the Author Online forum:
http://www.manning-sandbox.com/forum.jspa?forumID=507
Random documents with unrelated
content Scribd suggests to you:
atti derivano in modo più o meno diretto da cangiamenti chimici, che
mettono in movimento i diversi ingranaggi del nostro organismo.
Le differenti manifestazioni funzionali del nostro corpo, delle quali
abbiamo fatto parola, sono accompagnate però da fatti collaterali,
come avviene in ogni altra macchina. Abbiamo cioè, oltre il lavoro
specifico dei diversi apparecchi, uno sviluppo di calore che
contribuisce, negli animali che stanno in alto della scala zoologica, a
mantenere la temperatura del loro corpo ad un grado superiore a
quello ordinario dell'ambiente.
Ma oltre il calore si possono discernere altre forme di energia, fra le
quali la luce e le manifestazioni elettriche.
Non avete mai veduto il mare fosforescente? È soprattutto nelle
regioni equatoriali che questo spettacolo si manifesta nel suo
massimo splendore, dando al navigante l'impressione di solcare delle
onde infocate. Non dimenticherò mai le sere passate sull'Oceano
indiano, appunto per la magnifica fosforescenza che vi ho potuto
ammirare. Tutta la superficie del mare, leggermente increspata, era
illuminata da una luce vaga, nebulosa, bluastra, che pareva scaturire
dalle maggiori profondità, mentre il solco aperto dal piroscafo
splendeva sin presso all'orizzonte come una striscia di fuoco, sulla
quale risaltavano i guizzi di fiamme provocati dall'elica che percoteva
l'Oceano e dalla prua che ne squarciava gli attriti. Questo fenomeno
è dovuto alla presenza di innumerevoli esseri assai bassi nella scala
dei viventi, alcuni minutissimi, altri, come le meduse, abbastanza
voluminosi, i quali, quando siano stimolati dagli urti delle onde o
dell'elica, per esempio, rivelano quello stato di eccitamento con
manifestazioni di energia che, in grazia della loro trasparenza,
acquistano i caratteri di vere e proprie funzioni luminose. In questo
caso si potrebbe proprio dire con un illustre fisiologo che noi siamo
colpiti direttamente dalle irradiazioni della fiaccola della vita. Fatti
simili, benchè più complessi e parzialmente sottoposti all'impero dei
centri nervosi, ci vengono presentati fra gli altri da alcuni insetti, dei
quali rammenterò le lucciole, ornamento delle nostre sere di
primavera e di estate, e che furono soggetto di interessantissime
ricerche del nostro Matteucci, e gli elaterii dell'America tropicale, che
possono servire come lanterne per illuminare il cammino, e che sul
capo delle signore splendono di una vivissima luce propria, molto più
apprezzabile, mi pare, di quella riflessa da un diamante.
Come vedete, alcuni fatti che d'ordinario sono semplici accessori, che
si presentano come collaterali di una funzione principale, possono, in
certi casi, raggiungere così grande sviluppo, da acquistare per se
stessi la dignità di una vera e propria funzione. Questo accade per la
luce emessa dagli organi fosforescenti degli insetti, come pure per le
manifestazioni elettriche della torpedine, del gimnoto, del siluro che,
grazie alla evoluzione di organi particolari, si sono resi capaci di
emanazioni elettriche potentissime, mentre, d'ordinario, l'elettricità
che si svolge dagli organi funzionanti, può essere appena avvertita
da apparecchi delicatissimi.
Non per questo essa ha meno importanza pel ricercatore di fatti
biologici, che anzi la corrente tenuissima che si può raccogliere da un
muscolo che si contrae, la così detta corrente d'azione vale a farci
comprendere la potentissima scossa emessa da un pesce elettrico.
Si disse come le manifestazioni funzionali dell'organismo siano
dovute a processi di combustione che si svolgono in seno agli
elementi costitutivi dei nostri organi. Ma il lavoro determina
necessariamente il consumo del combustibile, ed anche, benchè
meno rapidamente, della macchina. Sicchè un organismo non
potrebbe presentare una funzione continuata se ai fatti distruttivi,
che sono il fondamento o la conseguenza delle sue varie forme di
lavoro, non facessero equilibrio fatti antagonistici di reintegrazione,
capaci di ricostituire le forze impiegate nell'attività e le strutture
consumate dall'uso, che in altre parole servono a rimettere nuovo
carbone nel fornello, ed a raccomodare quegl'ingranaggi che vanno
di mano in mano sciupandosi. Per questo un organismo si può
considerare come continuamente oscillante fra due atti chimici
opposti: quelli distruttivi, che si manifestano in forma di movimento,
di calore, di luce, di elettricità o d'altro: e quelli ricostitutivi, che
accumulano nuovi materiali combustibili e reintegrano i tessuti
sciupati dalla funzione.
Può accadere che questi due fatti antagonistici corrispondano
perfettamente gli uni agli altri, come può avvenire che l'uno di essi
predomini sull'altro, e voi facilmente comprenderete quanto sia
importante pel biologo di assistere agli avvicendamenti chimici che si
svolgono nell'intima trama degli organi viventi. Questo ci è in parte
concesso quando si raccolga e si registri graficamente, per mezzo di
apparecchi delicatissimi, le variazioni elettriche dei tessuti che
vivono, vale a dire che si nutrono e che funzionano. Infatti, i processi
distruttivi determinano nelle parti che ne sono la sede una certa
condizione elettrica che si chiama negativa; e i fenomeni opposti di
reintegrazione danno luogo a manifestazioni elettriche di segno
contrario, provocando cioè uno stato che si dice positivo.
Si capisce, perciò, come non si ottenga alcuna manifestazione
elettrica da un organo nel quale i processi chimici opposti, distruttivi
e reintegrativi si fanno equilibrio, perchè in esso agiscono due forze
eguali e contrarie che si neutralizzano, mentre vediamo diventare
negativa quella parte nella quale si esagerano i processi demolitori, o
positiva quella nella quale predominano i fatti di riparazione
organica.
Così l'agente misterioso che lungo i nervi è l'intermediario fra il
cervello e le parti del nostro organismo, facendosi il messaggero
delle azioni di senso e di movimento, si rivela a noi come un'onda di
negatività, che percorre i cordoni nervosi; così l'attività di un
muscolo, di una glandola, di un organo di senso danno luogo a
variazioni elettriche negative della parte funzionante. Noi riusciamo
inoltre a raccogliere dalla superficie del nostro corpo cangiamenti
elettrici, variazioni di potenziale, come si dice, che corrispondono col
loro avvicendarsi al ritmico battito del cuore. Per contro,
quest'organo centrale della circolazione, quando sia arrestato da
azioni nervose particolari che ne esagerino gli atti ricostitutivi, a
scapito di quelli che sono la base della sua funzione meccanica,
dimostra questi cangiamenti con variazioni elettriche opposte di
carattere positivo.
Come vedete, le oscillazioni elettriche dei tessuti, raccolte e
registrate coi nostri apparecchi, possono esprimere all'esterno le
intime modificazioni chimiche che si svolgono nei più remoti recessi
del nostro organismo, e possono tracciare dei veri ed autentici
rapporti autografici di esse. Sicchè per mezzo della elettricità animale
ci è concesso di possedere una immagine, per quanto sfumata e
vaga di quel ritmo chimico che forma il sottostrato delle
manifestazioni di un essere vivente; o, se volete, un'eco assai
attenuata, ma pur fedele, dell'armonia della vita. E non è
probabilmente lontano il giorno nel quale indagando le correnti
d'azione dei centri nervosi noi sorprenderemo le cellule cerebrali
nella loro attività elaboratrice della sensazione e del movimento.
Ma non facciamoci troppe illusioni, perchè si capisce che in questo
caso non otterremo che la rappresentazione esteriore di uno dei
sintomi dell'atto mentale, come il sorriso che solleva il labbro della
Gioconda del divino Leonardo non è che il simbolo di uno stato
d'animo di quella vaghissima donna. Ma forse che per questo esso è
meno attraente? Forse che esso non ci affascina tanto più quanto
maggiormente è misterioso ed impenetrabile?
Signore e Signori!
Un filosofo tedesco, celebre nella storia della elettrofisiologia, Emilio
Du Bois-Reymond, in un suo discorso, accennando alla scoperta del
Galvani, esclamava: «È con orgoglio che l'investigatore della natura,
osservando i fili telefonici che attraversano le nostre strade e le
nostre piazze, si rende conto di quanto hanno fatto tre generazioni
umane di genio e di diligenza, partendo da un sì oscuro principio,» e
si domanda col Gherardi, pensando al parapetto di ferro sul quale il
Galvani fece la sua osservazione: «Se quel parapetto fosse stato di
legno o di pietra, chi può assicurarci che avremmo un galvanismo....
e tutto il resto?»
Certo è incommensurabile l'importanza della scoperta del Volta, e ne
fanno fede le innumerevoli applicazioni che sono tanta parte ormai
delle nostre manifestazioni materiali ed intellettuali, e che sotto
forma di luce, di calore, di movimento, di trasmissione di energia a
distanza, di utilizzazione di forze naturali, di azioni terapeutiche, e
più ancora di nuove ed efficaci dottrine che simboleggiano in forma
scientifica i fenomeni della natura, in quanto hanno di più recondito,
danno alla nostra vita individuale e sociale un particolare indirizzo.
Ma pur prescindendo dal fatto che senza la rana del Galvani non vi
sarebbe forse stata la pila del Volta, mi sarà lecito di affermare che
anche la elettricità animale, che serve a rivelare l'intimo meccanismo
nutritivo dei più remoti ingranaggi di un organismo vivente è, nelle
mani del biologo, un istrumento di conquista non meno efficace di
quello che maneggiato dal fisico ha contribuito potentemente a dare
un'impronta nuova al secolo che muore. E ciò dobbiamo soprattutto
a quelli italiani che, in sullo scorcio della prima metà di questo
secolo, mentre si preparavano le armi della riscossa nazionale,
ripresero e rinnovellarono gli studi del Galvani, quasi per affermare,
una volta di più, che l'Italia non è e non sarà mai la terra dei morti,
perchè nel nostro paese anche i morti resuscitano a maggior gloria
di tutti!
APPENDICE
LE MONTÉNÉGRO
CONFERENZA
DI
C H A R L E S Y R I A R T E .
Quelles que soient les destinées réservées au peuple Monténégrin s'il
garde sa persévérance, sa sagesse et sa valeur; il devra conserver à
jamais un culte et une tendresse profonde pour l'étroite vallée et le
cirque de montagnes où il s'est refugié au moment où les Turcs,
déferlant comme une vague sur les Balkans, ont envahi la vieille
Serbie. Laissez-moi marquer ici à grands traits les étapes de son
histoire.
Dans la grande famille Serbe dispersée par l'invasion, les clans
Monténégrins, dès le moyen-âge avaient déjà eu une sorte
d'autonomie, et sa Dynastie qui régnait sur la Serbie, la famille des
Némania, avait même pris naissance dans la Zéta, qu'ils occupaient
alors. Après la sanglante Bataille de Kossovo, d'où date la dispersion,
le Prince Cernovich, incendiant le pays qu'il laissait derrière lui, se
retira avec tout ce peuple en armes dans la montagne noire, la
Cernagora. Il s'arrêta d'abord à Rieka, puis à Cettigné. Les Turcs
avancent encore, ils ont déjà pris Constantinople; la Serbie est à eux
toute entière; ils vont s'efforcer de soumettre ces réfractaires. Ils
prendront les Monténégrins à revers, et après avoir chassé les
Vénitiens de Scutari, Soliman pacha pénétrera jusqu'à Cettigné, qu'il
livre aux flammes; c'est l'apogée de la défaite. Les Monténégrins ont
désormais perdu la riche Zéta, le Brda, le Lac de Scutari, deux cents
kilomètres de rivage sur l'Adriatique; et les quatre montagnes
rocheuses où ils ont transporté leurs foyers sont tout leur domaine.
Ce sera leur citadelle, ils y conserveront toujours vivante la flamme
du patriotisme, la confiance dans leur destinée et une énergie
indomptable. Alfieri fait dire à un peuple qui gémit sous le joug:
«Esclaves.... oui, nous le sommes, mais esclaves toujours
frémissants.» Les Monténégrins n'accepteront jamais le joug; depuis
Kossovo, en 1356, jusqu'à la prise d'Antivari et de Dulcigno en 1878:
ce peuple décimé vivra dans une alerte continuelle, la main sur le
kandjiar. C'est avec le premier des Pétrovich, Danilo, à la fin du 17e
siècle que commence l'ère des grandes batailles décisives; jusque là,
ce sont des incursions rapides, des razzias, des surprises; les
montagnards fondent sur l'ennemi, ils l'envahissent, prennent des
territoires, les perdent pour les reprendre encore, et harcèlent sans
cesse. Mais tel sera désormais l'effort vers la rédemption et si
terrible l'énergie de ce peuple indomptable, que de grands empires,
la Russie et l'Autriche, voient en eux des auxiliaires hardis, et lui
proposent des alliances.
Pierre-le-Grand s'avance le premier: «L'histoire (dit-il dans son
message), nous a appris que vos anciens rois, vos princes, étaient
hautement révérés comme appartenant au noble sang slave, et que
les triomphes de leurs armes les ont rendus célèbres par toute
l'Europe jusqu'au jour fatal de leur défaite. Rendez vous dignes de
cette gloire, imitez vos illustres ancêtres; combattez pour la foi, la
patrie, la gloire, l'honneur, pour votre liberté, votre indépendance et
celle de vos fils.»
On combat en effet. L'année suivante à Carlevatz trente mille Turcs
restent sur le champ de bataille; le Musulman recule; on respire
pendant quelques années, on organise et on vit sans combattre,
mais sans désarmer. Mais prenant sa revanche, l'éternel ennemi
attaque de trois côtés à la fois avec cent-vingt-mille combattants
dont les Monténégrins vont triompher à la journée de Cevo.
Les Pétrovich ont la vie dure; le premier vient de régner soixante
ans, celui qui lui succédera dans l'histoire, Pierre Ier, est un saint et
un héros. Dès les premières années de son règne, Marie Thérèse,
étonnée à son tour de l'énergie et de la persévérance du peuple
Monténégrin, inaugure vis-à-vis de la Cernagora une politique, que
n'ont que trop bien suivi ses successeurs. Le second Pétrovich reçoit
son ambassadeur, et Radonicht, délégué Monténégrin, ira à Vienne
même dicter les conditions du traité d'alliance que l'Impératrice a
proposé. Les conditions du Monténegro sont fières.
«L'alliance sera offensive et défensive; nul servage en échange. — Si
le territoire Serbe venait à être délivré des Turcs, la Zéta supérieure,
Podgoritza, Spuz, Zabliac, le Piperi, la Brda et l'Herzégovine seraient
réunis au Monténegro qui pourra battre monnaie. Aussitôt que le
Cabinet d'Autriche sera en guerre avec la Porte, S. M. Impériale
enverra la poudre, le plomb et les armes. Si l'Autriche fait la paix
avec la Porte, les Monténégrins seront compris dans le traité.»
Après trois ans de combats et de fortunes diverses, les Autrichiens
acceptent la paix; mais comme le territoire n'a pas été délivré des
Turcs: les concessions promises par l'Autriche au Monténégro sont
lettre morte.
Pierre Ier ne se décourage point, et les Monténégrins vont attaquer
tout seuls; ils défont les Turcs sur le Lac de Scutari, dans un combat
naval et plus tard dans une rude bataille où Mohammed pacha
trouve la mort, et l'impression est telle à Constantinople que
l'indépendance pour laquelle les peuples Monténégrins ont versé
tant de sang depuis Kossovo est enfin reconnue.
Mais un nouvel ennemi, plus puissant encore, s'avance. Les Français
sont en Dalmatie; Pierre va se mesurer avec les lieutenants de
Napoléon: avec Lauriston d'abord qu'il défait, puis avec Marmont duc
de Raguse qu'il tient en échec.
Pris d'enthousiasme, le Czar Paul Ier, reprend la tradition de Pierre-
le-Grand, envoie ses présents et ses insignes à tous les Voivodes, et
alloue au Prince un subside de neuf mille ducats annuels. Mais en
acceptant simplement un appui noblement offert, le Vladika Pierre
n'a abdiqué aucun de ses droits; le gouvernement Russe s'étant un
jour immiscé dans l'administration ecclésiastique de la Principauté, le
gouverneur Vuk Radonitch et tous les serdars, voivodes, kneze,
porte-enseignes, prêtres, nobles et autres autorités protestent
respectueusement, mais avec une singulière fermeté.
«Le peuple du Monténegro et de la Brda (dit Radonitch), n'est
aucunement sujet à l'empire Russe, il se trouve seulement sous sa
protection morale, parce qu'il est de la même race, et parce qu'il a la
même foi; mais par aucune autre raison. Nous avons attachement et
fidélité et nous voulons garder ces sentiments éternellement, mais
nous défendrons de toutes nos forces la liberté dont nous avons
hérité de nos prédécesseurs, et nous mourrons plutôt l'épée à la
main, que de subir une servitude honteuse d'une puissance
quelconque.»
Pierre Ier le Saint, pouvait seul faire entendre un tel langage au Czar
de toutes les Russies. Ce Vladika, qui règne pendant quarante-huit
ans, n'a connu que des victoires; il fut aussi un civilisateur, et reste
le vrai héros de la Dynastie. Sur la hauteur qui domine Cettigné, là
où se dresse le monument que la piété d'une Monténégrine devenue
Princesse Italienne a dessiné de sa propre main en souvenir de
Danilo, fondateur de la dynastie des Pétrovich, on voudrait voir
s'élever la statue du vainqueur de Kara Mahmoud et le rival heureux
de Marmont duc de Raguse.
La grande tâche n'est pas achevée; après dix ans du règne de Pierre
II, grand poète, pacificateur, qui s'applique à adoucir les mœurs et à
propager l'instruction tout en tenant l'épée d'une main ferme; un fait
important au point de vue du gouvernement va s'accomplir. Jusqu'ici
se confondent dans la personnalité qui dirige et qui règne, le
caractère sacré du Vladika et celui du Prince. Pour devenir Vladika,
évêque, il faut être moine et renoncer au mariage; Danilo Ier qui
devait comme successeur et neveu de Pierre II assumer ce double
caractère, avait fait ses études à St Pétersbourg; il renonça à l'église,
et inaugura le pouvoir séculier. Ce règne est court, il finit par un
évènement lugubre, l'assassinat du souverain, victime d'un
fanatique: mais il reste encore inoubliable, car Danilo a la gloire
d'avoir protesté devant l'Europe contre la Turquie, relevée par la
guerre de Crimée, qui a osé dans un document parler du
Monténegro comme d'une province Turque: et aussi, deux années
après son avènement, il conduit ses troupes à Grahovo et met en
déroute l'armée Turque dans une bataille qui eut de tels résultats,
qu'on la regarde encore comme la revanche de Kossovo.
Quand Danilo tombe sous le coup d'un assassin, le prince qui règne
aujourd'hui, Nicolas Ier, son neveu, fils de ce Mirko, le héros de
Giahovo, quitte à la hâte Paris où il achève ses études au Collège
Louis-le-Grand et assume le pouvoir. Il n'a pas encore vingt ans,
mais les Monténégrins, mûris par l'exemple, avant vingt ans sont des
hommes. Chacune des étapes de ce règne, auquel il faut souhaiter
la durée de celui du premier Pétrovich, est marqué par un effort
pour l'indépendance, un progrès dans la culture, une négociation
heureuse, en même temps que Medun, Danilograd, Martinch,
Rasina-Clavica, Nicksich, Antivari et Dulcigno; sont autant de noms
de victoires coup sur coup remportées, qui forcent l'Europe à
compter avec le Monténégro.
Le pays ne sera plus réduit à sa plaine étroite et aux quatre
montagnes; vers la vieille Servie il a des plaines fertiles; la Zéta, la
Brda lui appartiennent, il a pris de l'essor du côté de Scutari, et les
princes aux longs règnes ont fini par tailler à coup d'épée dans la
terre Serbe une principauté nouvelle. Cette principauté cependant
n'est point encore le prix du sang, ni le territoire sur lequel on
régnait cinq siècles auparavant. Berlin a effacé San Stefano. Depuis
lors on s'est réfugié dans le travail sans sacrifier ses espérances:
l'ère de la paix est celle des progrès, et une grande œuvre est
accomplie. Le Soldat s'est fait Législateur, le code monténégrin est
promulgué. Un juriste fameux, Bogisïc, sous l'inspiration du Prince, a
recueilli les règles du Droit coutumier, appliquées naïvement jusque
là par le peuple. Cette sagesse du Prince, cette prudence alliées à
une énergie qui n'abdique point; ont eu leur récompense dans de
grandes alliances qui n'ont pas eu seulement la politique et l'intérêt
pour base, mais qui se trouvaient d'accord avec les raisons du cœur.
*
*
*
Quelles seront les habitudes, les tendances, l'aspect, le caractère
d'un peuple dont l'histoire n'est qu'une longue «vendetta» et une
perpétuelle revendication?
Le voyageur qui aborde le Monténégro par les bouches de Cattaro,
après avoir gravi les soixante lacets taillés dans le roc qui donnent
accès à la Montagne Rocheuse, s'avance désormais vers Niégouz et
Cettigné sans rouler comme autrefois sur sa selle avec les pierres du
chemin. L'homme a dompté la nature; des routes nouvelles donnent
un accès facile jusqu'à la frontière de Serbie; l'extension de la carte
du pays a fait la vie moins rude. Si la montagne est aride de Cattaro
à la plaine, le pays frontière de la vieille Serbie est fertile: quelques
parties sont même riantes comme une petite Brianza. La Zéta,
Vassoacwitz, Kolaschi, Niksich, et les bords du lac de Scutari, sont
des lieux pleins d'aménité, qui contrastent avec la montagne.
On sait que la terre donne peu de blé, mais le maïs abonde, comme
la pomme de terre, et la sécheresse est toujours le grand ennemi.
Au fond le pays est surtout pastoral et partout où la montagne est
verte, le grand et le petit bétail abondent; aux temps héroïques les
clans se disputaient tel ou tel revers de montagne, où la verdure
était grasse et épaisse.
C'est par le bétail que le Monténégrin vit et s'enrichit; par le tabac,
par le sumak, cet arbuste dont la feuille sert à la tannerie tandis que
son bois est utile à la teinture, par les pêcheries de Stekline au lac
de Scutari, qui produit une sorte de sardine très demandée en
Albanie et qui s'écoule aussi dans l'Italie méridionale et en Serbie.
De ces divers produits, le tabac est le plus avantageux,
régulièrement vendu par le gouvernement à la régie autrichienne qui
y trouve son compte. Mais l'empire d'Autriche a fermé sa nouvelle
frontière au bétail Monténégrin, et établi des cordons
infranchissables, il fait une guerre de tarifs à outrance. Tout bœuf
qui passe la frontière paie dix-huit florins de droits — c'est-à-dire —
presque autant que le prix de l'animal même. Il a fallu s'ingénier,
chercher des nouveaux débouchés. En Italie, à Brindisi et Bari; à
Marseille, où s'est créé une Chambre de commerce.
Au point de vue industriel, les scieries mécaniques fonctionnent là où
l'eau abonde, comme aussi la meunerie, pour la farine. Une fabrique
d'armes pourvoit sinon à l'armement au moins à son entretien, et les
routes, sans parler de la grande voie qui de Cattaro se continue
jusqu'à Pogdoritza, sont amorcées partout à la fois, en même temps
que les anciens forts turcs des Iles de Scutari, démantelés,
permettent un service régulier entre Rieka et Scutari. Un service de
poste, très sérieusement établi, sévèrement surveillé, et d'une
parfaite régularité facilite les relations et les échanges.
*
*
*
Voyons l'homme dans le Pays. Toujours soldat au fond, le
Monténégrin est resté fier et d'aspect réservé; riche ou pauvre, il a
de la dignité dans l'accueil et exerce l'hospitalité avec simplicité, son
type est noble et grave. Comme nous nous étonnions de voir dans
un clan tant d'hommes de belle allure, un chirurgien militaire nous fit
observer que la nature ici, fait sa sélection l'hiver, dans la montagne;
les faibles s'en vont, les forts restent seuls et grandissent. Le peuple
est pasteur, agriculteur, éleveur et la culture de la terre ennoblit: il a
horreur du petit commerce, et des petits métiers assis, les brodeurs,
les vendeurs. Il fait fi de certains travaux manuels, ne porte pas
volontiers de fardeaux et laisse les petits négoces aux Albanais
venus de Scutari. Il aime passionnément la musique, les récits faits à
voix basse, il murmure d'une voix gutturale des chants épiques d'un
rhytme triste et d'un ton voilé.
On connait le costume du Pays, élégant, de couleur claire avec
quelques taches sonores, et complété par des armes brillantes.
L'arme exerce sur le Monténégrin une séduction irrésistible, il ne se
sépare jamais de son arsenal. Un fusil, un revolver nouveau modèle
l'enchante, il les convoite et les admire. L'enfant lui-même dès qu'il
est armé se redresse plus fier. Quand j'étais là, on s'efforçait de
recruter une bande de petits musiciens; mais souffler sans gloire
dans un turlututu, et marcher sans fusil à l'épaule ou sans pistolet à
la ceinture répugnait à ces adolescents. On les arma d'un Martini, et
le clairon retentit bientôt dans la montagne. Il est singulier que
toujours armé ainsi, le sang ne coule presque jamais, et les prisons
soient presque vides. Le Pays n'a pas de pauvres, la sobriété est la
règle, l'ivresse est très rare, la porte du logis peut toujours rester
ouverte, car le vol est honteux et impossible par l'absence absolue
du réceleur.
Avec le temps, grâce aux princes qui s'y sont tous appliqué, une
certaine férocité native — reste d'atavisme des époque épiques, et
des combats des ancêtres, qui se développait par les luttes nouvelles
soutenues par chaque génération — peu à peu s'est apaisée et
attendrie. La Vendetta, cette plaie des familles, passe au domaine de
l'histoire, comme aussi cette habitude chez les Monténégrins, à l'âge
où on croit à l'amitié éternelle, de se choisir un frère de sang, un
Pobratim, union touchante de deux jeunes hommes, qu'aucun lien
de famille unit, qui échangent leur sang et leurs armes en récitant la
prière «l'Adelfo poisio» devant le prêtre, et jurent de périr l'un pour
l'autre, et de s'entr'aider même au péril de leur vie. Quand le pouvoir
central existe, c'est la loi qui doit venger l'injure, la Vendetta est
donc devenu un crime. Quant au Pobratimat un voyageur poète peut
le regretter. Mais il faut considérer que contracté entre deux
Monténégrins de deux clans différents entraînait souvent deux
levées de boucliers et déchaînait les luttes fratricides. La vengeance
aujourd'hui est l'œuvre de la justice.
*
*
*
La Monténégrina, montagne ou plaine, est-elle belle? ou simplement
jolie? — Un Français répondrait: elle est bien pire. Elle a de l'Orient
l'expression grave qui inspire le respect, une grâce touchante, une
absence complète d'affeterie ou de manière, un teint mat, qui chez
la femme riche ou aisée que la bise et le hâle n'ont pas flétri, garde
souvent une belle pâleur d'ivoire, souvent frêle et délicate, sous des
apparences de faiblesse son énergie a fait de la femme l'auxiliaire de
l'homme dans les combats.
Chez les paysannes de nos champs la démarche est souvent lourde,
le geste gauche, l'expression dénuée de pensée et les yeux sans
flamme: la Monténégrine a souvent dans le regard comme un reflet
de la poésie des légendes de sa patrie, de la tristesse d'une race qui
a longtemps lutté et souffert. Cermak, l'artiste serbe, un patriote qui
chaque fois le Monténégrin passait la frontière et se soulevait contre
le joug, abandonnait Paris pour courir au danger, nous revint un jour
mutilé de la Cernagora, a bien fixé son image et l'a associée aux
actes virils de revendication dans des toiles pleines de talent.
Ferogio, un Italien qui vivait aussi parmi nous, a recueilli tous les
types et illustré tous les actes de la vie du peuple, et mieux que
personne a montré la beauté de la silhouette, les fières attitudes, le
geste simple et toujours noble de la population rurale ou
montagnarde.
La femme monténégrine cependant, est douce, résignée, fidèle; tout
son horizon est au foyer, on ne la voit au bras de l'époux que les
jours de fête, elle attend un mot ou un signe, elle le devine et ose à
peine le prévenir. Si on s'en tenait aux apparences on dirait que
l'homme, à côté du respect, lui inspire la crainte, et dans le recueil
des dictons Monténégrins d'un autre âge, qui s'appliquent à la
femme, quelques uns ne sont pas à la louange de l'homme. On
reproche aux Monténégrins du peuple son indolence aux durs
travaux, sa tendance à laisser à sa compagne ceux qui sont les plus
pénibles; et les yeux du voyageur au détour de la route, dans la
montagne ou dans la plaine, sont parfois attristés en les voyant plier
sous de lourds fardeaux.
Mais cette femme est respectée et protégée par le droit coutumier,
devenu code civil, plus qu'en aucun pays de l'Europe. Le voyageur
de la Ballade de Schubert, celui «qui passe en chantant et qui part
sans regret», s'il pénétrait dans la famille rurale, assisterait à un
spectacle vraiment touchant. Qui n'a vu chez les peuples qui se
piquent de tenir la tête de la civilisation, à la mort du chef de la
famille, sous la loi du Majorat, ou même dans les maisons moins
fortunées, la veuve en cheveux blancs s'en aller solitaire, et laisser à
son fils et à sa jeune épouse le foyer où sa vie s'est écoulée, dans
un luxe devenu une habitude, dans une affection devenue un
besoin? Qui n'a rencontré sur sa route, surtout dans votre beau
pays, où ceux dont la vie est solitaire essaient de combler par la vue
des chefs-d'œuvre et la clemence du climat, le vide d'une existence,
sans amour et sans hyménée, — une sœur qui a quitté elle aussi le
foyer de son frère?
Ici, la loi est la communauté; le père est le chef, chacun doit son
travail à la famille toute entière et la part de chacun est la même.
Tout appartenant à tous, chacun a droit à tout son entretien, et
puise par part égale au bien commun. Si l'un des membres commet
un délit et une faute, tous le réparent, et paient l'amende — sauf à
mettre au compte du coupable, au jour du partage, le dommage
qu'il a causé.
Cependant le Pécule est personnel à l'individu, et nous entendons,
par pécule, tout résultat d'un travail fait à moments perdus et
autorisé par tous, comme aussi tout profit qui est acquis sans travail,
c'est-à-dire, un don du père retiré de la communauté après avoir pris
ce qui lui revient en partage et dont il dispose à son gré, un don du
Prince, une arme, une étoffe, une somme d'argent, tout gain enfin
qui est le résultat soit de hasard, soit de la sympathie inspirée, soit
d'une action méritoire et personnelle.
L'âge venu de s'unir à une famille nouvelle, il est permis à la jeune
fille, en dehors du travail en commun pour l'avantage de tous, de
travailler pour elle-même; et on fermera les yeux. A partir de ce jour
on la laisse augmenter son pécule, le père, la mère, le frère peuvent
y ajouter une part du leur, mais du leur seul, selon le penchant que
chacun d'eux a pour celle qui va les quitter.
Dans la nouvelle famille où elle entre elle a le privilège de la même
loi. Et cette fois sa dot, c'est-à-dire son Pécule, lui appartient
absolument; elle en dispose sans réserve; elle n'a nulle formalité à
remplir, nulle signature à obtenir; elle est personnalité civile.
Mais nous ne sommes pas dans ces républiques idéales qui ont pour
base la perfection de l'homme. Dans cette communauté nouvelle où
elle entre, toute injustice ou tout outrage à ce nouveau venu
déchaînait autrefois la vendetta de la communauté primitive; alors le
sang coulait. Le pouvoir du prince, centralisé désormais, ayant
absorbé le pouvoir du clan, c'est la loi désormais qui venge. La loi
seule, et un Prince au cœur tendre, à l'âme juste, et à la main
ferme.
Cependant cette jeune femme est devenue veuve, le lien est rompu;
que deviendra-t-elle? Elle a le droit de rester dans sa nouvelle famille
sous les mêmes conditions, comme elle peut aussi revenir à
l'ancienne avec le même sort — à moins cependant qu'au moment
de contracter le mariage, son père lui ait donné la part à laquelle il
avait droit en quittant la communauté, s'il s'en est séparé.
Ainsi donc, enfant et jeune fille, la femme est membre de la
communauté. Mariée elle garde les mêmes droits dans la nouvelle,
et pour mieux cimenter cette union, chaque famille ayant un patron,
— prenons St. Pierre puisqu'il a des clefs, et peut ouvrir bien des
portes, ou St. Nicolas, qui aime bien les enfants, — elle abandonne
son patron, celui de la communauté et se fait adopter par celui de sa
famille nouvelle.
*
*
*
Après tant de combats, quand tout convergeait vers l'attaque ou la
défense, voyons ce qu'on a fait pour l'instruction publique.
C'est seulement on 1852, quand Danilo II a pris le pouvoir, qu'on a
organisé et décrété l'école d'abord dans les villes et les villages de la
montagne noire, et après la bataille de Grahovo dans les régions
conquises. Tout-à-fait primaires d'abord les écoles ont un cours de
trois ou quatre ans. A Cettigné un gymnase s'est ouvert, qui se
transforme après quatre ans d'étude, et devient école normale. Une
classe de théologie permet de recruter les prêtres dont on limite le
nombre à la seule nécessité du diocèse. Plus tard pour les sujets
avancés, bien doués, avides d'apprendre et assez fortunés pour
promettre au pays des esprits ouverts, capables de faire progresser;
on a la ressource des missions temporaires à l'étranger. L'enfant du
village va à l'école, et c'est un charme de voir partout, dans les
étroits chemins de la montagne, au carrefour des routes, les petits
monténégrins avec le carton et l'ardoise en bandoulière, prenant le
chemin des écoliers et s'arrêtant pour cueillir une fleurette dans la
fente d'un rocher.
Pour les jeunes filles, les demoiselles qui ont des aspirations plus
hautes que le village, filles de Voivodes et de riches propriétaires,
s'ouvre une institution fondée par l'Impératrice veuve d'Alexandre II,
avec des professeurs distingués, six ans de cours, l'internat, un
niveau élevé qui va croissant avec le temps. On y cultive d'office les
trois langues: le Serbe, le Russe, le Français, et la connaissance des
trois littératures, et souvent l'Italien: grâce aux relations de famille et
de voisinage.
*
*
*
Pour l'instruction militaire, notre école nationale de St.-Cyr fut parfois
celle où des aides-de-camp du Prince ont appris le métier des armes,
et plus tard sont devenus aptes à la direction des divers services
administratifs, toujours prêts d'ailleurs à échanger la plume contre
l'épée aux jours de péril. Aujourd'hui, c'est l'Italie, Modène, qui est
l'école, la pépinière des officiers, fondus au retour dans l'armée
indigène, ils l'encadrent, sans émousser le caractère offensif du
soldat monténégrin et lui faire perdre sa personnalité de combattant.
Trois aides-de-camp, deux officiers d'ordonnance, le capitaine des
Périaniks, ou gardes du corps, forment un Etat major personnel au
Prince. Une grande caserne s'est élevé à Cettigné, une école militaire
à Pogdoritza, pour les sous-officiers, et un bataillon régulier reste
permanent. Le fond de la défense nationale étant la milice légère,
qui se mobilise, pour ainsi dire, d'instinct. On peut compter à
l'effectif, au moins 45 bataillons compacts et bien armés. Nous nous
souvenons d'avoir assisté jadis aux évolutions d'un escadron bien
monté — le noyau subsiste, mais la nature du pays proteste et le
cavalier, comme masse militaire, n'a pas sa raison d'être, vu la
nature du Pays.
*
*
*
Nous constaterons encore d'autres innovations, si j'en crois un de
mes jeunes amis, un grand voyageur, nouvellement revenu du Pays
dont les lettres de crédit avaient pour unique objet de saluer de ma
part S. A. le prince Nicolas, et de chanter pour moi le «Cari luoghi» à
la montagne Noire. Celui-ci m'a assuré qu'il s'était couvert de gloire
au Lawn Tennis de Cettigné où il avait eu pour partner des dames du
corps diplomatique, des jupes de Laferrière, des manches bouffantes
de Mme Pacquin et des chapeaux de chez Virot. — C'est la loi du
progrès. — Les nouvelles routes de Cettigné à la frontière sont
désormais propices à la byciclette: un jour ou l'autre on importera le
polo et l'automobile, qui ne rappelle que de loin les temps de la
chevalerie.
Cependant le Pays tient à ses coutumes. Le costume national reste
en honneur partout, le trésor des poésies populaires, des chants
épiques, chants de gloire, de guerre et d'amour, histoire vivante,
sont une source féconde qui ne tarit jamais. Il y a toujours dans
chaque ancien clan quelque Barde errant qui chante au son de la
Guzla au détour de la route ou sous l'orme des vallées et souvent le
chantre est aveugle, comme Homère; il dit et redit des poésies, qui
restent presque toujours anonymes, et semblent portées sur l'aile du
vent de montagne en montagne ou répercutées par un écho comme
celles des recueils de Vuk Stefanovich que Tommaseo vous a fait
connaître.
Pierre II Pétrovich, le grand chantre de la Cernagora employait dans
ses poësies le décasyllabe qui ne recherche point la rime mais la
donne parfois, quand la raison l'appelle. Le Prince qui règne
aujourd'hui à la fois soldat, législateur et poëte, auteur de
«l'Impératrice des Balkans» devenu populaire, en fixant en vers de
huit syllabes, le caractère de chacune des tribus monténégrines; a
faite cette poësie plus personnelle, c'est la poësie littéraire avec la
strophe de quatre vers de la Poësie Ragusaine, qui garde à ces
chants leur caractère à la fois tendre et épique.
«Si j'avais recueilli toutes les fleurs dont ta main a jonché le chemin
de ma vie (dit le Prince Poëte à celle qui partage son trône, en lui
dédiant son œuvre); si j'en avais respiré tout le parfum: j'en aurais
pu faire un poème si beau, un livre ailé tel que jamais le monde n'en
eût lu de pareil.... j'eus mieux chanté l'amour, l'intelligence et j'aurais
pu écrire un livre tout entier rien qu'en y recueillant toutes les vertus
de ton âme qui resplendissent comme un diadème impérial.»
En entendant parler ainsi le Père, vous reconnaissez l'Épouse et la
Mère, et vous devinez celle dont les destinées sont désormais les
vôtres.
Quelque rapide qu'ait été l'hommage que j'ai voulu rendre aux
Monténégrins, il n'était peut-être pas inutile qu'une voix et un cœur
français vinssent ici confondre dans la même sympathie et les
mêmes vœux de prospérité la Cernagora, l'Italie et.... la France.
NOTE:
1. V. son Voyage d'Italie.
2. Lettre à Fontanes du 20 janvier 1804, insérée dans le Voyage d'Italie.
3. Les martyrs, Ve livre.
4. Lettre précitée à Fontanes.
5. Mémoires d'outre-tombe, p. 121, 122, 123 du Ve vol. dans la récente
édition Garnier.
6. Discours du 2 janvier 1848, p. 122-123 et 144 du Ve vol. de l'édition de
ses Discours publiée par L. Ulbach en 1865.
7. Discours précité.
8. Discours précité.
Osgi in Action Creating Modular Applications in Java Unedited Draft 1st Edition Richard Hall
Welcome to our website – the ideal destination for book lovers and
knowledge seekers. With a mission to inspire endlessly, we offer a
vast collection of books, ranging from classic literary works to
specialized publications, self-development books, and children's
literature. Each book is a new journey of discovery, expanding
knowledge and enriching the soul of the reade
Our website is not just a platform for buying books, but a bridge
connecting readers to the timeless values of culture and wisdom. With
an elegant, user-friendly interface and an intelligent search system,
we are committed to providing a quick and convenient shopping
experience. Additionally, our special promotions and home delivery
services ensure that you save time and fully enjoy the joy of reading.
Let us accompany you on the journey of exploring knowledge and
personal growth!
ebookultra.com

Contenu connexe

PPT
Presentation Spring
PPT
Présentation OSGI
PDF
Support JEE Spring Inversion de Controle IOC et Spring MVC
PPTX
Devoxx 2017 : toutes les actualités technologiques à surveiller !
PDF
Mémoire de Licence, site web dynamique sous JEE, application aux entreprises ...
PDF
Tutoriel java
PPT
M1 presentation OSGi
PDF
Beginning EJB 3: Java EE 7 Edition Jonathan Wetherbee
Presentation Spring
Présentation OSGI
Support JEE Spring Inversion de Controle IOC et Spring MVC
Devoxx 2017 : toutes les actualités technologiques à surveiller !
Mémoire de Licence, site web dynamique sous JEE, application aux entreprises ...
Tutoriel java
M1 presentation OSGi
Beginning EJB 3: Java EE 7 Edition Jonathan Wetherbee

Similaire à Osgi in Action Creating Modular Applications in Java Unedited Draft 1st Edition Richard Hall (20)

PPTX
Common features in webapi aspnetcore
PDF
Build Web Applications With Java Learn Every Aspect To Build Web Applications...
PDF
Du développement à la livraison avec JavaFX et le JDK9
PDF
Cours spring
PDF
Calculus System Academy:Devenez un développeur Full stack
ODP
20100225 Ippon Osgi Are You Ready
PDF
Etude des Frameworks PHP
PDF
Framework JavaScript Web - Brief techno
PDF
Processus d’intégration continue et outils
PPTX
Javavs net
PDF
Calculus System Academy:Devenez un développeur Full stack
PDF
Enterprise JavaBeans 3rd Edition Richard Monson-Haefel
DOCX
Java j2ee
DOCX
conception et réalisation plateforme collaboratif basant sur la methode agile...
PDF
Introduction à Spring.pdf
PPTX
Eclipse Impress
PPTX
Introduction JavaEE
PPTX
Sonar-Hodson-Maven
PDF
Chap 02 poo en java
Common features in webapi aspnetcore
Build Web Applications With Java Learn Every Aspect To Build Web Applications...
Du développement à la livraison avec JavaFX et le JDK9
Cours spring
Calculus System Academy:Devenez un développeur Full stack
20100225 Ippon Osgi Are You Ready
Etude des Frameworks PHP
Framework JavaScript Web - Brief techno
Processus d’intégration continue et outils
Javavs net
Calculus System Academy:Devenez un développeur Full stack
Enterprise JavaBeans 3rd Edition Richard Monson-Haefel
Java j2ee
conception et réalisation plateforme collaboratif basant sur la methode agile...
Introduction à Spring.pdf
Eclipse Impress
Introduction JavaEE
Sonar-Hodson-Maven
Chap 02 poo en java
Publicité

Dernier (20)

PPTX
Leçon inaugurale2.ministere. enseignant.
PPTX
Le rendez-vous de l'été.pptx Film français
PDF
585-developpement-d-une-application-avec-python-fr-en-business.pdf
PPTX
SESSION4-SUPPORT-DE-COURS-FLEC-(Future leader en énergie au Cameroun)-CECOSDA...
PDF
🎓 Le Secret des Profs Captivants - 💡 3.1. Anatomie de la respiration — VOIX, ...
PPT
Etalonnage de débitmètres.Champ d'application
PPT
Les moyens de transport-2023.ppt french language teaching ppt
PPT
Formation ESPACESCONFINES_ Rôle et responsabilité.ppt
PDF
Bac 2026 - Livre - 🎤 Le Grand Oral - ✍️Exemples rédigés - Spécialité: 💻 NSI -...
PDF
CLASE 2 TRAIN voacublaire en rancaise.pdf
PPTX
Présentation Projet Entreprise Minimaliste Moderne Sobre Blanc Noir.pptx
PPTX
SESSION2-SUPPORT-DE-COURS-FLEC-(Future leader en énergie au Cameroun)-CECOSDA...
PPT
le-subjonctif-présent, Grammaire, français
PDF
rédigés - Spécialité: 📊 Mathématique - Extrait
PPTX
requiredkjshajhsaalksasjashaaisj kajshakha
PDF
Bac 2026 - Livre - 🎤 Le Grand Oral - ✍️ Exemples rédigés - 📈 SES - Extrait
PDF
Consignes générales sécurité et environnement.pdf
PPTX
Copie de Présentation Personal Branding J2025.pptx_20250610_120558_0000.pptx
DOC
Vocabulaire pour la description II - Francais Free Lesson-
PDF
Présentation de jfjjfnflfkfkfkhdbhdhhdhd
Leçon inaugurale2.ministere. enseignant.
Le rendez-vous de l'été.pptx Film français
585-developpement-d-une-application-avec-python-fr-en-business.pdf
SESSION4-SUPPORT-DE-COURS-FLEC-(Future leader en énergie au Cameroun)-CECOSDA...
🎓 Le Secret des Profs Captivants - 💡 3.1. Anatomie de la respiration — VOIX, ...
Etalonnage de débitmètres.Champ d'application
Les moyens de transport-2023.ppt french language teaching ppt
Formation ESPACESCONFINES_ Rôle et responsabilité.ppt
Bac 2026 - Livre - 🎤 Le Grand Oral - ✍️Exemples rédigés - Spécialité: 💻 NSI -...
CLASE 2 TRAIN voacublaire en rancaise.pdf
Présentation Projet Entreprise Minimaliste Moderne Sobre Blanc Noir.pptx
SESSION2-SUPPORT-DE-COURS-FLEC-(Future leader en énergie au Cameroun)-CECOSDA...
le-subjonctif-présent, Grammaire, français
rédigés - Spécialité: 📊 Mathématique - Extrait
requiredkjshajhsaalksasjashaaisj kajshakha
Bac 2026 - Livre - 🎤 Le Grand Oral - ✍️ Exemples rédigés - 📈 SES - Extrait
Consignes générales sécurité et environnement.pdf
Copie de Présentation Personal Branding J2025.pptx_20250610_120558_0000.pptx
Vocabulaire pour la description II - Francais Free Lesson-
Présentation de jfjjfnflfkfkfkhdbhdhhdhd
Publicité

Osgi in Action Creating Modular Applications in Java Unedited Draft 1st Edition Richard Hall

  • 1. Osgi in Action Creating Modular Applications in Java Unedited Draft 1st Edition Richard Hall download https://ebookultra.com/download/osgi-in-action-creating-modular- applications-in-java-unedited-draft-1st-edition-richard-hall/ Explore and download more ebooks or textbooks at ebookultra.com
  • 2. We have selected some products that you may be interested in Click the link to download now or visit ebookultra.com for more options!. Enterprise OSGi in Action With examples using Apache Aries Holly Cummins https://ebookultra.com/download/enterprise-osgi-in-action-with- examples-using-apache-aries-holly-cummins/ Modular Java 1st Edition Craig Walls https://ebookultra.com/download/modular-java-1st-edition-craig-walls/ Java Internationalization Creating International Applications Java Series First Edition David Czarnecki https://ebookultra.com/download/java-internationalization-creating- international-applications-java-series-first-edition-david-czarnecki/ Integrative Psychotherapy in Action Richard G Erskine https://ebookultra.com/download/integrative-psychotherapy-in-action- richard-g-erskine/
  • 3. Java Persistence with Hibernate Second Edition of Hibernate in Action Christian Bauer https://ebookultra.com/download/java-persistence-with-hibernate- second-edition-of-hibernate-in-action-christian-bauer/ Professional Flash Mobile Development Creating Android and iPhone Applications 1st Edition Richard Wagner https://ebookultra.com/download/professional-flash-mobile-development- creating-android-and-iphone-applications-1st-edition-richard-wagner/ Consumed by War European Conflict in the 20th Century Richard C. Hall https://ebookultra.com/download/consumed-by-war-european-conflict-in- the-20th-century-richard-c-hall/ Quantum Dots Applications in Biology 1st Edition Richard L. Ornberg https://ebookultra.com/download/quantum-dots-applications-in- biology-1st-edition-richard-l-ornberg/ POJOs in Action Developing Enterprise Applications with Lightweight Frameworks 1st Edition Chris Richardson https://ebookultra.com/download/pojos-in-action-developing-enterprise- applications-with-lightweight-frameworks-1st-edition-chris-richardson/
  • 5. Osgi in Action Creating Modular Applications in Java Unedited Draft 1st Edition Richard Hall Digital Instant Download Author(s): Richard Hall, Karl Pauls, Stuart McCulloch, David Savage ISBN(s): 9781933988917, 1933988916 Edition: 1 File Details: PDF, 4.90 MB Year: 2011 Language: english
  • 6. ©Manning Publications Co. Please post comments or corrections to the Author Online forum: http://www.manning-sandbox.com/forum.jspa?forumID=507
  • 7. MEAP Edition Manning Early Access Program Copyright 2010 Manning Publications For more information on this and other Manning titles go to www.manning.com ©Manning Publications Co. Please post comments or corrections to the Author Online forum: http://www.manning-sandbox.com/forum.jspa?forumID=507
  • 8. Table of Contents 1. OSGi Revealed 2. Mastering Modularity 3. Learning Lifecycle 4. Studying Services 5. Delving Deeper into Modularity 6. Moving Toward Bundles 7. Managing Bundles and Applications 8. Testing Applications 9. Debugging Applications 10. Component Models 11. Launching and Embedding an OSGi Framework 12. Security 13. Web Applications and Services ©Manning Publications Co. Please post comments or corrections to the Author Online forum: http://www.manning-sandbox.com/forum.jspa?forumID=507
  • 9. 1 OSGi Revealed The Java™ platform is an unqualified success story. It is used to develop applications for small mobile devices to massive enterprise endeavors. This is a testament to its well thought out design and continued evolution. However, this success has come in spite of the fact that Java does not have explicit support for building modular systems beyond ordinary object- oriented data encapsulation. So, what does this mean to you? If Java is a success despite its lack of advanced modularization support, then you might wonder if its absence is a problem. Most well managed projects have to build up a repertoire of comparable, but project specific, techniques to compensate for the lack of modularization in Java. These include:  Programming practices,  Tricks with multiple class loaders, and  Serialization between in-process components. However these techniques are inherently brittle and error prone since they are not enforceable via any specific compile-time or run-time checks. The end result has detrimental impacts on multiple stages of an application's lifecycle:  Development – you are unable to clearly and explicitly partition development into independent pieces.  Deployment – you are unable to easily analyze, understand, and resolve requirements imposed by the collection of independently developed pieces that make up the system.  Execution – you are unable to manage and evolve the constituent pieces of a running system, nor minimize the impact of doing so. It is definitely possible to manage these issues in Java, and lots of projects do so using the custom techniques mentioned above, but it is much more difficult than it should be. We're tying ourselves in knots to work around the lack of a fundamental feature. If Java had explicit support for modularity, then you would be freed from such issues and could ©Manning Publications Co. Please post comments or corrections to the Author Online forum: http://www.manning-sandbox.com/forum.jspa?forumID=507
  • 10. concentrate on what you really want to do, which is developing the functionality of your application. Welcome to the OSGi™ Service Platform. The OSGi Service Platform is an industry standard defined by the OSGi Alliance to specifically address the lack of support for modularity in the Java platform. Additionally, it also introduces a new service-oriented programming model, referred to by some as “SOA in a VM.” This chapter will give you an overview of the OSGi Service Platform and the issues it is intended to address. Once we have finished this chapter we will have enough background knowledge to start digging into the details in chapter 2. 1.1 The what and why of OSGi The sixty-four-thousand dollar question is, “What is OSGi?” The simplest answer to this question is it is a modularity layer for the Java platform. Of course, the next question that might spring to mind is, “What do you mean by modularity?” Here we use modularity more or less in the traditional computer science sense, where the code of your software application is divided into logical parts representing separate concerns as in Figure 1.1.1. If your software is modular, then you can simplify development and improve maintainability by enforcing the logical module boundaries; we will discuss more modularity details in Chapter 2. The notion of modularity is not new. The concept actually became fashionable back in the 1970s. So, why is OSGi all the rage right now? To better understand what OSGi can do for you, it is worthwhile to understand what Java is not doing for you with respect to modularity. Once you understand that, then you can see how OSGi can help. 1.1.1 Java's modularity limitations Java was never intended to support modular programming, so we admit that criticizing its inability to do so is a little unfair. Java has been promoted as a platform for building all sorts ©Manning Publications Co. Please post comments or corrections to the Author Online forum: http://www.manning-sandbox.com/forum.jspa?forumID=507 Figure 1.1.1 Modularity refers to the logical decomposition of a large system into smaller collaborating pieces Module A Module B Module C uses uses uses u s e s
  • 11. of applications for all sorts of domains ranging from mobile phone to enterprise applications. Most of these endeavors require, or could at least benefit from, modularity, so Java's lack of explicit support does cause some amount of pain for developers. From this point of view, we do feel the following criticisms are valid. LOW-LEVEL CODE VISIBILITY CONTROL While Java provides a fair complement of access modifiers to control visibility (e.g., public, protected, private, and package private), these tend to address low-level object- oriented encapsulation and do not really address logical system partitioning. Java has the notion of a package, which is typically used for partitioning code. For code to be visible from one Java package to another, the code must be declared public (or protected if using inheritance). Sometimes the logical structure of your application calls for specific code to belong in different packages, but then this means any dependencies among the packages must be exposed as public, which makes it accessible to everyone else too. Often this can expose implementation details, which makes future evolution more difficult since users may end up with dependencies on your non-public API. To illustrate this, let's consider a trivial hello world application that provides a public interface in one package, a private implementation in another and a main class in yet another. Listing 1.1.1 Trivial example of the limitations of Java's object-orientated encapsulation package org.foo.hello; public interface Greeting { #1 void sayHello(); } package org.foo.hello.impl; import org.foo.hello.Greeting; public class GreetingImpl implements Greeting { final String m_name; public GreetingImpl(String name) { #2 m_name = name; } public void sayHello() { System.out.println("Hello, " + m_name + "!"); } } package org.foo.hello.main; import org.foo.hello.Greeting; import org.foo.hello.impl.GreetingImpl; ©Manning Publications Co. Please post comments or corrections to the Author Online forum: http://www.manning-sandbox.com/forum.jspa?forumID=507
  • 12. public class Main { public static void main(String[] args) { Greeting greet = new GreetingImpl(“Hello World”); #3 greet.sayHello(); } } I n Listing 1.1.1, the author may have intended a third party to only interact with the application via the Greeting interface at (#1). He or she may mention this in Javadoc, tutorials, blogs, or even email rants, but there is nothing actually stopping a third party from constructing a new GreetingImpl using its public constructor at (#2) as is done at (#3). You might argue that the constructor should not be public and there is no need to split the application into multiple packages, which could well be true in this trivial example. But in real-world applications class-level visibility when combined with packaging turns out to be a very crude tool for ensuring API coherency. Seeing how a supposedly private implementation can be accessed by third-parties developers, now you need to worry about changes to private implementation signatures as well as that of public interfaces when making updates. This problem stems from the fact that although Java packages appear to have a logical relationship via nested packages, they actually do not. A common misconception for people first learning Java is to assume that the parent-child package relationship bestows special visibility privileges on the involved packages. Two packages involved in a nested relationship are equivalent to two packages that are not. Nested packages are largely useful for avoiding name clashes and provide only partial support for the logical code partitioning. What this all means is in Java you are regularly forced to decide between: 1. Impairing your application's logical structure by lumping unrelated classes into the same package to avoid exposing non-public API or 2. Keeping your application's logical structure by using multiple packages at the expense of exposing non-public API so it can be accessed by classes in different packages. Neither choice is particularly palatable. ERROR-PRONE CLASS PATH CONCEPT The Java platform also inhibits good modularity practices. The main culprit is the Java class path. Why does the class path pose problems for modularity? Largely due to all of the issues that it hides, such as code versions, dependencies, and consistency. Applications are generally composed of various versions of libraries and components. The class path pays no attention to code versions, it simply returns the first version that it finds. Even if it did pay attention, there is no way to explicitly specify dependencies. The process of setting up your class path is largely trial and error; you just keep adding libraries until the VM stops complaining about missing classes. ©Manning Publications Co. Please post comments or corrections to the Author Online forum: http://www.manning-sandbox.com/forum.jspa?forumID=507
  • 13. Figure 1.1.2 shows the sort of “class path Hell” that can often be found when more than one JAR file provides a given set of classes. Even though each JAR file may have been compiled to work as a unit, when merged at run time the Java class path pays no attention to the logical partitioning of the components. This tends to lead to such hard to predict errors, such as NoSuchMethodError, when a class from one JAR file interacts with an incompatible class from another one. In large applications, created from independently developed components, it is not uncommon to have dependencies on different versions of the same component, such as logging or XML parsing mechanisms. The class path forces you to choose just one version in such situations, which may not always work for all parts of the application if there are incompatibilities between versions. Worse, if you happen to have multiple versions of the same package on the class path, either on purpose or accidentally, they are treated as split packages by Java and are implicitly merged based on order of appearance. Overall, the class path approach lacks any form of consistency checking. You just get whatever classes have been made available by the system administrator, which is very likely only an approximation of what the developer actually expected. This hardly inspires confidence. LIMITED DEPLOYMENT AND MANAGEMENT SUPPORT Java also lacks support when it comes to deploying and managing your application. There is no easy way in Java to deploy the proper transitive set of versioned code dependencies and execute your application. Likewise for evolving your application and its components after deployment. Consider the common requirement of wanting to support a dynamic plugin mechanism. The only way to achieve such a benign request is to use class loaders, which are low level and error prone. Class loaders were never intended to be a common tool for application developers, but so many of today's systems require their use. A properly defined modularity layer for Java can deal with these issues by making the module concept explicit and raising the level of abstraction for code partitioning. ©Manning Publications Co. Please post comments or corrections to the Author Online forum: http://www.manning-sandbox.com/forum.jspa?forumID=507 Figure 1.1.2 Multiple JARs containing the “same” class are merged based on their order of appearance in the class path paying no respect to logical coherency between archives Jar 2 Jar 1 Classpath Jar 3
  • 14. With this better understanding of the limitations of Java when it comes to modularity, we can ponder whether OSGi is the right solution for your projects. 1.1.2 Can OSGi help you? Nearly all but the simplest of applications can benefit from the modularity features OSGi provides, so if you are wondering if OSGi is something you should be interested in, the answer is most likely, “Yes!” Still not convinced? Here are some common scenarios that you may have encountered where OSGi can be helpful:  If you ever received ClassNotFoundExceptions when starting your application because the class path was not correct. OSGi can help you here by ensuring that code dependencies are satisfied before allowing the code to execute.  If you ever encountered run-time errors when executing your application due to the wrong version of a dependent library on the class path. OSGi verifies that the set of dependencies are consistent with respect to required versions and other constraints.  If you ever wanted to share classes between modules without worrying about constraints implied by hierarchical class loading schemes; put in a more concrete way, the dreaded appearance of “foo instanceof Foo == false” when sharing objects between two servlet contexts.  If you ever wanted to package your application as logically independent JAR files and be able to deploy only those pieces you actually need for a given installation. This pretty much describes the purpose of OSGi.  If you ever wanted to package your application as logically independent JAR files and also wanted to declare which code is accessible from each JAR file and have this visibility enforced. OSGi enables a new level of code visibility for JAR files that allows you to specify what is and what is not visible externally.  If you ever wanted to define an extensibility mechanism for your application, like a plugin mechanism. OSGi modularity is particularly suited to providing a powerful extensibility mechanism, including support for run-time dynamism. As you can see, these scenarios cover a lot of use cases, but are by no means exhaustive. The simple and non-intrusive nature of OSGi tends to make you discover more ways to apply it the more you use it. Having explored some of the limitations of the standard Java class path we'll now properly introduce you to OSGi. 1.2 A quick OSGi overview The OSGi Service Platform is composed of two parts: the OSGi framework and OSGi standard services (depicted in Figure 1.1.3). The framework is the runtime that implements and provides OSGi functionality. The standard services define reusable APIs for common tasks, such as Logging and Preferences. ©Manning Publications Co. Please post comments or corrections to the Author Online forum: http://www.manning-sandbox.com/forum.jspa?forumID=507
  • 15. The OSGi specifications for the framework and standard services are managed by the OSGi Alliance (http://www.osgi.org). The alliance is an industry backed non-profit corporation founded in March 1999. The framework specification is now on it's fourth major revision and is stable. Technology based on this specification is in use in a range of large scale industry applications including (but not limited to) automotive, mobile devices, desktop applications, and more recently enterprise application servers. NOTE Once upon a time, the letters “OSGi” were an acronym that stood for the Open Services Gateway Initiative. This acronym highlights the lineage of the technology, but has fallen out of favor. After the third specification release, the OSGi Alliance officially dropped the acronym and “OSGi” is now simply a trademark for the technology. In the bulk of this book we will discuss the OSGi framework, its capabilities, and how to leverage these capabilities. Since there are so many standard services, we will only discuss the most relevant and useful services where appropriate. For any service we miss, you can get more information from the OSGi specifications themselves. Let's continue our overview of OSGi by introducing the broad features of the OSGi framework. 1.2.1 The OSGi Framework The OSGi framework plays a central role when creating OSGi-based applications, since it is the application's execution environment. The OSGi Alliance's framework specification defines the proper behavior of the framework, which gives you a well-defined API to program against. The specification also enables the creation of multiple implementations of the core framework to give you some freedom of choice; there are a handful of well-known open source projects, such as Apache Felix, Eclipse Equinox, and Knopflerfish. This ultimately benefits you, since you are not tied to a particular vendor and are able to program against the behavior defined in the specification. It's sort of like the reassuring feeling you get by knowing you can go into any McDonald's anywhere in the world and get the same meal. ©Manning Publications Co. Please post comments or corrections to the Author Online forum: http://www.manning-sandbox.com/forum.jspa?forumID=507 Figure 1.1.3 The OSGi Service Platform specification is divided into two halves, one for the OSGi framework and one for standard services Framework Standard services OSGi SERVICE PLATFORM
  • 16. The OSGi specification conceptually divides the framework into three layers (see Figure 1.1.4):  Module layer – this layer is concerned with packaging and sharing code.  Lifecycle layer – this layer is concerned with providing run-time module management and access to the underlying OSGi framework.  Service layer – this layer is concerned with interaction and communication among modules, specifically the components contained in them. Like typical layered architectures, each layer is dependent upon the layers beneath it. Therefore, it is possible for you to use lower OSGi layers without using upper ones, but not vice versa. The next three chapters discuss these layers in detail, but we will give an overview of each here. 1.2.2 Module layer The module layer defines the OSGi module concept, called a bundle, which is simply a JAR file with extra metadata (i.e., data about data) as depicted in Figure 1.1.5. A bundle contains your class files and their related resources. Bundles are typically not an entire application packaged into a single JAR file; rather, they are the logical modules that combine to form a given application. Bundles are more powerful than standard JAR files, since you are able to explicitly declare which contained packages are externally visible (i.e., exported packages). In this sense, bundles extend the normal access modifiers (i.e., public, private, and protected) associated with the Java language. Another important advantage of bundles over standard JAR files is that you are also able to explicitly declare on which external packages your bundle depends (i.e., imported packages). The main benefit of explicitly declaring your bundles' exported and imported packages is that the OSGi framework can manage and verify the consistency of your bundles automatically; this process is called bundle resolution and involves matching exported packages to imported packages. Bundle resolution ensures consistency among bundles with respect to versions and other constraints, which we will discuss in detail in Chapter 2. ©Manning Publications Co. Please post comments or corrections to the Author Online forum: http://www.manning-sandbox.com/forum.jspa?forumID=507 Figure 1.1.4 OSGi layered architecture MODULE LIFECYCLE SERVICE
  • 17. 1.2.3 Lifecycle layer The lifecycle layer defines how bundles are dynamically installed and managed in the OSGi framework. If we were building a house, the module layer provides the foundation and structure, while the lifecycle layer is the electrical wiring – it makes everything go. The lifecycle layer serves two different purposes. External to your application, the lifecycle layer precisely defines the bundle lifecycle operations (e.g., install, update, start, stop, and uninstall). These lifecycle operations allow you to dynamically administer, manage, and evolve your application in a well-defined way. This means that bundles can be safely added and removed from the framework without restarting the application process. Internal to your application, the lifecycle layer defines how your bundles gain access to their execution context, which provides them with a way to interact with the OSGi framework and the facilities it provides during execution. This overall approach to the lifecycle layer is ©Manning Publications Co. Please post comments or corrections to the Author Online forum: http://www.manning-sandbox.com/forum.jspa?forumID=507 Figure 1.1.6 The service-oriented interaction pattern. Providers publish services into a registry where requesters can discover which services are available for use. Publish Find Interact Service Registry Service Provider Service Requester Service Description Figure 1.1.5 A bundle contains code, resources, and metadata Bundle .class class files .xml, .jpeg, etc. resource files MANI FEST .MF metadata
  • 18. powerful since it allows you to create externally (and remotely) managed applications or completely self-managed applications (or any combination of the two). 1.2.4 Service layer Finally, the service layer supports and promotes a flexible application programming model that incorporates concepts popularized by service-oriented computing (although, these concepts were part of the OSGi framework before SOA became popular). The main concepts revolve around the service-oriented publish, find, and bind interaction pattern: service providers publish their services into a service registry, while service clients search the registry to find available services to use (see Figure 1.1.6). Nowadays, SOA is largely associated with web services, but OSGi services are local to a single VM, which is why some people refer to it as “SOA in a VM”. The OSGi service layer is very intuitive, since it promotes an interface-based development approach, which is generally considered good practice. Specifically, it promotes the separation of interface and implementation. OSGi services are simply Java interfaces that represent a conceptual contract between service providers and service clients. This makes the service layer very lightweight, since service providers are simply Java objects accessed via direct method invocation. Additionally, the service layer expands the bundle-based dynamism of the lifecycle layer with service-based dynamism, i.e., services can appear or disappear at any time. The result is a programming model that eschews the monolithic and brittle approaches of the past, in favor of being modular and flexible. Certainly, this sounds all well and good, but you might still be wondering how these three layers all fit together and how you go about using them to create an application on top of them. Fair enough, in the next couple of sections we'll explore how these layers fit together using some small example programs. 1.2.5 Putting it all together The OSGi framework is made up of layers, but how do we use these layers in application development? Let's try to make it a little clearer by outlining the general approach you will use when creating an OSGi-based application: 3. Design your application by breaking it down into service interfaces (i.e., normal interface-based programming) and clients of those interfaces. 4. Implement your service provider and client components using your preferred tools and practices. 5. Package your service provider and client components into [usually] separate JAR files, augmenting each JAR file with the appropriate OSGi metadata. 6. Start the OSGi framework. 7. Install and start all of your component JAR files from step 3. ©Manning Publications Co. Please post comments or corrections to the Author Online forum: http://www.manning-sandbox.com/forum.jspa?forumID=507
  • 19. If you are already following an interface-based approach, then the OSGi approach will feel very familiar to you. The main difference will be how you locate your interface implementations (i.e., your services). Normally, you might instantiate implementations and pass around references to initialize clients. In the OSGi world, your services will publish themselves in the service registry and your clients will look up available services in the registry. Once your bundles are installed and started, your application will start and execute like normal, but with several advantages. Underneath, the OSGi framework is providing more rigid modularity and consistency checking and its dynamic nature opens up a whole world of possibilities. Don't fret if you don't or can't use an interfaced-based approach for your development. The first two layers of the OSGi framework still provide a lot of functionality for you; in truth, the bulk of OSGi framework functionality lies in these first two layers, so keep reading. Enough talk, let's look at some code. 1.3 “Hello, world!” examples Since OSGi functionality is divided over the three layers mentioned previously (modularity, lifecycle, and service), we will show you three different “Hello, world!” examples that illustrate each of these layers. 1.3.1 Modularity layer The modularity layer is actually not related to code creation as such; rather, it is related to the packaging of your code into bundles. There are certain code-related issues of which you need to be aware when developing, but by and large you prepare your code for the modularity layer by adding packaging metadata to your project's generated JAR files. For example, suppose you want to share the class in Listing 1.1.2. Listing 1.1.2 Basic greeting implementation package org.foo.hello; public class Greeting { final String m_name; public Greeting(String name) { m_name = name; } public void sayHello() { System.out.println("Hello, " + m_name + "!"); } } During the build process you would compile the source code and put the generated class file into a JAR file. To leverage the OSGi modularity layer you must add some metadata into your JAR file's META-INF/MANIFEST.MF file, such as the following snippet: Bundle-ManifestVersion: 2 #A ©Manning Publications Co. Please post comments or corrections to the Author Online forum: http://www.manning-sandbox.com/forum.jspa?forumID=507
  • 20. Bundle-Name: Greeting API #B Bundle-SymbolicName: org.foo.hello #C Bundle-Version: 1.0 #C Export-Package: org.foo.hello;version="1.0" #D #A Indicates the OSGi metadata syntax version #B Human-readable name, not strictly necessary #C Symbolic name and version bundle identifier #D Share packages with other bundles In this small example, the bulk of the metadata is largely related to bundle identification. The important part is the Export-Package statement, since this extends the functionality of a typical JAR file with the ability for you to explicitly declare which packages contained in the JAR are visible to the users of it. In this particular example, only the contents of the org.foo.hello package are externally visible; if there were other packages in our example, they would not be externally visible. So what does this really mean? It means when you run your application, other modules will not be able to accidentally (or intentionally) depend on packages that your module doesn't explicit expose. To use this shared code in another module you would again add metadata, this time using the Import-Package statement to explicitly declare which external packages are required by the code contained in the client JAR. The following snippet illustrates this: Bundle-ManifestVersion: 2 #A Bundle-Name: Greeting Client #B Bundle-SymbolicName: org.foo.hello.client #C Bundle-Version: 1.0 #C Import-Package: org.foo.hello;version="[1.0,2.0)" #D #A Indicates the OSGi metadata syntax version #B Human-readable name, not strictly necessary #C Symbolic name and version bundle identifier #D Specify dependency on an external package To see this example in action, go into the greeting-example/modularity/ directory for Chapter 1 in the accompanying code and type “ant” to build it and “java -jar main.jar” to run it. Although this example is simple, it illustrates that creating OSGi bundles out of your existing JAR files is a reasonably non-intrusive process. In addition, there are tools that can help you create your bundle metadata, which we will discuss in [ref xx], but in reality no special tools are required to create a bundle other than what you normally use to create a JAR file. Chapter [ref ch2] will go into all of the juicy details of OSGi modularity and how to take advantage of it in your applications. 1.3.2 Lifecycle layer In the last subsection we saw that it is possible to leverage OSGi functionality in a non- invasive way by simply adding metadata to your existing JAR files. Such a simple approach is sufficient for most reusable libraries, but sometimes we need or want to go further to meet specific requirements or to use additional OSGi features. The lifecycle layer moves us deeper into the OSGi world. ©Manning Publications Co. Please post comments or corrections to the Author Online forum: http://www.manning-sandbox.com/forum.jspa?forumID=507
  • 21. Random documents with unrelated content Scribd suggests to you:
  • 22. atti derivano in modo più o meno diretto da cangiamenti chimici, che mettono in movimento i diversi ingranaggi del nostro organismo. Le differenti manifestazioni funzionali del nostro corpo, delle quali abbiamo fatto parola, sono accompagnate però da fatti collaterali, come avviene in ogni altra macchina. Abbiamo cioè, oltre il lavoro specifico dei diversi apparecchi, uno sviluppo di calore che contribuisce, negli animali che stanno in alto della scala zoologica, a mantenere la temperatura del loro corpo ad un grado superiore a quello ordinario dell'ambiente. Ma oltre il calore si possono discernere altre forme di energia, fra le quali la luce e le manifestazioni elettriche. Non avete mai veduto il mare fosforescente? È soprattutto nelle regioni equatoriali che questo spettacolo si manifesta nel suo massimo splendore, dando al navigante l'impressione di solcare delle onde infocate. Non dimenticherò mai le sere passate sull'Oceano indiano, appunto per la magnifica fosforescenza che vi ho potuto ammirare. Tutta la superficie del mare, leggermente increspata, era illuminata da una luce vaga, nebulosa, bluastra, che pareva scaturire dalle maggiori profondità, mentre il solco aperto dal piroscafo splendeva sin presso all'orizzonte come una striscia di fuoco, sulla quale risaltavano i guizzi di fiamme provocati dall'elica che percoteva l'Oceano e dalla prua che ne squarciava gli attriti. Questo fenomeno è dovuto alla presenza di innumerevoli esseri assai bassi nella scala dei viventi, alcuni minutissimi, altri, come le meduse, abbastanza voluminosi, i quali, quando siano stimolati dagli urti delle onde o dell'elica, per esempio, rivelano quello stato di eccitamento con manifestazioni di energia che, in grazia della loro trasparenza, acquistano i caratteri di vere e proprie funzioni luminose. In questo caso si potrebbe proprio dire con un illustre fisiologo che noi siamo colpiti direttamente dalle irradiazioni della fiaccola della vita. Fatti simili, benchè più complessi e parzialmente sottoposti all'impero dei centri nervosi, ci vengono presentati fra gli altri da alcuni insetti, dei quali rammenterò le lucciole, ornamento delle nostre sere di primavera e di estate, e che furono soggetto di interessantissime
  • 23. ricerche del nostro Matteucci, e gli elaterii dell'America tropicale, che possono servire come lanterne per illuminare il cammino, e che sul capo delle signore splendono di una vivissima luce propria, molto più apprezzabile, mi pare, di quella riflessa da un diamante. Come vedete, alcuni fatti che d'ordinario sono semplici accessori, che si presentano come collaterali di una funzione principale, possono, in certi casi, raggiungere così grande sviluppo, da acquistare per se stessi la dignità di una vera e propria funzione. Questo accade per la luce emessa dagli organi fosforescenti degli insetti, come pure per le manifestazioni elettriche della torpedine, del gimnoto, del siluro che, grazie alla evoluzione di organi particolari, si sono resi capaci di emanazioni elettriche potentissime, mentre, d'ordinario, l'elettricità che si svolge dagli organi funzionanti, può essere appena avvertita da apparecchi delicatissimi. Non per questo essa ha meno importanza pel ricercatore di fatti biologici, che anzi la corrente tenuissima che si può raccogliere da un muscolo che si contrae, la così detta corrente d'azione vale a farci comprendere la potentissima scossa emessa da un pesce elettrico. Si disse come le manifestazioni funzionali dell'organismo siano dovute a processi di combustione che si svolgono in seno agli elementi costitutivi dei nostri organi. Ma il lavoro determina necessariamente il consumo del combustibile, ed anche, benchè meno rapidamente, della macchina. Sicchè un organismo non potrebbe presentare una funzione continuata se ai fatti distruttivi, che sono il fondamento o la conseguenza delle sue varie forme di lavoro, non facessero equilibrio fatti antagonistici di reintegrazione, capaci di ricostituire le forze impiegate nell'attività e le strutture consumate dall'uso, che in altre parole servono a rimettere nuovo carbone nel fornello, ed a raccomodare quegl'ingranaggi che vanno di mano in mano sciupandosi. Per questo un organismo si può considerare come continuamente oscillante fra due atti chimici opposti: quelli distruttivi, che si manifestano in forma di movimento, di calore, di luce, di elettricità o d'altro: e quelli ricostitutivi, che
  • 24. accumulano nuovi materiali combustibili e reintegrano i tessuti sciupati dalla funzione. Può accadere che questi due fatti antagonistici corrispondano perfettamente gli uni agli altri, come può avvenire che l'uno di essi predomini sull'altro, e voi facilmente comprenderete quanto sia importante pel biologo di assistere agli avvicendamenti chimici che si svolgono nell'intima trama degli organi viventi. Questo ci è in parte concesso quando si raccolga e si registri graficamente, per mezzo di apparecchi delicatissimi, le variazioni elettriche dei tessuti che vivono, vale a dire che si nutrono e che funzionano. Infatti, i processi distruttivi determinano nelle parti che ne sono la sede una certa condizione elettrica che si chiama negativa; e i fenomeni opposti di reintegrazione danno luogo a manifestazioni elettriche di segno contrario, provocando cioè uno stato che si dice positivo. Si capisce, perciò, come non si ottenga alcuna manifestazione elettrica da un organo nel quale i processi chimici opposti, distruttivi e reintegrativi si fanno equilibrio, perchè in esso agiscono due forze eguali e contrarie che si neutralizzano, mentre vediamo diventare negativa quella parte nella quale si esagerano i processi demolitori, o positiva quella nella quale predominano i fatti di riparazione organica. Così l'agente misterioso che lungo i nervi è l'intermediario fra il cervello e le parti del nostro organismo, facendosi il messaggero delle azioni di senso e di movimento, si rivela a noi come un'onda di negatività, che percorre i cordoni nervosi; così l'attività di un muscolo, di una glandola, di un organo di senso danno luogo a variazioni elettriche negative della parte funzionante. Noi riusciamo inoltre a raccogliere dalla superficie del nostro corpo cangiamenti elettrici, variazioni di potenziale, come si dice, che corrispondono col loro avvicendarsi al ritmico battito del cuore. Per contro, quest'organo centrale della circolazione, quando sia arrestato da azioni nervose particolari che ne esagerino gli atti ricostitutivi, a scapito di quelli che sono la base della sua funzione meccanica,
  • 25. dimostra questi cangiamenti con variazioni elettriche opposte di carattere positivo. Come vedete, le oscillazioni elettriche dei tessuti, raccolte e registrate coi nostri apparecchi, possono esprimere all'esterno le intime modificazioni chimiche che si svolgono nei più remoti recessi del nostro organismo, e possono tracciare dei veri ed autentici rapporti autografici di esse. Sicchè per mezzo della elettricità animale ci è concesso di possedere una immagine, per quanto sfumata e vaga di quel ritmo chimico che forma il sottostrato delle manifestazioni di un essere vivente; o, se volete, un'eco assai attenuata, ma pur fedele, dell'armonia della vita. E non è probabilmente lontano il giorno nel quale indagando le correnti d'azione dei centri nervosi noi sorprenderemo le cellule cerebrali nella loro attività elaboratrice della sensazione e del movimento. Ma non facciamoci troppe illusioni, perchè si capisce che in questo caso non otterremo che la rappresentazione esteriore di uno dei sintomi dell'atto mentale, come il sorriso che solleva il labbro della Gioconda del divino Leonardo non è che il simbolo di uno stato d'animo di quella vaghissima donna. Ma forse che per questo esso è meno attraente? Forse che esso non ci affascina tanto più quanto maggiormente è misterioso ed impenetrabile? Signore e Signori! Un filosofo tedesco, celebre nella storia della elettrofisiologia, Emilio Du Bois-Reymond, in un suo discorso, accennando alla scoperta del Galvani, esclamava: «È con orgoglio che l'investigatore della natura, osservando i fili telefonici che attraversano le nostre strade e le nostre piazze, si rende conto di quanto hanno fatto tre generazioni umane di genio e di diligenza, partendo da un sì oscuro principio,» e si domanda col Gherardi, pensando al parapetto di ferro sul quale il Galvani fece la sua osservazione: «Se quel parapetto fosse stato di legno o di pietra, chi può assicurarci che avremmo un galvanismo.... e tutto il resto?»
  • 26. Certo è incommensurabile l'importanza della scoperta del Volta, e ne fanno fede le innumerevoli applicazioni che sono tanta parte ormai delle nostre manifestazioni materiali ed intellettuali, e che sotto forma di luce, di calore, di movimento, di trasmissione di energia a distanza, di utilizzazione di forze naturali, di azioni terapeutiche, e più ancora di nuove ed efficaci dottrine che simboleggiano in forma scientifica i fenomeni della natura, in quanto hanno di più recondito, danno alla nostra vita individuale e sociale un particolare indirizzo. Ma pur prescindendo dal fatto che senza la rana del Galvani non vi sarebbe forse stata la pila del Volta, mi sarà lecito di affermare che anche la elettricità animale, che serve a rivelare l'intimo meccanismo nutritivo dei più remoti ingranaggi di un organismo vivente è, nelle mani del biologo, un istrumento di conquista non meno efficace di quello che maneggiato dal fisico ha contribuito potentemente a dare un'impronta nuova al secolo che muore. E ciò dobbiamo soprattutto a quelli italiani che, in sullo scorcio della prima metà di questo secolo, mentre si preparavano le armi della riscossa nazionale, ripresero e rinnovellarono gli studi del Galvani, quasi per affermare, una volta di più, che l'Italia non è e non sarà mai la terra dei morti, perchè nel nostro paese anche i morti resuscitano a maggior gloria di tutti!
  • 27. APPENDICE LE MONTÉNÉGRO CONFERENZA DI C H A R L E S Y R I A R T E . Quelles que soient les destinées réservées au peuple Monténégrin s'il garde sa persévérance, sa sagesse et sa valeur; il devra conserver à jamais un culte et une tendresse profonde pour l'étroite vallée et le cirque de montagnes où il s'est refugié au moment où les Turcs, déferlant comme une vague sur les Balkans, ont envahi la vieille Serbie. Laissez-moi marquer ici à grands traits les étapes de son histoire. Dans la grande famille Serbe dispersée par l'invasion, les clans Monténégrins, dès le moyen-âge avaient déjà eu une sorte d'autonomie, et sa Dynastie qui régnait sur la Serbie, la famille des Némania, avait même pris naissance dans la Zéta, qu'ils occupaient alors. Après la sanglante Bataille de Kossovo, d'où date la dispersion, le Prince Cernovich, incendiant le pays qu'il laissait derrière lui, se retira avec tout ce peuple en armes dans la montagne noire, la Cernagora. Il s'arrêta d'abord à Rieka, puis à Cettigné. Les Turcs avancent encore, ils ont déjà pris Constantinople; la Serbie est à eux toute entière; ils vont s'efforcer de soumettre ces réfractaires. Ils prendront les Monténégrins à revers, et après avoir chassé les
  • 28. Vénitiens de Scutari, Soliman pacha pénétrera jusqu'à Cettigné, qu'il livre aux flammes; c'est l'apogée de la défaite. Les Monténégrins ont désormais perdu la riche Zéta, le Brda, le Lac de Scutari, deux cents kilomètres de rivage sur l'Adriatique; et les quatre montagnes rocheuses où ils ont transporté leurs foyers sont tout leur domaine. Ce sera leur citadelle, ils y conserveront toujours vivante la flamme du patriotisme, la confiance dans leur destinée et une énergie indomptable. Alfieri fait dire à un peuple qui gémit sous le joug: «Esclaves.... oui, nous le sommes, mais esclaves toujours frémissants.» Les Monténégrins n'accepteront jamais le joug; depuis Kossovo, en 1356, jusqu'à la prise d'Antivari et de Dulcigno en 1878: ce peuple décimé vivra dans une alerte continuelle, la main sur le kandjiar. C'est avec le premier des Pétrovich, Danilo, à la fin du 17e siècle que commence l'ère des grandes batailles décisives; jusque là, ce sont des incursions rapides, des razzias, des surprises; les montagnards fondent sur l'ennemi, ils l'envahissent, prennent des territoires, les perdent pour les reprendre encore, et harcèlent sans cesse. Mais tel sera désormais l'effort vers la rédemption et si terrible l'énergie de ce peuple indomptable, que de grands empires, la Russie et l'Autriche, voient en eux des auxiliaires hardis, et lui proposent des alliances. Pierre-le-Grand s'avance le premier: «L'histoire (dit-il dans son message), nous a appris que vos anciens rois, vos princes, étaient hautement révérés comme appartenant au noble sang slave, et que les triomphes de leurs armes les ont rendus célèbres par toute l'Europe jusqu'au jour fatal de leur défaite. Rendez vous dignes de cette gloire, imitez vos illustres ancêtres; combattez pour la foi, la patrie, la gloire, l'honneur, pour votre liberté, votre indépendance et celle de vos fils.» On combat en effet. L'année suivante à Carlevatz trente mille Turcs restent sur le champ de bataille; le Musulman recule; on respire pendant quelques années, on organise et on vit sans combattre, mais sans désarmer. Mais prenant sa revanche, l'éternel ennemi attaque de trois côtés à la fois avec cent-vingt-mille combattants dont les Monténégrins vont triompher à la journée de Cevo.
  • 29. Les Pétrovich ont la vie dure; le premier vient de régner soixante ans, celui qui lui succédera dans l'histoire, Pierre Ier, est un saint et un héros. Dès les premières années de son règne, Marie Thérèse, étonnée à son tour de l'énergie et de la persévérance du peuple Monténégrin, inaugure vis-à-vis de la Cernagora une politique, que n'ont que trop bien suivi ses successeurs. Le second Pétrovich reçoit son ambassadeur, et Radonicht, délégué Monténégrin, ira à Vienne même dicter les conditions du traité d'alliance que l'Impératrice a proposé. Les conditions du Monténegro sont fières. «L'alliance sera offensive et défensive; nul servage en échange. — Si le territoire Serbe venait à être délivré des Turcs, la Zéta supérieure, Podgoritza, Spuz, Zabliac, le Piperi, la Brda et l'Herzégovine seraient réunis au Monténegro qui pourra battre monnaie. Aussitôt que le Cabinet d'Autriche sera en guerre avec la Porte, S. M. Impériale enverra la poudre, le plomb et les armes. Si l'Autriche fait la paix avec la Porte, les Monténégrins seront compris dans le traité.» Après trois ans de combats et de fortunes diverses, les Autrichiens acceptent la paix; mais comme le territoire n'a pas été délivré des Turcs: les concessions promises par l'Autriche au Monténégro sont lettre morte. Pierre Ier ne se décourage point, et les Monténégrins vont attaquer tout seuls; ils défont les Turcs sur le Lac de Scutari, dans un combat naval et plus tard dans une rude bataille où Mohammed pacha trouve la mort, et l'impression est telle à Constantinople que l'indépendance pour laquelle les peuples Monténégrins ont versé tant de sang depuis Kossovo est enfin reconnue. Mais un nouvel ennemi, plus puissant encore, s'avance. Les Français sont en Dalmatie; Pierre va se mesurer avec les lieutenants de Napoléon: avec Lauriston d'abord qu'il défait, puis avec Marmont duc de Raguse qu'il tient en échec. Pris d'enthousiasme, le Czar Paul Ier, reprend la tradition de Pierre- le-Grand, envoie ses présents et ses insignes à tous les Voivodes, et alloue au Prince un subside de neuf mille ducats annuels. Mais en
  • 30. acceptant simplement un appui noblement offert, le Vladika Pierre n'a abdiqué aucun de ses droits; le gouvernement Russe s'étant un jour immiscé dans l'administration ecclésiastique de la Principauté, le gouverneur Vuk Radonitch et tous les serdars, voivodes, kneze, porte-enseignes, prêtres, nobles et autres autorités protestent respectueusement, mais avec une singulière fermeté. «Le peuple du Monténegro et de la Brda (dit Radonitch), n'est aucunement sujet à l'empire Russe, il se trouve seulement sous sa protection morale, parce qu'il est de la même race, et parce qu'il a la même foi; mais par aucune autre raison. Nous avons attachement et fidélité et nous voulons garder ces sentiments éternellement, mais nous défendrons de toutes nos forces la liberté dont nous avons hérité de nos prédécesseurs, et nous mourrons plutôt l'épée à la main, que de subir une servitude honteuse d'une puissance quelconque.» Pierre Ier le Saint, pouvait seul faire entendre un tel langage au Czar de toutes les Russies. Ce Vladika, qui règne pendant quarante-huit ans, n'a connu que des victoires; il fut aussi un civilisateur, et reste le vrai héros de la Dynastie. Sur la hauteur qui domine Cettigné, là où se dresse le monument que la piété d'une Monténégrine devenue Princesse Italienne a dessiné de sa propre main en souvenir de Danilo, fondateur de la dynastie des Pétrovich, on voudrait voir s'élever la statue du vainqueur de Kara Mahmoud et le rival heureux de Marmont duc de Raguse. La grande tâche n'est pas achevée; après dix ans du règne de Pierre II, grand poète, pacificateur, qui s'applique à adoucir les mœurs et à propager l'instruction tout en tenant l'épée d'une main ferme; un fait important au point de vue du gouvernement va s'accomplir. Jusqu'ici se confondent dans la personnalité qui dirige et qui règne, le caractère sacré du Vladika et celui du Prince. Pour devenir Vladika, évêque, il faut être moine et renoncer au mariage; Danilo Ier qui devait comme successeur et neveu de Pierre II assumer ce double caractère, avait fait ses études à St Pétersbourg; il renonça à l'église, et inaugura le pouvoir séculier. Ce règne est court, il finit par un
  • 31. évènement lugubre, l'assassinat du souverain, victime d'un fanatique: mais il reste encore inoubliable, car Danilo a la gloire d'avoir protesté devant l'Europe contre la Turquie, relevée par la guerre de Crimée, qui a osé dans un document parler du Monténegro comme d'une province Turque: et aussi, deux années après son avènement, il conduit ses troupes à Grahovo et met en déroute l'armée Turque dans une bataille qui eut de tels résultats, qu'on la regarde encore comme la revanche de Kossovo. Quand Danilo tombe sous le coup d'un assassin, le prince qui règne aujourd'hui, Nicolas Ier, son neveu, fils de ce Mirko, le héros de Giahovo, quitte à la hâte Paris où il achève ses études au Collège Louis-le-Grand et assume le pouvoir. Il n'a pas encore vingt ans, mais les Monténégrins, mûris par l'exemple, avant vingt ans sont des hommes. Chacune des étapes de ce règne, auquel il faut souhaiter la durée de celui du premier Pétrovich, est marqué par un effort pour l'indépendance, un progrès dans la culture, une négociation heureuse, en même temps que Medun, Danilograd, Martinch, Rasina-Clavica, Nicksich, Antivari et Dulcigno; sont autant de noms de victoires coup sur coup remportées, qui forcent l'Europe à compter avec le Monténégro. Le pays ne sera plus réduit à sa plaine étroite et aux quatre montagnes; vers la vieille Servie il a des plaines fertiles; la Zéta, la Brda lui appartiennent, il a pris de l'essor du côté de Scutari, et les princes aux longs règnes ont fini par tailler à coup d'épée dans la terre Serbe une principauté nouvelle. Cette principauté cependant n'est point encore le prix du sang, ni le territoire sur lequel on régnait cinq siècles auparavant. Berlin a effacé San Stefano. Depuis lors on s'est réfugié dans le travail sans sacrifier ses espérances: l'ère de la paix est celle des progrès, et une grande œuvre est accomplie. Le Soldat s'est fait Législateur, le code monténégrin est promulgué. Un juriste fameux, Bogisïc, sous l'inspiration du Prince, a recueilli les règles du Droit coutumier, appliquées naïvement jusque là par le peuple. Cette sagesse du Prince, cette prudence alliées à une énergie qui n'abdique point; ont eu leur récompense dans de
  • 32. grandes alliances qui n'ont pas eu seulement la politique et l'intérêt pour base, mais qui se trouvaient d'accord avec les raisons du cœur. * * * Quelles seront les habitudes, les tendances, l'aspect, le caractère d'un peuple dont l'histoire n'est qu'une longue «vendetta» et une perpétuelle revendication? Le voyageur qui aborde le Monténégro par les bouches de Cattaro, après avoir gravi les soixante lacets taillés dans le roc qui donnent accès à la Montagne Rocheuse, s'avance désormais vers Niégouz et Cettigné sans rouler comme autrefois sur sa selle avec les pierres du chemin. L'homme a dompté la nature; des routes nouvelles donnent un accès facile jusqu'à la frontière de Serbie; l'extension de la carte du pays a fait la vie moins rude. Si la montagne est aride de Cattaro à la plaine, le pays frontière de la vieille Serbie est fertile: quelques parties sont même riantes comme une petite Brianza. La Zéta, Vassoacwitz, Kolaschi, Niksich, et les bords du lac de Scutari, sont des lieux pleins d'aménité, qui contrastent avec la montagne. On sait que la terre donne peu de blé, mais le maïs abonde, comme la pomme de terre, et la sécheresse est toujours le grand ennemi. Au fond le pays est surtout pastoral et partout où la montagne est verte, le grand et le petit bétail abondent; aux temps héroïques les clans se disputaient tel ou tel revers de montagne, où la verdure était grasse et épaisse. C'est par le bétail que le Monténégrin vit et s'enrichit; par le tabac, par le sumak, cet arbuste dont la feuille sert à la tannerie tandis que son bois est utile à la teinture, par les pêcheries de Stekline au lac de Scutari, qui produit une sorte de sardine très demandée en Albanie et qui s'écoule aussi dans l'Italie méridionale et en Serbie. De ces divers produits, le tabac est le plus avantageux, régulièrement vendu par le gouvernement à la régie autrichienne qui y trouve son compte. Mais l'empire d'Autriche a fermé sa nouvelle
  • 33. frontière au bétail Monténégrin, et établi des cordons infranchissables, il fait une guerre de tarifs à outrance. Tout bœuf qui passe la frontière paie dix-huit florins de droits — c'est-à-dire — presque autant que le prix de l'animal même. Il a fallu s'ingénier, chercher des nouveaux débouchés. En Italie, à Brindisi et Bari; à Marseille, où s'est créé une Chambre de commerce. Au point de vue industriel, les scieries mécaniques fonctionnent là où l'eau abonde, comme aussi la meunerie, pour la farine. Une fabrique d'armes pourvoit sinon à l'armement au moins à son entretien, et les routes, sans parler de la grande voie qui de Cattaro se continue jusqu'à Pogdoritza, sont amorcées partout à la fois, en même temps que les anciens forts turcs des Iles de Scutari, démantelés, permettent un service régulier entre Rieka et Scutari. Un service de poste, très sérieusement établi, sévèrement surveillé, et d'une parfaite régularité facilite les relations et les échanges. * * * Voyons l'homme dans le Pays. Toujours soldat au fond, le Monténégrin est resté fier et d'aspect réservé; riche ou pauvre, il a de la dignité dans l'accueil et exerce l'hospitalité avec simplicité, son type est noble et grave. Comme nous nous étonnions de voir dans un clan tant d'hommes de belle allure, un chirurgien militaire nous fit observer que la nature ici, fait sa sélection l'hiver, dans la montagne; les faibles s'en vont, les forts restent seuls et grandissent. Le peuple est pasteur, agriculteur, éleveur et la culture de la terre ennoblit: il a horreur du petit commerce, et des petits métiers assis, les brodeurs, les vendeurs. Il fait fi de certains travaux manuels, ne porte pas volontiers de fardeaux et laisse les petits négoces aux Albanais venus de Scutari. Il aime passionnément la musique, les récits faits à voix basse, il murmure d'une voix gutturale des chants épiques d'un rhytme triste et d'un ton voilé.
  • 34. On connait le costume du Pays, élégant, de couleur claire avec quelques taches sonores, et complété par des armes brillantes. L'arme exerce sur le Monténégrin une séduction irrésistible, il ne se sépare jamais de son arsenal. Un fusil, un revolver nouveau modèle l'enchante, il les convoite et les admire. L'enfant lui-même dès qu'il est armé se redresse plus fier. Quand j'étais là, on s'efforçait de recruter une bande de petits musiciens; mais souffler sans gloire dans un turlututu, et marcher sans fusil à l'épaule ou sans pistolet à la ceinture répugnait à ces adolescents. On les arma d'un Martini, et le clairon retentit bientôt dans la montagne. Il est singulier que toujours armé ainsi, le sang ne coule presque jamais, et les prisons soient presque vides. Le Pays n'a pas de pauvres, la sobriété est la règle, l'ivresse est très rare, la porte du logis peut toujours rester ouverte, car le vol est honteux et impossible par l'absence absolue du réceleur. Avec le temps, grâce aux princes qui s'y sont tous appliqué, une certaine férocité native — reste d'atavisme des époque épiques, et des combats des ancêtres, qui se développait par les luttes nouvelles soutenues par chaque génération — peu à peu s'est apaisée et attendrie. La Vendetta, cette plaie des familles, passe au domaine de l'histoire, comme aussi cette habitude chez les Monténégrins, à l'âge où on croit à l'amitié éternelle, de se choisir un frère de sang, un Pobratim, union touchante de deux jeunes hommes, qu'aucun lien de famille unit, qui échangent leur sang et leurs armes en récitant la prière «l'Adelfo poisio» devant le prêtre, et jurent de périr l'un pour l'autre, et de s'entr'aider même au péril de leur vie. Quand le pouvoir central existe, c'est la loi qui doit venger l'injure, la Vendetta est donc devenu un crime. Quant au Pobratimat un voyageur poète peut le regretter. Mais il faut considérer que contracté entre deux Monténégrins de deux clans différents entraînait souvent deux levées de boucliers et déchaînait les luttes fratricides. La vengeance aujourd'hui est l'œuvre de la justice.
  • 35. * * * La Monténégrina, montagne ou plaine, est-elle belle? ou simplement jolie? — Un Français répondrait: elle est bien pire. Elle a de l'Orient l'expression grave qui inspire le respect, une grâce touchante, une absence complète d'affeterie ou de manière, un teint mat, qui chez la femme riche ou aisée que la bise et le hâle n'ont pas flétri, garde souvent une belle pâleur d'ivoire, souvent frêle et délicate, sous des apparences de faiblesse son énergie a fait de la femme l'auxiliaire de l'homme dans les combats. Chez les paysannes de nos champs la démarche est souvent lourde, le geste gauche, l'expression dénuée de pensée et les yeux sans flamme: la Monténégrine a souvent dans le regard comme un reflet de la poésie des légendes de sa patrie, de la tristesse d'une race qui a longtemps lutté et souffert. Cermak, l'artiste serbe, un patriote qui chaque fois le Monténégrin passait la frontière et se soulevait contre le joug, abandonnait Paris pour courir au danger, nous revint un jour mutilé de la Cernagora, a bien fixé son image et l'a associée aux actes virils de revendication dans des toiles pleines de talent. Ferogio, un Italien qui vivait aussi parmi nous, a recueilli tous les types et illustré tous les actes de la vie du peuple, et mieux que personne a montré la beauté de la silhouette, les fières attitudes, le geste simple et toujours noble de la population rurale ou montagnarde. La femme monténégrine cependant, est douce, résignée, fidèle; tout son horizon est au foyer, on ne la voit au bras de l'époux que les jours de fête, elle attend un mot ou un signe, elle le devine et ose à peine le prévenir. Si on s'en tenait aux apparences on dirait que l'homme, à côté du respect, lui inspire la crainte, et dans le recueil des dictons Monténégrins d'un autre âge, qui s'appliquent à la femme, quelques uns ne sont pas à la louange de l'homme. On reproche aux Monténégrins du peuple son indolence aux durs travaux, sa tendance à laisser à sa compagne ceux qui sont les plus
  • 36. pénibles; et les yeux du voyageur au détour de la route, dans la montagne ou dans la plaine, sont parfois attristés en les voyant plier sous de lourds fardeaux. Mais cette femme est respectée et protégée par le droit coutumier, devenu code civil, plus qu'en aucun pays de l'Europe. Le voyageur de la Ballade de Schubert, celui «qui passe en chantant et qui part sans regret», s'il pénétrait dans la famille rurale, assisterait à un spectacle vraiment touchant. Qui n'a vu chez les peuples qui se piquent de tenir la tête de la civilisation, à la mort du chef de la famille, sous la loi du Majorat, ou même dans les maisons moins fortunées, la veuve en cheveux blancs s'en aller solitaire, et laisser à son fils et à sa jeune épouse le foyer où sa vie s'est écoulée, dans un luxe devenu une habitude, dans une affection devenue un besoin? Qui n'a rencontré sur sa route, surtout dans votre beau pays, où ceux dont la vie est solitaire essaient de combler par la vue des chefs-d'œuvre et la clemence du climat, le vide d'une existence, sans amour et sans hyménée, — une sœur qui a quitté elle aussi le foyer de son frère? Ici, la loi est la communauté; le père est le chef, chacun doit son travail à la famille toute entière et la part de chacun est la même. Tout appartenant à tous, chacun a droit à tout son entretien, et puise par part égale au bien commun. Si l'un des membres commet un délit et une faute, tous le réparent, et paient l'amende — sauf à mettre au compte du coupable, au jour du partage, le dommage qu'il a causé. Cependant le Pécule est personnel à l'individu, et nous entendons, par pécule, tout résultat d'un travail fait à moments perdus et autorisé par tous, comme aussi tout profit qui est acquis sans travail, c'est-à-dire, un don du père retiré de la communauté après avoir pris ce qui lui revient en partage et dont il dispose à son gré, un don du Prince, une arme, une étoffe, une somme d'argent, tout gain enfin qui est le résultat soit de hasard, soit de la sympathie inspirée, soit d'une action méritoire et personnelle.
  • 37. L'âge venu de s'unir à une famille nouvelle, il est permis à la jeune fille, en dehors du travail en commun pour l'avantage de tous, de travailler pour elle-même; et on fermera les yeux. A partir de ce jour on la laisse augmenter son pécule, le père, la mère, le frère peuvent y ajouter une part du leur, mais du leur seul, selon le penchant que chacun d'eux a pour celle qui va les quitter. Dans la nouvelle famille où elle entre elle a le privilège de la même loi. Et cette fois sa dot, c'est-à-dire son Pécule, lui appartient absolument; elle en dispose sans réserve; elle n'a nulle formalité à remplir, nulle signature à obtenir; elle est personnalité civile. Mais nous ne sommes pas dans ces républiques idéales qui ont pour base la perfection de l'homme. Dans cette communauté nouvelle où elle entre, toute injustice ou tout outrage à ce nouveau venu déchaînait autrefois la vendetta de la communauté primitive; alors le sang coulait. Le pouvoir du prince, centralisé désormais, ayant absorbé le pouvoir du clan, c'est la loi désormais qui venge. La loi seule, et un Prince au cœur tendre, à l'âme juste, et à la main ferme. Cependant cette jeune femme est devenue veuve, le lien est rompu; que deviendra-t-elle? Elle a le droit de rester dans sa nouvelle famille sous les mêmes conditions, comme elle peut aussi revenir à l'ancienne avec le même sort — à moins cependant qu'au moment de contracter le mariage, son père lui ait donné la part à laquelle il avait droit en quittant la communauté, s'il s'en est séparé. Ainsi donc, enfant et jeune fille, la femme est membre de la communauté. Mariée elle garde les mêmes droits dans la nouvelle, et pour mieux cimenter cette union, chaque famille ayant un patron, — prenons St. Pierre puisqu'il a des clefs, et peut ouvrir bien des portes, ou St. Nicolas, qui aime bien les enfants, — elle abandonne son patron, celui de la communauté et se fait adopter par celui de sa famille nouvelle. * * *
  • 38. Après tant de combats, quand tout convergeait vers l'attaque ou la défense, voyons ce qu'on a fait pour l'instruction publique. C'est seulement on 1852, quand Danilo II a pris le pouvoir, qu'on a organisé et décrété l'école d'abord dans les villes et les villages de la montagne noire, et après la bataille de Grahovo dans les régions conquises. Tout-à-fait primaires d'abord les écoles ont un cours de trois ou quatre ans. A Cettigné un gymnase s'est ouvert, qui se transforme après quatre ans d'étude, et devient école normale. Une classe de théologie permet de recruter les prêtres dont on limite le nombre à la seule nécessité du diocèse. Plus tard pour les sujets avancés, bien doués, avides d'apprendre et assez fortunés pour promettre au pays des esprits ouverts, capables de faire progresser; on a la ressource des missions temporaires à l'étranger. L'enfant du village va à l'école, et c'est un charme de voir partout, dans les étroits chemins de la montagne, au carrefour des routes, les petits monténégrins avec le carton et l'ardoise en bandoulière, prenant le chemin des écoliers et s'arrêtant pour cueillir une fleurette dans la fente d'un rocher. Pour les jeunes filles, les demoiselles qui ont des aspirations plus hautes que le village, filles de Voivodes et de riches propriétaires, s'ouvre une institution fondée par l'Impératrice veuve d'Alexandre II, avec des professeurs distingués, six ans de cours, l'internat, un niveau élevé qui va croissant avec le temps. On y cultive d'office les trois langues: le Serbe, le Russe, le Français, et la connaissance des trois littératures, et souvent l'Italien: grâce aux relations de famille et de voisinage. * * * Pour l'instruction militaire, notre école nationale de St.-Cyr fut parfois celle où des aides-de-camp du Prince ont appris le métier des armes, et plus tard sont devenus aptes à la direction des divers services administratifs, toujours prêts d'ailleurs à échanger la plume contre
  • 39. l'épée aux jours de péril. Aujourd'hui, c'est l'Italie, Modène, qui est l'école, la pépinière des officiers, fondus au retour dans l'armée indigène, ils l'encadrent, sans émousser le caractère offensif du soldat monténégrin et lui faire perdre sa personnalité de combattant. Trois aides-de-camp, deux officiers d'ordonnance, le capitaine des Périaniks, ou gardes du corps, forment un Etat major personnel au Prince. Une grande caserne s'est élevé à Cettigné, une école militaire à Pogdoritza, pour les sous-officiers, et un bataillon régulier reste permanent. Le fond de la défense nationale étant la milice légère, qui se mobilise, pour ainsi dire, d'instinct. On peut compter à l'effectif, au moins 45 bataillons compacts et bien armés. Nous nous souvenons d'avoir assisté jadis aux évolutions d'un escadron bien monté — le noyau subsiste, mais la nature du pays proteste et le cavalier, comme masse militaire, n'a pas sa raison d'être, vu la nature du Pays. * * * Nous constaterons encore d'autres innovations, si j'en crois un de mes jeunes amis, un grand voyageur, nouvellement revenu du Pays dont les lettres de crédit avaient pour unique objet de saluer de ma part S. A. le prince Nicolas, et de chanter pour moi le «Cari luoghi» à la montagne Noire. Celui-ci m'a assuré qu'il s'était couvert de gloire au Lawn Tennis de Cettigné où il avait eu pour partner des dames du corps diplomatique, des jupes de Laferrière, des manches bouffantes de Mme Pacquin et des chapeaux de chez Virot. — C'est la loi du progrès. — Les nouvelles routes de Cettigné à la frontière sont désormais propices à la byciclette: un jour ou l'autre on importera le polo et l'automobile, qui ne rappelle que de loin les temps de la chevalerie. Cependant le Pays tient à ses coutumes. Le costume national reste en honneur partout, le trésor des poésies populaires, des chants épiques, chants de gloire, de guerre et d'amour, histoire vivante, sont une source féconde qui ne tarit jamais. Il y a toujours dans
  • 40. chaque ancien clan quelque Barde errant qui chante au son de la Guzla au détour de la route ou sous l'orme des vallées et souvent le chantre est aveugle, comme Homère; il dit et redit des poésies, qui restent presque toujours anonymes, et semblent portées sur l'aile du vent de montagne en montagne ou répercutées par un écho comme celles des recueils de Vuk Stefanovich que Tommaseo vous a fait connaître. Pierre II Pétrovich, le grand chantre de la Cernagora employait dans ses poësies le décasyllabe qui ne recherche point la rime mais la donne parfois, quand la raison l'appelle. Le Prince qui règne aujourd'hui à la fois soldat, législateur et poëte, auteur de «l'Impératrice des Balkans» devenu populaire, en fixant en vers de huit syllabes, le caractère de chacune des tribus monténégrines; a faite cette poësie plus personnelle, c'est la poësie littéraire avec la strophe de quatre vers de la Poësie Ragusaine, qui garde à ces chants leur caractère à la fois tendre et épique. «Si j'avais recueilli toutes les fleurs dont ta main a jonché le chemin de ma vie (dit le Prince Poëte à celle qui partage son trône, en lui dédiant son œuvre); si j'en avais respiré tout le parfum: j'en aurais pu faire un poème si beau, un livre ailé tel que jamais le monde n'en eût lu de pareil.... j'eus mieux chanté l'amour, l'intelligence et j'aurais pu écrire un livre tout entier rien qu'en y recueillant toutes les vertus de ton âme qui resplendissent comme un diadème impérial.» En entendant parler ainsi le Père, vous reconnaissez l'Épouse et la Mère, et vous devinez celle dont les destinées sont désormais les vôtres. Quelque rapide qu'ait été l'hommage que j'ai voulu rendre aux Monténégrins, il n'était peut-être pas inutile qu'une voix et un cœur français vinssent ici confondre dans la même sympathie et les mêmes vœux de prospérité la Cernagora, l'Italie et.... la France.
  • 41. NOTE: 1. V. son Voyage d'Italie. 2. Lettre à Fontanes du 20 janvier 1804, insérée dans le Voyage d'Italie. 3. Les martyrs, Ve livre. 4. Lettre précitée à Fontanes. 5. Mémoires d'outre-tombe, p. 121, 122, 123 du Ve vol. dans la récente édition Garnier. 6. Discours du 2 janvier 1848, p. 122-123 et 144 du Ve vol. de l'édition de ses Discours publiée par L. Ulbach en 1865. 7. Discours précité. 8. Discours précité.
  • 43. Welcome to our website – the ideal destination for book lovers and knowledge seekers. With a mission to inspire endlessly, we offer a vast collection of books, ranging from classic literary works to specialized publications, self-development books, and children's literature. Each book is a new journey of discovery, expanding knowledge and enriching the soul of the reade Our website is not just a platform for buying books, but a bridge connecting readers to the timeless values of culture and wisdom. With an elegant, user-friendly interface and an intelligent search system, we are committed to providing a quick and convenient shopping experience. Additionally, our special promotions and home delivery services ensure that you save time and fully enjoy the joy of reading. Let us accompany you on the journey of exploring knowledge and personal growth! ebookultra.com