OSGI .Net framework learning

osgi.net is a dynamic modular frame. It provides a modular and plug-in technology to users, service-oriented architecture and modules extend support and other functions. The platform is defined by the OSGi Alliance Service Platform specification ported to .NET-realization.

 

Brief introduction

Youai open service platform is based on a dynamic .NET modular middleware platform, which mainly provides the user with a modular and plug-oriented, service-oriented architecture and modules extend three functions for the console, WinForm, Windows Service , WPF, ASP.NET and .NET environments and other mobile platforms.

The platform is a .NET-based OSGi-Like services platform, it is the OSGi Service Platform Specification ported to .NET-realization. On the one hand it refers to the OSGi Alliance OSGi organization; on the other hand refers to the service platform service specification --OSGi organizations to develop a Java-based (Service Platform). Currently, OSGi has been widely used, such as:

  • IBM的Eclipse、WebSphere;
  • Oracle的Weblogic;
  • Paramus的Infiniflow Service Fabric;
  • ProSyst的ModuleFusion;
  • Red Hat的JBoss;
  • The SpringSource SpringSource Application Platform;
  • Sun Microsystem's GlassFish Enterprise Server;
  • BWM car system.

OSGi.NET OSGi specification is ported to the .NET platform service specification. Youai open service platform is OSGi.NET specification implemented by Xianyouai Information Technology Co., Ltd. UIOSP complete implementation of the OSGi specification transplantation provides a modular and plug-oriented, service-oriented architecture support, scalable module supports three functions. UIOSP perfect support console applications, Windows service applications, Windows Forms applications, WPF and ASP.NET applications and other applications operating environment, and support for Windows Mobile.

 

Features

Youai open service platform provides the following features.

With the support of the modular plug

  • Physical isolation: UIOSP development module is based on a physically separate modules may be deployed separately, each module has a separate folder, the type of space, and the resource class loader. Room modules independent of each other, isolated from each other and independently of each other.
  • Highly reusable: reusable modules do not need to change any code, simply copied to the module plug UIOSP specified directory, the function of other modules Bianxiang exposed.
  • Standardization: The module has a uniform standard, the directory structure of each module, the module configurations are unified development methods also exactly the same.
  • Rapid integration: the module only need to copy the specified plugin directory can be realized quickly integrated module functions do not need to change any code.
  • Ease of deployment and upgrades: you can deploy and upgrade copy.

Hot-Swap and dynamic support

  • Hot-swappable: All modules can be dynamically added and unloading.
  • Life Cycle: module lifecycle status from "has been installed, resolved, starting, active, stopping, stopped, uninstalled" component, the next life cycle of each state, the module provides functions may be different.
  • News: When the module performs any lifecycle operations, the module will dynamically think the outside world is exposed or hidden features it offers, such as dynamic provisioning services, expansion or other functions.
  • Remote Deployment: Support for remote deployment module, such as remote installation, start, stop, and uninstall module, or subscription module repository module changes and synchronization.

Service-Oriented Architecture Support

  • Service binding model: supports the typical "service registry - search service - service binding" service binding model. ISP would like the service registry registration services, service consumers search the registry service and binding needs.
  • Isolation interface and implementation: for each service from the "Realization Interface" component, the interface corresponding to the service contract, is an example of concrete realization of the class that implements the service interface.

Extended support module

  • Extension points: a point to define extension module is exposed to the other modules via standard XML node <ExtensionPoint>. Module is exposed extension point will monitor and deal with other modules expand on them.
  • Extension: extension module to define a point on the extension module is exposed by standard XML node <Extension>. The XML node change events to the module extension points exposed by the extension point.
  • Dynamic Expansion: Module start and stop, respectively platform will want to register and uninstall the extension and expansion point, the platform extension points exposed by the module to change the context of the event to handle dynamic expansion of information.
  • Coupling zero: no expansion module is coupled to only configure standard XML.

Multi-environment support

  • Support console application.
  • Support for Windows Forms applications.
  • Support WPF application.
  • Support Windows service application.
  • Support for ASP.NET applications.
  • Support Windows Mobile applications.
  • UIOSP platform supports nested.

 

advantage

  • Open, standardized, uniform: in line with standard modules can be loaded UIOSP.
  • Rapid integration: the module on the plug-in module that is to achieve functional integration.
  • Highly reusable: it can be copied only by reuse, without changing any code.
  • Hot Swap dynamic: each module can be installed dynamically, start, stop, and uninstall.
  • Standard modular physical isolation module: module having a standardized and independent of each other.
  • Service-oriented programming support: service-oriented architecture-based programming model to support communication module.
  • Dynamically extensible: dynamically extended by exposure extension point.
  • Multi-environment support: supports a variety of .NET application environment

Original link: https: //www.cnblogs.com/iwanwu/p/9926137.html

Guess you like

Origin www.cnblogs.com/wgj-blog/p/12177379.html