Home
Categories
Dictionary
Glossary
Download
Project Details
Changes Log
What Links Here
FAQ
License

Overview



Protoframework is a Service-oriented framework allowing to exchange Services between applications.

Service-oriented framework concepts

A Service-oriented architecture (SOA) is a style of software design where services are provided to the other components by application components, through a communication protocol over a network.

The basic principles of service oriented architecture are independent of vendors, products and technologies. A service is a discrete unit of functionality that can be accessed remotely and acted upon and updated independently, such as retrieving a credit card statement online.

A service has four properties according to one of many definitions of SOA:
  • It logically represents a business activity with a specified outcome
  • It is self-contained
  • It is a black box for its consumers
  • It may consist of other underlying services
A service presents a simple interface to the requester that abstracts away the underlying complexity acting as a black box. Further users can also access these independent services without any knowledge of their internal implementation.

ProtoFramework

The protoframework.jar jar file is a SOA framework implemented in Java which is able manage a list of services and their black-box implementations.

The implementations (called modules) do not depend on other modules. They typically declare which services they provide or they subscribe to. The framework takes care of the invocation of these services:
  • Modules only communicate through their services interfaces
  • Modules do not know which modules provide the services they subscribe to
  • Modules do not know which modules subscribe to the services they provide
  • Modules do not need to handle the routing of the services through the Network
  • The services and modules configuration are specified in an XML file

ProtoFramework architecture

Main Article: Architecture

The prototype framework project allows to exchange services between modules. The framework is based on the concept of:
  • Applications which contain the executable libraries (jar files)
  • Modules which are the executable units in the Applications
  • Services which are processing units which are provided or required by Modules, and the associated data types of the datas defined in the Services
All these elements are defined in a filelist configuration file which specifies:

Runtime

Main Article: Framework instance

The protoFramework.jar library is the Java application which manage:
  • The instanciation of the modules
  • The exchanges of the services between the modules
To start the framework, we start the framework with a filelist configuration file which specifies the architecture and the services.

For example:
      java -jar protoframework.jar config=filelist.xml

See also


Categories: general

Copyright 2017-2020 Dassault Aviation. All Rights Reserved. Documentation and source under the LGPL v3 licence