001    /*
002     * Copyright 2001,2004 The Apache Software Foundation.
003     * 
004     * Licensed under the Apache License, Version 2.0 (the "License");
005     * you may not use this file except in compliance with the License.
006     * You may obtain a copy of the License at
007     * 
008     *      http://www.apache.org/licenses/LICENSE-2.0
009     * 
010     * Unless required by applicable law or agreed to in writing, software
011     * distributed under the License is distributed on an "AS IS" BASIS,
012     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
013     * See the License for the specific language governing permissions and
014     * limitations under the License.
015     */
016    
017    package org.apache.commons.scaffold.util;
018    
019    
020    /**
021     * A business service facade designed to be invoked 
022     * through a <code>process</code> method.
023     *
024     * @author Ted Husted
025     * @version $Revision: 155464 $ $Date: 2005-02-26 13:26:54 +0000 (Sat, 26 Feb 2005) $
026     */
027    public interface BizService {
028    
029        /**
030         * Perform the business logic for this service, by retrieving any 
031         * runtime properties from the business request 
032         * [<code>org.apache.commons.util.BizRequest</code>]
033         * and providing the result as a business response 
034         * [<code>org.apache.commons.util.BizResponse</code>]. 
035         * <p>
036         * The business service may often be a facade that is used to 
037         * connect to other services. 
038         *
039         * @exception Throws Exception on any error. 
040         * A <code>ChainedException</code> is recommended.. 
041         * @param request The bean containing the runtime parameters for 
042         * this service.
043             * @author Ted Husted
044             * @author Nationwide Insurance Company
045             * @version $Revision: 155464 $ $Date: 2005-02-26 13:26:54 +0000 (Sat, 26 Feb 2005) $
046         */
047         public BizResponse process(BizRequest request) throws Exception;
048    
049    } // end BizService