N(i)2 technical architecture 2.0 (v1 1)

1,001 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,001
On SlideShare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
10
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

N(i)2 technical architecture 2.0 (v1 1)

  1. 1. The N(i)2 Suite Technical Architecture Partner Training 9 February 2006
  2. 2. Outline N(i)2 Technical Architecture > Overview > Strategy > Components > Deployment N(i)2 CMDB Platform > Object Model > Workflow > Meta-data > Reconciliation > Spatial/Location > Admin > License > Content > Discovery > L10n, i18n N(i)2 Interface > Scripting / Default Values > API Conclusion © N(i)2 CONFIDENTIAL 9 February 2006 2
  3. 3. Technical Architecture 9 February 2006
  4. 4. Overview Open, Standard and Scalable > Java2 & XML technologies > OSS/J-like API and Web Services for interoperability > Multi-tier client architecture Simple, Straightforward, Maintainable > Proven architectural design patterns > Component-based > Plug-and-play modules (cartridges) Configurable > XML-based Model-Driven Architecture for object model definition and business workflow processes > Workflow / Business rules engine © N(i)2 CONFIDENTIAL 9 February 2006 4
  5. 5. Strategy Component-based architecture > Do not reinvent the wheel strategy > Reuse and leverage 3rd party components > J2EE 2.0 Application Server like JBoss (free) or BEA WebLogic (commercial product) > JDBC compliant database (PostgreSQL, Oracle 10g) > Graphical / Geographical data support (PostGIS, Oracle Spatial) > Workflow engine for the “Business Process Automation” > … © N(i)2 CONFIDENTIAL 9 February 2006 5
  6. 6. Components Application-tier > OSS/J like API Web-tier > JSF (Java Server Faces) / JSP > XML/XSL Thin-Client > *ML based: HTML/DHTML/Javascript/SVG Rich-Client > Swing-based UI Framework > Java Web Start for automatic update © N(i)2 CONFIDENTIAL 9 February 2006 6
  7. 7. Server Components Java Client RMI-IIOP J2EE Container Web Container J2EE Container Web Container Session Beans JSP Session Beans JSP Functional Module OSS/J Servlets Functional Module OSS/J Servlets HTTP Functional Modules Web Client Functional Modules Facade *ML Facade ` ` J2EE Application Server Web Services Entities Entities Hibernate EAI Client Entities Entities Entities Entities Beans Entities Entities Hibernate Entities Entities Beans Entities Entities JDBC, LDAP, JDO, EJB, JCA … Data LDAP RDBMS GIS Data LDAP RDBMS GIS Source Source © N(i)2 CONFIDENTIAL 9 February 2006 7 XML
  8. 8. Rich Client Components Java 2 (Swing) and JavaWebStart enabled for automatic updates. Workflow Engine Workflow Engine Bean Shell event Java Bean Shell Script Java XML Script Function XML Config Function Function Provider Config Function Provider File Provider Library File Provider Library Library Library Action Browser Action Browser Workflow Framework Broker Broker I18N … JVT I18N … HTTP Query HTTP Query JVT Swing Framework Proxy Framework © N(i)2 CONFIDENTIAL 9 February 2006 8
  9. 9. Web Client Architecture J2EE Container Web Container J2EE Container Web Container Business Business JSP HTTP Logic JSP Web Client Logic JVT JSF *ML JVT JSF Session Session Actions Bean ` Actions Bean ` Persistence Persistence Form Form Beans Beans Based on JSF (MVC) J2EE Application Server AJAX enabled client © N(i)2 CONFIDENTIAL 9 February 2006 9
  10. 10. Typical Deployment Architecture Clients Application Server Database Server RMI (over IP) Oracle ; OCI (TCP) Hardware Configuration Hardware Configuration Hardware Configuration • Intel P4 equivalent (min 2.4 • Min Intel P4 equivalent (min 2.4 Ghz) • Min Intel P4 equivalent (min 2.4 Ghz) Ghz) • Min 2 GB RAM • Min 2 GB RAM • Min 512 KB RAM Software Software Software • Jboss 4.0.3 SP1 Application Server • Windows Server 2003 • JRE 1.5 • JDK 1.5 • Oracle 10g (Ni2 Instance) • Windows 2000, XP or Linux • Windows Server 2003 © N(i)2 CONFIDENTIAL 9 February 2006 10
  11. 11. The N(i)2 CMDB Platform 9 February 2006
  12. 12. The CMDB Platform Tabular Space Graphical Application Tabular Space Graphical Application Views Views Views Functions Views Views Views Functions & & Processes Processes Tree Tree Views Map Map Views Network Network Views View Controller Views Views Views Workflow/Rules Profile IMAC Query Workflow/Rules Profile IMAC Query Engine Management Management Engine Engine Management Management Engine CMDB CMDB Physical (Active & Passive elements, Structures) Physical (Active & Passive elements, Structures) Logical (Circuits, Facilities, Services, Software) Logical (Circuits, Facilities, Services, Software) Model Financial (Cost, TCO, Service Fee,…) Financial (Cost, TCO, Service Fee,…) Contractual (Support, Maintenance, License, …) Contractual (Support, Maintenance, License, …) ….. ….. Any Data Persistence Reconciliation Location Meta-Data Any Data Persistence Reconciliation Location Meta-Data Source Management Engine Engine Management Source Management Engine Engine Management © N(i)2 CONFIDENTIAL 9 February 2006 12
  13. 13. Object Model The object model is defined in terms of: > Objects definition (attributes, default/range values, rules) > Associations definition (A-Z objects, attributes, rules, default values) <Objects.xml file> <property.xml file> > Customization principles (Meta-Data) © N(i)2 CONFIDENTIAL 9 February 2006 13
  14. 14. Workflow 9 February 2006
  15. 15. Concepts ; Rule-Based Workflow N(i)2 uses a rule-based workflow engine in order to apply the best solution for a specific business function by providing and selecting the best available combination of data thanks to business rules. Ex: > N(i)2 will suggest the appropriate network asset for connecting specific networks connections Assist and suggest the user to perform a task © N(i)2 CONFIDENTIAL 9 February 2006 15
  16. 16. Concepts The framework is founded on following principles/patterns > Swing Actions: In a typical GUI, an action can work behind the scenes to provide the logic for a button, menu item, or toolbar item. > Broker: Is the heart of the Swing Framework. It handles the interaction with workflow and the events. It also keeps reference of all the major UI components (like tree, desktop, user, ..). > Model-View-Controller pattern (MVC): divides an interactive application into three components. – It contains the core functionality and data. – Views display information to the user. – Controllers handle user input. Views and controllers together comprise the user interface. – A change-propagation mechanism ensures consistency between the user interface and the model. > Workflow Engine: All the interactions between (to complete) > Proxy: Handles the interactions with the server. © N(i)2 CONFIDENTIAL 9 February 2006 16
  17. 17. Workflows Samples <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE workflow PUBLIC "-//OpenSymphony Group//DTD OSWorkflow 2.7//EN" "http://www.opensymphony.com/osworkflow/workflow_2_7.dtd"> <workflow> <initial-actions> ... </initial-actions> <steps> ... </steps> </workflow> © N(i)2 CONFIDENTIAL 9 February 2006 17
  18. 18. Steps and Actions A step is simply a workflow position. > As a simple workflow progresses, it moves from one step to another Actions specify the transitions that can take place within a particular step. > An action can often result in a change of step A workflow status is a string that describes the status of a workflow within a particular step <action id="1" name="Start Workflow"> <results> <unconditional-result old-status="Finished" status="Queued" step="1"/> </results> </action> © N(i)2 CONFIDENTIAL 9 February 2006 18
  19. 19. The First Step <step id="1" name="First Draft"> <actions> <action id="1" name="Start First Draft"> <results> <unconditional-result old-status="Finished" status="Underway" step="1"/> </results> </action> <action id="2" name="Finish First Draft"> <results> <unconditional-result old-status="Finished" status="Queued" step="2"/> </results> </action> </actions> </step> <step id="2" name="finished" /> © N(i)2 CONFIDENTIAL 9 February 2006 19
  20. 20. Condition <action id="1" name="Start First Draft"> <restrict-to> <restrict- <conditions> <condition type="class"> <arg name="class.name"> name="class.name"> com.opensymphony.workflow.util.StatusCondition </arg> </arg> <arg name="status">Queued</arg> name="status">Queued</arg> </condition> </conditions> </restrict-to> </restrict- <results> <unconditional-result old-status="Finished" status="Underway" step="1"/> <unconditional- old- </results> </action> © N(i)2 CONFIDENTIAL 9 February 2006 20
  21. 21. Functions Functions are a powerful feature of OSWorkflow: > A function is a unit of work that can be performed during a workflow transition—that does not affect the workflow itself Functions can also add variables to the current context: > A variable is a named object that is made available to the workflow and can be referenced later on by other functions or scripts <action id="1" name="Start First Draft"> <pre-functions> <function type="class"> <arg name="class.name">com.opensymphony.workflow.util.Caller</arg> </function> </pre-functions> <results> <unconditional-result old-status="Finished" status="Underway" step="1" owner="${caller}"/> </results> </action> © N(i)2 CONFIDENTIAL 9 February 2006 21
  22. 22. Reconciliation 9 February 2006
  23. 23. Reconciliation Engine - Concepts Survey Plans Excel, ERP, CRM Reconciliation Auto-discovery Databases The N(i)2 Suite leverages multiple sources of information to reconcile them with the inventory > Allows rapid initial load > Maintains accuracy © N(i)2 CONFIDENTIAL 9 February 2006 23
  24. 24. Reconciliation Engine - Features Ability to reconcile any (multiple) data source > XML, Excel Sheet, DB, API, Ability to support import and export processes Ability to define the scope (filter) of the data to import or export > Per Catalog /Categories/Sub-Categories > Per object types or instances > Per objects attribute values (types or instances) Ability to define the rules for import/export > Data Structure / Types > Instances and related associations (rules) > Timestamps / Attribute values > Matching rules (concatenation / combination of fields, formulas) © N(i)2 CONFIDENTIAL 9 February 2006 24
  25. 25. Reconciliation Engine - Features Ability to use the reconciliation engine from the Admin Module > Visual edition of the reconciliation process Ability to schedule periodical import/export > Reconciliation Templates © N(i)2 CONFIDENTIAL 9 February 2006 25
  26. 26. Reconciliation (Import) Process -Strategy Data Source Data Source N(i)2 Reconciliation Module N(i)2 Server Provider ASCII ASCII ASCII Excel Excel Excel transform Auto-Discovery Tool Meta-Data Survey XML and XML XML Data JVT Session input input Mapping Query/Update/Create The N(i)2 Process Solution External XML XML - Java System Beans Rule-based (API or DB) Engine Queries N(i)2 Export e E-NRM stor Reconciliation Meta-Data Rules Tools Model Rules Rules DB DB © N(i)2 CONFIDENTIAL 9 February 2006 26
  27. 27. Reconciliation (Export) Process Data Outputs N(i)2 Reconciliation Module N(i)2 Server Meta-Data and JVT Session Data Query/Get The N(i)2 XML Mapping XML Export Solution XML Process - Rule-based Queries Engine E-NRM Meta-Data Rules Model Rules Rules © N(i)2 CONFIDENTIAL 9 February 2006 27
  28. 28. Technologies – Rules Engine Rules engine > Drools is an "augmented implementation of Charles Forgy's Rete algorithm tailored for the Java language.“ Principle : Evaluation of Rules based-on > Agenda (Set of “working objects”) > Arguments > Priority (Silent) > Conditions If a Rule matches its criterion, its consequence is executed. The consequence can modify the Agenda and thus the Rules will be re-evaluated. The process continues until no Rule can executed. © N(i)2 CONFIDENTIAL 9 February 2006 28
  29. 29. Technologies – Rules Engine Before the Rule can be evaluated, the Agenda needs first to be filled up with the data to reconcile. The Agenda contains JavaBeans or DOM tree > XML documents are transformed into DOM tree. In the Rules, simple ‘XQueries’ are used. > JDBC sources are transformed into JavaBeans > In some cases, no transformation is necessary like in Auto-discovery scenarios, JavaBeans are directly put in the Agenda. © N(i)2 CONFIDENTIAL 9 February 2006 29
  30. 30. Technologies - How to write rules The way the Rules are written depends on the type of information contained in the Agenda. > In order to simplify them, it’s very important to analyze and – in some cases- transform the information that will be put in the ‘Agenda’ . > If the Rules are easier, they will be more maintainable. > There is a trade-of between transforming the data and simplifying the rules: ‘If the job is done before the Drools, why using Drools?’ © N(i)2 CONFIDENTIAL 9 February 2006 30
  31. 31. Spatial and Location 9 February 2006
  32. 32. Implementation ; GIS Architecture GIS-enable GIS-enable DB DB (Oracle Spatial (Oracle Spatial or PostGIS) OpenGIS Server (GeoServer) or PostGIS) OpenGIS Server (GeoServer) WFS GML WFS Location Location Datastore Space Datastore Space SLD Interfaces GIS files Views SLD Interfaces GIS files Views WMS Rendering (MIF, SHP) GIS files GIS files GIF/PNG/JPEG WMS Rendering Engine (MIF, SHP) GIS files (MIF, SHP) (MIF, SHP) Engine (MIF, SHP) Java Swing Java Swing J2EE Server J2EE Server GIS files GIS files (MIF, SHP) GIS files (MIF,SLD SHP) (MIF,SLDSHP) files files Images (GIF/PNG/JPEG) will be used to provide background maps or images Geometry Features (GML) will be used to provide managed entities representations (selection able feature) © N(i)2 CONFIDENTIAL 9 February 2006 32
  33. 33. Concepts ; Location enable system N(i)2 solution is not a GIS or CAD application > Background maps and symbols are ‘graphical’ views. > Symbols are associated with resources > Network, schematic and model views are generated on demand > Background maps are accessed trough standard API’s > Network database format is “open” (Oracle SDO) To render or localize an object, N(i)2 uses the necessary rendering / localization rendering “service” © N(i)2 CONFIDENTIAL 9 February 2006 33
  34. 34. Meta-Data 9 February 2006
  35. 35. Concepts ; Model Driven Architecture Fully customizable application models Meta-Data Meta-Data (XML) > enabling fast and iterative development (XML) Modeling of … > Application modules and functions Object Model Object Model (J2EE) > User Interface Layout (J2EE) > User Profiling (users, roles, rights) > Objects definition (attributes, default/range values, rules) > Associations definition (A-Z objects, attributes, rules, default values) Persistence Persistence > Rendering rules Model (Any) Model (Any) > Workflow processes > Deployment process : Cartridges and deployable unit (client tier, web tier, application tier, persistence tier) © N(i)2 CONFIDENTIAL 9 February 2006 35
  36. 36. Concepts: Model Driven Architecture Application Developer Java Interfaces Compilation Business Framework Developer Public Public XVT Interfaces Interfaces & Deployment Interfaces & JVT Interfaces Modeler Templates Templates XML Schemas XSD XSD Application Application Code Application Business Application Business Models Development Generation Java Classes Compilation & Deployment Business Models XML Models Kit Engine XVT & JVT Implementation Session Beans XSD (XSD?) Implementation Java Classes XSD Templates Entity Beans Templates XVT & JVT Implementation Session Beans Application Value XSD Objects XSD SQL DD Implementation Templates Entity Beans Templates Value XSD Objects Server XSD Visual Public Implementation Deployment SQL DD Tool Public Interfaces Public Interfaces Templates Templates Implementation Implementation XSL Templates Deployment Deployment XSL Deployment Interfaces Templates Templates Deployment Compilation Templates XSL Templates XML Templates XML Deployment & Deployment Web Browser Templates XSD XML XSD XSD XSD XSD Deployment Descriptor Templates XSD Templates WDSL XSD XSD Hand-coded implementation based on generated code skeletons User Interfaces Open to any User Interfaces Templates User Interfaces UI Components Templates UI Components other templates XML JavaComponents UI Beans, UI Components Templates Java Beans, Java Beans, JSP Servlets UI Components UI Components Java Beans, Java Beans, UI JSP Servlets Java Beans, JSP Servlets JSP Servlets JSP Servlets JSP Servlets Frameworks Running Artifact Software Not yet implemented Implemented © N(i)2 CONFIDENTIAL 9 February 2006 36
  37. 37. Concepts: Workflow Configuration © N(i)2 CONFIDENTIAL 9 February 2006 37
  38. 38. Admin 9 February 2006
  39. 39. Admin The three main concepts are: > The identification restricts the usage of the application to users that have an id and a password. This is represented by the EndUser category (only one EndUser subcategory) and the IsIdentifiedBy association. > The rights are the list of privileges that can be checked by the system to give access or restrict the access to a function. The end users will not be able to modify this information. > The roles are used to bind some rights to an end user. The HasPermission association binds some rights and/or roles to an endUser or to a role. In other words, a role is a set of rights and/or other roles. And some roles can be assigned to an endUser as well as individual rights. © N(i)2 CONFIDENTIAL 9 February 2006 39
  40. 40. Admin © N(i)2 CONFIDENTIAL 9 February 2006 40
  41. 41. License Management 9 February 2006
  42. 42. License Management The licenses are attributed by > Modules and > Catalogs Each module or catalog license has an expiration date and signature All signatures are generated based on PKI algorithm The server verifies if a module or a catalog is accessible based on: > The MAC address: the server MAC address and the MAC address contained in the license file must be the same > Module or catalog expiration date > The license content integrity: MAC address, module/catalog names, expiration dates, signatures © N(i)2 CONFIDENTIAL 9 February 2006 42
  43. 43. Content Management 9 February 2006
  44. 44. Content Management Slide is used as content repository. It’s open source framework. Its features are: > Full WebDAV Support > Easy to access to documents through http protocol > Basic DeltaV WebDAV Versioning Support > Support for a variety of backend systems for storing the content including different databases and file system storage > Transactions and Locking for data integrity > Flexible control over permissions at a per file level via support for the WebDAV ACL > DASL support for any backend, extensible for using backends search capabilities for higher scalability and less latency > Centralize repository: all documents are stored in a same secure place (easy to backup, security access, the document history can be tracked) > Binding support > Simple installation as .war deployment > 'ready-to-run' in JBoss > A fully featured WebDAV client library and command line client © N(i)2 CONFIDENTIAL 9 February 2006 44
  45. 45. Discovery 9 February 2006
  46. 46. Discovery Architecture Discovery Engine Reconciliation Engine N(i)2 Server Remote Windows Registry Access WMI JVT Session input Drools Rules Engine Query/Update/Create The N(i)2 Solution SNMP Laptops ICMP Reconciliation E-NRM Rules Meta-Data Associations Model List IP addresses, Reconciliation Sub networks Rules Servers to scan Reconciliation Rules © N(i)2 CONFIDENTIAL 9 February 2006 46
  47. 47. Discovery Architecture The Architecture is composed of three main components > Discovery Engine. Three different protocols can be used: – SNMP: allow access to SNMP server and collect MIB information. SNMP4J is used (http://www.snmp4j.org/). – WMI: allow access to WMI Microsoft Windows machines. Bridge Java-COM is used to send select statement to WMI machine. – Remote Windows Registry Access. Bridge Java-COM is used to access remotely the registry. This one is only used to discover the installed software on the remote host. > Reconciliation Engine – Rule Engines and expert systems are a great way to collect complex decision-making logic and work with data sets too large for humans to effectively use. Rule engines can make decisions based on hundreds of thousands of facts, quickly, reliably and repeatedly – Avoid hard coded rules, possibly replicated throughout the application within if/then blocks. – Help to answer to fast changing data-driven applications – Help to provide solution for complex reconciliation that are too complex, voluminous for traditional software architectures – Use the rules engine just like adding any other Java class. Extensive Java library. – Drools Rules Engine is used (http://www.drools.org/) > N(i)2 Server – Use to collect, search, create, update and delete information © N(i)2 CONFIDENTIAL 9 February 2006 47
  48. 48. SNMP The leading industry standard protocol for enterprise networks. References > http://www.cisco.com/univercd/cc/td/doc/cisintwk/ito_doc/snmp.htm > http://www.snmplink.org/ > Available in Version 1, Version 2. Version 3 is new Availability > Most of the IP devices are providing SNMP agents (Unix, Windows, or IP) > Windows ;Requires Windows NT®, Windows® 2000 or Windows XP; the Microsoft SNMP extension agent also runs on Windows 95 and Windows 98, and Microsoft® Windows® Millennium Edition clients. Security > Uses “community string” to identify a group to which hosts running the SNMP service belong. it provides some security and context for agents receiving requests and initiating traps Functions > Managed devices are monitored and controlled using four basic SNMP commands: read, write, trap, and traversal operations. Data Model > The SNMPv1 and SNMPv2C schema is called the Structure of Management Information (SMI), and is packaged as Management Information Base (MIB) files. > SNMP uses a schema to define objects. The schema is different from the schema used in WMI > Can be used to discover and monitor details such as software, heat dissipation, power, uptime, …. © N(i)2 CONFIDENTIAL 9 February 2006 48
  49. 49. WMI Windows Management Instrumentation (WMI) is the Microsoft implementation of Web-Based Enterprise Management (WBEM) > WBEM is an DMTF industry initiative to develop a standard technology for accessing management information in an enterprise environment. > WMI uses the Common Information Model (CIM) industry standard to represent systems, applications, networks, devices, and other managed components. References > http://www.dmtf.org/standards/wbem/ > http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wmisdk/wmi/wmi_reference.asp Availability > WMI is pre-installed in Windows Server 2003, Windows XP, Windows Me, and Windows 2000 > Windows® NT Workstation 4.0 SP4 and later: > WMI is available through "Add/Remove Windows components" in the Control Panel, as a WBEM option install. A later, more comprehensive, version (WMI CORE 1.5 (Windows 95/98/NT 4.0)) is available from http://www.microsoft.com/downloads. > Windows® 98/95 > Windows Management Instrumentation (WMI) CORE 1.5 (Windows 95/98/NT 4.0) is available from http://www.microsoft.com/downloads. © N(i)2 CONFIDENTIAL 9 February 2006 49
  50. 50. Remote Windows Registry Access Security > Strong security model based on Microsoft credentials – Domain – Username – Password > WMI requires a Domain Controller to scan remote Windows workstation > If this is an issue Agent to deploy on clients in order to collect / send info to the service Functions > Object model / Set of API that manipulates WMI Classes Data Model > WMI Classes (DMTF) Object model / Set of API that manipulates WMI Classes > Can be used to discover and monitor details such as software, power, uptime heat dissipation, …. Details > C:Ni2DocsBusinessModelingRequirementsDiscoveryni2_auto_discovery_WMI.ppt © N(i)2 CONFIDENTIAL 9 February 2006 50
  51. 51. Remote Windows Registry Access Through WMI, it’s possible to have access to the entire registry of the remote host: > WMI Object to connect to: WbemScripting.SWbemLocator > All entries at the following path are collected: SOFTWAREMicrosoftWindowsCurrentVersionUninstall © N(i)2 CONFIDENTIAL 9 February 2006 51
  52. 52. Discovery Process Discovery Process 1. A list of IP addresses, sub-networks to scan with the different protocols to use (WMI, SNMP, Remote Registry) 2. For each host: a) The host is pinged, if successful, go to step a), else the nothing is sent to the reconciliation. b) WMI login is sent to the hosts, if successful, the information is collected then go step c), if not go step d) c) Remote login to host registry is sent. If successful, the information is collected then all the information collected in b) et c) is sent to the reconciliation. If not the information collected in b) is sent to the reconciliation. d) SNMP request is sent to the host. If successful, the information is collected then sent to the reconciliation 3. The information collected during the step 2 is sent to the reconciliations. Base on Drools rules, the information is reconcile with the N(i)2 server. © N(i)2 CONFIDENTIAL 9 February 2006 52
  53. 53. Summary Protocols Operating System Security Information Supported Discovered ICMP ALL Rely on TCP/IP Very basic: host alive protocol and firewalls or not WMI All Windows platform The host needs to be Based on the WBEM (NT, 98 and 95 need in a trusted domain specific driver to be name. User with installed) specific privilege required Remote Windows All Windows platform The host needs to be Access the registry to Registry Access (NT, 98 and 95 need a in a trusted domain discover the installed driver to be installed) name. User with software specific privilege required SNMP Unix, Windows, MAC Handle by the SNMP The discovered OS X, Printers, implementations. information depends Router, etc on the MIBs available for the host © N(i)2 CONFIDENTIAL 9 February 2006 53
  54. 54. L10n, i18n 9 February 2006
  55. 55. L10n, i18n I18N and L10N are based on the Java concept > Locale – political, cultural, and region-specific elements (in Java, expressed as a language code and country code) > Resource Bundle – Properties files retrieve base on the current Locale MessagesBundle.properties MessagesBundle_en.properties MessagesBundle_en_US.properties MessagesBundle_fr_FR.properties > All the strings are externalized to the resource bundles using key/value. The key replace the string in code and the translated value is set in the corresponding property bundle. © N(i)2 CONFIDENTIAL 9 February 2006 55
  56. 56. API Overview 9 February 2006
  57. 57. Client Scripting and Default Values Default values are formulas that are used to generate initial values for fields of newly created instances There are four places where default values can be set: > First of all, default values can be set at the metadata level. The default value is then attached to an attribute of a specified category. This means that everywhere in the application, when an instance of the specified category will be created, this default value will be used, except if it was overridden by the following ones. > Secondly, default values can be set at the resource type level. These default values are optional formulas that can be set in order to override the default values that were set at the category level. If no default value is set at the object type level, then the category’s one will be used. > Thirdly, default values can be set at the template level. They will be used when a template will be instantiated in the inventory. These default values, if specified, override the default values that are set at the resource type or at the category level. > Finally, some workflows (not implemented) allow overriding all the default values described here above just for the time of the workflows execution. © N(i)2 CONFIDENTIAL 9 February 2006 57
  58. 58. Client Scripting and Default Values All the default values are beanshell scripts (www.beanshell.org) This means that the content of the default values described here above must always respect the beanshell specifications. The value returned by the script is the value that will be set as initial value in the object instance field. © N(i)2 CONFIDENTIAL 9 February 2006 58
  59. 59. API Strategy Billing, Customer Care, Revenue Assurance, … Business Billing, Customer Care, Revenue Assurance, … Billing, Customer Care, Revenue Assurance, … Management Layer Web OSS/J Java XML Service 3rd party OSS/J Network Network Management Web Service Network Network Management Network N(i)22Suite N(i) Suite System ManagementAsset Inventory or System Management Management System Layer CMDB CMDB Java/XML System (CMDB) LDAP WMI SNMP XML OSS/J Network Element Management System Element Management Layer Network Network Network Network Network Network Element Network Element Network Element Network Element Element Element © N(i)2 CONFIDENTIAL Element 9 February 2006 Element Element 59
  60. 60. API Model Architecture N(i)2 2 N(i) JVT Core JVT Core Session Bean Session Bean Ni2Proxy RMI Ni2Proxy RMI N(i)2 2 N(i) JVT Query JVT Query Session Bean Session Bean The N(i)2 2 Client The N(i) Client Web Services Object Web Services Object Model Model Any client Any client The N(i)2 2 Server The N(i) Server N(i)2 Proxy = Java API to easily access information on the server (core or queries) N(i)2 JVT Core Session Bean = Low-Level Java API N(i)2 JVT Query Session Bean = Query API, give access to all queries © N(i)2 CONFIDENTIAL 9 February 2006 60
  61. 61. API – JVT Session Promote standard interoperable “business” interfaces to interact with external systems The N(i)2 framework is open and technology independent It supports OSS/J interfaces design guidelines OSS/J like framework > J2EE based > ‘State of the art’ J2EE patterns > Meta-data framework > Extensible, distributed and scalable © N(i)2 CONFIDENTIAL 9 February 2006 61
  62. 62. Perl Integration N(i)2 2 N(i) JVT Core JVT Core Session Bean Session Bean Ni2Proxy RMI Ni2Proxy RMI N(i)2 2 N(i) JVT Query JVT Query Session Bean Session Bean Perl Perl Object Object Model Model The N(i)2 2 Server The N(i) Server Perl use Inline: Java to interact with Ni2Proxy use Inline Java => 'STUDY', STUDY => ['com.ni2.test.JVTNi2Proxy']; sub new { return JVTNi2Bridge::com::ni2::test::JVTNi2Proxy->new(); } © N(i)2 CONFIDENTIAL 9 February 2006 62
  63. 63. Conclusion 9 February 2006
  64. 64. Conclusion Ability to easily migrate iteratively existing inventory (CMDB) > Through XML-based meta-data > Rule-based information model enabling iterative data collection > Configurable reconciliation module based on a rule engine Ability to provide customers with simple and intuitive business functionality > Simplified and automated “Service Provider” type of business functionalities > Easy and straightforward user interface and assisted business processes > Transparent and automated object graphical rendering and (geo)-positioning system of resources © N(i)2 CONFIDENTIAL 9 February 2006 64
  65. 65. Conclusion Ability to cope rapidly with requirements changes > Easy customizable business models Ability to let customers tailor the application > Straightforward visual-based meta-data > Flexible user interfaces Ability to interface with different applications > Service-based architecture with Java and XML API’s > Support of standards network protocols (SNMP, TL1) © N(i)2 CONFIDENTIAL 9 February 2006 65

×