Title: Building, Configuring, and Running an Open Source Web Services Enabled Server
1Building, Configuring, and Running an Open Source
Web Services Enabled Server
- Technology Series 3
- A Linux Server will be utilized for the creation
of an Enterprise Content Management System for a
generic organization
2What is an Enterprise Content Management System
(ECMS)?
- It is any of the strategies and technologies
employed in the information technology industry
for managing the capture, storage, security,
revision control, retrieval, distribution,
preservation and destruction of documents and
content. ECM especially concerns content imported
into or generated from within an organization in
the course of its operation, and includes the
control of access to this content from outside of
the organization's processes.
3ECMS Software in the Library
- Open Source ECMS software is available for almost
any aspect of Library Operations - The Software which we have chosen to use at
LILRC is TIKIWIKI - Tikiwiki is a full featured free software
Wiki/CMS/Groupware written in PHP.
4The TIKIWIKI Community Portal
- http//tikiwiki.org/
- Support and other related services are freely
available. Venues are also available for
vender-based services for those who do not have
in house capabilities for whatever reason.
5ECMSs and Web Services
- Web Services provide the glue which holds
together the ECMS and facilitates the Collection,
Compilation, Storage and utilization of
Information throughout the ECMS.
6What are Web Services?
- They are Application Components
- Communicate using Open Protocols
- Are Self-Contained and Self-Describing
- Can be Discovered using UDDI (Universal
Description, Discovery and Integration) - Can be Used by Other Applications
- Have XML (eXtensible Markup Language) as their
Basis
7How do Web Services Work?
- The Basic Web-Services Platform is XML HTML
- HTTP (Hyper Text Markup Language) is the most
commonly used Internet Protocol - http//www.w3.org/MarkUp/
- XML provides a Common Language which can be used
between different Platforms and Programming
Languages while still being able to express
Complex messages and functions. - http//www.w3.org/XML/
-
8Web Services Elements?
- SOAP (Simple Object Access Protocol)http//www.w3
.org/TR/soap12-part0/ - UDDI (Universal Description, Discovery and
Integration)http//www.uddi.org/ - WSDL (Web Services Description Language)
http//www.w3.org/TR/wsdl
9WEB Services
- The Web Services Platform is a simple,
interoperable, messaging framework - Its purpose is make it easier for applications to
seamlessly communicate over a network - Using Web services an application can publish its
function or message to the rest of the world - Web services uses XML to code and decode your
data and SOAP to transport it using open
protocols
10Web Services Have Two Types of Uses
- Reusable Application Components
- Web services can offer application components
such as currency conversion, weather reports, and
language translation as services - Ideally, there would be only one type of each
application component, and anyone could use it in
their application
11Web Services Have Two Types of Uses (cont.)
- To connect existing software
- Web services help solve the interoperability
problem by giving different applications a way to
link their data - Using Web services you can exchange data between
different applications and different platforms
12Web Services Facilitate Interoperability
- When all major platforms could access the Web
using Web browsers, different platforms could
interact. For these platforms to work together,
Web applications were developed - Web applications are simple applications run on
the web. These are built around Web browser
standards and can mostly be used by any browser
on any platform
13Web Application Publication
- Using Web services your application can publish
its function or message to the rest of the world
- Web services uses XML to code and decode your
data and SOAP to transport it using open
protocols - With Web Services media acquisition can be
automated directly through the suppliers
Published Services
14What is SOAP?
- Simple Object Access Protocol
- Is a Communications Protocol
- Is for Communication Between Applications
- Is a Format for Sending Messages
- Is Designed to Communicate through the Internet
- Is Platform Independent
- Is based on XML
- Is Simple and Extensible
- Allows Messages to get around Firewalls
- Is being Developed as a W3C Standard
http//www.w3.org/
15What is WSDL
- Web Services Description Language
- Is written in XML
- Is Used to Describe Web Services
- Is an XML Document
- Is used to Locate Web Services
- Will soon be a W3C Standard
16What is UDDI
- Universal Description, Discovery and Integration
- Is a Directory for Storing Information about Web
Services - Is a Directory of Web Services Interfaces
Described by WSDL - UDDI Communicates via SOAP
- Is built into the Microsoft .NET Platform
-
17Web Services
- Any application can have a Web Service component
- Web Services can be created regardless of
programming language - Web Services are Cross Platform or Universal
application
18ASP .NET Web Service Example
- lt_at_ WebService Language"VB" Class"TempConvert"
gt Imports System - Imports System.Web.Services
- Public Class TempConvert Inherits WebService
ltWebMethod()gt Public Function FahrenheitToCelsius
(ByVal Fahrenheit As Int16) As Int16 - Dim celsius As Int16
- celsius ((((Fahrenheit) - 32) / 9) 5)
- Return celsius
- End Function
- ltWebMethod()gt Public Function CelsiusToFahrenheit
(ByVal Celsius As Int16) As Int16 - Dim fahrenheit As Int16
- fahrenheit ((((Celsius) 9) / 5) 32)
- Return fahrenheit
- End Function
- End Class
- This document is a .asmx file. This is the
ASP.NET file extension for XML Web Services - Save as an .asmx file and publish on server with
.NET support
19PHP Web Service Example
- require_once 'SOAP/Client.php'
- wsdl_url 'http//soap.amazon.com/schemas3/Amazo
nWebServices.wsdl' - WSDL new SOAP_WSDL(wsdl_url)
- client WSDL-gtgetProxy()
- params array(
- 'manufacturer' gt "O'Reilly",
- 'mode' gt 'books',
- 'sort' gt 'title',
- 'page' gt 1,
- 'type' gt 'lite',
- 'tag' gt 'trachtenberg-20',
- 'devtag' gt 'XXXXXXXXXXXXXX', ) books
client-gtManufacturerSearchRequest(params) - Finds all of Oreillys books sorted from best to
worst selling
20Web Services Summary
- With Web Services we can convert Applications
into Web-based Applications - Web Services uses XML to allow Communication
between Web-based Applications - Web Services allows us to Export a Function
(Create a Web Service) from our Applications - http//lilrc.org/CSC692/WebServices/WebServices.ht
m Web Services Graphical Representation
21Steps for the Creation of a Web Services Enabled
Server
- Build the Server (hardware)
- Install and Configure the Operating System
(Software) - Install the Applications and Web Services
(Software)
22Build the Server (Hardware)
- The Server can be constructed from readily
available components - http//lilrc.org/CSC692/CSC_692.htm
General overview of
Client/Server Theory - http//lilrc.org/CSC692/Computer/Build1.htm
Building the Computer -
23Install and Configure the Operating System (OS)
(Software)
- CENTOS (Community ENTerprise Operating System)
was chose for the OShttp//www.centos.org/ - Centos can be clustered using various
Applicationshttp//www.rocksclusters.org/wordpres
s/ - Installing CENTOS with the Everything option
automatically configures the Server to run as a
LAMP (Linux, Apache, MYSQL,PERL)
Serverhttp//www.lamphowto.com/
24Install and Configure the Operating System (OS)
(Software)
- Install Webmin, this will enable easy
configuration of the various applications and
services running on the CENTOS Serverhttp//www.w
ebmin.com/ - Webmin is simple to install and is a good way to
easily learn Linu/Unix Systems. It also allows
web based updating and simple addition of modules
through CPAN and the Webmin websitehttp//lilrc.o
rg/CSC692/CSC_692.htm - For an example of Webmin on a running system.
This is the Contendm Server for LI Memories
Digital Projecthttp//209.139.1.18210000/
25Install and Configure the Operating System (OS)
(Software)
- Typical LAMP Server will be set up
- Linux used will be CENTOS
- Apache is the Web Server http//www.apache.org/
- MYSQL is the Database Server http//www.mysql.com/
- PERL Server which runs the interpreter for PERL
scripts which may be run directly or embedded in
the HTML or PHP server pages http//www.perl.org/
26Install and Configure the Operating System (OS)
(Software)
- Additional Scripting Languages used
- Python Server which runs the interpreter for
Python scripts which may be run directly or
embedded in the HTML or PHP server pages
http//www.python.org/ - RUBY Server which runs the interpreter for RUBY
scripts which may be run directly or embedded in
the HTML or PHP server pages http//www.ruby-lang.
org/en/ - JAVA Server which runs the interpreter for JAVA
scripts which may be run directly or embedded in
the HTML or PHP server pages http//java.sun.com/
- PERL Server which runs the interpreter for PERL
scripts which may be run directly or embedded in
the HTML or PHP server pages http//www.perl.org/
27Install and Configure the Operating System (OS)
(Software)
- CLR (Common Language Runtime environment) Server
which runs the interpreter for CLR scripts which
may be run directly or embedded in the HTML or
PHP server pages http//refbase.sourceforge.net/ - Each of these scripting languages has many
scripts available on-line through web searches.
For example, CPAN (Comprehensive PERL Archive
Network) Maintains an increasing number of PERL
modules with documentation which can be easily
plugged into applications and web
pages.http//cpan.perl.org/
28Web Services Enabled Server
- The Web Services enabled Server contains many
other Server-based Services and applications
which are running on the server as distinct
processes - Their relationship can be seen through a
graphical depiction
http//lilrc.org/CSC692/WebServices/ServerMap.htm
29(No Transcript)