<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
<!-- This component and the accompanying materials are made available under the terms of the License
"Eclipse Public License v1.0" which accompanies this distribution,
and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". -->
<!-- Initial Contributors:
Nokia Corporation - initial contribution.
Contributors:
-->
<!DOCTYPE concept
PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
<concept id="GUID-5862F14F-5BB7-584B-A8B1-447975C42D49" xml:lang="en"><title>Creating
a New Service</title><prolog><metadata><keywords/></metadata></prolog><conbody>
<section><title>Introduction</title> <p>The server application framework exists
to support platform-level services between client and server applications.
These services have to be defined in order for clients and server applications
to communicate meaningfully. </p> <p>The general pattern for implementing
service support is shown in the following diagram. Client and server support
for the service can be implemented in DLLs. A single DLL, shared between client
and server support, allows the IPC protocol between client and server to be
hidden. A client of the service uses the services through service support
DLL interface and server application framework interface. A server application
derives service support DLL classes and server application framework classes
to implement the service and the server application interface. </p> <fig id="GUID-34FD3DA8-E488-5AE7-81C9-DB944B478056">
<image href="GUID-2EB7D9C7-BB61-5282-A7F9-C25F8B1C62FE_d0e168030_href.png" placement="inline"/>
</fig> </section>
<section><title>Procedure</title> <p>Complete the following steps to create
a new service: </p> <ol id="GUID-488F46C9-059D-517B-8DCA-4CF8ED6B4693">
<li id="GUID-59DB99F4-B58C-5A7A-A4A6-68DB7F878CC0"><p><xref href="GUID-31C19816-ED66-4E99-BF7C-33602C8B4AA2.dita">Define
and create a service</xref>. </p> </li>
<li id="GUID-9081DF84-F6F3-5488-A3C8-A8B21F31D62F"><p><xref href="GUID-DCB8CA27-F64F-4B78-831D-F88B1AD7E38B.dita">Create
the client class</xref>. </p> </li>
<li id="GUID-8EA9F5C2-0D93-55A3-B901-B6489577EE4A"><p><xref href="GUID-AB7E58EB-F698-4CAD-B9BF-ECE712C6DB04.dita">Create
the service class</xref>. </p> </li>
<li id="GUID-DFC36D70-406E-593C-AAB9-96D9D51B163B"><p><xref href="GUID-33870616-974C-44DE-8D7D-1A914FEDF95F.dita">Define
the registration support</xref>. </p> </li>
<li id="GUID-6100F7E1-FC80-5B1F-AFA8-AA209FC512C6"><p><xref href="GUID-34FEE7CE-4D6E-4F49-9EEB-72A6CF6D6E3B.dita">Provide
service implementation discovery support</xref>. </p> </li>
</ol> </section>
</conbody><related-links>
<link href="GUID-B12A3024-44BF-51FF-9B84-14DB99ADC907.dita"><linktext>Using a Service
by the Client</linktext></link>
</related-links></concept>