Login

How EPiServer's technology encourages extension and enables simple integration with other systems.

Introduction

Rounded Rectangle: EPiServer ships with three Web services: SOAP, WSDL, and WSRP.EPiServer is 100% based on Microsoft .NET, a technology launched to meet the demands that may be placed on technology in the future. This technology allows EPiServer to utilize the latest developments to make EPiServer as efficient and smart as possible.

EPiServer ships with three Web services: Simple Object Access Protocol (SOAP), Web Services Description Language (WSDL), and Web Services for Remote Portlets (WSRP). This enables integration with an arbitrary system that is connected to the Internet. But how do Web Services enable integration?

What is a Web Service?

Rounded Rectangle: Web Service technology exposes an API to the underlying system through HTTP, making it easy to access functionality through firewalls.Web services are a standard issued by the World Wide Web Consortium (W3C). Web service technology exposes an API to the underlying system through Hypertext Transfer Protocol (HTTP), which makes it easy to access functionality through firewalls and to set up a connection to an application.

Web services are a cornerstone in building platform-independent distributed systems over the Internet and since the technology is entirely built upon XML, it is structured text and is readable to humans.

Simple Object Access Protocol (SOAP)

SOAP is the communications protocol for transporting information between the Web service client and server, such as DCOM or CORBA, but with one key difference: Due to its XML support, SOAP is entirely platform-independent and as the transport protocol is HTTP, it can be used over the Internet without any problems, e.g. opening ports in firewalls.

Security is an issue that often comes up when SOAP is discussed. To build a secure environment you will need to add some sort of security layer like SSL.

Web Services Description Language (WSDL)

WSDL is an XML format published for describing network services as a set of endpoints operating on messages containing either document-oriented or procedure-oriented information.

Screenshot showing WSDL as a true XML file.Screenshot showing how Internet Information Services renders XML as HTML.

 

As seen in the screenshots above, WSDL is a true XML file. Internet Information Services (IIS), however, renders the file as HTML, so that a user can browse through the functionality exposed by the actual Web service.

Web Services for Remote Portlets (WSRP)

Portlets are Java-based Web components, managed by a portlet container (e.g. WebSphere Portal Server, Sun One and Oracle Portal), that processes requests and generates dynamic content. Portals use portlets as pluggable user interface components that provide a presentation layer to information systems. WSRP is a proposed standard to enable interoperability between portals and WSRP-compliant Web services for portals.

Using WSRP, portals can easily integrate content and applications from internal and external content providers. A portal administrator simply picks desired services from a list and integrates them into the portal.

The WSRP standard defines a Web services interface using WSDL. The standard lets WSRP services be implemented in different ways, be it as a Java/Java 2 Platform Enterprise Edition (J2EE)-based Web service, a Web service implemented on the .NET platform or a portlet published as a WSRP service by a portal.

The support for WSRP in EPiServer enables the possibility to both render and display portlets in the consumer part of EPiServer. By using this functionality EPiServer can integrate and aggregate information displayed in other systems.

For further information about WSRP, see the white paper "Improve Internet Efficiency with EPiServer Portal Framework", which can be found at http://www.episerver.com/white_papers.

Web Service Support in EPiServer

Rounded Rectangle: One EPiServer can seamlessly connect to another without having to add Web references in Visual Studio .NET.EPiServer has native support for Web services and there are several possibilities when integrating EPiServer with other systems.

Three elements:�D;�A;The element in the middle represents Internet with three double-ended arrows for Authenticate, page operations and publish/delete/change.�D;�A;The two elements on either side of the Internet box represent EPiServer acting as a server.�D;�A;The double-ended arrows extend from the EPiServer server on one side, over the Internet element to the EPiServer server on the other side.

  • EPiServer can act as a server to any Web services client.
  • One EPiServer can seamlessly connect to another EPiServer without having to add Web references in Visual Studio .NET.

All pages in EPiServer are processed in the data factory, which is responsible for all page-related activities, such as loading, saving, deleting, caching, etc. The data factory can be accessed remotely by using the DataFactoryService, which is by far the most used Web service in EPiServer. By using this Web service, a client can perform the following operations:

  • Publish a page
  • Save a page
  • Delete a page
  • Retrieve page data

Since Web services have a platform-independent technology, where connections can be established over the Internet, it is quite possible to let an arbitrary system integrate with EPiServer.

Use Case: Publishing through EPiServer

When a new employee starts working at a company, he is registered in the staff directory. When the user is saved, the system connects to the Web service of the EPiServer-based intranet and creates a new page containing information about the user.

Image representing a user with an arrow to the staff directory database.�D;�A;The arrow continues over the Internet as a Web service request and ends at an EPiServer server.

EPiServer screenshot.

In the scenario described above, the staff directory application acts as an editor instead of the more common case, where the editor is a human being behind a keyboard.

Rounded Rectangle: It is encouraged to extend EPiServer's Edit and Admin modes by developing �D;�A;plug-ins.�D;�A;It is possible, and encouraged, to extend EPiServer's Edit and Admin modes by developing plug-ins and the plug-in technology is part of the Open Development Architecture (ODA) framework. Exactly how this is done is explained in depth in EPiServer's technical documentation.

Graphical User Interface (GUI) Plug-In

A GUI plug-in enables the addition of customized user interfaces to EPiServer's Edit and Admin modes and integrates them seamlessly into the existing interfaces. This is an excellent way to expose a system to users of EPiServer.

EPiServer screenshot showing that plug-ins can be integrated into the Tools section of Admin mode or as a tab in the System Settings dialog.

Figure 1 EPiServer's Admin mode

EPiServer screenshot showing that plug-ins can be integrated as a tab in the tree structure, a tab in the preview area and a new section in the Action Window.

Figure 2 EPiServer's Edit mode

The areas that can be extended are:

  • the Tools section in the Admin mode menu
  • a tab in the System settings dialog
  • a tab above the tree structure
  • a tab above the preview area
  • a new section in the Action window.

Editor Plug-In

EPiServer's WYSIWYG editor is also extendable. All functionality that is exposed in EPiServer in the form of buttons and right-click menu alternatives is developed as built-in plug-ins. An Editor plug-in can be exposed:

  • as a button in the Editor toolbar
  • as an alternative in the right-click menu
  • as a keyboard shortcut.

EPiServer screenshot showing that plug-ins can be integrated as a button in the Editor toolbar, as an alternative in the right-click menu or as a keyboard shortcut.

Figure 3 EPiServer's Editor

Scheduler Plug-In

Some applications need to run as scheduled jobs and EPiServer has internal support for this in the form of a built-in scheduler. A developer can easily create a plug-in that utilizes this functionality. For example, that EPiServer should remotely publish information to another system at a given interval.

Plug-In Manager

Configuration is often required for integration and all plug-ins can be made configurable by hooking in configuration interfaces to the plug-in manager, which is a part of EPiServer's Admin mode.

Custom Properties

EPiServer ships with a vast amount of different properties e.g. string, long string, XHTML string, date, etc. As a developer it is fairly easy to create your own property types that aren't included in EPiServer.

Imagine that it is a requirement to expose all available departments for a client in a drop-down list. The department itself is stored in a staff database and the property should query the database and render all departments for all editors.


EPiServer AB

EPiServer AB is a privately owned Swedish product company, founded in 1994, and is the leading company in Content Management and portal solutions through the platform EPiServer. The company is a Microsoft Gold Certified Partner and has held AAA ranking by Dun & Bradstreet since 2000.

EPiTrace logger