IT Personal-Application Challenges and Issues
Two kinds of professionals are managing the enterprise infrastructure and applications as a result of this heterogeneous environment: technicians and modelers. Technicians usually decide what platform and software to use to write an application. On the other hand, a modeler designs the application using the modeling tool and eventually confronts the technician about what tools and platform should be used for that application. To a technician, modeling tools seem abstract and disconnected from reality, and technician-based issues to a modeler are tedious. Therefore, integrating disparate applications means bringing them closer together.
Integrating disparate applications is not as simple as developing applications on a single platform. A system designed for heterogeneous applications without consideration of the distributed environment will not work because each application has its own challenges and each changes at a different pace, so it does not scale up to support hundreds of users in a large organization's production environment.
In order to support hundreds of users, the enterprise application must have resilience, scalability, security, and manageability. Applications written in COBOL in the past 1520 years can give these to you, but using Enterprise Java Beans (EJB) can give resilient, scalable, securable, and manageable applications. Thus, we also must understand the principles of building large resilient applications. However, the methods and principles that have served as well in the past for mainframe applications do not all apply for integrating disparate applications, and vice versa. So much has changed with the invention of the Internet that we must reassess the old methods and principles to integrate these disparate applications with the Internet. Integrating applications with the Internet exposes complexities and inconsistencies of the system that so far only internal users have dealt with.
So, before we look into these complexities, we need to have a structure and guidelines of the architecture in order to prevent chaos. Even if we have the architecture and guidelines to design the application, we need to analyze the following issues:
The business process flow for these applications needs to be controlled before integration of these applications begins. For example, it might be possible to substantially improve the business process for particular applications in order to improve the speed of customer service.
The data quality needs to be improved, and duplicate of data from many databases need to be deleted. You will need a strategy for either sharing the same data or controlling data duplication, however. Business process alignment with business components and also with the transaction servers can help to eliminate the duplication of data, and therefore can help to respond efficiently to the business change.
The existing services need to be expanded to support a variety of users and channels.
Understanding the implementation and deployment issues; to do this, you must be able to truly understand the requirements of the application design and be able to critique it.
There should be a clean separation of the presentation layer with integration servers and databases. This Model Driven Architecture (MDA) helps to achieve the application separation logic.
There is a lot of information available on the implementation of the new applications, but not enough to identify the problems of integrating the existing disparate applications. There are many integration issues and challenges, which would require the whole book. Therefore, I will concentrate only on two major issues in this article: the presentation layer and transaction integration.