Professional Documents
Culture Documents
Windows (Linux/Solaris)
Solaris 10 (Linux/Windows)
Apps
Inventory
Backup SW Download
Templates
Platform
SNMP runtime
node plugin
Alarms
NE list
Loggi ng
Platform services
Node 1
Application container based Software engine to deliver applications Build in support for:
Server Client
component deployment component wiring component management distributed transactions embedded security resource pooling
component deployment component wiring extensions views editors embedded help reporting
Component strategy SOA A component will publish some services the contract is expressed as a Java API the service is registered in the JMX server which provides remoting and lookup 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
JBOSS + 3rd party libraries JMX: the management extensions for Java. It provides a convenient way to expose plain Java
objects for remote clients. Since JMX provides meta data on the object it exposes, generic clients 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 nicely
across 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 provide
standard support for pooling, monitoring etc. On top of JBOSS we have added some important libraries:
y
AxS Platform
Our 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
Client Side
Create a new isolated RCP plugin Choose in which feature this plugin fit's best
Managed Objects
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
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 metadata HibernateMObject wrapper around hibernate POJOs
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
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)
Eclipse RCP Main concepts are: product features plugins RCP has good support for: extension points views wiring based on the selected object