Adaptive provides extensive
support for developers either customizing or writing new applications
against the repository.
The information below provides a description of the
interfaces available to the Adaptive repository.
These are considered from two aspects:
- Control – what functionality is available and how is it
accessed
- Data – what data content and formats are supported
Control
Adaptive provides the following levels of API that allow
for interchange with its repository. The preferred interface is Web
Services and the fully annotated WSDL file (“aws.wsdl”)
is attached.
Web Services
Adaptive provides a web services interface for important
repository operations including import and export. Access is governed
by full access control in terms of authentication and the (versions)
of information that may be accessed. The web services interface allows
full use of Adaptive’s transformation capability (see later).
For convenience Adaptive also provides the following
‘wrappers’ for the WSDL interface, to save users having
to program directly with web services:
- Dynamic Link Library (DLL) for the Windows environment. This includes
interactive dialogs that may be used for authentication and version
selection
- Excel 2003: this makes use of the DLL to import information into
the repository - it makes use of Excel Comments added to column
headings in any spreadsheet to map the contents of the column to
the repository metamodel
- Visio 2003: Adaptive provides 21 Visio stencils with shapes that
are mapped to the repository metamodel. Again, the DLL is used to
connect with the repository from within the Visio environment.
- Java Stubs. This provides a set of Java functions allowing natural
calls from a Java client
- Command line. This uses the Java Stubs to provide a command line
interface suitable for automatic scheduling
- There is also a Java version of the connection components used
for the NoMagic Magic Draw integration.
API
Adaptive has a number of APIs at different levels and
providing different capabilities:
- Web Services (SOAP) interface, defined using WSDL. This is intended
for remote access from client tools and provides capabilities such
as import/export and searching
- REST interface over http: this is driven by URLs which can be
used to access any element/query/report using any view, with the
result returned as an HTML, SVG or (more usefully) an XML stream
(based on parameters in the URL). This is used for data access only.
It is lighter weight than the SOAP option and is especially suited
to a new breed of composite client application or 'mash up'.
- JSP Tag Library for building your own JSPs (for user interaction
or other processing tasks) without the need to embed raw Java code.
The Tag Libraries provide a clean and well-defined interface for
most repository operations including individual object access and
manipulation.
- Application server Java API (called Repository Access Interface).
This is what is used to implement the Tag Libraries (previous bullet)
but can be used directly from server-side Java programs. This is
the interface used by the code generated from the Visio flow diagrams
supported by Adaptive Designer: this capability means that customers
rarely use the raw APIs
- MOF Java API. This is a low-level repository API based on the
Java Metadata Interface (JMI) standard adopted by the Java Community
Process. It exists in two flavors: reflective (the same API applies
to any metamodel) or metamodel-specific (with operations specific
to each metamodel based on its structure)
- Client-side Javascript for rich user interaction within the browser
environment. Adaptive has supplemented basic Javascript capabilities
with an AJAX library for access to repository information asynchronously
(without the user having to wait).
Application Server Java API
Adaptive provides a server-based API that provides the
same capabilities as the web services interface but for local access
without the need for web services infrastructure.
Repository Java API
Adaptive provides a lower-level server-based API based
on the MOF standard Java Metadata Interface (JMI).
Data
Data Content
The data content is determined by the repository metamodel.
Adaptive uses OMG’s Meta Object Facility (MOF) standard as the
basis for all its metamodels. Adaptive provides a large integrated
metamodel (900+ classes) that covers most aspects of an Enterprise
Architecture and integrates many standard metamodels such as:
- UML – system design information (Adaptive uniquely supports
both UML 1.4 and UML 2.1)
- CWM – information design
- XSD – XML Schema structures
- SPEM – software processes
- RAS – packaging and classification of reusable assets
One specific standard worth noting is the OMG Diagram
Interchange standard that allows the representation of diagrams as
originally drawn in an external tool – including positions,
lines, colors etc. Adaptive can display such captured diagrams in
its web browser interface without the need for the original tool.
It is quite possible for customers to use the inbuilt
MOF capability to extend this and/or add their own metamodels: this
is in essence as easy as creating a UML diagram for the metamodel
(in fact just the extensions since inheritance is fully supported).
Data Format
The native data format is determined by the XMI (XML
Metadata Interchange) standard. The XMI standard determines a XML
format (XSD or set of tag definitions) for each metamodel (or set
thereof). Adaptive supports versions 1.0, 1.1, 1.2. 2.1 of XMI.
Adaptive provides a powerful component-based transformation
pipeline capability that can process (import/export) a large number
of non-XMI formats. The pipeline capability means that Adaptive can
provide small adapters for a number of common UML tools to ‘correct’
their XMI where it does not fully adhere to the UML/XMI standard.
Thus Adaptive is able easily to compensate for the issues that commonly
bedevil interchange between UML tools. Specific UML tools that have
been tested include:
- Rational Rose (via Unisys Rose plug-in)
- NoMagic Magic Draw
- Softeam Objecteering
- Sparx Enterprise Architect
- Borland Together
- Eclipse tools based on UML2 project (including Rational Software
Architect/Modeler)
Adaptive provides a number of configurable component
types including an XSLT engine and ZIP file processor. Native XSLT
support makes it very easy to import/export most XML file formats:
in fact Adaptive has developed a tool for generating the XSLT based
on creating a model mapping the XML elements to the repository metamodel.
An important transformation component provided by Adaptive
(as an optional product – Adaptive Integrator Metadata Module)
embeds the Meta Integration Model Bridge (from Meta Integration Technology
Inc) which can cope with the proprietary formats of over 50 tools
– mainly in the data modeling, warehousing and business intelligence
space. See the attached document (“Adaptive Tool Integrations
- June '06.pdf”) for a full list.
In addition to the above, specific transformations exist
for:
- COBOL copybooks
- XML Schemas (XSD files)
|