Welcome Guest. Sign in or Signup

8 Answers

Can we embed and use inside another .WAR?

Asked by: dkar 732 views API / Integration

Hi, this is a pre-sales question. We’ll need to use an ad server in a non-traditional way and having the ad server integrated into an existing java .WAR is our first choice. We need to have internal server modules making requests to the ad server and since performance is a major requirement, we don’t want to make a remote call whenever we need to fetch an ad.

1. Is it possible to embed AdvertPro into an existing .WAR?

2. If this is possible, can the JSP tag library be used to fetch ads from the ad server in the same servlet container, i.e. no HTTP or remote calls, simply in-band API calls?

3. Is there any extension point/plugin to receive text ads in an XML format, i.e. the link, target URL, and ad message are not pre-rendered into HTML but rather listed as plain-text nodes in an XML document?

4. Regarding performance, do you have any performance benchmarks? load, throughput, latency, etc..

Thanks very much,
D

8 Answers



  1. on Jan 05, 2006

    1. I suppose it would be. You’d have to explode the .WAR file into your webapp directory and combine the AdvertPRO web.xml file with your own. Of course that’s going to complicate your web.xml file quite a bit because the current web.xml for AdvertPRO is approximately 1,000 lines.

    I don’t know if you’re aware, but you can include context from one webapp into another webapp with the JSTL import tag:

    In a Servlet you can also do the following:

    getContext(“appname”).getRequestDispatcher(“/servlet/example”).include(request, response);

    You may also have to enable cross context calls for your webapp, which can be done with Tomcat for example: http://tomcat.apache.org/tomcat-5.5-doc/config/context.html

    2. The JSP taglib is not very tightly integrated with AdvertPRO. It outputs HTML code to display your ads that’s similar to the code output by the code wizard in AdvertPRO. The only advantages of using the JSP taglib are that it is a shorter code to include in your pages, it uses less JavaScript, easier custom targeting and keyword targeting integration, and if we should ever change our code formats (not very likely) you’d simply be able to upgrade your taglib and it would start generating the new format.

    3. Currently there isn’t any built in XML support, but that is something we plan to support in the near future. Even so, I think it still might work. You can enter raw HTML code for banners or text links, but I am pretty sure our HTML parser can also handle XML too. You should be able to test this out with our demo if you want to try it.

    4. A Dual Xeon 3.0 GHz with 2 GB RAM and SCSI/RAID5 is capable of pushing about 275 req/s. Upgrading the RAM to 4 GB would raise scalability to about 350 req/s. If you need more scalability than that, we’ve deployed AdvertPRO on a Dual “Dual Core” Opteron 265 with 8 GB RAM and SCSI/RAID5 recently and it’s serving an average of about 550 req/s (it’s gone as high as 1,100 req/s during peak times) with average response times between 9-10 milliseconds.

    0 Votes Thumb up 0 Votes Thumb down 0 Votes



  2. dkar on Jan 05, 2006

    Thanks Mike, this helps a lot. Let me work with the demo app more to see if I can do what I need.

    Have you run AdvertPRO through a profiler? I saw some posts regarding memory leaks with respect to tomcat 5 (we are using 5.5 under Jboss 4.0.2 so we shouldn’t have that particular problem), but I’m wondering if memory issues internal to your application have been discovered/resolved? Is it memory intensive?

    Cheers,
    Debarshi

    0 Votes Thumb up 0 Votes Thumb down 0 Votes



  3. on Jan 06, 2006

    Yes, we test all of our releases with JProfiler and YourKit. As far as we know, there are no memory leaks in AdvertPRO. We did have a memory leak slip into a release version a while back, but we released an update to fix it the same day it was discovered.

    You will be fine with JBoss 4.0.2. The memory leak you are referring to only affects Tomcat 5.0 and was fixed in Tomcat 5.5.

    AdvertPRO is pretty efficient regarding memory usage. Small and medium sites are usually fine to run the JVM with 64-128 MB of RAM. For large sites we usually like to allocate at least 512-1024 MB of RAM. The more memory you can add the better though because it reduces the frequency of garbage collection.

    0 Votes Thumb up 0 Votes Thumb down 0 Votes



  4. dkar on Jan 06, 2006

    Mike, I’m trying to understand how geographical targeting works. I’m mainly interested in city/zip codes and I didn’t see any reference to URL parameters in the user guide. How is this input into the system?

    Understanding this may help me understand why the following excerpt from the user guide is true:
    “Zip / Postal Code targeting is currently only available for visitors from the United States and Canada.”

    We have a need to use this in many countries in Europe, it seems to me that if this is not supported we could use custom fields for city/zip and create rules based on those.

    -Cheers

    0 Votes Thumb up 0 Votes Thumb down 0 Votes



  5. dkar on Jan 06, 2006

    One more question.. would it be possible to get a demo account that is an advertiser only role? I need to see what a potential advertiser controls and has access to.

    0 Votes Thumb up 0 Votes Thumb down 0 Votes



  6. on Jan 06, 2006

    I’m trying to understand how geographical targeting works. I’m mainly interested in city/zip codes and I didn’t see any reference to URL parameters in the user guide. How is this input into the system?

    AdvertPRO uses a mapping database to look up a visitors location based on their IP address.

    Understanding this may help me understand why the following excerpt from the user guide is true:
    “Zip / Postal Code targeting is currently only available for visitors from the United States and Canada.”

    The mapping database we use does provide zip code data for other countries, but it is not complete or as accurate as it is for the United States and Canada at this time. If you have profile information for your visitors, it would be possible to use the custom targeting to implement zip code targeting for them.

    One more question.. would it be possible to get a demo account that is an advertiser only role? I need to see what a potential advertiser controls and has access to.

    Actually, you can create an advertiser account in the demo. Or just edit one of the existing example advertiser accounts to get their username and password.

    0 Votes Thumb up 0 Votes Thumb down 0 Votes



  7. dkar on Jan 12, 2006

    Hi again,

    I have a question regarding campaign selection with respect to advertiser CPM rate. Is there any relationship whatsoever between campaign selection for a particular zone and an advertiser’s CPM rate for a campaign assigned to that zone? If not, is this something that’s been thought about?

    In my simple view of things, I can see forcing this feature into the product in the following way:

    - whenever an advertiser updates a campaign CPM rate by hitting ‘Save’, the system finds all zones to which that campaign is assigned.

    - for each zone, it shuffles the priority of the campaign (or the chain setting) based on the CPM rates of all campaigns assigned to that particular zone.

    This is becoming an important requirement for us and I need to understand what the capabilities are and whether it’s possible for us to extend the system to do what we need.

    Cheers,
    D

    0 Votes Thumb up 0 Votes Thumb down 0 Votes



  8. on Jan 13, 2006

    I have a question regarding campaign selection with respect to advertiser CPM rate. Is there any relationship whatsoever between campaign selection for a particular zone and an advertiser’s CPM rate for a campaign assigned to that zone? If not, is this something that’s been thought about?

    No, the ad server doesn’t look at CPM when selecting a campaign to display. We are planning to build some CPM optimization features into AdvertPRO to optimize placement/priority of campaigns to yield the best effective CPM. Usually only ad networks ask for such a feature and only a few of our customers are using AdvertPRO to operate an ad network, so adding this feature is pretty low priority for us. If this is something that you absolutely need, I suggest you take a look at YieldManager.

    whenever an advertiser updates a campaign CPM rate by hitting ‘Save’, the system finds all zones to which that campaign is assigned.

    Only administrators have access to make such a change to a campaign.

    for each zone, it shuffles the priority of the campaign (or the chain setting) based on the CPM rates of all campaigns assigned to that particular zone.

    That sounds feasible. If a campaign had a frequency cap on views it could be optimized with chain and priority both. With an uncapped campaign it would be too dangerous to optimize by chain (if it got moved up too much it could take over 100% of the rotation), so it’d have to be done by priority only.

    0 Votes Thumb up 0 Votes Thumb down 0 Votes