What is the NXTware Evolution Server Peter Marquez, Product Marketing ecube Systems The NXTware Evolution Server is designed to simplify the integration of your enterprise s software assets, including legacy software assets. To accomplish this the NXTware Evolution Server combines legacy multiplatform support, Java development and the power of a Enterprise Service Bus. The NXTware Evolution Server supports wide variety of communications protocol bindings, which can be exposed in a variety of manners. By changing a configuration file NXTware can re-target existing software components or services. ec ube is committed to giving enterprise users an open tool set for the creation of legacy based service oriented architecture. Architecture The NXTware Evolution Server is comprised of two main components: The NXTware Enterprise Service Bus and the NXTware J-Platform. The NXTware J-Platform is responsible for supporting native Java development (POJO); converting data to XML, legacy integration with legacy applications built in C, C++ COBOL for the mainframe or UNIX. The NXTware Enterprise Service Bus is a SOA platform based on the JMS messaging platform. We will start our in-depth discussion of architecture with the constituent parts of the NXTware Enterprise Service Bus. s and Binding Components NXTware ESB uses independent components called s (SE) to encapsulate legacy business logic, processing, or data transformation. SE s represent components that consume services, or provides a service to the NXTware ESB. One of the NXTware J-Platforms roles is to serve as a service engine.
NXTware Evolution Server Architecture Entera/NXTera or POJO Broker LegacyServices (COBOL, C, C++ RPC, Mainframe) NXTw are J-Platform NXTware ESB Legacy* JMS Binding Component Register Native SE Legacy-2-XML Web Services CORBA File Binding Component CTG-Link POJO EJB/.NET Http Binding Component Start Java Service Database Connections Pool Monitor Yes Create esolution Services Start Yes ServiceBus Start Loader Read Definition Files Read Properties File.xml Services File.xml ServiceBus.xml
Example, a NXTware J-Platform SE component might look up foreign exchange information in an existing RPC, Entera or mainframe application, and make it available on the bus as a service. One of the most important SE is the BPEL service engine, which supports a standards-based language for the orchestration of components and work flow in business processes. Similar to the SE, a Binding Component (BC) isolates the communication style and/or protocol used by an external systems, when it communicate with NXTware ESB. Example, a BC encapsulates communications with HTTP or.net system making sure to keep its protocol external to the NXTware ESB; while another BC may use IBM MQ as a communications channel to external systems. Note: The NXTware J-Platform components can serve as both ESB Service Engines and Binding C omponents. (More on them in a moment.) Internal Communication No mater how they communicate with their resources (legacy or contemporary) all components on the NXTware ESB communicate with one another using messages. There is no API integration at all. This eliminates the real-time and development bottlenecks associated with other synchronous models. Every participating component on the NXTware EBS communicates using JMS, thus insuring that these are very loosely coupled components. That independence gives the NXTware ESB its flexibility and its users the ability to quickly re-purpose applications and their capabilities with out writing new code. Message Data All data passed along the NXTera ESB is passed in the form of XML. Once on the bus all data is normalized as XML with all of the connection or protocol information removed. Upon leaving the bus the message is de-normalized so as to meet the expectations of the external system.
Binding Components NXTware comes with a series of Binding Components. They include: Table 1. NXTware Binding Components Binding Description RPC HTTP FTP JMS JCA VFS SAAJ XFire Accepts incoming messages via RPC. T his also includes an RPC c lient component that can make requests via RPC. Accepts incoming messages via HTTP. This also includes an HTTP invoker c omponent that can send messages via HTTP. Sends messages to an FTP server as files. Also a component to poll an FTP server for incoming file/messages. Sends and receives messages via JMS. I mplements the required support framework of JCA 1.5 (Java Connector Architecture). T his component allows c ompatible connector (typically JMS connector at this time) to run with NXT ware applications. T his component c an provide a high performance interface to JMS brokers. A component implementing access to and from file sys tems (including OS file systems, jars and zips, Samba (CIFS), etc). Invokes web services using SOAP with Attachments and Apache AXIS. Supports the XFire lightweight SOAP stack allowing NXT ware POJOs and to be bound as web services. s NXTware comes with a series of s. They include: Table 2. NXTware Components Engines Legacy NXTware Native XSLT based Trans formation XSQL Description Support the NXTera/Entera transport allowing legacy C C ++, COBOL objects to be bound the NXT ware E nterprise Services Bus NXTware native services that enable Java service, legacy to XML convers ion, and IBM mainframe CTG connectivity. A component for trans forming incoming normalized messages according to a deployed XSLT template. A component supporting Oracle s tool for transforming SQL query to XML
or persis ting XML to database. Generic scripting BPEL Validation Quartz D rool G roovy A component enabling any JSR 223 compliant scripting language to be plugged into NXT ware. Business Process Exec ution Language for Web Services. A s tandardsbased language for the orchestration of components and work flow in business processes. A component providing schema validation of messages. A component that works with the Quartz sc heduling engine, allows you to set multiple scheduled s ervice invoc ation using NXT ware. A component for rules based routing of messages. Flexible XML schema based domain specific language can be used to specify rules. A component for very flexible implementation of services, trans formers, and routing logic. The code can be written in the Groovy scripting language and interpreted by the c omponent at runtime. NXTware J-Platform The NXTware J-Platform is a container for the deployment of Java objects, both complex and perfectly ordinary Java objects (POJO s). These objects can provide business logic services, legacy integration services or ESB service engine/binding component services. When used in an ESB environment NXTware J-Platform acts as a Service Engine for consumers on the service bus and as a binding component for legacy applications. This allows legacy apps to participate in the enterprise service bus. NXTware ESB enables NXTware J-Platform to act as a service engine providing normalized data stripping out protocol and transforming the data to XML to the bus. In the other direction NXTware J-Platform allows legacy Entera or mainframe applications to consume other services provided by by the bus. This development tool kit is simple to use and its basic functionality should be familiar to anyone that has worked with C ORBA or RPC-based multi-tiered solutions like NXTera/Entera. Summary NXTware Evolution Server integrates existing applications on any platform with contemporary modern SOA architectures. The server provides the ability
to enable legacy applications running on any platform to serve as SOA service providers and consumers transparently on any transport such as RPC (SOAP, CORBA, Entera/NXTera, XML RPC) and Messaging (MQ, JMS, MSMQ). Additionally, NXTWare delivers JCA integration and XSLT transformation via its JBI based Enterprise Service Bus (ESB). The open standards based ESB supports bindings with a larger variety of system types, while implementing the latest standards for transformation, routing and scripting services. In conclusion, the NXTware Evolution Server is a powerful integration solution that leverages many legacy and open standards to integrate enterprise applications in an implementation-independent fashion, at a coarse-grained service level (leveraging the principles of service-oriented architecture) via an event-driven and XML-based messaging engine. NXTware Evolution server provides an abstraction layer which allows integration architects to exploit the value of messaging without writing integration code.