BC E-commerce integrated with Subscription Based Web Application

I am considering using BC for my company's corporate website as well as the online store.  We sell a subscription based web application which will have 3 or more flavors (products) and will need to bill customers on a recurring monthly or annual basis.
For the monthly subscriptions, we want to bill the customer based on the "highwater" mark with regards to user quantity for that given month.  This gives the users the flexibility to add/remove users freely without the fuss of having to contact a sales representative to adjust their account/recurring order. 
I would imagine this would happen one of two ways:
The user signs up creating their account both in our web application and the ecommerce site and is billed for the first time.  In the ensuing months, either: the e-commerce site communicates with our web application to get the high water mark quantity for that billing cycle or
Our web application sends a new order each month to the e-commerce site, including the highwater mark quantity, giving the illusion to the user that it is indeed a recurring order but behind the scenes they are actually individual orders.
Annual subscription customers are a bit more challenging.  We still want the users to have the flexibility to add/remove users with minimal effort. However, since they are being billed on an annual basis, prorating additional users will be necessary.  So if customer who previously purchased 5 licenses, adds 5 more licenses during month 6 of their annual subscription term, we would need the e-commerce solution to bill them once immediately for the 50% prorated 5 licenses, then bill them 6 month's later for the total 10 license subscription renewal.
At a bit of higher level, we would prefer the customer to manage all their billing/account info within our web application rather than going to an external store to do so.
One other caveat, we would prefer not to store credit card info on our site.  Preferably that would be stored in our payment gateway (Auth.net).  This may or may not affect the workflows described above.
My Questions:
Can the BC e-commerce solution support the workflows above?If so, is there any documentation/resources available to research this further?
Are there any BC customers that currently do something similar?  If so, who and how similar?

Hi Greg,
From what you have described it seems to me that you need some complex server side logic which BC doesn't allow. In any case you'd have to develop an app that communicates between BC and that other application through our API, which will control the orders as per your requirement. In particular, there's no easy way for end user to control their recurring monthly or annual subscription, there's no way to apply immediate discounts according to earlier purchases that will satisfy this requirement "if customer who previously purchased 5 licenses, adds 5 more licenses during month 6 of their annual subscription term, we would need the e-commerce solution to bill them once immediately for the 50% prorated 5 licenses, then bill them 6 month's later for the total 10 license subscription renewal", you can't build in this functionality into BC " the e-commerce site communicates with our web application to get the high water mark quantity for that billing cycle" and there are few more things there which suggest to me that you need something custom.
Cheers,
-mario

Similar Messages

  • SSO from portal to Java based web application not happening

    Hi,
    We are trying to configure SSO from SAP Enterprise portal with Java based
    web application(Solaris on SPARC 64 bit).
    Then we downloaded library files for "Solaris on SPARC 64 bit" from
    service market place from the path "Support Packages and Patches"
    Additional Components" SAPSSOEXT".
    We are successful in sending the portal side cookie to the application.
    But while loading the library files we get the following error
    INFO | jvm 1 | 2009/04/13 04:47:00 | java.lang.UnsatisfiedLinkError:
    /usr/local/blackboard/apps/tomcat/lib/libsapssoext.so: ld.so.1: java:
    fatal: /usr/local/blackboard/apps/tomcat/lib/libsapssoext.so: wrong ELF
    class: ELFCLASS64 (Possible cause: endianness mismatch)
    Can you please suggest us what went wrong in this whole process.
    But when i tried with the 32 bit library files i was able to load libsapssoext.so file but when I
    tried to initialize libsapsecu.so i got the below message
    java.lang.Exception: MySapInitialize failed: rc= 14
    Also do we require to take"SAPSECULIB" from Support Packages and Patches" ...>Additional Components" ...>SAPSECULIB" ...>SAPSECULIB 5.4  for this SSO activity.
    Please get back on this ASAP as we are nearing the golive date.
    regards
    Bharath

    hi,
    am facing similar issue... i.e.
    java.lang.Exception: MySapInitialize failed: rc= 14
            at com.mysap.sso.SSO2Ticket.init(Native Method)
            at com.mysap.sso.SSO2Ticket.<clinit>(SSO2Ticket.java:27)
            at org.apache.jsp.index_jsp._jspService(index_jsp.java:92)
            at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
            at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
            at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
            at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
            at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
            at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
            at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:390)
            at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
            at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
            at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
            at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
            at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
            at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
            at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
            at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
            at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
            at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
            at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
            at java.lang.Thread.run(Thread.java:619)
    static beendet.
    java.lang.Exception: MySapEvalLogonTicketEx failed: standard error= 9, ssf error= 0
    CustomeSSO: Object is null.
    pls. help me in resolving it.
    rgds,
    santosh malavade

  • How to use Crystal report viewer in a portlet based web application

    I am using JRC to view crystal reports in porlet based web application. Following is the code in JSP
    <%@ page import="com.crystaldecisions.report.web.viewer.CrystalReportViewer,
    com.crystaldecisions.sdk.occa.report.application.OpenReportOptions,
    com.crystaldecisions.sdk.occa.report.application.ReportClientDocument,
    com.crystaldecisions.sdk.occa.report.lib.ReportSDKExceptionBase" %>
    <portlet:defineObjects />
    <%
         // This sample code calls methods from the CRJavaHelper class, which
         // contains examples of how to use the BusinessObjects APIs. You are free to
         // modify and distribute the source code contained in the CRJavaHelper class.
         try {
              String reportName = "ProactiveEventsSummaryData.rpt";
              ReportClientDocument clientDoc = (ReportClientDocument) session.getAttribute(reportName);
              if (clientDoc == null) {
                   // Report can be opened from the relative location specified in the CRConfig.xml, or the report location
                   // tag can be removed to open the reports as Java resources or using an absolute path
                   // (absolute path not recommended for Web applications).
                   clientDoc = new ReportClientDocument();
                   //clientDoc.setReportAppServer(ReportClientDocument.inprocConnectionString);
                                  clientDoc.setReportAppServer("inproc:jrc");
                   // Open report
                   clientDoc.open(reportName, OpenReportOptions._openAsReadOnly);
                   // Store the report document in session
                   session.setAttribute(reportName, clientDoc);
              // ****** BEGIN CONNECT CRYSTALREPORTPAGEVIEWER SNIPPET **************** 
                   // Create the CrystalReportViewer object
                   CrystalReportViewer crystalReportPageViewer = new CrystalReportViewer();
                   String reportSourceSessionKey = reportName+"ReportSource";
                   Object reportSource = session.getAttribute(reportSourceSessionKey);
                   if (reportSource == null)
                        reportSource = clientDoc.getReportSource();
                        session.setAttribute(reportSourceSessionKey, reportSource);
                   //     set the reportsource property of the viewer
                   crystalReportPageViewer.setReportSource(reportSource);
                   // Apply the viewer preference attributes
                   // Process the report
                   crystalReportPageViewer.processHttpRequest(request, response, application, null);
              // ****** END CONNECT CRYSTALREPORTPAGEVIEWER SNIPPET ****************          
         } catch (ReportSDKExceptionBase e) {
             out.println(e);
    %>
    With this code , report gets displayed in the portlet but none of the actions on thre report like next page click , search button , opening subreport , clicking on drill-downs are working . The error in the explorer console is as shown below
    Error: CrystalViewerCrystalEvent is not defined
    javascript:CrystalViewerCrystalEvent('CrystalViewer',%20'tb=next')
    PageSource of the web page shows the CrystalViewerCrystalEvent javascript function defined but for somereason its not recognized by the portlet. Has anyone worked on displaying crystalreports in a portlet ?

    Code attached
    <%@ page import="com.crystaldecisions.report.web.viewer.CrystalReportViewer,
    com.crystaldecisions.sdk.occa.report.application.OpenReportOptions,
    com.crystaldecisions.sdk.occa.report.application.ReportClientDocument,
    com.crystaldecisions.sdk.occa.report.lib.ReportSDKExceptionBase" %>
    <portlet:defineObjects />
    <%
         // This sample code calls methods from the CRJavaHelper class, which
         // contains examples of how to use the BusinessObjects APIs. You are free to
         // modify and distribute the source code contained in the CRJavaHelper class.
         try {
              String reportName = "ProactiveEventsSummaryData.rpt";
              ReportClientDocument clientDoc = (ReportClientDocument) session.getAttribute(reportName);
              if (clientDoc == null) {
                   // Report can be opened from the relative location specified in the CRConfig.xml, or the report location
                   // tag can be removed to open the reports as Java resources or using an absolute path
                   // (absolute path not recommended for Web applications).
                   clientDoc = new ReportClientDocument();
                   //clientDoc.setReportAppServer(ReportClientDocument.inprocConnectionString);
                                  clientDoc.setReportAppServer("inproc:jrc");
                   // Open report
                   clientDoc.open(reportName, OpenReportOptions._openAsReadOnly);
                   // Store the report document in session
                   session.setAttribute(reportName, clientDoc);
              // ****** BEGIN CONNECT CRYSTALREPORTPAGEVIEWER SNIPPET **************** 
                   // Create the CrystalReportViewer object
                   CrystalReportViewer crystalReportPageViewer = new CrystalReportViewer();
                   String reportSourceSessionKey = reportName+"ReportSource";
                   Object reportSource = session.getAttribute(reportSourceSessionKey);
                   if (reportSource == null)
                        reportSource = clientDoc.getReportSource();
                        session.setAttribute(reportSourceSessionKey, reportSource);
                   //     set the reportsource property of the viewer
                   crystalReportPageViewer.setReportSource(reportSource);
                   // Apply the viewer preference attributes
                   // Process the report
                   crystalReportPageViewer.processHttpRequest(request, response, application, null);
              // ****** END CONNECT CRYSTALREPORTPAGEVIEWER SNIPPET ****************          
         } catch (ReportSDKExceptionBase e) {
             out.println(e);
    %>
    Edited by: teethoma on Nov 30, 2009 10:06 AM

  • Problem with layout in Web Application Designer

    Hi all,
       I am working with the BEx Web Application Designer. Well, I execute a web template in the browser, click on right button and  choose enhanced menu, query properties and mark the check box Display Rows as Hierarchy and Expand to and from the list of values (combo-box) choose the last field that can be expanded.
    Once all the lines have been expanded and the layout of the template is longer than a page, we look for a line that is not in the first page and contract it. The problem is that when we contract the line, the layout shows  the first page, instead of the page where the line had been contracted. I have tried to solve this changing the properties that appear when the template is designed, but I haven´t found the solution. Is there any way so that i can solve it?
    Thanks in advance,
    Mª del Mar Bonilla.

    Bonilla,
    Welcome to SDN...
    Try this out...
    In the Query designer view , right click on the rows structure and select display as hierarchy. In case this option works fine , the behavior pointed out by you could be a possible bug.
    Just update the result of what I have mentioned above...
    Hope it helps..
    Arun
    P.S Assigning points is a way fo saying thank you in SDN

  • Browser based InfoPath form deployed on a Claims based Web Application calling a Secure Web Service via Data Connection

    hi,
    We have a Browser based InfoPath Form deployed on a Claims based Web Application. We are tyring to call WCF Services that are secure using Certificates via the Data Connections on Infopath Form.
    Earlier we used to get the Data in BCS External List via the WCF Services and the Data Connections used to get the Data from the BCS External List. Due to Performance Issues, we want to remove the BCS External List and straightaway call the secure WCF Services
    via the Data Connections.
    Have anyone implemented this scenario.
    Thanks
    Ram
    Thanks Ram

    Hi Ram,
    As these are browser based InfoPath forms, you have two options 
    1) Deploy as sandboxed forms
    In this case you have to create a secure store application id and then set the credentials for that account.
    You then have to export the data connection to Data connections library and modify the .udcx file to utilize the newly created secure store application id.
    This may sometime give issues related to sandboxed code service. You have to give permissions on the secure store for the user account which the sandboxed code service is running.
    2) Deploy as administrator approved forms
    This would be ideal way of doing things as you have full control over the web request if you write code behind InfoPath forms.
    3) Deploy as a Hybrid solution
    a) Write a full trust proxy solutions (extend SPProxyOperation class and override execute method) and make the web request call inside this and return the response
    b) Invoke above operation from the sandboxed InfoPath form's code behind by SPUtility.RegisteredProxyOperation(four part assembly name, operation args)
    Hope this helps.
    Thanks,
    Srikanth

  • ISA apps in CRM 2007 still JSP Struct based Web application OR BSP Web UI

    Hi, SDN Experts.
    Is the ISA (Internet Sales) appications in CRM 2007 stil runs in JSP Struct based Web application framework OR now it has switch to the BSP Web UI based web applications?
    I know that the previous PCUI based applications have been switched to BSP Web UI based applications, but I am not sure about the ISA.
    Can anyone also point me to some resources/materials to identify what changes CRM 2007 compare to CRM 2005  /6.0 in details?
    Thanks for advise,
    KC

    KC,
    ISA in CRM 2007 is in JSP still..
    www.help.sap.com would be the best option to start
    Regards,
    Vinay

  • Using CE 7.1 ESR with ABAP based web services requires java development?

    Hi All,
    When developing a web service in ABAP, what java development must I do to make the web services available in an ESR that is located on CE 7.1?
    Thanks,
    Regards,
    Mel Calucin
    Bentley Systems, Inc.

    Hi Stefan,
    Someone told me that the difference between CE 7.1 ESR and PI 7.1 ESR is that to register the ABAP web service into CE 7.1 ESR you need to create EJBs and that you don't need to do this for PI 7.1 ESR (since ithe PI 7.1 ESR is ABAP based).  I didn't think that this was the case so I put this question in this forum to confirm this.   I am arguing to put in CE 7.1 because we don't need the PI 7.1 functionality.  This someone told me that we are more of an ABAP shop than a Java shop and that we don't want to develop EJBs whenever we develop ABAP based web services. 
    Thanks.
    Regards,
    Mel Calucin

  • 2-java clients communicate with java based web-service

    I'm new 2 web-services.
    I need to create 2-java clients(a game like chess) & communicate them through a java based web-service.
    I can create the web service.(using Netbeans getting started tutorial.only the basic stuff)
    when we create the 2-clients are those should be web-clients or are they should be normal java
    applications.
    (clients should be GUI based)
    ??

    I'm new 2 web-services.
    I need to create 2-java clients(a game like chess) & communicate them through a java based web-service.
    I can create the web service.(using Netbeans getting started tutorial.only the basic stuff)
    when we create the 2-clients are those should be web-clients or are they should be normal java
    applications.
    (clients should be GUI based)
    ??

  • B1 integration with PLC based machines

    Dear Experts,
    Is it possible to integrate SAP B1 with PLC based machines used in manufacturing.What is the format in which data can be exchanged with B1?
    Thanks ,
    AsapFan

    Dear Gordon,
    The functions would be pertaining to production figures captured by the machines.Additionally the machine parameters and shift details would would required to be entered into SAP B1.
    Regards,
    Sameep

  • Portal Integration of an existing Web Application

    Dear all,
    we are preparing for the pbnw certification. Our way is to deploy our existing web application on the J2EE engine and make it accessible via the portal, i.e. where are taking the certification scenarios J2EE-DEP and BP-EP.
    Up to now, my idea is to integrate the web surface of our application into the portal as far as this is possible without too much effort. Alternatively it would be possible to access our application via an URL-iView however to my feeling this is not a real integration. Did I get things right assuming that would meet the requirements for pbnw certification?
    I read that it is necessary to follow the portal's look and feel by applying SAP's CSS. Does anyone know where to obtain these? And what is the easiest way to replace the currently used stylesheets by them?
    Millions of questions...
    Thanks a lot!
    Regards,
    Angela Grüner.

    Dear Angela
    Please have a look at the following Weblog link which gives a detailed description of the method to create a URL iView using Application Integrator:
    /people/markus.pfeffer/blog/2005/12/14/integrating-your-web-front-ends-into-the-sap-enterprise-portal-using-the-application-integrator
    If you adopt this method to create the URL iView, then it meets the requirement for EP-BP Certification.
    The blog also includes an example of HTML code with applied SAP CSS. Please go through this section to implement EP look and feel.
    Hope this helps!
    Regards
    Atima

  • Problem with ClassCastException in web application

    Hello,
              I'm trying to deploy a web application in WLS 5.1 and I'm getting the
              "dreaded" ClassCastException every time when JSP tries to read a bean
              from the request or session. Under my architecture (actually it's just
              the regular "model 2" ) bean is populated by a servlet, set on the
              request and then retrieved by JSP (servlet forwards to JSP). Everything
              work fine when I register servlets in weblogic.properties, but
              ClassCastException is thrown on any attempt to read from the request if
              the same JSPs and servlets are deployed as web application.
              Has anybody come across the same problem?
              Thanks in advance for help.
              Alexander
              

    Hello,
              This is all well and good as a temporary bug, but it's totally unrealistic for
              the future. Two points:
              * The ClassLoader doesn't need to be discarded, it just needs to be cleared.
              * Other servlet engines seem to be able to handle this.
              Hope it's on its way to resolution!
              TDoan wrote:
              > Alexander:
              >
              > I had some problem with ClassCastException, and recently I found out what it
              > was that causing it. I'm sure if this is the same problem you are having,
              > but please read the following paragraph.
              >
              > I cutted this from http://www.weblogic.com/docs51/classdocs/API_servlet.html
              > ClassCastException and HTTP Sessions
              >
              > You might encounter a ClassCastException while developing servlets that use
              > HTTP sessions. This could happen as a result of the following set of events:
              >
              > a.. You store a reference to a custom class, myFoo, in an HTTP session.
              >
              > b.. While in mid-session, you change your servlet (or JSP or JHTML),
              > causing it to be reloaded. In fact, it is necessary for it to be reloaded by
              > a completely new class loader, and the old class loader that had previously
              > loaded it must be discarded.
              >
              > c.. Because your custom class myFoo is also located under the servlet
              > classpath, it too is reloaded by the new class loader.
              >
              > d.. Now, when you retrieve myFoo from the HTTP session, you cast it to the
              > expected type, but you recieve a ClassCastException. The exception is thrown
              > even if class myFoo has not changed. Because it has been loaded by a
              > different class loader, it is regarded by the JVM as incompatible.
              > Note: If you are using session persistence, the class contents must be
              > serialized, and you will not encounter this exception.
              >
              > Here are some suggested work-arounds to this problem:
              >
              > a.. Do not place your class myFoo in the servlet classpath. Instead, place
              > it in the system classpath or the weblogic.class.path, which are accessible
              > by WebLogic Server. The class will not be reloaded when the servlet is
              > modified. This drawback to this solution is that you cannot prototype the
              > myFoo class, because you must restart the server in order to reload the
              > class after it is modified.
              >
              > b.. If you need to prototype the class, you can write a wrapper method
              > within it to store and retrieve its contents to and from the session. You do
              > not access the class directly from the session, but instead call it is
              > wrapper methods to store or populate it is contents from the session. As
              > long as you use standard Java class types to store the class contents, they
              > will not be reloaded when the servlet is reloaded. This approach has
              > performance drawbacks because your wrapper methods would need to set or get
              > multiple name=value pairs for each class's attributes.
              >
              > c.. Another work-around is to catch the ClassCastException, and replace
              > the old class that is stored in the session with a newly instantiated class,
              > or remove it from the session. Unfortunately, you lose the session data that
              > was previously stored in the class, so you must write your application to
              > handle this scenario. This is the easiest solution to the problem-remember
              > that you should not be storing critical information in an HTTP session, but
              > rather storing it in a database.
              > Note: The ClassCastException generally occurs while you are developing
              > your servlets, and should not be an issue in a stable production system. If
              > you are upgrading your system online, you might wish to warn your customer
              > base.
              >
              > Hope it helps,
              > Tin
              >
              > "Alexander Ananiev" <[email protected]> wrote in message
              > news:[email protected]...
              > > Hello,
              > >
              > > I'm trying to deploy a web application in WLS 5.1 and I'm getting the
              > > "dreaded" ClassCastException every time when JSP tries to read a bean
              > > from the request or session. Under my architecture (actually it's just
              > > the regular "model 2" ) bean is populated by a servlet, set on the
              > > request and then retrieved by JSP (servlet forwards to JSP). Everything
              > > work fine when I register servlets in weblogic.properties, but
              > > ClassCastException is thrown on any attempt to read from the request if
              > > the same JSPs and servlets are deployed as web application.
              > > Has anybody come across the same problem?
              > >
              > > Thanks in advance for help.
              > > Alexander
              > >
              

  • XI Interoperability with C-based Custom Applications

    How can XI interoperate/connect to C-based custom applications?  What connectivity option (i.e. adapters) can be used for both inbound and outbound processing?  Please provide the best approach using the existing technology adapters, existing 3rd-party adapters, other means, while excluding the development of custom adapters.

    Hi,
    Am not sure about HTTP, but for the file part it iwll be quite simple .
    I learnt C during my university days and from what I remember, you can write and read file using standard C / C++ classes / functions.
    So, when the C application needs to talk / send data to XI, it can write a file using the standard functions available and using the sender File adapter of XI, you can poll the same file and do the needful in XI ( including Content Conversion if the C application is to create a TXT file).
    In the other case if XI needs to send data to the C application, then XI can write a file and the C application can read this file using its standard functions.
    With respect to XI, you will be dealing with a File Bases Interface with the C application. And the process will be just like any other file interface.
    Regards
    Bhavesh

  • [JSF 1.2] - Role Based Web Application: Whats the correct way of doing it?

    Hello,
    i have a web application that in some pages is role based. I have two database tables, Role and Permissions. Role can have 1..N Permissions and vice versa.
    In one page i need to render some forms depending on user role.
    What is the best approach to this?
    1. I have a sessionBean and on login load all the permissions (it's less secure but faster) based on user role;
    2. Everytime i use rendered="#{sessionBean.checkPermissions['can-create']}" i query the database. This checkPermissions gets the user role and retrieve all permissions of that user on demand;
    The first option is faster but while the user is logged if permissions changes we might have problems.
    The second, if i user 3 rendered attributes i do 3 queries to the database.
    Is rendered attribute the correct implementation?
    Regards.

    Yes, the rendered attribute is the correct way to accomplish this.
    As to the question of caching the result or querying the database each time, that is something that needs to be answered on an application by application basis.

  • Deployment of JSP based Web Application

    Hey I am new to JSP. I want to create a Web Application with JSP and Tomcat 5 as the Web Server.
    I know how to use JSP, but don't know about Tomcat.
    If any one can tell me how to deploy a web application on Tomcat 5???
    Thanks

    One way is to follow the instructions that come with Tomcat.
    http://jakarta.apache.org/tomcat/tomcat-5.0-doc/appdev/index.html

  • How can we remove javascript completly from J2EE based web application?

    java script produce lots of problem in web application i just want to remove them comletly

    rinku5259 wrote:
    java script produce lots of problem in web application i just want to remove them comletly3 easy steps
    1. using the mouse or keyboard, select the javascript code
    2. press the delete button on the keyboard
    3. save the file
    do that for each file that has JavaScript in it

Maybe you are looking for