Enables 30% reduction in development time
IT Strategy for migrating legacy applications to new technology using Visionet’s ESF.NET Framework
Visionet’s ESF.NET technology brings about numerous improvements over J2EE’s Struts framework and the standard ASP.NET paradigm. In comparison with Struts or standard Page Controller based ASP.NET paradigm, which is more suited for the general purpose development, ESF.Net provides tightly defined application skeleton and out of the box design resulting in greatly reduced technological complexity faced by the system development team. Instead of reinventing the wheel by expending 6-8 months in design and development, project team can delve straight in to the challenge of legacy code migration through adoption of the ESF.NET framework.
It is a continuous challenge for IT leaders and strategists to exploit the opportunities for optimally improving the enterprise IT Infrastructure by establishing a flexible and adaptable enterprise system architecture that not only facilitates new development, but also allows for leveraging the existing software assets through reengineering.
This paper discuss various challenges faced by the large IT organization and describes critical elements of solution strategy through Visionet’s Enterprise System Frame.NET (ESF.NET) for legacy system modernization leading toward successful long term implementation of Service Oriented Architecture.
Throughout history of software development, industry leaders continually fostered innovation in the very fundamental way the software is developed. This desire for improvement paved the way for continuous evolution of ideas, originating from an unstructured paradigm to object orientation and component based development approaches. Gradual emergence of these approaches resulted in considerable gains in the form of efficiency and capability of business applications. However, the paradigm predominantly remained as application centric, above and beyond the granularity where individual business functions or operations offered by the system could be externally used, invoked or published in a platform/technology neutral manner.
This application centric development approach adopted by industry over the years resulted in monolithic business applications of varying size and complexity. In essence, such applications act as information silos and had minimal room for reusability, along with the inherent inability to interoperate with other systems. A typical enterprise architecture based on this application development approach is highlighted in figure 1 below:
This fragmented enterprise architecture has introduced numerous difficult challenges for IT strategists and architects in the quest for making their organizations and systems efficient, agile and ready to take advantage of future technologies with a high degree of effectiveness. A few of the major challenges are listed in the following section.
Challenges due to standalone application centric architecture
The most common challenges faced by large IT organization today are:
- Flexibility and adaptability of Information Systems to meet the needs of ever changing business processes with manageable risk
- Management Cost: The de-facto, standalone black box application development philosophy gradually leads towards increased development cost, where each application is developed, maintained and enhanced individually by specific IT groups
- Disparate technologies, application architectures and designs of applications within an organization make the technology and resource management much more challenging than it needs to be
- Reliance on specific individuals having knowledge of specific applications and their unique designs tends to be expensive and less innovative over the years
- Technology obsolescence forces IT organization towards decommissioning of the entire applications which results in loss of years of investment in the form of organization specific customizations. The all out system replacement is also difficult and risk prone due to unavailability of sufficient, consolidated functional documentation
- Workflow integration in to such monolithic applications is not possible. The modern trend of using workflow technology to drive and manage business processes has proven to be very effective in increasing the success factor and profitability for business organizations
- Reuse and leverage exists assets: Applications are developed and enhanced on their own without making significant reuse of existing functional components available in the enterprise. Typically, the design and architectural incompatibility of different software systems make the reuse difficult
- B2B and in-house integration across systems: With the traditional application centric model, system integration is typically implemented using a traditional point to point approach at the database level where additional or somewhat redundant new data processing logic is developed purely for integration purposes. This adds to development / maintenance cost and at times, puts data quality at risk
- Difficult to leverage grid computing technology for improving upon enterprise computing resource utilization. Having more flexible service based enterprise architecture provides practical room for adoption of this approach
- Application distribution cost for global companies is higher with a traditional approach as third party technology like terminal servers are required for distributing the applications to remote users
Solution Approach and Objectives
- Avoid complete system rewrites where possible by leveraging existing assets
- Migration to new technology platforms through system reengineering
- Acquisition/development of enterprise wide application framework based on solid architecture
- Promote development of reusable software components and services
- Maintaining Architectural and technological consistency across the enterprise where possible, for efficient utilization of development resources and minimizing dependency on specific individuals
- Consolidation towards developing server side business logiccomponents, thus opening up the path to a high degree of cross application code usability and workflow integration through the use of browser based clients (using HMTL or current edge Rich Internet Application technologies)
- IT Strategy for gradual transition towards Services Oriented Architecture (SOA) through judicious use of Web Services Technology where practically possible
Challenges in Legacy Code Conversion to New technology
The most notable challenges in system reengineering projects include the following:
- Coupling of UI with Business Rules
- Coupling of Business Rules Layer with Persistence
- Repetitive code
- Absence of Software Layers
- Repetition of validation logic at the client and Server Side
- Scalability issues
- Desktop experience Hangover
- Workflow dependency on container
- External System Integration Issues
These challenges can be managed through various measures like thorough upfront analysis, solid quality assurance and choice of appropriate system framework to ensure that the new intended architecture and design is enforced during implementation.
Need for elaborate system framework
In order to ensure successful implementation of the above approach, solid IT strategy and planning is required. Among the most critical items is the selection and design of a System Framework that must be aligned with the required Enterprise Architecture for consistent implementation of major enterprise systems in the longer term. The framework should not only facilitate developing new applications, but should also provide the support for migration and reengineering of legacy assets at the same time. The Core of this Enterprise framework should provide integration with various middleware, databases and caching technologies. Other higher level features of the system should include support for most commonly required system features like data lookup inquiries, high performance pagination, caching, support for most commonly used GUI features (for making application development more efficient), robust security and high degree of scalability.
Importance of Migration Methodology
Besides choosing the right frame work, the success of the IT strategy also lies in defining the foundation methodology and having a trained project team for successful execution of the reengineering projects. This methodology needs to be laid out in detail to ensure that the objectives stated above are optimally achieved.
As an expert technology service provider, Visionet System Inc. has been helping large customers define and successfully execute their IT strategies over years. Visionet provides unique services as a one stop shop with its proprietary ‘Enterprise System Framework .NET’ (EFS.NET) Technology, its proven system reengineering methodology leading towards SOA and a highly skilled technical resource base.
Rationale for ESF.NET
.NET technology provides great deal of flexibility and features for both Web based and desk application development. However, being a general purpose technology, it does not enforce conformance to the architectural need of typical enterprise application development as outlined in the “Solution Approach” section above. This has created a vacuum for specialized application framework on top of .NET. In the current trend, savvy IT organizations end up reinventing such frameworks for their own needs which considerably adds (six months or longer) to the project timeline and draws the attention and focus of skilled workers away from business functionality development to inventing the framework technology. Companies without strong technical knowledge and insight tend to rush in to ASP.NET based standard development model and end up with systems that are inflexible and do not fall in line with the long term strategy. ESF.NET, a proven system framework, fills this vacuum with its diverse array of features, robustness and high degree of scalability that not only provides an off the shelf mechanism for new development, but also facilitates massive reengineering projects for legacy modernization from older Visual Basic technology to .NET.
Further details regarding migration from legacy VB to native .NET are covered in the Visionet white paper VB 6.x to Native .NET Conversion available on the World Wide Web.
Visionet’s Re-engineering methodology
Visionet’s multi-staged reengineering methodology and process involves detailed upfront assessment and analysis of the existing legacy software. Upon completion of this phase, elaborate functional, technical, project management and implementation related documentation is produced for drawing out workable project and resource plans. Subsequently, the project execution phase begins, under which each increment is designed, developed and rolled out to production. The outline of this methodology and it key steps are as follows:
- Abstraction of UI into generic model
- Replacement of UI elements in the business layer by the model above
- Removal of direct DML operations from the business layer
- Identifications of patterns in the business layer
- Refactoring of business layer to new design
- Conversion of required business components into compliant SOA modules
- Removal of Business layer calls from UI
- Binding UI elements with the generic UI model
- Improving the user experience through custom developed rich UI controls
- Maintaining the desktop hangover by employing client side caching and AJAX call
Development Process and Software development Life Cycle (SDLC)
Considering the large size of the enterprise legacy modernization projects, Visionet’s proven development process includes the clear phases of Architecture definition, detailed use case analysis, technical design, development, code reviews, stress testing and multi cycle QA testing with both functional and regression testing cycles.
Once the architecture and functional details are established, Visionet recommends iterative, waterfall SDLC for development which allows for detailed planning and design upfront and still allows for quicker delivery of iterations to customers without sacrificing quality. Figure 4 below provides a pictorial flow of the process.
Salient Features of ESF.NET
Visionet’s ESF.NET technology brings about numerous improvements over J2EE’s Struts framework and the standard ASP.NET paradigm. In comparison with Struts or standard Page Controller based ASP.NET paradigm, which is more suited for general purpose development, ESF.Net provides a tightly defined application skeleton and out of the box design resulting in greatly reduced technological complexity faced by the system development team. Instead of reinventing the wheel by expending 6-8 months in design and development, project team can delve straight into the challenge of legacy code migration through adoption of ESF.NET framework.
The most notable features of ESF.NET technology are as follows:
- Implements industry standard MVC (model view controller) architecture in the context of both legacy migration and new development
- Front and Page Controller based architecture for greater flexibility
- XML driven system navigation allowing for end user front-end options like rich desktop or browser based clients
- Complete separation of business layer from UI and other technology specific features
- Flexibility in choosing appropriate data sources/data access implementations (for example XML data source, SQL server DB, Oracle DB, OR mapping tools etc.)
- Flexible model class hierarchy with abstract representation of data and UI elements thus allowing for separation of UI and business layer code
- Elaborate Security features including user authentication, role based field, page level and data level authorization
- Configurable cache implementation allowing for flexibility of choosing between various caching mechanisms with minimal impact to application code
- Built in support for database and cache dependency
- User friendly customizable GUI Controls
- Built in support for dynamic transaction data lookup inquires
- Support for both client and server side validations
- Flexible Error handling and logging
- Allows for business layer code for B2B and External system integration
- Support for dynamic event handler creation
- Ease of Development through a single tool (Visual Studio)
- Support for mobile devices through WSDL
- Provides ability to make existing business logic independent of UI
- Generic service handler to transform existing Business layer to Web Service
- Configuration Management Console
- Removal of Cyclic dependencies in the business layer by using reflection based navigation
It is of tremendous value for IT organizations to bring about technological improvements to the enterprise systems by cautiously moving towards Services Oriented Architecture. This can be achieved by leveraging existing software assets provided the critical decisions are made in a timely manner about the right choice of architecture, system framework, reengineering methodology and choosing a service provider with a team of highly trained and experienced resources. Choosing the right framework technology can reduce the overall project time line by 6 to 8 months by significantly reducing the highest complexity factor. Visionet’s ESF.NET is a proven best of the breed technology for legacy migration and a path towards SOA. This framework technology is supported by Visionet’s large pool of dedicated technical resources.
For more information, please visit Platform Modernization.