xHindge eVersion Pattern

 

xHindge eVersion Pattern for Enterprise Applications

 
 
 

XHindge-eVersion Page

 
 

xHindge-eVersion Software Pattern
 

OVERVIEW

 

xHindge pattern has been used since 2002  as an enterprise software pattern, providing a unique business modeling algorithm based on “Complexity Isolation and Implementation” principle, and was specifically developed as a solution provider for developing large, complex enterprise business applications. XHindge pattern provided a an organized approach to construct server side web applications using Microsoft .NET (2.0, 3.0 and 3.1)  and Java 2 EE patforms.

 

xindge pattern (www.xHindge.com ) was used to define configuration of Enterprise business objects (or business entities) and their persistence and entity-relation mappings, and was used for creating and validating software objects mappings with rows in databases. 

 

xHindge pattern with Xsd schema as well as UML Class Diagrams for business objects  has been used in developing web applications for Government departments, financial institutions, and Aeronautic organizations in USA and Canada. This includes a Geographical Information system developed for a Canadian Government department using eleven schemas of dynamic UML Diagrams identified by US FGDC Geospatial Metadata  standards.

 

Forces On Enterprise Application Programming Technique

While analyzing several modern day  enterprise applications models, the following general picture is emerges:


 
  • Enterprise application has to deal with highly complex processes and constrained with sensitive corporate rules involving business entities and proprietary business processes.
  • Government rules and compliance requirements on executive’s mandates, and industry standard security requirements on corporate IT Governance.

 Even though Model-View-Controller pattern is used on both Microsoft ASP.NET MVC3 and Java EE MVC platforms for enterprise application development, the limitation lies with the present enterprise application development technique once the Requirement Analysis is done and VIEW based prototype for the application is developed using key user participation.

 Executive involvement is normally fading during this process, and one ends up with an elaborate application prototype, essentially based on how the application looks and feels on a web site, with nominal visibility of the business objectives and corporate processes.

 This results in a constant and on-going changes to the requirement specifications, seriously  impacting the application development cost and Schedule.

 

eVERSION SOFTWARE PATTERN

 

Using the present day sofisticated software tools and technologies an enhance version of xHindge MVC  pattern called eVersion Software Pattern is derived from the Model-View-Control (MVC) pattern, specifically to isolate and resolve the complexity from the modern day enterprise software components, so that relevant  software components can be configured,  programmed and tested independently, and then integrated with the rest of the MVC based components.

 

eVersion Software Engineering Pattern is an upgraded version of the xHindge software pattern, based on the Model-View-Controller (MVC) pattern for developing enterprise level application software.

 

The upgraded version  xHindge eVrsion is derived by applying  an enhanced version  of  Inversion Control principle called Eversion Priciple (taking inside-out) to the Model-View-Controller software pattern.

 

An excellent example of the Eversion Principle (taking inside-out) as applied to a Geometric pattern is 

Geometric Sphere Eversion  in  differential topology ..

  File:MorinSurfaceFromTheTop.PNG

A Geometric model used to develop eVersion Software Pattern :  

   Eversion of Geometric Sphere in  differential topology

eVersion Software Pattern is developed by applying a kind of inside-out type of  Inversion Control by isolating the complexity of enterprise application software from the highly complex  Domain Logic (the application logic ) of the  MVC based enterprise application, and then programming separately  from the VIEW ( user input and presentation) .  By isolating complex configuration of the Model part of  typical MVC based enterprise application software, it is easy to develop the business logic and relevant Controllers and interfaces governing the sub-processes of the application domain, separately from the development of elaborate VIEWs consisting of JavaScript and HTML5 based user API.

 

 

This approach allows Domain Logic or the critical business logic of the eVersion MVC application to be configured at the design level and monitored during the development stage, allowing enterprise executives direct visibility on the Software Process Development part of IT Governance. IBM-The emerging role of IT governance  

 

Managing Dynamics of Business Logic components in Enterprise Applications  

 

Enterprise business processes are dynamic, with constantly changing business scenarios. New business process are created, frequently combining existing processes with new requirements.

 

eVersion Software Pattern provides a unique capability for Enterprise Executives to get  direct involvement in designing Business Logic Components of the Application  : Schema s (Xml schemas, UML Diagrams ) of Entity Objects and  application navigational logic.

 

During the development stage of Enterprise applications, management provides approval of IT budget and gets involved in tracking cost and schedule of the development of business logic using Requirement Traceability Matrix, and by managing Built components of business logic in a Software Vault, and which can be released only at the Run time of the Enterprise Applications.

 

Though static in nature, Enterprise entities and business rules uniquely defines the signature of Enterprise application processes and profoundly impacts the way Enterprise conducts its business.

 

Enterprise business entities which are configured using Xml Schemas and UML Diagrams based Models and other dynamic models including 3 D Printing configuration for Additive Manufacturing, are highly sensitive intellectual properties and therefore requires direct supervision of the Enterprise Executive management.  

 

eVersion Architecture for Enterprise Applications 

eVersion MVC pattern is designed  specifically for creating sophisticated enterprise web application projects for the mission critical business processes, with rigorous security profile, and  providing enough  agility so that the application may be easily modified or integrated with other enterprise applications.

 

Properly configured software components of MVC based eVersion application can be easily designed, coded and tested, and then integrated using MVC based technologies and tools available with Microsoft ASP.NET MVC, and Java EE6 MVC platforms.

 

This agility of the eVersion application at the design level provides the opportunity to define and track the development of the eVersion application through various stages of the Software Development Life Cycle ( Application lifecycle management (ALM - SDLC) )

 

  

This whole new approach for constructing complex, highly agile and sercured applications of the enterprise provides an evolutionary concept called eVersion Architecture for Enterprise applications.

 

Architectural components of eVersion Pattern based application are constructed out of the Fuctional Requirements derived from the Requirement Analysis of the Enterprise application, and Use Cases representing underlying application processes. 

Primary architectural component for eVersion system is the eVersion Domain.

eVersion Domain

 

eVersion pattern based Enterprise Application is an  Active MVC application software with a domain-driven design that leverages object-oriented technology.

 

By incorporating the MVC architecture into eVersion Pattern, software specific components of eVersion application for each of  Model, Controller and VIEW can be designed separately and then bound together at run time, by providing runtime Dependency Injection of resources.

 

In Active MVC application, the multi-Domain  MODEL can changes state due to event inside or outside the primary domain of the MVC application.  

In a eVersion pattern based Application, external event impacting the primary domain is a pre-defined, documented interface, and this this change in the state of the MODEL must be reflected in the VIEW.

 

eVersion Application for Enterprise is a multi-domain, Federated Application developed by the Enterprise and its affiliated organizations, with Primary domain controlling the  inter-domain operation with the secondary Domains, using pre-defined Web API based Protocols.

 

eVersion Domain   is the Domain Logic (the application logic ) of the Active MVC application  which encapsulates among other things, application data in the form of entity objects and their behavior, and ViewData consisting raw data representing properties of entities and Model state which are configured for the rendering the VIEW components.

 

Speifically, eVersion Domain of an Active MVC Enterprise Application  consists of  software objects of cohesive classes with encapsulated state and related behavior of  real-world business objects and related components of the application. This includes  configurations of enterprise entity objects, object-relation mappings and their stateless (transactional) persistence, delegating complex business logic and navigation, and invoking user authentication, and Role based authorization for  accessing the domain resources.

eVersion Domain contains one Primary eVersion domain, and one or more  application domains, each interacting with other using  mutually agreed, pre-defined domain interfaces.

 

 An e-Commerce application has at least  two Application Domains.

 

Primary eVersion Domain contains a central eVersion Controller which controls  each of the other eVersion Application domain and related domain interfaces, thus separating secondary application domains from the crucial Primary eVersion Domain

In terms of Model-View-Controller framework, eVersion pattern recognizes two distinct types of Controllers; those governing the VIEW and the others which control the Domain Logic of the Active MVC.

 

This logical separation of VIEW related development from the development of eVersion Domain, renders the process of developing MVC based eVersion Application highly agile.

 

eVERSION – Domain Driven MVC Application

 

eVersion application is a Domain Driven active MVC application, where the eVersion  Domain notify the views of any changes in MODEL  by using the  Observer pattern and Observer and Observable (Subject) classes (Ref:    Java Observer and Observable   Microsoft Observer  )

  

Each VIEW registers an Observer interface in the collection of the Observable (Subject), and a change in the MODEL is notified to the VIEW by MODEL executing the related method in the Subject  (Figure 1).

 

 http://en.wikipedia.org/wiki/File:Observer.svg

Figure 1 : Basic Observer and Subject structure in eVersion pattern

 

eVersion Domain  provides  an ideal venue for designing  Domain Driven Architecture  for MVC enterprise application, where the primary domain of the application can be specified and configures at the design stage by the users and stake holders, and the development of the application can be monitored using Requirement Traceability  Matrix under IT Governance during the Software Development Life Cycle.

 

eVersion Controller

 

The architecture of the MVC based eVersion pattern strongly mandates  the  need for  a central Controller for the primary domain of the eVersion application. This controller is called the  eVersion Controller which provides logical separation of eVersion Domain components from those involving VIEW related components, and is the first level contact for a client in the MVC based eVersion application.

 

eVersion Controller may be constructed for both Microsoft ASP.NET MVC3 and Java EE6 MVC platform, as the highest level of abstract component based on the  Dependency Inversion Principle , with an appropriate Adapter  and Adapter implementation for those platforms. Additional controllers required for the eVersion Domain and for the VIEWs are managed by the eVersion Controller.

 

Additional controllers for the eVersion application for ASP.NET MVC3  platform  includes Controller for VIEW based on Code Behind re-factoring,  and other business logic related controllers and action methods.

 

eVersion Controller provides physical and logical separation of VIEWs components from the MODEL components of the eVersion Application, and provides agroudwork to makes eVersion Software architectacture a true Service Oriented Architecture (SOA).

 

Further more, eVersion Controller may be constructed to provide Container based access security for API Proxy in Java EE6 platform using   Native JESON and JBOSS.
 

eVersion Programming vs. MVC  Programming

 

  • MVC is a software pattern which  defines MODEL, VIEW and Controller as a logical components and their inter relations, and does not suggest any programming approach for these components.
  • eVersion pattern is developed with specific programming Framework based on modern day software development platforms and tools.
  • eVersion  Framework  specifically isolates VIEW components from the MODEL components by constructing a central primary Controller called eVersion Controller which manages interactions between both VIEW related Controllers and MODEL related components.
  •  Model part of the eVersion software consist of application specific business entities and entity mappings, business logic and navigation, and security related event handlers.
  • eVersion compliant prototype(s)  provide complete view of the enterprise application including looks and feels of the web pages and the behavior of business entities and business logic, and business compliance providing reportings.

eVersion prototype of the enterprise application may be validated both by the user community and the corporate management.

eVersion Software Framework -  A Domain Driven Framework for Enterprise Application

 

Enterprise Applications  are highly complex, multi-domain applications, each interacting with other Enterprise applications and with Partners applications.

In order to implement a uniformly controlled Enterprise level IT Governance  for these on-premise and partners’ multi-domain applications,  eVersion Software Framework is developed.


 

eVersion Software Framework is an Application Development Framework in the form of   Portlets with pluggable user interface software components and are developed using software libraries, templates for the software development , and plugins and  Annotation based declarative dependency injections made available at the deployment stage.

 

eVersion Portlet and Light-weight portlet container for the  Portlet is constructed using technologies and tools presently available for Microsoft ASP.NET MVC 3, and Java EE6 MVC. This includes Netbbeans 7.01 with Glassfich 3.1  and  Microsoft Visual Studio 10 and above.

 

 

eVersion Portlet uses Dynamic UML diagrams for design level configuration and the construction of entity objects and entity/relation mappings with databases, and  then provides run time provisioning of stateless (transactional) persistence for the entity objects.

 

 

Web Service  Injection  and Web Service Conception

 

eVesrion Portlet Framework can be used to provide a kind of  Web Service Injection to an existing  multi-domain eVersion application, creating a Conception of a Web Service

Web Service Injection  for an eVersion application is a kind of Dependency Injection applied to the eVersion Domain, which construct a framework of a web service, and then applying Conception of Web Service  renders the eVersion application into a kind of Hybrid eVersion Web application, which is a web service as well a web application.

 

This unconventional approach of creating an  Hybrid Web Application, is to achieve the primary objective of making it easy to convert an eVersion application into  a (SOAP/WSDL or RESTful type) Web Service.

 

Extending beyond the primary Web based MVC approach, eVersion Framework  provides a migration path for non-eVersion applications to be modified in to an eVersion application.

 

xHindge eVerson Framework can be used to construct an Enterprise Service Bus for the complex multi-domain eVersion Application, transforming Enterprise  Application into a highly agile  distributed applications  ,  with a web Portal providing secured access and robust management capability for the  Enterprise Application. 

 

Integrating Social Media and Mobile Network Services for Enterprise

 

An excellent example of Eversion Priciple (a process of turning inside-out ) is the way corporations in broadcasting industry are using Facebook, and Twitter based social media systems and Smart Phones and Tablets based Mobile Network Services.

 

The audience of the TV and Radio broadcasting services are using Facebook and Twitter, providing real time feedback of world wide events for the  daily news and views to the radio and TV broadcasting services, increasing the legitimacy of the broadcasting news. ( “Egyptian SPRING” and  “Libyan  FALL”  of 2011)

 

For the rest of the businesses and corporations, Social media is a Double-Edge Sword; using Social media is an excellent way to directly interact with their customers and suppliers, but it poses serious risks involving security and integrity of their web base services they provide, and for the privacy of their clients’ profiles.

 

In order to maintain the security and integrity of the highly critical enterprise applications, interaction between Mobile Network based Social Media systems and the eVersion applications of the enterprise is developed using a service portal, a kind of proxy client called eVersion Service Portal.

 

eVersion Service Portal

 

eVersion Service Portal is an Eclipse Plaform  based implementation of the eVersion Framework, and is constructed using the eVersion Portlets consting of Plugins. Templates and  Software libraries using Microsoft ASP.NET MVC3 and Java EE6 MVC platforms.

 

Primary objective of the eVersion Service Portal is a form of SOA Gateway to provide seamless access to the eVersion Architecture of the Multi-Domain Enterprise software applications and services, and API Proxy integrating Mobile Network services and Social Media systems for the Enterprise applications.

 

eVersion Service Portal provides control and management of the following access services to the Enterprise Applications and Services:

  •   Single point of access to all Intranet Software Applications and Services, including access to eVersion SOA Architecture  based Applications including OASIS/WS-BPEL standard based business processes, and to Message driven Enterprise Service Bus (ESB) (IBM BPEL vs ESB)

  •   Single point of access to eVersion Mobile Gateway for Enterprise, or a Proxy which allows Enterprise Mobile Netwark services to interact with Enterprise Applications behind a Next Generation Firewall.

 

eVersion Mobile Gateway for Enterprise

 

eVersin Mobile Gateway provides intermediate functional control  between the API Proxy and Enterprise mobile devices which allows Enterprise Mobile Netwark services to interact with Enterprise Applications behind Layer 7 Next Generation Fire Wall.

This is achieved by custom designing Enterprise Mobile Network using highly secured Smart Phones and Tablets including BlackberryZ10 Balance with Blackberry Enterprise Service 10 , Microsoft Surface Pro with Windows 8 Pro, Apple iPHONE and iPADS and ADROID based smart phones and tablets available in the industry.

Enterprise Mobile devises used by employees, partners and clients are allowed from anywhere to access the eVersion Mobile Gateway using custom built Mobile apps running in a separate memory partition of the Mobile Devices specifically configured for Enterprise.

Mobile interaction response from Enterprise Applications and Database, is sent back from behind the Next generation Firewall using Software Appliances technologies available in the industry   ( IBM WebShere Cast Iron )

 

eVersion Mobile Gateway can be integrated with Social Enterprise systems of Salesforce using Force.com components, providing enterprise employees, customers and partners, a very secured Mobile devices based access to the Enterprise CRM and Marketing systems.

 

eVersion Mobile Gteway is developed using following policies and guidelines identified by the  Social Media Governance Toolkit of IT Governance:

 

    1. Policy that draws on established best practice and can be adapted for all  circumstances, plus roles & responsibilities, communications & training, and metrics & monitoring;
    2.  Acceptable use agreement, template for legal guidance, branding & corporate style guide;
    3.  Guidelines for internet postings, blogging, Facebook, LinkedIn, Twitter and YouTube

 

eVersion Mobile Gateway is constructed to provides seamless interfaces for Social Media system, meeting this IT Governance guideline.

 


This makes eVersion Mobile Gateway most suitable for the integrating corporate  marketing systems with the mobile devices and facebook and twitter based social media systems, ultimately providing performance measurement for their business strategy and the level of customer satisfaction.

 

 

Social Media in some sense,  represents Social Consciousness on the current social issues and social trends, with highly evolved sensibility on the underlying topics or issues. 

 

Great care is required to understand and appreciate the feedback received from the mobile devises and Facebook and Twitter.

 

eVersion Service Portal with eVersion Mobile Gateway is designed to provide a moderator service provider (Q&A using a kind of Wikipedia principle) for the well orchestrated debate on the marketing campaigns, where honest and relevant opinions  are separated from the “Noise” coming out from the Facebook and Twitter based opinions.

 

eVersion Service Portal, with eVersion Mobile Gatewayd can be used to setup and manage the followings service scenarios:

 

  • Provides Balancing act - eVersion Service Portal as Security Filter for Corporate mobile devices
  • To set up Marketing campaign and capture market Intelligence, with a moderator functionality for the customer feed back
  • For New market penetration
  • For New Product (Service) introduction and measurement of product performance
  •  Corporate response on environment and ecology related issues.

 

CLOUD Computing for eVersion Application

 

The agile structure of  Service Oriented Architecture  makes it  ideally suitable for deploying eVersion Applications and Software Services in a  CLOUD Computing setup with Infrastucture As A Service (IaaS) available in Public and Private CLOUDs.

 

This CLOUD based setup, together with technologies including Next GenerationXML  Firewall based on   SAML Profile for XACML for SOA Gateway  and   Microsoft SDD fot Windows 8 and Windows Server 2012, can be used to  provide  robust access security for the distributed eVersiont software applications and Services, and Enterprise Mobile APPs.


In addition to providing robust security , modification and maintenance for the CLOUD based eVersion Applications can be carried out by a small and selected number of Systems Analysts of the Corporation, reducing over all cost of managing enterprise applications through its life cycle.

 

 

Prototypes and Business Plan for eVersion Technologies.

 

Prototypes of eVersion platform based applications, and constructions of eVersion based Web Service Injection, and Conception of Web Serviceare completed, and developing a prototype for the eVersion Service Portal

 

We are presently in process of coding eVersion Portlets for Microsoft ASP.NET MVC3, and Java EE6 MVC platforms.

 

 

Gautam Pandya , Chief Architect

www.xHindge.com

Published : December 2, 2011

Revised :  November 13, 2012

------------------------------------------------------------------------------------------

References for xHindge eVersion pattern

 

 1.         File:MorinSurfaceFromTheTop.PNG  

 File:MorinSurfaceFromTheTop.PNG

  

 

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled GNU Free Documentation License.

 

 2.    FGDC Geospatial Metadata 

      http://www.fgdc.gov/metadata

 Geospatial metadata commonly document geographic digital data such as Geographic Information System (GIS) files, geospatial databases, and earth imagery but can also be used to document geospatial resources including data catalogs, mapping applications, data models and related websites

 

3. Inversion of Control Containers and the Dependency Injection pattern

http://martinfowler.com/articles/injection.html 

(23 January 2004: Redid the configuration code of the interface injection example)

 

 

4.     Dependency inversion principle

http://en.wikipedia.org/wiki/Dependency_inversion_principle

 (1 November 2011 at 21:32.)

 

The principle requires that:

1.  High-level modules should not depend on low-level modules. Both should depend on abstractions.Abstractions should not depend upon details. Details should depend upon abstractions.

Various patterns such as Plugin, Service Locator, or Dependency Injection are then employed to facilitate the run-time provisioning of the chosen low-level component implementation to the high-level component.

 

Applying the dependency inversion principle can also be seen as applying theAdapter pattern, i.e. the high-level class defines its own adapter interface which is the abstraction that the high-level class depends on

 

 

5.    Microsoft MVC 3 Persistence Ignorance in the Entity Framework 

     http://social.msdn.microsoft.com/Forums/en-US/adodotnetentityframework/thread/136d8499-699a-4703-adc5-ac696d00496e/  

 

6.       Java EE 6  stateles persistence  

http://docs.oracle.com/javaee/6/tutorial/doc/bnbpz.html

 

7.      Aspect-oriented programming

Separation of concerns  of such aspects as logging and persistence from business logic is the aim of aspect-oriented software development (AOSD)

 

8.   Google-Guice 

    Guice alleviates the need for fact   ories and the use of new in your Java code. Think of Guice's @Inject as the new.

 9.        Java Observer and ObservableAn introduction to the Observer interface and Observable class using the Model/View/Controller architecture as a guide

 10.        Microsoft Observer 

          MVC Observer Pattern based Observer

11.      Microsoft AllFacebook‎ -2012-02-17,

Facebook users can share their experiences with their friends via the msnNOW Facebook Reader. Microsoft's Demand Dashboard is the engine that propels msnNOW ... 

12.   Inside Google's bet on 'consumerization' - Big Tech - Fortune Tech

  tech.fortune.cnn.com/2012/.../inside-googles-bet-on-consumerization...Cached – Google's sales to large businesses are still relatively small, but the company is making rapid gains. And it plans to ride the wave of. 

13.  Product Review: Google+, Consumerization of IT, and Crossing The ...

www.enterpriseirregulars.com/.../product-review-googleplus-consum...Cached3 Jul 2011 – The five pillars of Consumerization of IT (CoIT) fall in Google's favor as consumer users rapidly seek to bring these innovations into their ...

 

14.       social media Widgets of IBM® Connections (IBM®)

(http://www-01.ibm.com/software/lotus/products/connections/)

 

15.         Blackberry Enterprise Server Express

(http://ca.blackberry.com/business/software/besx/)

 

16.        Middleware (distributed applications)

 Middleware in the context of distributed applications is software that provides services beyond those provided by the operating system to enable the various components of a distributed system to communicate and manage data

 

17.    BPEL or ESB Which should you use?

http://www.ibm.com/developerworks/websphere/library/techarticles/0803_fasbinder2/0803_fasbinder2.html#WS-BPEL%20Engine

-----------------------------------------------------------------

1.     Content of this document including eVersion Software Pattern, eVersion Domain, eVersion Controller, eVersion Framework, eVersion Portlet, Web Service Injection, Web Service Conception, and eVersion Service Portal are proprietary intellectual properties, and may not be copied, duplicated or used without prior, written permission from the www.xHindge.com account holder.

 2.     xHindge (www.xHindge.org) was originally registered as a web service providing business in the initial version of IBM operated UDDI Web service Registry (https://uddi.ibm.com/ubr/registry.html )

 Gautam Pandya

www.xHindge.com

 

xHindge Software Pattern, including xHindge Algorithm, Core Components, Application Domain Architecture and xHindge Session Facade are proprietory intellectual properties, and may not be copied, duplicated or used without prior, written permision from the www.xHindge.com account holder

Website powered by Network Solutions®

xHindge-eVersion Software Pattern
 

OVERVIEW

 

xHindge pattern has been used since 2002  as an enterprise software pattern, providing a unique business modeling algorithm based on “Complexity Isolation and Implementation” principle, and was specifically developed as a solution provider for developing large, complex enterprise business applications. XHindge pattern provided a an organized approach to construct server side web applications using Microsoft .NET (2.0, 3.0 and 3.1)  and Java 2 EE patforms.

 

xindge pattern (www.xHindge.com ) was used to define configuration of Enterprise business objects (or business entities) and their persistence and entity-relation mappings, and was used for creating and validating software objects mappings with rows in databases. 

 

xHindge pattern with Xsd schema as well as UML Class Diagrams for business objects  has been used in developing web applications for Government departments, financial institutions, and Aeronautic organizations in USA and Canada. This includes a Geographical Information system developed for a Canadian Government department using eleven schemas of dynamic UML Diagrams identified by US FGDC Geospatial Metadata  standards.

 

Forces On Enterprise Application Programming Technique

While analyzing several modern day  enterprise applications models, the following general picture is emerges:


 
  • Enterprise application has to deal with highly complex processes and constrained with sensitive corporate rules involving business entities and proprietary business processes.
  • Government rules and compliance requirements on executive’s mandates, and industry standard security requirements on corporate IT Governance.

 Even though Model-View-Controller pattern is used on both Microsoft ASP.NET MVC3 and Java EE MVC platforms for enterprise application development, the limitation lies with the present enterprise application development technique once the Requirement Analysis is done and VIEW based prototype for the application is developed using key user participation.

 Executive involvement is normally fading during this process, and one ends up with an elaborate application prototype, essentially based on how the application looks and feels on a web site, with nominal visibility of the business objectives and corporate processes.

 This results in a constant and on-going changes to the requirement specifications, seriously  impacting the application development cost and Schedule.

 

eVERSION SOFTWARE PATTERN

 

Using the present day sofisticated software tools and technologies an enhance version of xHindge MVC  pattern called eVersion Software Pattern is derived from the Model-View-Control (MVC) pattern, specifically to isolate and resolve the complexity from the modern day enterprise software components, so that relevant  software components can be configured,  programmed and tested independently, and then integrated with the rest of the MVC based components.

 

eVersion Software Engineering Pattern is an upgraded version of the xHindge software pattern, based on the Model-View-Controller (MVC) pattern for developing enterprise level application software.

 

The upgraded version  xHindge eVrsion is derived by applying  an enhanced version  of  Inversion Control principle called Eversion Priciple (taking inside-out) to the Model-View-Controller software pattern.

 

An excellent example of the Eversion Principle (taking inside-out) as applied to a Geometric pattern is 

Geometric Sphere Eversion  in  differential topology ..

  File:MorinSurfaceFromTheTop.PNG

A Geometric model used to develop eVersion Software Pattern :  

   Eversion of Geometric Sphere in  differential topology

eVersion Software Pattern is developed by applying a kind of inside-out type of  Inversion Control by isolating the complexity of enterprise application software from the Domain Logic (the application logic ) of the  MVC based enterprise application, and then programming separately  from the VIEW ( user input and presentation) .  By isolating complex configuration of the Model part of  typical MVC based enterprise application software, it is easy to develop the business logic and relevant Controllers governing the sub-processes of the application domain, separately from the development of elaborate VIEWs consisting of JavaScript and HTML5 based user API.

 

 

This approach allows Domain Logic or the critical business logic of the eVersion MVC application to be configured at the design level and monitored during the development stage, allowing enterprise executives direct visibility on the Software Process Development part of IT Governance. IBM-The emerging role of IT governance  

 

Managing Dynamics of Business Logic components in Enterprise Applications  

 

Enterprise business processes are dynamic, with constantly changing business scenarios. New business process are created, frequently combining existing processes with new requirements.

 

eVersion Software Pattern provides a unique capability for Enterprise Executives to get  direct involvement in designing Business Logic Components of the Application  : Schema s (Xml schemas, UML Diagrams ) of Entity Objects and  application navigational logic.

 

During the development stage of Enterprise applications, management provides approval of IT budget and gets involved in tracking cost and schedule of the development of business logic using Requirement Traceability Matrix, and by managing Built components of business logic in a Software Vault, and which can be released only at the Run time of the Enterprise Applications.

 

Though static in nature, Enterprise entities and business rules uniquely defines the signature of Enterprise application processes and profoundly impacts the way Enterprise conducts its business.

 

Enterprise business entities which are configured using Xml Schemas and UML Diagrams based Models and other dynamic models including 3 D Printing configuration for Additive Manufacturing, are highly sensitive intellectual properties and therefore requires direct supervision of the Enterprise Executive management.  

 

eVersion Architecture for Enterprise Applications 

eVersion MVC pattern is designed  specifically for creating sophisticated enterprise web application projects for the mission critical business processes, with rigorous security profile, and  providing enough  agility so that the application may be easily modified or integrated with other enterprise applications.

 

Properly configured software components of MVC based eVersion application can be easily designed, coded and tested, and then integrated using MVC based technologies and tools available with Microsoft ASP.NET MVC, and Java EE6 MVC platforms.

 

This agility of the eVersion application at the design level provides the opportunity to define and track the development of the eVersion application through various stages of the Software Development Life Cycle ( Application lifecycle management (ALM - SDLC) )

 

  

This whole new approach for constructing complex, highly agile and sercured applications of the enterprise provides an evolutionary concept called eVersion Architecture for Enterprise applications.

 

Architectural components of eVersion Pattern based application are constructed out of the Fuctional Requirements derived from the Requirement Analysis of the Enterprise application, and Use Cases representing underlying application processes. 

Primary architectural component for eVersion system is the eVersion Domain.

eVersion Domain

 

eVersion pattern based Enterprise Application is an  Active MVC application software with a domain-driven design that leverages object-oriented technology.

 

By incorporating the MVC architecture into eVersion Pattern, software specific components of eVersion application for each of  Model, Controller and VIEW can be designed separately and then bound together at run time, by providing runtime Dependency Injection of resources.

 

In Active MVC application, the MODEL can changes state due to event inside or outside the domain of the MVC application. This change in the state of the MODEL must be reflected in the VIEW.

 

eVersion Domain   is the Domain Logic (the application logic ) of the Active MVC application  which encapsulates among other things, application data in the form of entity objects and their behavior, and ViewData consisting raw data representing properties of entities and Model state which are configured for the rendering the VIEW components.

 

Speifically, eVersion Domain of an Active MVC Enterprise Application  consists of  software objects of cohesive classes with encapsulated state and related behavior of  real-world business objects and related components of the application. This includes  configurations of enterprise entity objects, object-relation mappings and their stateless (transactional) persistence, delegating complex business logic and navigation, and invoking user authentication, and Role based authorization for  accessing the domain resources.

In addition to eVersion Domain, eVersion application domain includes process involving  choreographic selection of a VIEW from multiple VIEWs and initiating the Controller with appropriate ViewData which renders the selected View.

In terms of Model-View-Controller framework, eVersion pattern recognizes two distinct types of Controllers; those governing the VIEW and the others which control the Domain Logic of the Active MVC.

 

This logical separation of VIEW related development from the development of eVersion Domain, renders the process of developing MVC based eVersion Application highly agile.

 

eVERSION – Domain Driven MVC Application

 

eVersion application is a Domain Driven active MVC application, where the eVersion  Domain notify the views of any changes in MODEL  by using the  Observer pattern and Observer and Observable (Subject) classes (Ref:    Java Observer and Observable   Microsoft Observer  )

  

Each VIEW registers an Observer interface in the collection of the Observable (Subject), and a change in the MODEL is notified to the VIEW by MODEL executing the related method in the Subject  (Figure 1).

 

 http://en.wikipedia.org/wiki/File:Observer.svg

Figure 1 : Basic Observer and Subject structure in eVersion pattern

 

eVersion Domain  provides  an ideal venue for designing  Domain Driven Architecture  for MVC enterprise application, where the primary domain of the application can be specified and configures at the design stage by the users and stake holders, and the development of the application can be monitored using Requirement Traceability  Matrix under IT Governance during the Software Development Life Cycle.

 

eVersion Controller

 

The architecture of the MVC based eVersion pattern strongly mandates  the  need for  a central Controller for the primary domain of the eVersion application. This controller is called the  eVersion Controller which provides logical separation of eVersion Domain components from those involving VIEW related components, and is the first level contact for a client in the MVC based eVersion application.

 

eVersion Controller may be constructed for both Microsoft ASP.NET MVC3 and Java EE6 MVC platform, as the highest level of abstract component based on the  Dependency Inversion Principle , with an appropriate Adapter  and Adapter implementation for those platforms. Additional controllers required for the eVersion Domain and for the VIEWs are managed by the eVersion Controller.

 

Additional controllers for the eVersion application for ASP.NET MVC3  platform  includes Controller for VIEW based on Code Behind re-factoring,  and other business logic related controllers and action methods.

 

eVersion Controller provides physical and logical separation of VIEWs components from the MODEL components of the eVersion Application, and provides agroudwork to makes eVersion Software architectacture a true Service Oriented Architecture (SOA).

 

Further more, eVersion Controller may be constructed to provide Container based access security for API Proxy in Java EE6 platform using   Native JESON and JBOSS.
 

eVersion Programming vs. MVC  Programming

 

  • MVC is a software pattern which  defines MODEL, VIEW and Controller as a logical components and their inter relations, and does not suggest any programming approach for these components.
  • eVersion pattern is developed with specific programming Framework based on modern day software development platforms and tools.
  • eVersion  Framework  specifically isolates VIEW components from the MODEL components by constructing a central primary Controller called eVersion Controller which manages interactions between both VIEW related Controllers and MODEL related components.
  •  Model part of the eVersion software consist of application specific business entities and entity mappings, business logic and navigation, and security related event handlers.
  • eVersion compliant prototype(s)  provide complete view of the enterprise application including looks and feels of the web pages and the behavior of business entities and business logic, and business compliance providing reportings.

eVersion prototype of the enterprise application may be validated both by the user community and the corporate management.

eVersion Framework -  A Domain Driven Framework for Enterprise Application

 

eVersion Framework is an Application Development Framework in the form of   Portlets with pluggable user interface software components and are developed using software libraries, templates for the software development , and plugins and  Annotation based declarative dependency injections made available at the deployment stage.

 

eVersion Portlet and Light-weight portlet container for the  Portlet is constructed using technologies and tools presently available for Microsoft ASP.NET MVC 3, and Java EE6 MVC. This includes Netbbeans 7.01 with Glassfich 3.1  and  Microsoft Visual Studio 10 and above.

 

 

eVersion Portlet uses Dynamic UML diagrams for design level configuration and the construction of entity objects and entity/relation mappings with databases, and  then provides run time provisioning of stateless (transactional) persistence for the entity objects.

 

 

Web Service  Injection  and Web Service Conception

 

eVesrion Portlet Framework can be used to provide a kind of  Web Service Injection to an existing  eVersion application, creating a Conception of Web Service

Web Service Injection  for an eVersion application is a kind of Dependency Injection applied to the eVersion Domain, which construct a framework of a web service, and then applying Conception of Web Service  renders the eVersion application into a kind of Hybrid eVersion Web application, which is a web service as well a web application.

 

This unconventional approach of creating an  Hybrid Web Application, is to achieve the primary objective of making it easy to convert an eVersion application into  a (SOAP/WSDL or RESTful type) Web Service.

 

Extending beyond the primary Web based MVC approach, eVersion Framework  provides a migration path for non-eVersion applications to be modified in to an eVersion application.

 

xHindge eVerson Framework is ideally suited for the developing and maintaining an Enterprise Service Bus for distributed applications  ,  and for a Portal framework support for Composite Applications for the Corporation.

 

 

Integrating Social Media and Mobile Network Services for Enterprise

 

An excellent example of Eversion Priciple (a process of turning inside-out ) is the way corporations in broadcasting industry are using Facebook, and Twitter based social media systems and Smart Phones and Tablets based Mobile Network Services.

 

The audience of the TV and Radio broadcasting services are using Facebook and Twitter, providing real time feedback of world wide events for the  daily news and views to the radio and TV broadcasting services, increasing the legitimacy of the broadcasting news. ( “Egyptian SPRING” and  “Libyan  FALL”  of 2011)

 

For the rest of the businesses and corporations, Social media is a Double-Edge Sword; using Social media is an excellent way to directly interact with their customers and suppliers, but it poses serious risks involving security and integrity of their web base services they provide, and for the privacy of their clients’ profiles.

 

In order to maintain the security and integrity of the highly critical enterprise applications, interaction between Mobile Network based Social Media systems and the eVersion applications of the enterprise is developed using a service portal, a kind of proxy client called eVersion Service Portal.

 

eVersion Service Portal

 

eVersion Service Portal is an Eclipse Plaform  based implementation of the eVersion Framework, and is constructed using the eVersion Portlets consting of Plugins. Templates and  Software libraries using Microsoft ASP.NET MVC3 and Java EE6 MVC platforms.

 

Primary objective of the eVersion Service Portal is a form of SOA Gateway to provide seamless access to the eVersion Architecture of the Enterprise software applications and services, and API Proxy integrating Mobile Network services and Social Media systems for the Enterprise applications.

 

eVersion Service Portal provides control and management of the following access services to the Enterprise Applications and Services:

 

Single point of access to all Intranet Software Applications and Services, including access to eVersion SOA Architecture  based Applications including OASIS/WS-BPEL standard based business processes, and to Message driven Enterprise Service Bus (ESB) (IBM BPEL vs ESB)

 

Single point of access to eVersion Mobile Gateway for Enterprise, or a Proxy which allows Enterprise Mobile Netwark services to interact with Enterprise Applications behind a Next Generation Fire Wal.

 

eVersion Mobile Gateway for Enterprise

eVersin Mobile Gateway providies intermediate functional capabilities between the API Proxy and Enterprise mobile devices which allows Enterprise Mobile Netwark services to interact with Enterprise Applications behind Layer 7 Next Generation Fire Wall.

This is achieved by custom designing Enterprise Mobile Network using highly secured Smart Phones and Tablets including Blackberry 10 with RIM Enterprise Fusion, Microsoft Surface Pro, Apple iPHONE and iPADS and ADROID based smart phones and tablets available in the industry.

Enterprise Mobile devises used by employees, partners and clients are allowed from anywhere to access the eVersion Mobile Gateway using custom built Mobile apps running in a separate partition of the HUB of of the Mobile Devices specifically configured for Enterprise.

Mobile interaction response from Enterprise Applications and Database, is sent back from behind the Next generation Firewall using Software Appliances technologies available in the industry   ( IBM WebShere Cast Iron )

 

eVersion Mobile Gateway can be integrated with Social Enterprise systems of Salesforce using Force.com components, providing enterprise employees, customers and partners, a very secured Mobile devices based access to the Enterprise CRM and Marketing systems.

 

eVersion Mobile Gateway provides highly secured and  proprietary Apps for wireless iPods, iPads and iDevices, with a kind of “Firewall” against the contagion from the Service Media related ills including  losing device ID’s of the corporate wireless devices, and from compromising enterprise information to outside hackers.

 

eVersion Mobile Gteway is developed using following policies and guidelines identified by the  Social Media Governance Toolkit of IT Governance:

 

    1. Policy that draws on established best practice and can be adapted for all  circumstances, plus roles & responsibilities, communications & training, and metrics & monitoring;
    2.  Acceptable use agreement, template for legal guidance, branding & corporate style guide;
    3.  Guidelines for internet postings, blogging, Facebook, LinkedIn, Twitter and YouTube

 

eVersion Mobile Gateway is constructed to provides seamless interfaces for Social Media system, meeting this IT Governance guideline.

 


This makes eVersion Mobile Gateway most suitable for the integrating corporate  marketing systems with the mobile devices and facebook and twitter based social media systems, ultimately providing performance measurement for their business strategy and the level of customer satisfaction.

 

 

Social Media in some sense,  represents Social Consciousness on the current social issues and social trends, with highly evolved sensibility on the underlying topics or issues. 

 

Great care is required to understand and appreciate the feedback received from the mobile devises and Facebook and Twitter.

 

eVersion Service Portal with eVersion Mobile Gateway is designed to provide a moderator service provider (Q&A using a kind of Wikipedia principle) for the well orchestrated debate on the marketing campaigns, where honest and relevant opinions  are separated from the “Noise” coming out from the Facebook and Twitter based opinions.

 

eVersion Service Portal, with eVersion Mobile Gatewayd can be bused to setup and manage the followings service scenarios:

 

  • Provides Balancing act - eVersion Service Portal as Security Filter for Corporate mobile devices
  • To set up Marketing campaign and capture market Intelligence, with a moderator functionality for the customer feed back
  • For New market penetration
  • For New Product (Service) introduction and measurement of product performance
  •  Corporate response on environment and ecology related issues.

 

CLOUD Computing for eVersion Application

 

The agile structure of  Service Oriented Architecture  makes it  ideally suitable for deploying eVersion Applications and Software Services in a  CLOUD Computing setup with Infrastucture As A Service (IaaS) available in Public and Private CLOUDs.

 

This CLOUD based setup, together with technologies including Next GenerationXML  Firewall based on   SAML Profile for XACML for SOA Gateway  and   Microsoft SDD fot Windows 8 and Windows Server 2012, can be used to  provide  robust access security for the distributed eVersiont software applications and Services, and Enterprise Mobile APPs.


In addition to providing robust security , modification and maintenance for the CLOUD based eVersion Applications can be carried out by a small and selected number of Systems Analysts of the Corporation, reducing over all cost of managing enterprise applications through its life cycle.

 

 

Prototypes and Business Plan for eVersion Technologies.

 

Prototypes of eVersion platform based applications, and constructions of eVersion based Web Service Injection, and Conception of Web Serviceare completed, and developing a prototype for the eVersion Service Portal

 

We are presently in process of coding eVersion Portlets for Microsoft ASP.NET MVC3, and Java EE6 MVC platforms.

 

 

Gautam Pandya , Chief Architect

www.xHindge.com

Published : December 2, 2011

Revised :  November 13, 2012

------------------------------------------------------------------------------------------

References for xHindge eVersion pattern

 

 1.         File:MorinSurfaceFromTheTop.PNG  

 File:MorinSurfaceFromTheTop.PNG

  

 

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled GNU Free Documentation License.

 

 2.    FGDC Geospatial Metadata 

      http://www.fgdc.gov/metadata

 Geospatial metadata commonly document geographic digital data such as Geographic Information System (GIS) files, geospatial databases, and earth imagery but can also be used to document geospatial resources including data catalogs, mapping applications, data models and related websites

 

3. Inversion of Control Containers and the Dependency Injection pattern

http://martinfowler.com/articles/injection.html 

(23 January 2004: Redid the configuration code of the interface injection example)

 

 

4.     Dependency inversion principle

http://en.wikipedia.org/wiki/Dependency_inversion_principle

 (1 November 2011 at 21:32.)

 

The principle requires that:

1.  High-level modules should not depend on low-level modules. Both should depend on abstractions.Abstractions should not depend upon details. Details should depend upon abstractions.

Various patterns such as Plugin, Service Locator, or Dependency Injection are then employed to facilitate the run-time provisioning of the chosen low-level component implementation to the high-level component.

 

Applying the dependency inversion principle can also be seen as applying theAdapter pattern, i.e. the high-level class defines its own adapter interface which is the abstraction that the high-level class depends on

 

 

5.    Microsoft MVC 3 Persistence Ignorance in the Entity Framework 

     http://social.msdn.microsoft.com/Forums/en-US/adodotnetentityframework/thread/136d8499-699a-4703-adc5-ac696d00496e/  

 

6.       Java EE 6  stateles persistence  

http://docs.oracle.com/javaee/6/tutorial/doc/bnbpz.html

 

7.      Aspect-oriented programming

Separation of concerns  of such aspects as logging and persistence from business logic is the aim of aspect-oriented software development (AOSD)

 

8.   Google-Guice 

    Guice alleviates the need for fact   ories and the use of new in your Java code. Think of Guice's @Inject as the new.

 9.        Java Observer and ObservableAn introduction to the Observer interface and Observable class using the Model/View/Controller architecture as a guide

 10.        Microsoft Observer 

          MVC Observer Pattern based Observer

11.      Microsoft AllFacebook‎ -2012-02-17,

Facebook users can share their experiences with their friends via the msnNOW Facebook Reader. Microsoft's Demand Dashboard is the engine that propels msnNOW ... 

12.   Inside Google's bet on 'consumerization' - Big Tech - Fortune Tech

  tech.fortune.cnn.com/2012/.../inside-googles-bet-on-consumerization...Cached – Google's sales to large businesses are still relatively small, but the company is making rapid gains. And it plans to ride the wave of. 

13.  Product Review: Google+, Consumerization of IT, and Crossing The ...

www.enterpriseirregulars.com/.../product-review-googleplus-consum...Cached3 Jul 2011 – The five pillars of Consumerization of IT (CoIT) fall in Google's favor as consumer users rapidly seek to bring these innovations into their ...

 

14.       social media Widgets of IBM® Connections (IBM®)

(http://www-01.ibm.com/software/lotus/products/connections/)

 

15.         Blackberry Enterprise Server Express

(http://ca.blackberry.com/business/software/besx/)

 

16.        Middleware (distributed applications)

 Middleware in the context of distributed applications is software that provides services beyond those provided by the operating system to enable the various components of a distributed system to communicate and manage data

 

17.    BPEL or ESB Which should you use?

http://www.ibm.com/developerworks/websphere/library/techarticles/0803_fasbinder2/0803_fasbinder2.html#WS-BPEL%20Engine

-----------------------------------------------------------------

1.     Content of this document including eVersion Software Pattern, eVersion Domain, eVersion Controller, eVersion Framework, eVersion Portlet, Web Service Injection, Web Service Conception, and eVersion Service Portal are proprietary intellectual properties, and may not be copied, duplicated or used without prior, written permission from the www.xHindge.com account holder.

 2.     xHindge (www.xHindge.org) was originally registered as a web service providing business in the initial version of IBM operated UDDI Web service Registry (https://uddi.ibm.com/ubr/registry.html )

 Gautam Pandya

www.xHindge.com

 

xHindge Software Pattern, including xHindge Algorithm, Core Components, Application Domain Architecture and xHindge Session Facade are proprietory intellectual properties, and may not be copied, duplicated or used without prior, written permision from the www.xHindge.com account holder

Website powered by Network Solutions®


Website powered by Network Solutions®