Products

nframe

A J2EE-Based Enterprise Application Framework Interested? Contact our Sales Team

nFrame, a J2EE-based fully customizable and extensible multi-tier enterprise application framework, allows enterprises to concentrate on enterprise-specific business domains and problems. Most of the application infrastructure details and common tasks are accomplished by nFrame.

nFrame utilizes the platform-indendence and vendor-neutral power of J2EE and XML. It provides the architectural and performance optimization by employing the true power of Object-Orientation (abstraction, encapsulation, polymorphism, etc.), O-O design patterns [G41995], MVC (model-view-controller) [KP1988] design pattern, and J2EE design patterns [Alur2001].

Features

 

Architecture

The high-level architecture of nFrame shows the judicious use of J2EE design patterns to make nFrame customizable, flexible, and extensible. Each of its top-level component provides a rich set of functionality which most of the enterprise applications need to consider and perform to make them usable. One of main objective of this architecture is to optimize the application performance by proper task categorization and delegation, and minimization of network traffic by providing information processing at more appropriate stage of the information life-cycle in the application.

Client
This is a generic client for an application built using nFrame. It can be any types including, but not limited to, web-based client, application client, mobile device based client, and IVR.
Intercepting Filter
A number of tasks need to be accomplished before the execution of actual transactions by any application. Such preliminary tasks include client authentication and authorization, session validation, verification and validation of client IP address and corresponding network, encrypting and decrypting of client data, compressing and uncompressing data between client and service provider, validation of client browser type, image conversion, message conversion, and a host of other configurable item. These tasks can be intercepted from the client and appropriate filter can be invoked to execute the task, saving a trip to the server side.
 
Filters promote cleaner application partitioning and encourages reuse. It provides flexible configuration for an application by having the ability to combine numerous independent services in varying permutations without writing or modifying any code.
Controller
All client requests needing services from the backend system interact with this component - making it the single point of contact for clients. After receiving a client request, the Controller delegates it to a proper component. Controller utilizes the Service-To-Worker component for content management of the client request.
Business Delegate
Business Delegate component serves client request by looking up appropriate business services, creating them if necessary, and using the business service method. It can also cache the results and references to remote business services, improving the overall performance of the application. It is also responsible for translating any network or other infrastructure related exceptions into business exceptions, shielding clients from knowledge of underlying implementation specifics.
Service Locator
Service Locator abstracts all JNDI usage and hides the complexities of initial context creation and other life-cycle management tasks for EJB and JMS components. Multiple clients can reuse the component to reduce the code complexities. It supports both point-to-point (using JMS Queue) and public/subscribe (using JMS Topic) messaging for communications.
 
The clients are not involved in JNDI lookup, the service locator aggregates the network calls required to lookup and create business objects. It also facilitates addition of new business components without impacting clients.
 
Session Facade
It manages the relationships between numerous business service components and provides a higher level of abstraction to its client. The inter-business object interactions are abstracted into a workflow providing better manageability, flexibility, and ability to cope with ongoing changes. It reduces the coupling and client's dependency on the business objects. Session Facade reduces the network overhead between the client and the server by eliminating the direct interactions amongst client, business data, business service objects. Its coarse-grained nature makes it easier and better manageable to define security policies at this level rather than at the participating business component level. Similar advantages are achieved in transaction management.
References
Alur2001 Deepak Alur, John Crupi, Dan Malks, "Core J2EE Patterns: Best Practices and Design Strategies", Sun Microsystems Press, 2001.
G41995 Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides, "Design Patterns: Elements of Reusable Object-Oriented Software", Addison-Wesley Publishing Company, 1995.
KP1988 Krasner, G.E. and Pope, S.T. (1988) A Cookbook for using the Model-View-Controller User Interface Paradigm in Smalltalk-80. JOOP, Aug/Sep 1988, pp. 29-49.
 

For more Information on nFrame, please call our Business Solutions Line (703.597.9063) or send email to our sales team.