Introduction:
This paper will examine the .Net framework developed by Microsoft. It will examine the architecture of this framework and relate it to business system design for the C-Hopper. This paper will examine in depth the .Net architecture and offer illustrations of how the different architecture can gain application in the design of the C-Hoppers system. Lastly, the concepts of coupling and cohesion will; be examined. The paper will focus on how these concepts relate to the application architecture as well as the Entity Framework.
The .Net framework is a software framework that runs on Windows reporting systems. Microsoft developed the framework. It offers a unique and simple system design tool. The main advantage that has been brought by the framework is interoperability. This refers to the ability of an individual coding language to use and execute code that has been written in another language. This is made possible mainly because all the code that is written on this framework is executed in a software environment. This is opposed to the traditional method of executing programs in a hardware environment (Hate & Paharia, 2012). The framework is made up of a number of vital components. These are the three-layer application architecture made up of the presentation layer, business layer and the data layer.
Presentation layer:
This layer aims at the interaction of the user with the system. This layer provides for a user interface that allows the user to be able to communicate easily with the system. .Net applications mainly utilize Windows Forms as well as ASP.NET for creating UI. Windows Forms are used for client interaction on stand-alone systems or machines while ASP.NET is used for user interaction for browser based interaction. For C-Hoppers, the presentation layer is critical. The system implemented by the organization requires vast amount of communication between the user and system. Therefore, the presentation layer is critical for ensuring adequate interaction. For example, ASP.NET could be used to implement the booking form for customers who prefer to book ferries online. For the stand-alone system for booking customers at the office, managing human resource and asset management Windows Forms could be used for creating the user interface.
In order to be able to use different languages to develop the user interface the common language runtime can be used. This functionality allows a programmer not to be tied down to one language but can be able to use different languages to develop different parts of a system and be able to integrate all the code into one single system. In the case of C-Hoppers, the organization’s system can be broken down into different sections or subsystems that can be coded individually and can be combined together on a .Net framework to become a single system.
Secondly, the organization’s booking system can be divided into two, an online system and an offline system. This is mainly because there are customers who may want to book a ferry online while others would prefer to book their ferry physically at the organization’s offices. In this case, in order for the organization to build a robust system they may decide to use python for the online booking system that is used by customers or booking agents. On the other hand, the organization may decide to use C# to code the offline system in order to satisfy all customer needs. However, both systems need to be integrated to the database in the same way. This implies that both systems will be linked to the same central database.
This will be enabled by the Common Language Runtime (CLR), which helps to manage data as well as applications. This is achieved in a simple way. The online application written in python will be compiled individually. Similarly, the C# offline application will be complied individually. The object code that results will be provided to the CLR where it will be converted into a common intermediate language. This is converted by the CLR into a common machine-readable code. Therefore, both the offline and online application can be managed as a single system within the organization. In addition, C-Hopper could use the .Net common language infrastructure to integrate its booking system with that of the newly acquire Leek and Rock Ferries company.
Business Layer:
The business layer aims at implementing the business functionality of the application. This layer connects the presentation and database layer. It acts as a link between the user and the database layer. This layer can be implemented using a number of accepted .Net programming languages. This layer offers the service interface through which all business processes desired by an organization can be achieved. It also encapsulates the business rules with regard to different processes that go on in the business. For C-Hoppers, this is a critical layer. This is mainly because the organization has a large number of business processes that it needs to achieve. The company needs to book passengers, manage employees, manage assets, as well as receive constant reports on its progress. All this business processes will be encapsulated within the business layer. It is within the business layer that the company’s system will be able to provide all the required services.
Different business applications can be developed using the class libraries. The .Net framework is composed of a set of class libraries. The class libraries contain a large number of functions, which the programmer writes frequently. The use of class libraries eliminates the need for programmers to write common lines of code and they can just call the class function within the main program. These are divided into two types of class libraries. They include the Base Class Library and the Framework Class Library. In the case of C-Hoppers, the organization can use a number of Base Class Library namespaces in the development of its systems.
These namespaces include the following System.Data, System.Management, System.Web, and System.Security. The System.Data namespace can be used for the access and manipulation of data as well as data services. The organization has an Oracle database and this namespace can allow for the access and manipulation of the data. The System.Management namespace can be used for system management purposes. For example, it can be used to determine the database that a certain application is connected. The System.Web namespace can be used for web functionality by the organization. This is mainly because it allows for communication between a web server and a browser. This implies that it can be able to support the online payment platform for clients. The System.Security namespace is critical since it will help create security rights and permissions and improve security of the organization’s system.
Data Layer:
This final layer helps the system connect to a database. The most common technology that is used is the ADO.NET. For any business organization, the data layer is critical since it forms the backbone of the system. This is an important layer since it connects to data services. This enables data to be written, retrieved, and analyzed from a database. Therefore, it makes sure that data is available to the business layer. In addition, the data that result from the business layer can be stored in the database. From the information provided, C-Hoppers currently has a centralized Oracle database at the headquarters in Portsmouth. The data layer will assist the organization connect to this database service.
The data layer also needs to be secured. Security is another key feature of the.NET framework. The framework allows the developer two different types of security feature the code access security and the verification security. For its business operations C-Hoppers needs to ensure that its system is secure. This is mainly because the system stores sensitive information such as payment details for customers as well as personal details of its employees. In addition, information such as the passenger manifest should be highly secured by the system. The system developed must be able to protect such information from unauthorized access. The organization should ensure that its developed system also ensures for user permissions.
This will ensure that employees at the organization only have access to the information they need and not all the information. For example, an employee in the booking department should not be able to access information from the human resource department. This can be achieved using code access security. This security feature allows different permissions to be granted to the written code by the programmer. During the running of the code, sections that are called are checked for the permissions granted. If the code is allowed to be executed it is executed. If it is not granted permission then the code execution is denied.
The data layer will also help with information reporting. From the information provided C-Hopper needs a reporting service that will provide the management with daily reports on the number of passengers and vehicles that are booked on ach crossing, payment reports, five days for which payments have not been received as well as passenger manifests. Lastly, the management requires weekly reports on passenger and vehicle numbers and revenue by route and date. The .Net framework supports the use of reporting tools, which can be used to create comprehensive reports for the management team. Such reporting requirements can be achieved through the Stimulsoft Reports.Net, which is a .Net based reporting tool that can be used to produce reports rich in information.
The reporting tool can be used to collect and analyse data from different sources and combining it to form comprehensive reports (Ganz, 2010). This will be helpful since the company will have a number of programs in place. The reporting tool will be able to derive data from the different programs to create reports. The generated reports can be exported to various formats, which include Word, Excel, and PDF, txt or HTML depending on the needs of the company. Lastly, reporting tools based on the .Net framework will be able to support data from different database platforms such as MS SQL Server, Oracle and My SQL. Another requirement of C-Hoppers is to be able to analyze booking patters effectively. The reporting tools provided by service providers such as Stimulsoft Reports.Net can help in analysing the data stored in its database in order to determine the desired data for the organization is marketing campaign.
Coupling and cohesion:
Coupling and cohesion are two important terms that are critical when it comes to system design. Coupling is the measure of how classes or subsystems are interconnected to one another (Kühner, 2009). When a system exhibits tight coupling the classes within the system are highly interconnected. This is undesirable since the code becomes hard to understand and changes affect a large area of code. In addition, the high interdependency between classes means that small errors are likely to affect the system greatly. Thus, it is important to reduce coupling. Cohesion on the other hand defines how closely related the responsibilities contained in a class are to each other. In order to have quality coding it is critical to have high cohesion within the classes. The Entity Framework is able to deal with the issue of coupling and cohesion (Kühner, 2009). This is mainly because it is a mapper allowing a developer to use domain-specific objects (Lerman & Miller, 2012). This ensures that the coupling is loose and the cohesion is tight.
In the case of C-Hopper, when coding the customer class a developer could use the entity framework to ensure that has the desired characteristics. This is mainly because C-Hoppers system needs to be designed in a number of modules. There is the booking module, the employee management module, the asset management module and the reporting module. All these modules put together will make up the organization’s entire system. Loose coupling and high cohesion should be used by C-Hopper to code the different modules in order to ensure a quality system. This will help the organization understand one module without having to read the rest. The organization can be able to change one module such as the booking system without affecting the other modules. This improves the overall maintainability of the system. This implies that C-Hopper can be able to easily maintain the system without affecting all its business operations.
Reference List:
Ganz, C. (2010). Pro Dynamic .NET 4.0 applications: Data-driven programming for the .NET framework. New York: Apress.
Gittleman, A. (2012). Computing with C# and the .NET Framework. Sudbury, Mass: Jones & Bartlett Learning.
Hate, S., & Paharia, S. (2012). .NET 4 for enterprise architects and developers. Boca Raton, FL: Taylor & Francis.
Kühner, J. (2009). Expert .NET Micro Framework. Berkeley, CA: Apress.
Lerman, J., & Miller, R. (2012). Programming Entity Framework. Sebastopol: O'Reilly Media.
Roebuck, K. (2012). .NET Framework: High-impact Strategies - What You Need to Know: Definitions, Adoptions, Impact, Benefits, Maturity, Vendors. Dayboro: Emereo Pub.