Integration
NexJ’s integration capabilities are designed to provide many different ways to access and expose data, including file, API, and real-time based interactions. Following is a brief summary of the platform capabilities used to support various integration patterns.
- Model Services (REST) provide secure API access to the business model automatically (public methods and attributes) over HTTP(s). It is available as XML, SOAP, JSON, and REST interactions from any HTTP-capable client, including Javascript libraries, .NET, and Java applications. These are the services used by NexJ’s UI. A mechanism to provide versioned contracts over this API is also available to better support micro-service development and continuous integration. The capabilities of the REST interface are documented automatically with OpenAPI.
- SOA Services provide contract-based web services to integrate with client enterprise SOA standards. This approach insulates services from business model changes between releases and provides versioning support. It is available over HTTP(s) using SOAP or JSON-RPC. These services may also be implemented in NodeJS for agile service development between releases. The behaviour of the contract interfaces is protected between releases, until the version is retired or deprecated.
- Integration Services provide the most flexibility for custom service development. They are capable of sending and receiving over HTTP(s), file drops, message queues, TCP, UDP, kafka, and mail protocols. Supported wire formats include comma-separated value, tab-separated value, fixed or copybook, EDI, JSON, Avro, Object, vCard, XML, SOAP, and Zip. Orchestration is visually declared and can support virtually any integration pattern, for example, content based routing, ESB or point-to-point, synchronous or asynchronous. It also supports advanced capabilities for SSO, entitlements, and certificate authentication.
Additional capabilities for integration include:
- NexJ Portal provides context sharing and UI mashups in the presentation layer. NexJ declarative portlets, custom UI, and 3rd party content can share context, events, and notifications on the client without the need for server-to-server integration.
- Business Model Persistence Mapping provides real-time connectivity to databases and services giving you a virtualized view of your enterprise data. This flexible tooling provides high-performance access to data at source while consistently applying security, auditing, business rules, and processes. The mapping of classes and attributes to database tables and columns is done logically and declaratively at design-time. During deployment, the mapping binds to the appropriate physical database type (for example, MSSQL, Oracle, DB2, …). Advanced capabilities, such as intelligent caching and sharding, are also supported. Once the mapping is completed, designers can create UI, analytics, and reporting without having to think about schema, SQL statements, or service calls.
- Bulk Data Ingestion and Extraction can move large volumes of data in and out while respecting the security, business rules, and processes defined in the business model. BI Models and Databridge provide simplified views of the operational model to analytics and reporting and may be populated in batch or real time. ETL tooling also leverages the business model and provides page-based workflow for data. System flags can be used to turn off certain capabilities, such as auditing, for more efficient updates during a high-volume data transfer.
- The Synchronization Engine keeps data in two or more systems in sync. This powerful feature is what is behind NexJ’s Enterprise Synchronization for Microsoft Exchange and can synchronize any two systems with mappable keys, in read time or in batch.
- Direct SQL Integration with NexJ products databases is possible, but the recommended approach to use the business model, ETL tooling, or the synchronization engine so as to respect the security, auditing, and business rules enforced by the business model.
- The Streaming Interface provides real-time access to any audited changes in the business model. It is used by Databridge to capture and process changes.
Business Model Persistence Mapping provides real-time connectivity to databases and services giving you a virtualized view of your enterprise data. This flexible tooling provides high-performance access to data at source while consistently applying security, auditing, business rules, and processes. The mapping of classes and attributes to database tables and columns is done logically and declaratively at design-time. During deployment, the mapping binds transparently to the appropriate physical database type (MSSQL, Oracle, DB2, Sybase, …). Advanced capabilities, such as intelligent caching and sharding are also supported. Once the mapping is completed, designers can create UI, analytics, and reporting without having to think about schema, SQL statements, or service calls. Additionally, classes may be “service persisted” to seamlessly make requests to back-end APIs.
Integration is important to user adoption. Users perceive value only when they get more out of the solution than they put in and have all enterprise information readily available. This is especially important in the Enterprise environment. At NexJ we understand this and provide world-class tools and techniques to best support enterprise integration.
Model Description Language Integration Elements
- Message - A message carries information from a source system to a destination system over an integration channel.
- Transformation - Transforms an instance of one message type to another message type.
- Interface - Lists of valid request and/or response messages for services, send and sendReceive steps, and 'any' message parts.
- Service - Services provide integration service orchestration capabilities. They are essentially workflow for integration.
- Channel - Channels are abstract integration endpoints representating the Network Transport Layer. They are used to send or receive Messages.
- SOADefinition - Services Oriented Architecture service definition.
- SOAImplementation - Services Oriented Architecture service implementation.