CAF  entity and application service

hi
          when we are importing RFC or Webservice  for  external service 
           can we use application service directly  instead of  entity service
               is it possible to use only  external service and  without entity  service  .

Hi
Yes you can do that.
Entity Service is Used to Store the Persisitant data relavent to the Business Object.
Application Service is used to Manipulate the Entity Service.
Regards,
Rajendra

Similar Messages

  • Business Objects, external services and application services in CAs

    Hi All,
    right now we are developing our first eSOA Composite Application with CE and I have some questions regarding Business Objects, the import of external services and the development of application services.
    As I understood there are two ways to provide business functionality for composite applications:
    a. Import backend functionality as an external service (e.g. BAPI, RFC) at the CAF, build the application service which can be used as a callable object for UIs or the GPs
    b. Develop a local Business Object (in CAF) providing the business logic, create the application service which again can be used as a callable object. Furthermore the application service can be exposed as a Web Service (external service).
    My questions:
    1. When is it appropriate to to import external services in stead of developing local BOs?
    2. Under what conditions is it advisable to (solely) develop local BOs?
    3. What are the advantages / disadvantages regarding the reusability of the services (in option a and b)?
    Note: We are developing on NetWeaver 2004s.
    Please let me know, if you need more information to answer the questions!
    Thanks for your advice in advance,
    Regards,
    Ivonne

    Hi Ivonne,
    first of all, the CAF Business Objects (BOs) itself don't contain any business logic, they're basically just local database tables (with some CRUD services on top).
    Business logic is implemented in Application Services (AS).
    Now, regarding local BO's vs. external services, it depends on your use case. If the data is already available somewhere in your backend system it makes sense to use external services. For instance you wouldn't want to store business partners all over different composites. For data that is specific to your composite (in particular configuration, customizing etc.) and not likely to be reused by other applications you should use local BOs.
    Accessing local BO's is also much faster than calling external services.
    You can do reuse in both scenarios, since the CAF services can be exposed as web services.
    Regards,
    Christian
    Edited by: Christian Loos  on Apr 8, 2008 6:11 PM

  • Entity an application service Operation!!

    Hi Experts,
    A small question!!! Can I create an Entity service operation without any custome key and without giving any inpu parameter and the corresponding Application service operation in the same way??
    This is so that someone can directly get access to all the data stored in the local persistency in the Entity service without giving any input parameters to access them???
    Thanks,
    vikram..

    Hi Vikram,
    You can create it. Create an operation within entity service, do not set any input parameter. Within your application service go to dependency tab page and set the dependeny with your entity service. Then within the operation tab page of your application service create an operation of type "Query" abd within data source select your entity service. Now within inplementation tab page of your application service select the operation which you have created. Now put the following code within the custom codding area of your operation.
    retValue = null;
    <Name of Entity>ServiceLocal cs = this.get<Name of Entity>Service();
    retValue = cs.<Name of Operation of Entity service>;
    I think this will solve your problem.
    Thanks
    Chandan

  • Automaticallu restart ebs 11i database and application services on rhel5

    Hi,
    I have installed ebs 11i on rhel5.
    Pls advice hot to automatically start services(database and application) after system restart.
    Thank you in advance,
    Denis

    Hi,
    Please see these threads.
    Autostart of Services
    Re: Autostart of Services
    Auto Start Oracle Services didn't work
    Auto Start Oracle Services didn't work
    Regards,
    Hussein

  • Can database and application services install on two different OS?

    Hi All,
    Our customer want to install Oracle E-Business Suite 12 on two separate nodes, but both of nodes are running different OS. One node is Red Hat Linux which will be the database server, and the other node is Microsoft Windows 2003 which will be the application server. My questions are whether there will be a problem to communicate between the database server and application or whether there will be a problem to do the configuration for them to work. Please help me on these questions.
    Thank you
    Lin

    I agree with Fadi...As long as it's supported, you shouldn't have problems. Or at least, if you do have problems, Oracle will be able to help you. :-) Oracle does provide support for "split-tier" configurations, but you should confirm that the one you propose is a supported combination.
    I recommend checking the certification matrix on Metalink, and if that seems ambiguous, log an SR with Oracle Support for clarification.
    Regards,
    John P.

  • Problems updating Entity services or application services

    Hello all,
    I'm working with SAP Netweaver Developer Studio creating a new CAF application.
    First all, I import the SAP Entreprise Service, then I model the entity service, I expose my application Service as a Web Service and finally I deploy it and test it.
    However, when I try to edit my entity service (for instance, including a new attribute) or application service (for instance, changing the bussiness logic code) and I redeploy it, the Web Service Navigator doesn't update the changes.
    So, sadly I must start again configuring the entity and application service.
    Any idea??
    Thanks,

    everytime you change the signature (structure of input/output) of the entity or application service, the change is not automatically propagated to the web service definition. you have to delete manually the web service configuration for the entity or application service or recreate it. you can call it a bug or a feature. it's up to you.

  • Calling Web Dynpro-Model of Application-Service doesnu00B4t work.

    Hello!
    I have created a Composite Application with Entity- and Application-Services. I have also created the WebDynpro-Model and use it in another WebDynpro application to call the services.
    I have a Entity-Service 'PollCatalogue' and an Application Service 'PollCatalogueApp'.
    When I call an Entity-Service to create an entity, it works:
    APollCatalogue pollcat =
                        PollCatalogueServiceProxy.createPollCatalogue();
                   pollcat.setName(name);
                   pollcat.getAspect().sendChanges();
                   IServiceFacade serviceFacade;
                   serviceFacade =
                        CAFServiceFactory.getServiceFacade(diplDefinition.class);
                   serviceFacade.save();
    But when I call the create-Method of the Application service nothing is created:
    the call is similar to above except that
    PollCatalogueServiceProxy.createPollCatalogue();
    is replaced by
    PollCatalogueAppProxy.createPollCatalogue();
    Anyway I don´t understand what is done behind the scenes. My create-Methode has one parameter name, because it is a business key. But the ServiceProxy-create-Methods do not provide a name parameter. What service-methods are called when service-facade.save() is called? In case of Entity-Service-Proxy seems to be the create method. But what if I change more than the key-parameter, what else is called? update? And in case of AppServiceProxy? ???
    Does anyone understand what is going on here?
    Thank you for your help.
    Best regards,
    Jörg

    Hi Jorg,
    About getting an exception:
    IQuery query =... ;
    query.execute() ;
    IMessageList mList = query.getResultAspect().getMessages()
    if (mList.size() > 0) {
         for (int i = 0; i < mList.size(); i++) {
             IMessage mes = (IMessage) mList.getMessage(i);
          Throwable ex = (Throwable) mes.getExtension();
         ByteArrayOutputStream bAOStream = new ByteArrayOutputStream();
         PrintStream pStream = new PrintStream( bAOStream);
         ex.printStackTrace(pStream);
            //use bAOStream in order to show stacktrace
    Regarding conceptual background about Models and Proxys:
    You can find some infomation about wd model:
    <a href="/people/valery.silaev/blog/2005/09/09/common-model-interface Model Interface</a>
    <a href="https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/cef4f43e-0d01-0010-db84-ede25c874115">WQhy to use webdynpro common model interface ?</a>
    I don't know about some proxies documentation. Possible it does not exist. So, there is brief information about it:
    CAF data access services - comcafruntime~uicoupling DC. There is an implementation of com.sap.tc.col.client.generic.api api. These interfaces extends generic CMI interfaces. On top of CAF data access services implementation CAF designer generates typed CMI models which you finally use. For supporting of typed CMI models CAF provides additional build-in functionality GCP(generic client proxy) which directly operates over com.sap.tc.col.client.generic.api generic implementation.
    I recommend you to learn CAF data access implementation and read information about CMI model. That's not huge area and it gives you necessary understanding.
    Best regards,
    Aliaksei
    P.S. I don't recommend to learn and investigate the GCP implementation. That's just loss of time. The only thing that you need to know there is a black box layer which converts generic CMI model to typed model. Actually you can use generic model directly without typed. To do this use the following method for service facade getting:
    com.sap.caf.ui.utils.cool.CAFServiceFactory.getServiceFacade() ;
    but not this one:
    com.sap.caf.ui.utils.cool.CAFServiceFactory.getServiceFacade(final Class modelDefinition) ;
    and also do not use generated proxies at all, just use CMI api for model info setup for model nodes and other generic CMI api.

  • Web Dynpro and CAF (BOs, Application Services, returning Complex Types)

    Hi All,
    I am trying to develop an application using Web Dynpro and CAF for days now and did not get it running.. I need some help here.
    What I am trying to do / have done is the following:
    - Design a Business Object (BO) in CAF
    - Implement an Application Service that has a method called getAllBOs that calls the findAll method of the BO
    - call this method using AWS model or EJB model in Web Dnypro, show the result in a table.
    My getAllBOs returns a set of BOs (Data Type is the Complex Type of my BO in CAF). I was able to design the Application Service so that it returns a collection of BOs (using a Wrapper Comple Type), but I was never able to call the generated Web Service successfully in Web Dynpro. The WebService worked fine when testing it in wsnavigator...
    However, i never got it running.. is there anybody out there who is able to explain what to do to import a AWS model or an EJB model in Werb Dynpro and particularily how to implement the stuff so that it returns a set of BOs successfully...
    Thanks in advance.. Useful help is highly appreciated
    Please note: THIS IS ABOUT Netweaver CE 7.1 - do not post stuff about 7.0!

    Hi,
    You have to return a single object from caf layer to webdynpro layer.
    Since you are returning a list of BOs, create a wrapper in caf which contains the list of your BOs.
    Your application service should return this wrapper.
    Creating Wrapper:
    1. Create a complex data type.
    2. Include your BO as one of the properties in it. and set the cardinality to 0..n.
    In Application service invoke your findAll() of BO and use the returned list to populate the wrapper's BO list.
    Return this wrapper.
    Hope it helps.
    Regards,
    Fazal

  • How to expose a application service as web service?

    <UL>Hi Experts,
       <LI>I have created a business component and application service. i have also built and deployed it,
       <LI>Now I want to expose the application service operation as web service so that I can call the application service from XI or any webservice testing tool like SOAPUI or SOAPSONAR?
       <LI>What are the steps involved in doing this?
       <LI>I have selected application service then right clicked and selected "Expose service as web service".
       <LI>This has generated the WSDL file. After this I don't know what to do.
       <LI>In the WSDL file the soap address location is pointing to a default link (<soap:address location="http://www.example.org/"/>).
       <LI>What will be the actual location look like?
       <LI>For example: http://<CE server>:<Port>/?  <--- what will I have to put here so as to give the exact location?
    <LI>Thanks & Regards
    <LI>Gopal
    </UL>

    Hi Gopal,
    If I am not wrong, you need not do anything to the WSDL.
    If you carefully look at your WSDL in your NWDS, the soap:address attribute will point to the default location. However, the 'location' attribute will be 'Empty'. When you Deploy the Composite Application on the server, the location attribute value will be replaced by http://<server host name>:<port>/<WebService Name>/<Application  Service Name> in the WSDL on the server. The WSDL URL  is generated using the same format, and that is how it recognizes the service.
    You can deploy your application on the server and go to the Web Service Navigator and check the WDSL.
    Regards,
    Ajay

  • CAF entity coupled with application service activation problem

    Hi Experts,
    I have an existing CAF entity service to which i had added an additional attribute.
    I have the assosiated application application setdataservice,which has a custom method to add data to the entity service (mass upload).
    In the custom method i have added the code to set data for the addtional attribute.
    I had generated the project and build the dc locally,
    The buid is fine with no error's .
    But when I activate the request the activity fails with "cannot resolve symbol" for the new method even though the local build is sucessful.
    Any idea why this is occuring,
    ERROR: /NWDI/usr/sap/DIP/JC37/j2ee/cluster/server0/temp/CBS/c6/.B/28783/DCs/spe.com/portal/prc_core/ejbmodule/_comp/ejbModule/com/spe/portal/prc_core/appsrv/setdataservice/SetDataServiceBean.java:3434: cannot resolve symbol [javac] ERROR: symbol : method setFixPromvalue (double) [javac] ERROR: location: class com.spe.portal.prc_core.besrv.int_promocodes.Int_PromoCodes [javac] ERROR: promoCode.setFixPromvalue(fixPromValue); [javac] ERROR: ^ [javac] 1 error Error: /NWDI/usr/sap/DIP/JC37/j2ee/cluster/server0/temp/CBS/c6/.B/28783/DCs/spe.com/portal/prc_core/ejbmodule/_comp/gen/default/logs/build.xml:111: Compile failed; see the compiler error output for details. at org.apache.tools.ant.taskdefs.Javac.compile(Javac.java:938) at org.apache.tools.ant.taskdefs.Javac.execute(Javac.java:758) at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275) at org.apache.tools.ant.Task.perform(Task.java:364) at org.apache.tools.ant.Target.execute(Target.java:341) at org.apache.tools.ant.Target.performTasks(Target.java:369) at org.apache.tools.ant.Project.executeTarget(Project.java:1214) at com.sap.tc.buildplugin.techdev.ant.util.AntRunner.run(AntRunner.java:112) at com.sap.tc.buildplugin.DefaultAntBuildAction.execute(DefaultAntBuildAction.java:61) at com.sap.tc.buildplugin.DefaultPlugin.handleBuildStepSequence(DefaultPlugin.java:213) at com.sap.tc.buildplugin.DefaultPlugin.performBuild(DefaultPlugin.java:190) at com.sap.tc.buildplugin.DefaultPluginV3Delegate$BuildRequestHandler.handle(DefaultPluginV3Delegate.java:66) at com.sap.tc.buildplugin.DefaultPluginV3Delegate.requestV3(DefaultPluginV3Delegate.java:48) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at com.sap.tc.buildtool.v2.impl.PluginHandler2.maybeInvoke(PluginHandler2.java:350) at com.sap.tc.buildtool.v2.impl.PluginHandler2.request(PluginHandler2.java:102) at com.sap.tc.buildtool.v2.impl.PluginHandler2.build(PluginHandler2.java:76) at com.sap.tc.buildtool.PluginHandler2Wrapper.execute(PluginHandler2Wrapper.java:58) at com.sap.tc.devconf.impl.DCProxy.make(DCProxy.java:1723) at com.sap.tc.devconf.impl.DCProxy.make

    Hi again,
    I've deleted the two methods (or just commented them) I had and have readded them by choosing the Override Method option in the Source menu of JDeveloper 10.1.3. I've addet the methods prepareForActivation and prepareForPassivation too.
    When I execute the application, with breakpoints into the four methods (I attach the code below), I see that it prepares for pasivation and pasivates. When I do any action, I see it prepares for activation, but the method activateState is never reached.
    I have no other overriden methods in the class. Any idea of why the activateState doesn't execute?
    Thanks,
    Carles Biosca
    BBR Ingeniería de Servicios
       protected void activateState(Element element) {
           super.activateState(element);
       protected void passivateState(Document document, Element element) {
           super.passivateState(document, element);
       protected void prepareForActivation(Element element) {
           super.prepareForActivation(element);
       protected void prepareForPassivation(Document document, Element element) {
           super.prepareForPassivation(document, element);
       }Message was edited by:
    cbios

  • Sharing CAF Entity/Application Service to Other CAF Project ?

    Hello,
    Currently we don't have NWDI in place and only doing local development;
    ie, using local DC's. Now we'd like to contain all CAF Entity Services
    and related Application Services in one CAF Project (CAF_BASE) and
    create other CAF Project (CAF_APP) to refer to these exposed
    Entity/App Services.
    I tried to add all entities of types [Common Model] and [Java Package Tree]
    to one Public Part  (PP01) in DC of Project CAF_BASE. In DC of Project
    CAF_APP, I included PP01 as a used DC.
    Still those Entity/App Services in CAF_BASE are not shown in CAF_APP.
    Is this by design or I did it the wrong way ?
    Ying-Jie Chen

    Hi Francesco,
    From SAP Help (see URL below),
    http://help.sap.com/saphelp_nw2004s/helpdata/en/32/07c93f26903a1ce10000000a114084/content.htm
    A statement is specified :
    >>> Start-of-SAP-Help
    Restrictions for Relations
    The following restrictions apply for relations between entity services:
         Relations between entity services can only be unidirectional. A bidirectional relation has to be modeled as two unidirectional relations.
         Entity services can only refer to (relations and inheritance):
          Other entity services of the same project
          Core entity services
         Entity services can only reference other entity services.
    <<< End-of-SAP-Help
    It says that a entity service can only refer to other entity services in the
    same project so there is no way for us to share entity services between
    projects.
    FYI,
    Ying-Jie Chen

  • Web Service and CAF Application Services - How to return a table

    Hello,
    I'd like to build a CAF Application Service and expose it as a Web Service. This service should return an array or table which I'd like to display in a Visual Composer model.
    I understand that there're limitations at CAF regarding supported data types.
    Does anyone know how to get a workaround?
    Any information is very appreciated.
    Kind regards
    Stefan

    Hi,
    You can return a list.
    The standard way to do this is you have to create a complex data type for response.
    Configure the cardinality of this data type to 1..n so as to accomodate a list.
    In your implementation add your list to this response message and return the list.
    This waly you can return collections.
    Hope it helps.
    Regards,
    Srinivasan Subbiah

  • In application services i am using entity services

    hi all
    i have created application services in entity services i have created findAll ()method that method i have accessed in application services by
    getEntityServices.findAll .and i have made application service as a webservices but when i am testing this method in wsnavigator
    this method gives error.please reply soon
    com.sap.engine.services.webservices.wsnavigator.WSNavigatorException: null
    Exception id: [02004C4F4F50004E000006FA00000E4000042DBF06435C4C]

    Hi, I tested the application using the CAF Runtime Configuration service test and it was an authorization Issue. The entity was set to check permissions. I disabled this in NWDS and it works fine now

  • How to use a structure in CAF entity service

    Hi All
    I want to use a structure as datatype of a complex attribute in a CAF entity service. I tried to use a dictionary structure created in the dictionary part
    of the CAF project and added it to the public part of this DC.But I can't find it in the list of data structures while trying to mention datatype for a complex attribute in an entity service. Can any body suggest how to do it.
    Cheers
    Sudip

    Hello Sudip,
    You can create a complex structure by doing the following:
    1.  From the Attributes Tab, right click on your Entity and select "Create Attribute"
    -  Enter an attribute name and description
    -  select "Complex Attribute" checkbox
    -  select "Finish"
    2.  Right click on the newly created complex attribute and select "Create Sub Attribute".  Do this for each attribute in your structure.
    This complex structure can now be used in your CAF application and also CAF UI patterns.
    Creating complex attributes from the data dictionary is only usually used for creating enumeration types.  When doing this, you have to use the CAF enumeration editor to populate the values.  The "How to guide" that Jan refers to describes this.
    Regards,
    Austin.

  • Problem when creating CAF Entity Service finder Methods

    Guys,
    Can any one please suggest me appropriatly to the below problem.
    I am using NWDS 7.06. I have no problem when creating CAF project, Application Service and Entity Service even.
    But in the Entity Service:
    1. Add a string or longtext attribute.
    2. try to create a custom finder method in operations tab, during that operation i am  not finding the attribute which i have created in step1.
    That means i am not able to create the my own finder methods with parameters.
    I was able to do that in some version long ago but i have forgotten that NWDS version.
    summary of Problem Is: " Cannot create custom methods with custom parameters in Entity Service"
    Can you please suggest me the right version or a solution to this problem on urgent basis please.
    I promise you that i will give you full points to you who ever gives me the right solution.
    Please mail your suggestions to [email protected]

    Guys,
    I have solved the problem successfully. Thanks for your attention.

Maybe you are looking for

  • ITunes won't open, get  EXC_BAD_ACCESS (SIGBUS) code... can anyone help?

    Here's what I get when I try to open iTunes on my iMac. Is there is any info in here that would tell whats going on, or what I need to do to fix it? Thanks very much. Process: iTunes [172] Path: /Applications/iTunes.app/Contents/MacOS/iTunes Identifi

  • Charged for a subscription no longer exist

    I subscribed to an unlimited to china over a year ago, and have been charged automatically for $21.99/month. I just realized that option has been replaced by a much cheaper one. Can I get refund for it?

  • Hp live photo

    Hi if i delete my app from my iphone how can i get my usertag back on when i download the app again please i deleted app and then found I could then get back to my place for hp live photo when i set it up i didnt do it through facebook as i wanted to

  • Process attachments with sender email adapter

    Hi @ all, I have some problems dealing with xml attachments on emails. I configured the email sender adapter by using Michals Blog <a href="/people/michal.krawczyk2/blog/2005/12/18/xi-sender-mail-adapter--payloadswapbean--step-by-step:///people/micha

  • Rebate agreement with customer hierarchy

    Hi, I want to use customer hierarchy for customer rebates where in the accrual rate with scales shall be maintained only the high level customer. Invoice values of all the subordinate customers should e accrued using this rebate agreement. Have learn