NextAxiom Service Runtime Environment (SRE) NextAxiom® SRE for Automatic Execution & Management of Business Services on any Platform The NextAxiom® Service Runtime Environment (SRE) is the Hyperservice® heavy-lifting engine of the Business Platform. It provides an environment for metadata-driven composite and atomic services. The SRE is platform independent and can be installed on, or embedded within, all major server platforms. The unit of work in the NextAxiom SRE is a native service. All SRE native services are automatic, meaning that they are automatically instantiated by the SRE based on metadata descriptions. The SRE kernel understands and automatically enforces integrity based on these well-defined interface descriptions. The generalizations in the SRE strictly pivot around services and service input and output data as opposed to objects, messages, structures or other means of orientation. SRE Comes with High-Performance Web Service NextAxiom® SRE Features Built-in Support for Web Service and XML standards Transparent translation of native service interfaces to WSDL and vise versa Built-in support for consumption and production of services through SOAP/XML UDDI Search and Discovery Ability to create service input/output interfaces form DTD and XML Scheme SOAP/HTTP(S) Communicators The NextAxiom SRE provides high performance Web service communicators that link the standard-based SOAP/HTTP(S) consumption and production of services into its native services. This means that any native service within the SRE can be served as a standard Web service by the SRE. Furthermore, the SRE can consume any of its native services as an external Web service by simply pointing to the standard SOAP/HTTP(S) communicator. [The SRE supports both rpc and from ever evolving SOAP and WSDL standards]. Business Agility On Demand™ Copyright 2005 NextAxiom Technology Corporation. All Rights Reserved NextAxiom® SRE Features Built to Perform Automatic Service Creation & Performance The SRE optimizes the routing of services as an application is executing, Metadata caching with automatic update mechanism Automatic creation and consumption of services based on metadata Efficient memory management and garbage collection for automatic services Use of optimized service execution graphs for the execution of composite services Real-time data integrity enforcement for service input/outputs using molded look-up structures Management of Automatic execution stacks for composite services: Ability to pre-empt a composite execution stack Automatic branch and join of parallel execution stacks in separate threads Embedded execution stacks corresponding to embedded composite services Optimized routing of services Automated data mapping of service input/outputs from many-to-many services Optimizes algorithms based on service interfaces Uses embedded lookup structures on the “from” and the “to” side Direct-memory data flow between outputs and inputs of services Handles data flow across data structures of any complexity Provides optimal mechanisms for data transformation and translations Parallel processing Multithreaded service execution Multiprocessor optimized Throttled parallel processing of batched requests Services request-response caching Auto purge Auto swap to disk Configurable cache-keys Service-level load balancing consuming automatic services in parallel whenever possible. The SRE utilizes a sophisticated multithreaded multiprocessor optimized architecture for simultaneous processing of services requests. When an external or an automatic request for the consumption of a service is submitted, if the service is atomic, the SRE dispatches its plug-in implementation in a light thread of execution. If the service is a composite service, the SRE ensures that it has cached a Service Execution Graph corresponding to the metadata definition of that composite service before spinning its light thread of execution. The Service Execution Graph corresponds to the order and dependency of innerservices within a composite service and holds information to automatically manage the scope and life cycle of the automatic services that are to be consumed inside the composite service. Based on the corresponding execution graph, the SRE instantiates automatic native services and maps the actual data across the outputs and inputs of connected inner-services. To allow rapid data flow and transformation between services, the NextAxiom SRE has implemented optimal algorithms for mapping data between the inputs and outputs of services based on their interfaces. This allows the SRE to eliminate the overhead of XML transformation common to other approaches and to increase data flow between services to inmemory lookup speeds. As the SRE automatically instantiates and consumes inner-services, it recognizes parallel processing opportunities based on the dependency of services in the execution graph and branches and manages parallel stacks of execution. If any inner-service is also a composite service, the SRE creates and manages multi-level execution stacks corresponding to each inner-service in separate threads of execution (patent-pending). These multi-level stacks of execution can be embedded to a virtually unlimited depth of composition and are automatically created, managed and destroyed by the SRE. The NextAxiom SRE automates many performance enhancement features through its multi-level stacks of execution. For example, it can simultaneously run multiple input datasets for an atomic or composite service instance, known as a “batch” or “for each” processing, in parallel, and automatically merge the output data sets. Business Agility On Demand™ Copyright 2005 NextAxiom Technology Corporation. All Rights Reserved NextAxiom® SRE Features SRE Automatically Enforces Data Integrity for Service Context Management and Automated Transactional Support Inputs and Outputs On-the-Fly Supports context-sensitive behavior for services inside a composite service: Caching Data Mapping and Transformation Load balancing Fail-over and Exception handling Conditional execution Logging Transactional framework for Service Plug-ins Automated start of transaction when a composite service is marked as a transactional boundary Composite transactional context management Automated Commit, Rollback of transactional resources within a boundary based on composite service metadata Automated dispatch of compensating services upon rollback The NextAxiom SRE provides near-instantaneous integrity enforcement for service input and output data sets based on standard service interface descriptions (WSDL). This allows runtime integrity checking of each service request with nearly zero performance degradation. As an external SOAP/HTTP(S) request or an automatic internal request for the consumption of a service is issued, the SRE ensures that the related composite or atomic XML metadata is cached into patent-pending lookup and routing structures. Next, the SRE enforces integrity of the actual service input data using a molding technique in only a matter of nanoseconds for typical input data sets (patent-pending). As a result, when the input data does not correspond to the types and restrictions described in the metadata schema, the service request is rejected and the integrity violation is automatically identified and systematically reported to the consumer. Similarly, after the execution of the service, the SRE enforces integrity for the actual output data of the service. Other methods of commercially available integrity validation are so slow that they are often turned off when the application is placed into production. SRE Automatically Manages the Context of a Native Service In the NextAxiom SRE, a native service is a virtual thread of execution with its own context. The SRE context mechanism for a composite service enables its inner services to behave differently for various applications without violating the fundamental encapsulation of their interfaces. For Automatic Inter-Service Communications Mechanisms Pre-emptive Wait and notify for builtin Request Events upon consumption of other services Shared Memory Management with persistence option for Shared Vault, Array, Data Dictionary and Shared Data Containers Automatic locking and synchronization of service instances based on composite service metadata Non-intrusive dispatch of Service Triggers upon start of execution, failure, success or end of execution for any service example, this context mechanism enables context-sensitive behavior for features such as service caching, logging and security. When a composite service is declared as a transaction boundary, the SRE maintains a composite transaction context for its inner services that will be automatically rolled back, compensated, or committed. SRE Automates Inter-Service Communication The NextAxiom SRE provides a range of automated inter-service communication mechanisms that support high-performance synchronous and asynchronous service consumption. For example, the SRE issues a built-in consumption event when a service with a specified correlation key Business Agility On Demand™ Copyright 2005 NextAxiom Technology Corporation. All Rights Reserved NextAxiom® SRE Features SRE Standard Service Plug-ins and Built-in Constructs File System access Database access Messaging Queue interactions FTP, Email, HTTP(S), POP3, SMTP, SNMP, OS Command line, Encryption etc. Lightweight built-in functions for common operations such as mathematical, date, and string manipulation Runtime support for configurable services such as sort and filter for service inputs/outputs is consumed. The execution of a native composite service can be placed in a holding state and pre-empted from the SRE Kernel while waiting for one or more service consumption events. In this way, the SRE supports the execution of long running business services. The SRE also provides builtin trigger mechanisms to non-intrusively start the execution of a trigger based on the consumption of a specified service. In addition, the SRE provides built-in shared memory mechanisms for sharing data across native services. SRE Guarantees Correctness of Execution for MissionCritical Services An SRE service is a multithread-safe resource and can automatically hold a synchronization lock to prevent the simultaneous execution of a declared group of services that are correlated through key input data of the service. This built-in synchronization guarantees the correct behavior of a business service. For example, when a Credit Account and a Debit Account service are declared as a synchronized service group and correlated through their common account number input data, at runtime the SRE guarantees that no two instances of Credit Account and/or Debit Account with the same account number will be consumed at the same exact time. SRE Natively Bridges to Legacy and Other Environments through a Service Plug-in Mechanism In addition to using SOAP/HTTP(S) to consume a service, the SRE can dispatch the implementation of an atomic service directly into its memory space through a built-in service plug-in mechanism. In fact, the built-in SOAP/HTTP(S) communicators are simply service plug-ins. The SRE supports a layer to alias the URI of a service plug-in and a late binding mechanism that works based on the programmatic capability of the Hyperservice Studio to conditionally switch the implementation of any atomic service at execution time. The Service plug-in framework provides optional interfaces for a plug-in to participate in the automated transactional feature of the NextAxiom SRE. Business Agility On Demand™ Copyright 2005 NextAxiom Technology Corporation. All Rights Reserved NextAxiom® SRE Features SRE System Service Plug-ins Services to configure and initialize SRE parameters Persistent data repository services used by shared memory and other mechanisms Service monitoring and management Service metering and log management WSDL services HTML Service Interface Documentation UDDI Search and Service Discovery Metadata Search and Discovery Comprehensive metadata management services including metadata management services for: Service Accounts/Projects and Packages Service Interfaces SRE Domains Service Plug-in registration and configuration Request Event Triggers Regression Test Cases Composite service metadata management Security and Web service Deployment Services including User Authentication User Authorization Services based on role-based access control treating Accounts/Projects, packages, service interfaces and composite service definitions as security resources Account Provisioning Services for deploying managed consumable Web services that are metered SRE Supports Many Standard Service Plug-ins and HighPerformance Built-in Constructs Out-of-the-Box The NextAxiom SRE is shipped with the runtime for numerous service Plug-ins that support native services for access to databases, file systems, operating system functions, FTP, email, and messaging queues to name a few. In addition, the SRE supports high-performance and low overhead built-in functions for common uses such as mathematical calculations, date, number, and string manipulation. The SRE also supports the runtime for configurable services such as those used for sorting and filtering the actual output data of other services in the Studio. SRE Comes with a Services Management Foundation The NextAxiom SRE provides comprehensive built-in instrumentation for profiling, metering, monitoring, provisioning, and security management of services. The SRE optionally logs service activity including requests, responses, status, processing times, hosts, and users. Activity logs can be tailored to output through flat files, databases or any data source via services. NextAxiom SRE security features include user authentication and access control. The SRE authenticates users through either its embedded username/password management or through a plug-in architecture to any third party security infrastructure. Users are assigned to roles in order to be granted access to services. NextAxiom SRE measurement and security features, when teamed with Hyperservice® Manager provide comprehensive service management solution. Business Agility On Demand™ Copyright 2005 NextAxiom Technology Corporation. All Rights Reserved a NextAxiom® SRE Features SRE is an Agile Architectural Marvel for SOA Tailorability You may hear us say: “we have built our system on top of itself” or that “our All platform functionality built on sets of System Services Atomic System Services can bind to customized service plug-ins Atomic System Services can bind to Composite Services Composite System Services can be seamlessly tailored through Studio System Services can bind to the SRE SOAP/HTTP(S) plug-in and thus their functions delegated to another system system is the first example of a pure SOA implementation on a very large scale”. A closer look at the architecture of the Hyperservice Business Platform will demonstrate what we mean. The Hyperservice Studio and management tools communicate with the SRE strictly through sets of welldefined services referred to as System Services. For example, the serviceprofiling tool consumes a service from NextAxiom’s System Log package to obtain a list of logged service instances. As another example, Studio’s initial login screen consumes a service to authenticate the user. It then Virtualization Internal vs. Remote Invoker abstraction as an extension of SRE to invoke System Services Ability to serialize/de-serialize embedded stacks of execution for remote service debugging and to preempt running services from CPU and restore the exact state at a later time or on a different machine Ability to transparently create clusters of SRE with metadata links across clusters consumes a service to get a list of projects that the user is authorized to see and once the user selects one of those projects, it invokes another service to get all the service packages and names within that project and populates them in the project pane. When the user clicks to open a Hyperservice definition in the project pane, the Studio consumes a service to retrieve the metadata for that definition. In summary, behind every function supported by Studio or a NextAxiom management tool is a System Service that runs through an SRE. The SRE itself accomplishes most of its tasks through sets of System Services. For example, when it receives a request for running a composite service, it calls a service to retrieve the metadata for the composite service. Or, when the SRE needs to log a service consumption event, it invokes a service for logging. The service for logging may be an atomic or a composite service that consumes other services. Atomic System Services are simply implemented through the SRE service plug-in mechanism and these services can bind to different implementations at anytime. Composite System Services are directly implemented within Hyperservice Studio and can be tailored to meet specific needs with extreme agility. Remarkably, since most of the platform functionality is built on top of System Service building blocks, one can use the Hyperservice Studio to further automate administrative tasks through the composition and aggregation of its System Services. The Studio, management tools and SRE use a layer of abstraction for consuming System Services referred to as service Invoker interface. Two implementations of the Invoker are used within NextAxiom products: 1) the first is referred to as the Internal Invoker that communicates with the core, Kernel module of SRE within the same computer address space, 2) the Business Agility On Demand™ Copyright 2005 NextAxiom Technology Corporation. All Rights Reserved second is referred to as the Remote Invoker that assumes the target SRE is on another networked computer and uses SOAP/HTTP(S) to communicate with the target SRE. The Kernel of the SRE itself uses the Invoker abstraction to consume all of the System Services required for implementing its own functionality such as metadata access and management, service logging, cache management and process management. This architecture has profound implications on the distribution and virtualization of the SRE. For example, this implies that an SRE on one machine can transparently access the metadata of a remote SRE on a networked machine by simply using a corresponding Remote invoker instead of its own internal invoker when consuming metadata management services. It is the unparallel ease of virtualization and the agility to customize the functionality of the Hyperservice Business Platform that makes its architecture remarkable. Business Agility On Demand™ Copyright 2005 NextAxiom Technology Corporation. All Rights Reserved Leverage SRE to Build Your Own Architectural Marvel The SRE has one purpose and that is to enable you to rapidly invent pure Service-Oriented Applications that are inherently agile. Using the SRE in your architecture and you are well on your way of creating your own architectural marvel. If you are excited by the reality of a pure service-oriented architecture for your IT and applications, contact NextAxiom today to schedule a demonstration of what the SRE can do for you. Business Agility On Demand™ Copyright 2005 NextAxiom Technology Corporation. All Rights Reserved