Login for your services
Digital Diary My Tasks Bookmarks My Q/As
AXARROW HIGHLIGHTS
This article describes the technical aspects for building enterprise-scale Internet-based applications using the industry standard Frameworks. The new generation of applications is needed to meet the demands of large scale enterprise computing over an Internet standard distributed network infrastructure making use of highly flexible, standards-based, powerful software infrastructure for integrating organization's already existing investments, with the new next-generation applications and services.
Recent Articles
VIEW ARTICLE

Writing Enterprise Level Commercial Applications

Author: Anant Kumar
Category: Programming
Section: Manufacturing ERP
Related Questions: 0 Login to Bookmark
Submitted On: 8/8/2017
Published On:
ABSTRACT: This article describes the technical aspects for building enterprise-scale Internet-based applications using the industry standard Frameworks. The new generation of applications is needed to meet the demands of large scale enterprise computing over an Internet standard distributed network infrastructure making use of highly flexible, standards-based, powerful software infrastructure for integrating organization's already existing investments, with the new next-generation applications and services.

When we start building and even conceptualizing an enterprise level large scale application, there are dozens of technical aspects that we need to think through and that too thoroughly incorporating their advantages and dis-advantages. We need to select tools, technology frameworks and development model very carefully.

There are software development models that integrate the power of Web-based solutions with the distributed application model of traditional multi-tier client/server design. While client/server design has traditionally relied on proprietary technologies to control information flow between the tiers, current solutions take advantage of industry-standard communications protocols to harness the power of the Internet. By creating solutions based on a combination of off-the-shelf-available and created services, more powerful and flexible applications can be built in a fraction of the time that was required using previous development methodologies.


Challenges that we face while designing large applications

Solutions for enabling a Web site to expose application integration information and functionality in a modular, secure, scalable, and Internet-friendly way have significant challenges. few of these challenges are the following:

Time to market. The application has to be rolled out at a faster pace. The larger length of development time for getting an application to market may render the offering no longer viable.

Scaling out to Internet. Old object models and component designs simply do not work over Internet protocols. Stateless application development that can be rerouted and served by any server is a new concept. This design pattern is vitally important to achieve global scalability in a specified time frame.

Lack of end-to-end development tools. In the rapidly changing world of the Internet, organizations must exhibit the agility to integrate with new partners, using development tools that solve the challenges of today's heterogeneous computing environments. Tool sets are now available today to empower organizations with the flexibility necessary to stay ahead of their competitors.

Service Oriented Architecture
In a service-oriented architecture (SOA), data, logic, and infrastructure assets are accessed by routing messages between network interfaces. Services encapsulate and componentize complex processes and systems, permitting controlled change and continuous improvement of the underlying implementations.Many organizations are realizing the benefits of exposing key software components as network-addressable services.Applications composed of Web services expose their functionality programmatically over the Internet or intranet using Internet protocols and standards, such as HTTP and XML. SOA realizes its full potential when it permits cross-platform integration, so that, applications written in a variety of languages can all share the same exception management services. Microsoft has very well attempted to build SOA framework through Web services. Think of Web services as component programming over the Web. Web services solve challenges facing Web developers by combining the tightly coupled, highly productive aspects of n-tier computing with the loosely coupled, message-oriented concepts of the Web. While a single application may be designed, developed, and deployed following the principles of SOA, the benefits of an SOA are best realized when an organization commits to structuring its applications and technology architecture around reusable, composable services.

Distributed Application Design
Designing a distributed application involves number of important decisions, made by multiple people, about an application's logical and physical design along with the technologies and infrastructure to be used. Well in advance, it is necessary to have a conceptual model for the partitioning of functionality in the application.

Components in this conceptual view generally include the following:

Business components
Applications and services require components that implement business rules and perform business tasks. These components implement the business logic of the application.

Business workflows
Multiple business processes need long running multi-step processes that must be performed in the correct order and simultaneously coordinated with other services. These workflows involve various transaction logics implemented in a well defined way.

Service agents
Business logic components that require functionality provided in external services must communicate with those services. Service agents isolate the application from the complexities of calling services and can re-map data as suitable for the application.

Service interfaces
In order to expose business logic as a service, service interfaces must be created that support the communication protocols that are needed by its different consumers.

Data access logic components
Applications and services will need to access a data store at some point during a business process. Abstracting the data access logic in a separate layer centralizes data access functionality and makes it easier to configure.

Business entity components
Applications generally require data to be interchanged between components to enable data so that the information can be displayed to the users. The data is used to represent real world business entities, like products or orders. The business entities that are used internally in the application are usually data structures provided by the platform underneath.

User process components
Solutions may need to synchronize and orchestrate these user interactions using separate user process components. This allows process flow and state management logic not to be hard-coded in the user interface elements themselves, and the same basic user interaction component can be re-used by multiple user interfaces.

User Interface (UI) components
Solutions provide ways for users to interact with the application. User interfaces are implemented using smart clients or Web pages to acquire, validate, render and format user information.

Security Components
Applications take advantage of platform features for security, exception management, and communications. Applications must also support operational technologies including administration, management, and deployment.

Technical Architecture

Technical architecture is the technology framework designed for achieving an enterprise-scale Web service-oriented architecture. The generic diagram defines a set of generic layers that provide enterprise-based services for service generation. These levels contain the common elements that are required by any Web service application or system.

Platform
For any technical architecture, a platform forms the base of the conceptual view, providing operating system, hardware, storage, networking, and the trust and management services for the entire system. Most capabilities may be provided as part of the operating system.

Framework
The framework rovides the process and state management, language interoperability, and common libraries required by a service based application. The libraries allow developers to use a higher-level, consistent abstraction of the underlying platform.

Delivery
Consists of communications and service interfacing required to support the location and consumption of Web services. These services can be consumed by the presentation layer as well as external systems. The framework and the platform together form the full enterprise application server, which provides specific support for Web services.

Presentation
Contains the coordinating client services that focus on user presentation issues and technologies, and provides support for all types of clients including devices. The functionality at this layer may reside on the client and devices, or may be provided by Web servers that generate HTML presentation. In Internet based applications, the presentation may also include processing done by the client browser.

Integration
Layer provides integration and interoperation between services and present-day operational systems including legacy applications, commercial applications, databases, and other Web services. This is also known as enterprise application integration (EAI).

Creation and Deployment
This includes tools, processes, methodologies, and patterns required to support the entire application life cycle, covering the design, development, testing, deployment, and management of enterprise solutions.


Go to Top
Writing Enterprise Level Commercial Applications

Related Questions...(0) Ask A Question

Ask a Question

Go to Top