Fundamental of Management
Abstract
SOA (service-oriented architecture) changed the conventional system development method, and allowed system integration to become more flexible. Cost reduction is a major issue in the construction of e-learning systems. Software components of SOA and web services are characterized by being reusable and interchangeable, and are therefore able to reduce waste of educational resources, as well as lower system development cost. This study uses web service components developed with
Microsoft .NET and XML technologies to construct a teaching platform with standard specifications, allowing system developers to rapidly construct an e-learning system based on SOA and web services.
Keywords: E-learning, Web Services, SOA, XML
1. Introduction
SOA and web services can solve communication issues of different platforms or distributed architectures. XML (extensible markup language) technology is used as a foundation for message passing because its data format is able to go across platforms. SOAP (simple object access protocol),
WSDL (web service description language) and UDDI (universal description, discovery and integration) technologies are used to describe, publish and access various objects.
The prevalence of e-learning has caused government agencies, schools and private enterprises to set up e-learning websites one after another. However, these e-learning websites were constructed with different programming languages, data storage formats and system architectures, hence causing an issue with interoperability. Therefore, this study uses SOA and web services, which have open standards, to effectively resolve this issue.
2. Research motivation
Teaching resources of e-learning are reusable, which is why this study employs the concept of SOA and characteristics of web services to implement an e-learning prototype system that can go across platforms, that is simple, has open standards, has a wide range of integration, is highly efficient, and provides highly flexible integrated services. This study does not seek to merely standardize and share teaching resources, but rather to be able to share software components that the service provider provides. Web services view the entire Internet as one large platform; it uses web protocols and data formats with open standards, e.g. HTTP, XML and SOAP, to allow systems developed from different programming languages to be used on heterogeneous platforms, and can also easily integrate them.
The cross-platform information exchange and high expandability characteristics of XML are also able to avoid difficulties in exchanging teaching resources between heterogeneous databases, which result from different database formats and architectures. This study also hopes that by developing this prototype system it will accelerate the development process of e-learning systems in the future. The web service system software components developed by this study can be used by system developers even when they are using different programming languages and platforms, all they need to do is call the software component from the Internet.
This study uses web service technology to construct a standard specification teaching platform;
- 298 -
A SOA-Based e-Learning System for Teaching Fundamental Information Management Courses
Chung C. Chang, Kou-Chan Hsiao
Journal of Convergence Information Technology, Volume 6, Number 4. April 2011 system functions are no longer independent, but integrated into a single environment. Its purpose is to allow software components to be reused by other distributed architectures, and not limited to certain operating platforms or programming languages, allowing even more extensive applications of the system developed by this study.
3. Literature review
3.1. Service-oriented architecture
Service-oriented architecture (SOA) is a structural model composed of standard components, such as web service technology. Its purpose is to provide enterprises, schools or web services providers with a flexible, reusable integrated interface that facilitates communication between applications, users and departments, and enhancement of web services [1].
SOA presents applications and resources as reusable services. It uses standard protocols for communication, providing a distributed environment with higher flexibility, efficiency and information integration [2].
Services are a kind of packaging for applications, and a kind of reusable component in business processes. Services generally have the following characteristics [3]:
(1) Interoperability: Service components are interoperable, saving time on program development.
(2) Loosely-coupled: Conventional systems cut system functional requirements of applications up into interrelated components, modules or objects; developers spend a large amount of time understanding how each component was designed and is used, so that they do not violate restrictions imposed by the component’s connections. However, this makes it hard for systems to use different components in replacement. The approach of SOA is to combine systems by defining a standard interface. Components can be replaced at will as long as the replacement meets interface requirements.
This significantly enhances system flexibility and further provides a cross-platform mechanism, allowing different services to be used in different environments.
(3) Location Transparency: Transparency means that when the client end calls the server end, the system should automatically handle all affairs related to location search, security and reliability for users. Under SOA, the definition and storage location of services should be registered at a specific location for the client end to access. Users do not need to know the actual location of services.
(4) Well-defined: Uses a common definition independent from any technology and can be used by any technology.
(5) Stateless: Services are stateless; any service is not required to know the contents of the previous step, all services are in an independent state.
SOA defines three roles in services: service broker, service provider and service requester [4]:
(1) Service broker: Plays the role of a medium for web services. It can accept registration requests from services providers, and can also process query requests from services requesters.
(2) Service provider: Mainly refers to the developer of web service applications; it is also required to describe details of its web services.
(3) Service requester: Sends requests for services; follow-up operations include sending query and linking to the suitable web services.
The above descriptions of SOA clearly shows us that SOA has the advantage of being flexible, reusable, expandable and interoperable, and that it can acquire different services via web service protocols to achieve an integrated service system architecture.
3.2. Web services
In the development process of information technology, application systems were at first completely incompatible. After the rise of the Internet, distributed architectures were used to process and call application data from remote systems, but interoperability between different platforms and incompatibility of data still remained an issue. Web service standards were then established to solve this problem. Web services are a set of modular applications based on the Internet that provide simple mechanisms and well-defined user interfaces, and allow different operating platforms or applications to
- 299 -
A SOA-Based e-Learning System for Teaching Fundamental Information Management Courses
Chung C. Chang, Kou-Chan Hsiao
Journal of Convergence Information Technology, Volume 6, Number 4. April 2011 automatically communicate via the Internet to complete certain tasks, as long as they follow the standard protocol [5,6,7].
According to the official definition by W3C [8]: A web service is an application that can be described and queried using XML and recognized using URI. This application’s interface and linkage method should be well-defined; it should support other applications, and can be directly driven by
XML messages or network protocols.
Web services allow standard Internet technology to access the source code of applications. It can be used to construct distributed architecture systems, and has the advantage of implementing dynamic integration, balanced load and upgrading individual components [9].
According to Sung [10], the main protocols related to web services are briefly described in Table 1:
Table 1. Web services related protocols
Protocol Functional Purpose
Simple object access protocol (SOAP)
Allows two applications that are both providing services to adopt the same standard for communication.
Web service description language (WSDL)
This protocol is used to describe which functions the service provides, allowing different services to understand each other.
Universal description, discovery and integration
(UDDI)
The main function of this protocol is to publish your own web services on the
Internet. It allows people with needs to find services and can also search for services itself.
Extensible markup language (XML)
This is the data exchange standard of web services. Different platforms are able to exchange data as long as they are capable of outputting and reading XML file.