Oriented Software Engineering

Published: Last Edited:

This essay has been submitted by a student. This is not an example of the work written by our professional essay writers.


Literature review is done to identify various issues involved in the related subject. There are mainly three aspects, which should be kept in mind while doing literature review. These are searching, accessing and integrating. This paper describes various aspects; one of them is service oriented approach.

Service Oriented Approach

The main purpose of the service oriented approach in software engineering is to improve the profitability and quality of the software by developing appropriate tools and methods. In this regard, the SOSE framework plays a vital role. The main aim behind this frame work is to produce a clear business case. Quality problem and inefficiency arise in the development of software because of the interruption between business decision making and software engineering. Therefore, service oriented approach in Software engineering is essential.

The service oriented approach includes projects like service-oriented software engineering project. It identifies the data concepts and the business processes, so as to meet the business related requirements of the business case. Further, it continues the refinement by making the use of system level services, case maps and business service components. In business service components, service, entity, process and other utility components are widely used as design elements.

Service-oriented requirement engineering acts as an important tool in the service oriented approach in software engineering, as it identifies and specifies the requirement of the service, which can be formally defined through Service Level Agreement. Literature review depicted in this section provides the theoretical framework to study and understand the Service-oriented requirement engineering.

The literature review presented in this section is a theoretical framework to understand and study service-oriented RE. Within this framework, the process of requirement engineering focuses at producing specification related to the requirement of IT service. This framework addresses the requirements of the provider and customer. It is well guided by the Management frame work of the IT service. The emergence of the social-technical issues in this environment influences both the customers and providers.

The review of the four representative examples is presented below, which illustrates the condition of research in this promising area of Requirement Engineering as stated by Bohmann, Van Eck & Wieringa, Niesskink & van Viet, Niesskink & van Viet and Trienekens.

  • As per Bohmann et al., heterogeneity in customer requirements acts as one of the main features of hosting services; for instance, different communication networks & computing platforms, integration of the dissimilar business applications & complicated business characteristics. In order to provide the standardized yet customizable IT services, researcher has introduced architectures of modular service. The main objective is to aid service providers so that they can address the heterogeneity in the requirements of customer by matching and mapping the features and factors of the requisite service during design phases and RE.
  • Van Eck and Wieringa recommend a service blueprint, which requires the specification related to the main issues like self-service tasks of customer, events related to service delivery, generic and customer specific services. Important choices like level of support provided by the service provider are influenced by these design decisions (Van Eck & Wieringa, 2003).
  • Trienekens et al. have described the process of specifying an SLA in phased manner. In the initial phase, introductions take place among the experts of the SLA, contract expert, service provider and customer representative. In the next phase, the service needs of the customers are identified. Services are defined, metrified and qualified in the third phase. This phase is characterized by the collaboration between service providers and customers. Fourth phase is the implementation phase, in which there is negotiation of separate service needs (Trienekens, Bouman & van der Zwan, 2004).
  • Niessink and van Vliet developed and described the IT Service CMM as a maturity growth model, which is similar to the CMM Software. They have also provided the way to identify the altered service requirements like analysis of logged incidents and negotiation of customer requests for altered and new level of services (Niessink & Vliet, 1998).


The next concept in this paper is J2EE, which refers to Java 2 platform Enterprise Edition, which is used for mainframe scale computing in large business enterprises. This platform is mostly used in Java programming language for server programming. It is used for developing multi tier applications, based on modular software components running on application server. It adds libraries to provide functionality for the deployment of fault-tolerant, distributed and multi-tier Java software, which is based largely on modular components running on an application server. It cuts down the cost and complexity of developing the multi tier applications that can be quickly deployed (What Is the Java™ 2 Platform, Enterprise Edition?, 1999).

J2EE comprises of an Enterprise Java Beans (EJB) server and a Web server, known as containers. The EJB server provides an environment to support the execution of applications, which are developed using EJB components. EJB server coordinates and manages the resource allocation to the applications. The business logic used by J2EE applications comes from Enterprise Beans. The Web container provides the runtime environment through components that provide naming context and life cycle management. Services like concurrency control and security are also provided by some Web Servers. It is not necessary to locate Web server and EJB server on the same machine.

Literature review presented here describes that J2EE comprises of J2EE deployment specification, Java technology standards, IETF (Internet Engineering Task Force) standards and CORBA (Common Object Request Broker Architecture) standards for J2EE platform. J2EE contains standardized containers, components and services, which are required for developing and deploying distributed applications. These components provide interface for interconnecting the various software modules and services to enable communications between different software modules. These distributed applications are divided into functional pieces and deployed on various systems.

Multi-Tier applications are divided into three logical layers. The first, i.e. the presentation layer is the layer of user interface. It takes input from the user and shows the stuff to the user. This layer controls and validates the user actions. Underlying the presentation layer is the logical layer, also known as business rules layer or middle tier, which handles the application processing (Expediting Development and Deployment, 2008). The data access layer enables the software to read and write. In single tier or monolithic architecture, all the layers exist in a single computing layer on same physical machine. In client-server architecture, the data is centralized on a server and allows the multiple users to access the common database. The client machine sends an SQL command to retrieve and save data on the database server.

Thus, the authors believe that J2EE provides easy development, customization and deployment of enterprise application with the help of flexible component configurations. As Java programming language is the base of J2EE, it provides probability, scalability and ease of programming to all J2EE applications (Expediting Development and Deployment, 2008).

Web Services

Another important concept is Web services that can be described as the technology, which creates a network of connections. It has some underlying computer systems that support the offered connections. These are the modes of connecting different services into a common program such as combining services internally and externally into service oriented architecture and these services are the termination of connection. There are various elements of web services such as repository, messaging and service. Web services assist in creating modular and platform neutral software components, which further help the developer in accessing the services easily.

Repository: It includes various elements, which are helpful in accessing the internet. These elements are Universal Description, Discovery and Integration and Directory Services Markup Language.

Messaging: It includes messaging components, messaging specification and transactions specifications.

Service: It includes various services such as Web Service Policy Framework, Web Service Dynamic Discovery, Web Service Description Language and Web Service Endpoint Language.

According to the author, distributed computing architecture is an effective system but all the benefits of this system can not be rendered due to various issues such as cost efficiency, standards of industry and inter-operability that could offer transparency and quickness to the integration of business process. Web services offer a variety of solutions that provide a covering around the business and represent it on the internet. Web services generally function out of the private networks and assist the developers in searching out solutions by providing them non-proprietary route.


In this literature review, the author furnishes an overview of JSP concepts and enlightens how JSP conforms to the larger picture of web applications. The author provides a comprehensive study to JavaServer Pages (JSPs), which is a fast-growing technology for Web developers and instructs the people how to implant server-side Java into Web pages. It also provides broad accession to other characteristics, which are JavaBeans, Enterprise JavaBeans (EJB), and JDBC database access (Bergsten, 2000). JSP refers to JavaServer Pages, which is a technology to produce a simplified web based application with both static and dynamic components. It assists in developing server independent and platform independent web contents. It comprises of two subcategories: tag libraries and JavaServer Pages standard tag library (JSTL) (Webber, 2008).

The software developers may contribute their own custom actions using the JSP tag extension API to the pre-determined actions. The software developers compose a Java class that follows through tag interfaces and renders a tag library XML description file. JSTL is an element of the Java EE web application development platform. It broadens the JSP specification by adding together a tag library of JSP tags for common tasks (Bergsten, 2000).

The web application software JSP Model 1 is effective for small software programs because of its simplicity, but it is harder to understand and use for large software programs. For the solution of the problem, which is confronted in designing large web application software, JSP Model 2 is needed to separate out the presentation code from the application control logic. JSP Model 2 is also known as Model-View-Controller (MVC) as it is a hybrid model, which merges the utilization of both the servlets and JSP.

JSP Model 1 Architecture (Seshadri, 1999)

JSP Model 2 Architecture (Seshadri, 1999)

The JSP Model 2 utilizes the prevailing strengths of both the technologies. JSP helps in rendering the presentation layer and servlets in executing process-intensive tasks. The servlets act as the controller in the controller module and help in substantiating the application flow. According to the author, the approach of JSP Model 2 leads to the simplest separation of presentation from content. The easiness of this model, when merged with the cross-program ability of Java, provides a web development surroundings having tremendous potentiality (Seshadri, 1999).

This literature review provides us with an overview of JSP struts framework, which is an implementation of the MVC designing paradigm. It includes the new version of JSP specification, which comprises of new features for improving the software developer's productivity. The key components of struts framework are: action servlets, form beans (Java beans); action objects and struts configuration XML. JSP struts framework utilizes the main features of Java technology for obtaining the best practices in the web application architecture (Bergsten, 2000).


The researchers have done various researches on the Java application of NetBeans. They have diagnosed the concept and have arrived on the following results. The research covered all the essential and significant concepts of NetBeans. NetBeans refers to both a platform for the development of Java desktop applications, and an integrated development environment (IDE) developed using the NetBeans Platform. The NetBeans Platform allows applications to be developed from a set of modular software components called modules (NetBeans Platform, 2008).

The results of the researches show that NetBeans 5.5 supports Java Persistence, EJB 3 and JAX-WS 2.0 specifications along with the Java Enterprise Edition 5 Platform. The research has also revealed that to build a standard Java application, NetBeans 5.5 has many different features that increase the productivity and flexibility. It focuses on the feature of General Java Enterprise Edition 5 platform that supports the important features of providing code completion and Javadoc for Java EE 5 APIs and deployment descriptors and Web tier technologies provide updates for Java EE 5 platform such as Servlet 2.5, JavaServer 2.1, JavaServer 1.2 (NetBeans Platform, 2008).

Another important feature on which the research study focuses is the Java persistence support that uses existing DB schemas for generating Java entity classes. It creates entity classes in the IDE and lets the server generate the DB relying on the DB-from-Java feature in Tomcat. It also states that without the need of a full-blown Java EE application server, the persistence runtime can be used in web apps and plain Java apps. It uses Java Persistence for full time support of Create/Read/Update/Delete operations on a database and also uses wizards for creating a complete web application. Java Persistence is specifically targeted by enhanced Java source editor with code completion on the fly error checking and verification. It also generates common code patterns by high level user actions (Sun Microsystems Acquires NetBeans, a Leading Supplier of Java-Based IDE for Linux, 2008).

Java API for XML Web Services (JAX-WS) Support is also the focus of the research study. It generates JAX-WS 2.0 artifacts for SE 6 and EE 5 projects. Its function of binding customization (like asynchronous calls, package info) helps in the process of configuration. It also updates and simplifies the template wizard and generates common code patterns through high level user actions. One more significant feature of NetBeans is Enterprise Java Beans (session beans), which simplifies the development of message driven beans and session beans. Enterprise Java Beans 3 is specifically targeted with the help of Enhanced Java source editor with code completion, on the fly error checking and verification.


Boehm, B.W. & Ross, R. (1989). Theory-W software project management principles and examples. IEEE Transactions on Software Engineering, 15(7), 902-916

Bergsten, H. (2000). Java Server Pages (1st Edition). O'Reilly Publishers, Safari Books Online. Pages: 572

Expediting Development and Deployment (2008). Retrieved July 29, 2008, from http://java.sun.com/j2ee/appmodel.html#3

Hall, R.H. (1999) Instructional web site design principles: A literature review and synthesis. The Virtual University Journal, 2, 1-12.

Joshi, P. Singh, H. & Phippen, A.D. (2004). Web Service: Measuring Practitioner Attitude, 14(5)366-371. New York: Emerald Group Publishing Ltd.

Karhunen, H. Jantti, M. & Eerola, A. (2005). Service-oriented software engineering (SOSE) framework. Services Systems and Services Management, 2(1).

Niessink, F. & Vliet, H.V. (1998). Towards Mature IT Services. Software Process - Improvement and Practice, 4(2), 55-71.

NetBeans Platform. (2008). Retrieved July 29, 2008 from


Seshadri, G. (1999, December 29). Understanding JavaServer Pages Model 2 Architecture, Exploring the MVC design pattern. Retrieved July 29, 2008, from http://www.javaworld.com/javaworld/jw-12-1999/jw-12-ssj-jspmvc.html

Sun Microsystems Acquires NetBeans, a Leading Supplier of Java-Based IDE for Linux. (2008). Retrieved July 29, 2008 from http://findarticles.com/p/articles/mi_m0EIN/is_1999_Oct_20/ai_56641930

Trienekens, J.J.M., Bouman, J.J, & van der Zwan, M. (2004). Specification of Service Level Agreements: Problems, Principles and Practices, Software Quality Journal, 12(1), 43-57.

Van Eck, P. & Wieringa, R. (2003). Requirements Engineering for Service-Oriented Computing: a Position Paper, Proceedings of First International E-Services Workshop. Retrieved July 29, 2008 from http://is.cs.utwente.nl/pubs/2003/eck_wieringa_icec03ws.pdf

Webber, M. (2008). Building Java Server Pages. Retrieved July 29, 2008, from http://www.webdevelopersjournal.com/articles/jsp_build.html

What Is the Java™ 2 Platform, Enterprise Edition? (1999, September). Retrieved July 29, 2008, from http://java.sun.com/j2ee/reference/whitepapers/j2ee_guide.pdf