axs

Upload: vsakthi1985

Post on 07-Apr-2018

236 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/6/2019 AXS

    1/18

    All Rights Reserved Alcatel-Lucent 2006, #####

    AXS Overall architecture

  • 8/6/2019 AXS

    2/18

    All Rights Reserved Alcatel-Lucent 2006, #####

    Build on standard infrastructure

    JBOSS

    AXS

    MySql

    Eclipse RCP

    AXS

    RMI

    Node

    Solaris 10(Linux/Windows)

    Windows(Linux/Solaris)

    JVM 1.5

    JDBC

    SNMP

    JVM 1.5

    JMS

  • 8/6/2019 AXS

    3/18

    All Rights Reserved Alcatel-Lucent 2006, #####

    Platform services

    Server side functional blocks

    SNMPruntime

    Platform

    Apps

    Node 1

    nodeplugin

    Alarms Sec &Lic

    Inventory Backup

    SW Download

    Templates

    NElist

    Logging

  • 8/6/2019 AXS

    4/18

    All Rights Reserved Alcatel-Lucent 2006, #####

    Application container based

    Software engine to deliver applicationsBuild in support for:

    component deployment

    component wiring component management

    distributed transactions

    embedded security

    resource pooling

    component deployment

    component wiring extensions

    views

    editors

    embedded help

    reporting

    Server Client

  • 8/6/2019 AXS

    5/18

    All Rights Reserved Alcatel-Lucent 2006, #####

    Component strategy

    SOAA component will publish some services

    the contract is expressed as a Java API

    the service is registered in the JMX server which provides remoting andlookup mechanism

    The component will provide an implementation of those APIs as much as possible plain Java

    Spring is used for exporting a plain Java implementation to JMX

    Spring is used for injection of dependencies

    Spring is used for integration with platform services: TX, lookups,

    The component can be deployed in the application server packaged as a JBoss service archive

    common Service Mbean which will bootstrap plugin through Spring

  • 8/6/2019 AXS

    6/18

    All Rights Reserved Alcatel-Lucent 2006, #####

    JBOSS + 3rd party libraries

    JMX: the management extensions for Java. It provides a convenient way to expose plain Javaobjects for remote clients. Since JMX provides meta data on the object it exposes, genericclients can be written. The JBOSS distribution contains a web based client, the JMX-console

    which is very convenient for debugging.

    JAAS: security standard for JAVA. JBOSS ensures that the session of client propagates nicelyacross the technologies (JMX, JMX, ...)

    JMS: reliable messaging server. Integrates with JTA, the distributed transaction managed. This

    means you can have one transaction which spans multiple transaction aware resources.

    JCA: connector support. We have added a connector for SNMP. The connectors providestandard support for pooling, monitoring etc.

    On top of JBOSS we have added some important libraries:

    Hibernate: ORM mapping layer.

    y

    SNMP4J:SNMP stack

    . Hot deployment: code libraries can be dynamically added and removed from the runtime

    Cluster support: services can be distributed across multiple nodes

  • 8/6/2019 AXS

    7/18

    All Rights Reserved Alcatel-Lucent 2006, #####

  • 8/6/2019 AXS

    8/18

    All Rights Reserved Alcatel-Lucent 2006, #####

    AxS PlatformOur core classes for node support

    Support classes for the development of value added applications

    This package is not hot deployable. So it should be stable over time and as thin as possible.

    Node Plugin

    A node plugin contains all the code which is required to managed a given node type and

    version

    Value Added Applications

    A value added application can be hot deployed. For some applications adaptations to the node

    models are needed, these adaptations are also separate deployment units.

  • 8/6/2019 AXS

    9/18

    All Rights Reserved Alcatel-Lucent 2006, #####

    Basic EML

    MObject

    life cycle methods with meta data (create, destroy and getCreateMetaData)

    attribute related methods with meta data (getAttribute, setAttribute, getAttributeNames,...)

    relation related methods with meta data (getRelationTotype, getRelationMetadata, ..)

  • 8/6/2019 AXS

    10/18

    All Rights Reserved Alcatel-Lucent 2006, #####

    VAP Implementation strategy

    Server sideImplement your application as a POJOUse EJB3 (Hibernate) annotations for persistence

    Send events using the eventBroadcaster utility class.

    Package your application in a SAR file.

    Inject all dependencies (db connection, JMS, ...) using Spring

    Export your service to JMX using the Spring exporter.

    Provide transaction demarcation using spring AOP

    Client Side

    Create a new isolated RCP plugin

    Choose in which feature this plugin fit's best

  • 8/6/2019 AXS

    11/18

    All Rights Reserved Alcatel-Lucent 2006, #####

  • 8/6/2019 AXS

    12/18

    All Rights Reserved Alcatel-Lucent 2006, #####

    Reference application architecture

  • 8/6/2019 AXS

    13/18

    All Rights Reserved Alcatel-Lucent 2006, #####

    Managed Objects

  • 8/6/2019 AXS

    14/18

    All Rights Reserved Alcatel-Lucent 2006, #####

    Managed Objects!

    Some observations a node has many objects

    writing custom code to model this is expensive

    writing custom code for the GUI is expensive

    Solution is to have all those objects implement the Mobject interface

    (get/set)Attribute(s) create/delete

    event support (same transparent translation to JMS for remote clients)

    extensive metadata on

    attributes: read/write, types, ranges, enabledExpressions,

    create strategy

    typemetadata: friendly names, security

  • 8/6/2019 AXS

    15/18

    All Rights Reserved Alcatel-Lucent 2006, #####

    Implementing managed objects

    SNMPMObject generic implementation which is configured through xml files to represent

    different objects

    ReflectionMObject

    wrapper around a POJOs

    uses annotations for extra metadataHibernateMObject

    wrapper around hibernate POJOs

  • 8/6/2019 AXS

    16/18

    All Rights Reserved Alcatel-Lucent 2006, #####

    Dispatcher

    Dispatcher findMObject(String name)

    registerMObject(String name, Mobject mobject)

    Interceptors

    interceptors can be added on the dispatcher level

    interceptors can be added on a per mobject basis

  • 8/6/2019 AXS

    17/18

    All Rights Reserved Alcatel-Lucent 2006, #####

    Generic interceptors

    Security will check declarative security on the TypeMetaData and enfore it

    Logging

    debug logging to log4j

    Exception wrapping

    wraps leaking exceptions (non MObjectExceptions)

  • 8/6/2019 AXS

    18/18

    All Rights Reserved Alcatel-Lucent 2006, #####

    Eclipse RCP

    Main concepts are: product

    features

    plugins

    RCP has good support for:

    extension points views

    wiring based on the selected object