The Assignment 1 Specification and Marking
Mar 13,23Question:
Background:
The Assignment 1 Specification and Marking Criteria Research Report on Major Enterprise Computing Architecture
Enterprise software platforms are designed to simplify complex enterprise problems for the development, deployment and maintenance of multi-tier enterprise solutions. In this assignment, you are to write a research report to critically review the current enterprise computing platforms: Java EE, .NET and Cloud. In your review, you are to compare and contrast the major components of the platforms and assess the potential impacts when choosing one of them for your businesses. To complete this report, you need to have good understanding of the related issues and are expected to do personal research.
The report is to be structured as an academic report and the sections must be titled and numbered. Your work must be appropriately referenced using Harvard (author-date) referencing style. The length of the report should be about 2,500 words. You are not required to provide an Executive Summary for the report. An Exemplar for Writing a Simple Academic Technical Report is available on the unit web site; you should read it before writing your report.
In your report, you must address the following issues:
Introduction
Present a short introduction to enterprise computing to interpret what is enterprise computing and what are the available technologies of enterprise computing. Describe what will be covered in the remainder of this report.
Layered model
Both Java EE and .NET use a layered model to develop an enterprise software application. Report your research of Java EE and .NET layered models to interpret why a layered design of enterprise software application is beneficial and what are the major components and their roles/functions of each layer of Java EE and .NET.
Service orientation
Cloud computing is a service-oriented architecture to construct enterprise software applications. Report your research about cloud computing to interpret what is service-oriented architecture, what are Infrastructure as a Service (IaaS), Platform as a Service (PaaS) and Software as a Service (SaaS). Interpret which service of the above 3 can provide a general Java EE programing and runtime environment (you may use Oracle Cloud to support your interpretation).
Runtime framework
To support enterprise software applications, any enterprise computing architecture (Java EE, .NET or Cloud) provide a runtime framework for application deployment and execution. Report your research about a runtime framework (e.g. Oracle GlassFish) to interpret what supports are provided, why such supports are beneficial.
Pros, cons and misconceptions
There exist pros and cons for using Java EE or .NET. Report your research about pros and cons for using Java EE or .NET in terms of open source vs proprietary software and software portability. There exist misconceptions about cloud computing. Report your research about some misconceptions of cloud computing and your clarification.
Conclusion
Conclude your research about enterprise computing in terms of what platform is more suitable for your business and what will be the impact of using it.
Submission
The assignment must be submitted as a single Microsoft Word document. You must submit your assignment via the unit web site. Any hardcopy or email submission will not be accepted. After the marked assignments are returned, any late submissions will not be accepted.
Marking Criteria
Criteria Available Marks
Introduction 2
1. Enterprise computing and available technologies 1
2. Description of report structure 1
Layered model 4
1. Benefit of a layered design 1
2. Main components of each layer and their functions 3
Service orientation 4
1. Infrastructure as a Service (IaaS) 1
2. Platform as a Service (PaaS) 1
3. Software as a Service (SaaS) 1
4. Which service provides Java EE development and runtime environment 1
Runtime framework 5
1. Transaction 1
2. Concurrent control 1
3. Security 1
4. Component packaging and deployment 1
5. Benefit of the above 1
Pros, cons and misconceptions 3
1. Open source or vs proprietary software 1
2. Software portability 1
3. Misconceptions and clarification about cloud computing 1
Conclusion 2
1. Suitability 1
2. Potential impact 1
Sub Total for Assignment 1 20
Late Penalty -1 (5%) each calendar day (either full or part)
Plagiarism Penalty
Total for Assignment 1
Answer:
Introduction
1.0 Corporate Computing Technologies
1.1 Introduction
Today’s society is driven by technological development that includes computing and information systems innovations. There are numerous technological products that companies in the modern-day corporate world can use in achieving efficiency in their operations. First and foremost, the benefits of using these products are well documented and outlined by different sources and scholars. Implementation of information technology products for corporate efficiency in the past years has brought the rise of some common concepts such as enterprise computing and information systems. Majdalawieh, Marks, and Waidner (2019, p. 1671) argued that corporate computing is a concept that has been receiving enormous attention in the past years. There are several colleges today that offer courses under corporate computing. This is because this is an area that has proven to be of many benefits to organizations. Due to the enormous attention in this area, numerous technologies have been developed under corporate computing technologies.
This means that companies today employ some corporate computing technologies based on some perceived benefits that they have on corporate performance. This is evidence that several corporate computing technologies have various corporate benefits as far as corporate performance is concerned. Nevertheless, Sinderen (2008, p. 341) argued that networked enterprise is one of the technologies that have dominated the areas of corporate computing technologies. In light of these technologies, this report aims at outlining some of the common corporate computing technologies that companies use in modern-day society. Therefore, the report will focus on shedding light on the concepts of Java EE, .NET and cloud computing as some of the main corporate computing technologies in the modern-day corporate world. Furthermore, the report will handle layered models, service orientation, runtime framework, and the pros, cons, and misconceptions of these technologies thus shedding light on the importance of deploying these technologies in companies.
1.2 Layered Model
There are several forms of computing technologies that companies use in modern-day society. The fact that cloud computing is the dominating technology in modern-day society is well documented. This is because of its efficiency in ensuring better corporate processes. Sleit, Misk, Badwan, and Khalil (2013, p. 35) argued that cloud computing has been receiving enormous attention in the past years. This is because of its importance in the IT technological world. It is well known for its efficiency as it supports hosting and delivering services over the internet and also the real-time computation characteristics. Besides these characteristics, it is well established that this is a technology that also supports layered design. Studies have outlined the importance of layered designs, especially for corporates. According to Fadlallah, Mcheick, and Rebaine (2019, p. 201), the implementation of technologies such as IoT and an increase in the use of mobile phones among users has led to the development of different technologies including the layered designs for effective operation.
Sovallainen and Myllerniemi (2009) argued that organizing software architecture into layers has been one of the most commonly used architectural styles in computing technologies. Furthermore, it is well established that this is a mode of architectural approach that is perceived to be of great importance in ensuring system efficiency. First and foremost, it is important in ensuring security in cloud computing, which is one of the greatest challenges in cloud computing technologies. Yildiz, Abawajiy, Ercan, and Bernoth (2009) argued that implementation of some cloud computing infrastructure such as SaaS, web, platform and managed services, internet introgression, utility, and services commerce platforms in the form of layered architecture plays a vital role in ensuring system security. Therefore, this is a technology that is of great help in the modern-day information system technologies.
On the other hand, the layered architecture is a model that consists of several layers in a system that assists in ensuring system efficiency. The figure below shows the layers of a layered architecture as shown by Fadlallah et al. (2019, p. 207):
From the above image, it is evident that there are several layers in the layered model. In addition to that, the layers have got different characteristics. This means that they have different roles to play in the systems developed. Some of the seen layers include the task application, service engineering, data engineering, adaptation engineering, connectivity, and physical layer. As seen in the above figure, the layers play different roles. Nevertheless, they are all important in ensuring system efficiency and effectiveness. Therefore, it is well established that deploying systems with all the above layers in companies is important in ensuring that the operations of the organization are effectively accomplished.
1.3 Service Orientation
Different studies have outlined that service orientation plays a vital role in ensuring system efficiency. First and foremost, service orientation can be grouped into different facets. Service orientation is very important in information system efficiency. In addition to that, this is a concept that has been receiving enormous attention in the modern-day system development sector. Besides ensuring that a reliable architectural model, such as the layered model is embraced, the developers ensure that they address seems development based on service orientation. On the other hand, service orientation emphasizes on some common concepts in that the systems are developed based on the needed services by the customers. Some of the common services that are offered in system development include Infrastructure as service, platform as a service, Software as a service, and Java EE and runtime environment based services. Therefore these are some of the common services that the part below expounds on.
1.3.1 Infrastructure as a Service (IaaS)
Infrastructure as a service is a common concept in modern-day society. According to cloud computing technology, this is a service that is of great importance in ensuring system reliability. According to Microsoft Azure (n.d.) infrastructure as a service is an important technology that emphasizes the scaling of the infrastructure in that they are affordable to customers. System developer develops a system in a manner that the users can only pay for what they are using. This is one of the greatest importance of cloud computing and system development. In this service, a service provider host’s infrastructure on a cloud computing data center, and the customers can pay for the services on a shared basis. This makes it cheap and therefore affordable for most customers. This is one of the greatest benefits of IaaS.
1.3.2 Platform as a Service
Giessmann and Stanoevska (2012) argued that the platform as a service is of great importance in information systems. This is a service that is greatly revolutionizing the way software production is developing in the modern world. It is well established that developers today, based on cloud infrastructure develop the systems in a way that they ensure that the systems are distributed effectively. Platform as a service is a technology that emphasizes on the distributed platform for the users to be able to access cloud infrastructure online. This is a technology where the users access platforms online in a distributed system. Therefore, this is an important aspect in all systems.
1.3.3 Software as a Service
Software as a service is another service-oriented development that is of great importance in modern-day society. It is well established that this is a model that assists in system efficiency. Goyal (2013, p. 53) argued that cloud computing is effective and efficient in modern-day society due to some common aspects. One of these aspects is Software as a service. Studies have also outlined that this is a common model that is used for enterprise software development. It can, therefore, be argued that this is one of the main models used for their efficiency. It is well established that this is a service that emphasizes on the use of shared software for efficiency and effectiveness over cloud infrastructure.
Furthermore, cloud computing technology can be more effective in providing the services needed by combining all three services on a distributed basis. The figure below presents how the services can be deployed for system efficiency as outlined by Microsoft Azure (n.d.):
From the above image, it is well established that there are different infrastructure that can be deployed to offer all the needed services, which is infrastructure as a service, platform as a service and software as a service. Therefore, these are important concepts for corporate information system development.
1.3.4 Java EE development and runtime environment Services
Different studies have outlined that Java EE is an important development environment. On the other hand, they have great assistance in ensuring that security, especially in MySQL is achieved. Studies have outlined that security is one of the major cons of cloud computing development. However, Java EE is an environment that has great potential for influencing production. According to Guaman, Guaman, Jaramillo, and Correa (2016), Java EE development of systems greatly assists in preventing XSS and SQL injection in system development. Furthermore, Danciu, Chrusciel, Brunnert, and Krcmar (2015) outlined that Java EE is a developed infrastructure of great importance in ensuring that the overall system development is productive. This is true because it assists in ensuring that the response time of the system is tested before finalizing the system development. Therefore, it is well established that this is an important aspect of ensuring system development success.
On the other hand, Java EE development is always built on top of Java SE environment. It majorly assists in providing the runtime environment and API when developing systems. This is of great importance in ensuring that larger systems are developed in completion and with the productivity of the system. Therefore, it is well established that this is a tool of great importance, especially when developing larger systems. Finally, the benefits of using Java EE are well documented especially in developing cloud computing systems. It is well established that the security standards that this development environment poses in system development are of great importance, especially in cloud computing infrastructure. Therefore, this is also of great importance, especially considering the fact the cloud computing is widely used in modern-day society.
1.4 Runtime Framework
Studies from the past have outlined that the runtime framework is of great importance in modern-day society. Chondamrongkul and Hewett (2011) outlined that model drive software development has been in use for the past years. However, the modern implementation of the runtime framework has brought forth an important revolution in software development. Developers today develop systems based on runtime frameworks that implement the high-level development models. Therefore, they have great importance in ensuring system efficiency. Mitchel, Sevitsky, and Srinivasan (2006) further argued that framework based applications need excessive runtime activities for a better and quality system. Therefore, it is well established that developing systems based on a runtime framework greatly assists in ensuring system quality.
First and foremost, different sources have outlined that the runtime framework has got several benefits when developing systems. Some of the well-known benefits include transaction, Concurrency control, security, and component packaging, and deployment. Therefore, it is well established that the use of a runtime framework is of great importance in system development. It is well established that the transaction framework is an important aspect of ensuring that the overall system development is reliable. It provides system components in a way that all the transactions in the system are managed by infrastructure automatically. This is a function that can be accomplished by the system. Transaction. This means that this is one of the main importances of using the runtime framework.
On the other hand, concurrency control is another aspect that system developers have to ensure when developing information systems. Quasim (2013, p. 2230) outlined that several models can be used to achieve concurrency control in a distributed database system. On the other hand, modern-day cloud computing technologies are always based on distributed systems for efficiency. One of the main methods of achieving concurrency control is by using the runtime framework. Concurrency control is one of the main aspects of ensuring that a system is efficient. In the runtime environment, some of the common techniques used in achieving concurrency control include enforce isolation among transactions and resolving the read and write conflicts. Therefore, this is also one of the common benefits of embracing a runtime environment.
Generally, it can be argued that all the benefits of runtime environments such as security, transactions, concurrency control, and component packaging have benefits to the overall product. Security benefits are brought forth with some common concepts such as system development methods for achieving security, especially in the cloud infrastructure. On the other hand, functions such as transactions and concurrency control assists in ensuring that the system is reliable and most importantly effective in providing the users with the needed standards of services.
1.5 Pros, Cons, and Misconceptions
There are numerous methods of system development. On the other hand, the models used in developing systems have different benefits. An applicant can seek to adopt a certain model of system development based on the argument that it is the best in producing the needed system requirements. Therefore it is well established that system development is a complicated endeavor that requires a series of analyses for the developer to establish the best models and system development methods to adopt. Some of the common modes of operation include open source versus proprietary software, software portability and most importantly ensuring cloud computing.
Open-source software is software where the developer develops the code under a specific license that gives rights for sharing and change of the software by other developers. On the other hand, proprietary software is the type of software development where the developer develops the software with a closed licensing system where the source code is not made open to other developers. On the other hand, there are different forms of software development modes that assist in ensuring that software serves its development purpose. Some of this aspect includes software portability which ensures that the software developed can be used on different platforms and software. Therefore, these are some of the main aspects that a cloud computing software developer has to ensure when developing enterprise systems.
On the other hand, there are different beliefs and other aspects of cloud computing in modern-day society. Studies have outlined that the main misconceptions of these systems are that they are beneficial in the corporate world. On the other hand, companies can benefit a lot in ensuring that their systems operate in a cloud-based infrastructure. According to Verma (2019), some of the common cloud computation misconceptions include the notion that cloud computing is vogue and will not last for long, it is expensive, it is not reliable enough, it is not secure and not suitable for enterprises. The fact is numerous security technologies are used to ensure that cloud computing infrastructure is secure. On the other hand, cloud computing is a new technology that is greatly reliable and effective and will be used by individuals as well as companies in the coming years effectively. Therefore, this is an aspect that brings forth the aspect that cloud computing is one of the main technologies that developers adopt today and should embrace.
1.6 Conclusion
There are several modes of system development that developers can gain a lot from adopting. On the other hand, it is well established that the development of cloud computing is one of the main models that system developers have to embrace due to its benefits in society. This is a system that is suitable for usage in all companies as well as usage by people in society. On the other hand, studies have outlined that system development in modern society is taking a paradigm shift and cloud computing is the most used technology due to its perceived efficiency. On the other hand, it is well documented that the use of cloud computing systems has great impacts on companies. It is cheap due to the emphasis on shared infrastructure and also it allows for remote access among other great benefits mentioned above. Therefore embracing cloud computing models is one of the most important aspects that system developers in modern-day society should adopt.
References
Chondamrongkul, N., & Hewett, R. (2011). Application Runtime Framework for Model-Driven Development. In: Kim T. et al. (eds) Software Engineering, Business Continuity, and Education. ASEA Communications in Computer and Information Science, 257. https://doi.org/10.1007/978-3-642-27207-3_26. [Viewed 20 August 2020]
Danciu, A., Chrusciel, A., Brunnert, A., & Krcmar, H. (2015). Performance Awareness in Java EE Development Environments. In: Beltrán M., Knottenbelt W., Bradley J. (eds) Computer Performance Engineering. EPEW 2015. Lecture Notes in Computer Science, 9272. Springer, Cham. https://doi.org/10.1007/978-3-319-23267-6_10. [Viewed 20 August 2020]
Fadlallah, G., Mcheick, H., & Rebaine, D. (2019). Layered architectural model for collaborative computing in peripheral autonomous networks of mobile devices. Procedia of Computer Science, 155, 201–209.
Giessmann, A., & Stanoevska, K. (2012). Platform as a service – a conjoint study on consumers’ preferences. Thirty Third International Conference on Information Systems, Orlando 2012. Retrieved from https://pdfs.semanticscholar.org/5cb6/747b9a8170ea2c840d22b508bdb5efe58a9a.pdf. [Viewed 20 August 2020]
Goyal, S. (2013). Software as a service, platform as a service, infrastructure as a service − a review. International Journal of Computer Science & Network Solutions, 1(3), 53 – 67. Retrieved from http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.403.9470&rep=rep1&type=pdf. [Viewed 20 August 2020]
Guaman, D., Guaman, F., Jaramillo, D., & Correa, R. (2016). Implementation of Techniques, Standards, and Safety Recommendations to Prevent XSS and SQL Injection Attacks in Java EE RESTful Applications. In: Rocha Á., Correia A., Adeli H., Reis L., Mendonça Teixeira M. (eds) New Advances in Information Systems and Technologies. Advances in Intelligent Systems and Computing, 444. Springer, Cham. https://doi.org/10.1007/978-3-319-31232-3_65. [Viewed 20 August 2020]
Majdalawieh, M., Marks, A., & Waidner, S. (2019). Enterprise computing curriculum: a reference framework. The Journal of Social Sciences Research, 5(12), 1671-1680. Retrieved from https://ideas.repec.org/a/arp/tjssrr/2019p1671-1680.html [Viewed 20 August 2020]
Microsoft Azure (n.d.). What is IaaS?. Retrieved from https://azure.microsoft.com/en-us/overview/what-is-iaas/. [Viewed 20 August 2020]
Mitchel, N., Sevitsky, G., & Srinivasan, H. (2006). Modeling Runtime Behavior in Framework-Based Applications. ECOOP 2006 – Object-Oriented Programming, 20th European Conference, Nantes, France, July 3-7, 2006, Proceedings. DOI: 10.1007/11785477_25. [Viewed 20 August 2020]
Quasim, M. T. (2013). An efficient approach for concurrency control in the distributed database system. Monthly Multidisciplinary Research Journal, 3(9), 2230-7850. Retrieved From https://www.researchgate.net/publication/315459058_An_Efficient_Approach_For_Concurrency_Control_In_Distributed_Database_System. [Viewed 20 August 2020]
Sinderen, M. V. (2008). Challenges and solutions in enterprise computing. Enterprise Information Systems, 2(4), 341-346. https://doi.org/10.1080/17517570802442063. [Viewed 20 August 2020]
Sleit, A., Misk, N., Badwan, F., & Khalil, T. (2013). Cloud computing challenges with an emphasis on amazon ec2 and windows azure. International Journal of Computer Networks & Communications (IJCNC), 5(5), 35 – 44. DOI: 10.5121/ijcnc.2013.5503. [Viewed 20 August 2020]
Sovallainen, J. E., & Myllerniemi, V. (2009). Layered Architecture Revisited – Comparison of Research and Practice. Software Architecture, 2009 & European Conference on Software Architecture. WICSA/ECSA 2009. Joint Working IEEE/IFIP Conference. DOI: 10.1109/WICSA.2009.5290685
Verma, E. (2019). Unveiling the 6 Cloud Computing Misconceptions. Simple Learn. Retrieved from https://www.simplilearn.com/common-cloud-computing-misconceptions-for-business-owners-rar298-article. [Viewed 20 August 2020]
Yildiz, M., Abawajiy, J., Ercan, T., & Bernoth, A. (2009). A Layered Security Approach for Cloud Computing Infrastructure. Pervasive Systems, Algorithms, and Networks (ISPAN), 2009 10th International Symposium on Network security. DOI: 10.1109/I-SPAN.2009.157
0 responses on "The Assignment 1 Specification and Marking"