Best way for Java/C++/C# to share data in a cache?

I have an order processing application which listens for Order objects to be inserted in a cache. If I want Java, C# and C++ apps to be able to submit orders to that cache, what's the best way to set up that Order object? Orders currently have many Enum member variables. What happens when a C# or C++ app needs to put an Order object in the cache? how would it set those java enums? Also, the java Enum classes have a lot of Java specific code in 'em for convenience. I imagine for cross platform simplicity it might have been best if the Order object were just an array of Strings or a Map of Strings to values but I have too much code depending on the Order object being how it is currently. Should I extract an Order Interface? What about the Enums? My java enums aren't simple {RED,GREEN,BLUE} type enums, they contain references to other Enums, etc. - see below...
A portion of my Order class looks like:
public class Order implements Cloneable, Comparable, java.io.Serializable {
  private static Logger logger = Logger.getLogger(Order.class);
  private boolean clearedFromOpenOrdersTable = false; 
  private boolean trading_opened = false;
  private static Random generator = new Random();
  private static int nextID = generator.nextInt(1000000); //just for testing
  private int quantity = 0;
  private int open = 0;
  private int executed = 0;
  private int last = 0;
  private int cancelPriority = 0;
  private Integer sendPriority = 0;
//enums
  private OrderSide side = OrderSide.BUY;
  private OrderType orderType = OrderType.MARKET;
  private OrderTIF tif = OrderTIF.DAY;
  private OrderStatus orderStatus = OrderStatus.PENDING_NEW;
  private OrderExchange orderExchange = null;
  private OOType ooType = OOType.NOTOO;
  private OOLevel ooLevel = OOLevel.NONE;
  private Float limit = new Float(0);
  private Float stop = null;
  private float avgPx = 0.0f;
  private float lastPx = 0.0f;
  private String account = null;
  private String symbol = null;
  private long submitTimestamp;
  private long fillTime = 0;
  private long ackTime = 0;
  private Timestamp submitSqlTimestamp;
  public /*final*/ static NamedCache cache;
  private ArrayList<OrderStatusChangeListener> statusChangeListeners =
    new ArrayList<OrderStatusChangeListener>();
  transient private Format formatter = new SimpleDateFormat("hh:mm:ss a");
  public static void connectToCache() {
    cache = CacheFactory.getCache("orders");
  public void send() {
    this.submitTimestamp = System.currentTimeMillis() ;
    this.submitSqlTimestamp = new Timestamp(submitTimestamp);
    cache.put(this.ID, this);
  public void setCancelCount(int i) {
    cancelCount = i;
  public int getCancelCount() {
    return cancelCount;
  public static class CancelProcessor extends AbstractProcessor {
    public Object process(InvocableMap.Entry entry) {
      Order o = (Order)entry.getValue();
      if (o.cancelCount == 0) {
        o.cancelCount = 1;
      } else {
        logger.info("ignoring dup. cancel req on " + o.symbol + " id=" + o.ID);
      return o.cancelCount;
  public void cancel() {
      // cache.invoke(this.ID, new CancelProcessor() ); // must this be a 'new' one each time?
      Filter f = new EqualsFilter("getCancelCount", 0);
      UpdaterProcessor up = new UpdaterProcessor("setCancelCount",new Integer(1) );
      ConditionalProcessor cp = new ConditionalProcessor(f, up);
      cache.invoke(ID, cp);
  NumberIncrementor ni1 = new NumberIncrementor("CancelCount", 1, false);
  public void cancelAllowingMultipleCancelsOfThisOrder() {
    System.out.println("cancelAllowingMultipleCancelsOfThisOrder symbol=" + symbol + " id=" + ID);
    cache.invoke(this.getID(), ni1);
  public Timestamp getSubmitSqlTimestamp(){
    return submitSqlTimestamp;
  boolean isWorking( ) {
       // might need to write an extractor to get this from the cache atomically
       if (orderStatus != null &&
            (orderStatus == OrderStatus.NEW || orderStatus == OrderStatus.PARTIALLY_FILLED ||
                // including PENDING_CANCEL breaks order totals from arcadirect
                // because they send a pending cancel unlike foc
                // os.getValue() == OrdStatus.PENDING_CANCEL ||
                orderStatus == OrderStatus.PENDING_NEW ||
                orderStatus == OrderStatus.PENDING_REPLACE)) {
          return true;
        } else {
          return false;
  public long getSubmitTimestamp(){
    return submitTimestamp;
  private void fireStatusChange( ) {
          for (OrderStatusChangeListener x:statusChangeListeners) {
                try {
                     x.dispatchOrderStatusChange(this );
                } catch (java.util.ConcurrentModificationException e) {
                     logger.error("** fireStatusChange: ConcurrentModificationException "+e.getMessage());
                     logger.error(e.getStackTrace());
                     e.printStackTrace();
  public Order() {
      ID = generateID();
      originalID = ID;
  public Object clone() {
      try {
        Order order = (Order)super.clone();
        order.setOriginalID(getID());
        order.setID(order.generateID());
        return order;
      } catch (CloneNotSupportedException e) {
      return null;
    class ReplaceProcessor extends AbstractProcessor {
      // this is executed on the node that owns the data,
      // no network access required
      public Object process(InvocableMap.Entry entry) {
        Order o = (Order)entry.getValue();
        int counter=0;
        float limit=0f;
        float stop=0f;
        int qty=o.quantity;
        boolean limitChanged=false, qtyChanged=false, stopChanged=false;
        for (Replace r:o.replaceList) {
          if (r.pending) {
            counter++;
            if (r.limit!=null) {limit=r.limit; limitChanged=true;}
            if (r.qty!=null) {qty=r.qty; qtyChanged=true;}
            if (r.stop!=null) {stop=r.stop; stopChanged=true;}
        if (limitChanged) o.limit=limit;
        if (qtyChanged) o.quantity=qty;
        if (stopChanged) o.stop=stop;
        if (limitChanged || qtyChanged || stopChanged)
        entry.setValue(o);
        return counter;
  public void applyPendingReplaces() {
     cache.invoke(this.ID, new ReplaceProcessor());
  private List <Replace>replaceList;
  public boolean isReplacePending() {
    if (replaceList==null) return false; 
    for (Replace r:replaceList) {
      if (r.pending==true) return true;
    return false;
  class ReplaceAddProcessor extends AbstractProcessor {
    // this is executed on the node that owns the data,
    // no network access required
    Replace r;
    public ReplaceAddProcessor(Replace r){
      this.r=r;
    public Object process(InvocableMap.Entry entry) {
      Order o = (Order)entry.getValue();
      if (o.replaceList==null) o.replaceList = new LinkedList();
      o.replaceList.add(r);
      return replaceList.size();
  public void replaceOrder(Replace r) {
      //  Order.cache.invoke(this.ID, new ReplaceAddProcessor(r));
      Order o = (Order)Order.cache.get(this.ID);
      if (o.replaceList==null) o.replaceList = new LinkedList();
      o.replaceList.add(r);
      Order.cache.put(this.ID, o);
  public boolean isCancelRequestedOrIsCanceled() {
    // change to cancelrequested lock, not ack lock
    if (canceled) return true;
//  ValueExtractor extractor = new ReflectionExtractor("getCancelCount");
//  int cc = (Integer)cache.invoke( this.ID , extractor );
    Order o = (Order)cache.get(this.ID);
    int cc = o.getCancelCount();
    return cc > 0 || o.isCanceled();
    class Replace implements Serializable{
    boolean pending=true;
    public Float limit=null;
    public Float stop=null;
    public Integer qty=null;
    public Replace() {
  }and then a portion of my OrderExchange.java Enum looks like this:
class SymbolPair implements java.io.Serializable {
  String symbol;
  String suffix;
  SymbolPair(String symbol, String suffix) {
    this.symbol = symbol;
    this.suffix = suffix;
  public boolean equals(Object o) {
    SymbolPair x = (SymbolPair)o;
    return (this.symbol == x.symbol && this.suffix == x.suffix);
  public int hashCode() {
    return (symbol + "." + suffix).hashCode();
  public String toString() {
    if (suffix == null)
      return symbol;
    return symbol + "." + suffix;
public enum OrderExchange implements java.io.Serializable {
  SIM("S", false, '.', OrderTIF.DAY) {
    public String getStandardizedStockSymbol(String symbol, String suffix) {
      return symbol + "." + suffix;
    public SymbolPair getExchangeSpecificStockSymbol(String symbol) {
      return new SymbolPair(symbol, null);
  TSX("c", false, '.', OrderTIF.DAY) {
    public String getStandardizedStockSymbol(String symbol, String suffix) {
      String x = externalSymbolPairToInternalSymbolMap_GS.get(new SymbolPair(symbol, suffix));
      return x == null ? symbol : x;
    public SymbolPair getExchangeSpecificStockSymbol(String symbol) {
      SymbolPair sa = internalSymbolToExternalSymbolPairMap_GS.get(symbol);
      return sa == null ? new SymbolPair(symbol, null) : sa;
  NYSE("N", false, '.', OrderTIF.DAY) {
    public String getStandardizedStockSymbol(String symbol, String suffix) {
      String x = externalSymbolPairToInternalSymbolMap_GS.get(new SymbolPair(symbol, suffix));
      return x == null ? symbol : x;
    public SymbolPair getExchangeSpecificStockSymbol(String symbol) {
      SymbolPair sa = internalSymbolToExternalSymbolPairMap_GS.get(symbol);
      return sa == null ? new SymbolPair(symbol, null) : sa;
  ARCA("C", false, '.', OrderTIF.GTD) {
    public String getStandardizedStockSymbol(String symbol, String suffix) {
      String x = externalSymbolPairToInternalSymbolMap_GS.get(new SymbolPair(symbol, suffix));
      return x == null ? symbol : x;
    public SymbolPair getExchangeSpecificStockSymbol(String symbol) {
      SymbolPair sa = internalSymbolToExternalSymbolPairMap_GS.get(symbol);
      return sa == null ? new SymbolPair(symbol, null) : sa;
  public abstract String getStandardizedStockSymbol(String symbol, String suffix);
  public abstract SymbolPair getExchangeSpecificStockSymbol(String symbol);
  private static Map<SymbolPair, String> externalSymbolPairToInternalSymbolMap_GS = new HashMap<SymbolPair, String>();
  private static Map<SymbolPair, String> externalSymbolPairToInternalSymbolMap_ARCA = new HashMap<SymbolPair, String>();
  private static Map<String, SymbolPair> internalSymbolToExternalSymbolPairMap_GS = new HashMap<String, SymbolPair>();
  private static Map<String, SymbolPair> internalSymbolToExternalSymbolPairMap_ARCA = new HashMap<String, SymbolPair>();
  private static Object[] toArrayOutputArray = null;
  static {
    String SQL = null;
    try {
      Connection c = MySQL.connectToMySQL("xxx", "xxx", "xxx", "xxx");
      SQL = "SELECT symbol, ARCASYMBOL, INETSYMBOL, ARCASYMBOLSUFFIX, INETSYMBOLSUFFIX from oms.tblsymbolnew";
      Statement stmt = c.createStatement();
      ResultSet rs = stmt.executeQuery(SQL);
      while (rs.next()) {
        String symbol = rs.getString("symbol");
        if (rs.getString("ARCASYMBOL") != null) {
          if (!symbol.equals(rs.getString("ARCASYMBOL")) || rs.getString("ARCASYMBOLSUFFIX") != null) {
            String suffix = rs.getString("ARCASYMBOLSUFFIX");
            SymbolPair sp = new SymbolPair(rs.getString("ARCASYMBOL"), suffix);
            internalSymbolToExternalSymbolPairMap_ARCA.put(symbol, sp);
            externalSymbolPairToInternalSymbolMap_ARCA.put(sp, symbol);
    } catch (Exception e) {
      System.out.println(SQL);
      e.printStackTrace();
      System.exit(0);
  static {
    populateSymbolToDestination();
  static Logger logger = Logger.getLogger(OrderExchange.class);
  private static HashMap<String, OrderExchange> symbolToDestination = new HashMap<String, OrderExchange>();
  private final String tag100;
  private final boolean usesSymbolSuffixTag;
  private final char symbolSuffixSeparator;
  private final OrderTIF defaultTif;
  private static final String soh = new String(new char[] { '\u0001' });
  private OrderExchange(String tag100, boolean usesSymbolSuffixTag, char symbolSuffixSeparator, OrderTIF defaultTif) {
    this.tag100 = tag100;
    this.defaultTif = defaultTif;
    this.usesSymbolSuffixTag = usesSymbolSuffixTag;
    this.symbolSuffixSeparator = symbolSuffixSeparator;
  public OrderTIF getDefaultTif() {
    return defaultTif;
  public String getTag100() {
    return tag100;
  public char getSymbolSuffixSeparator() {
    return symbolSuffixSeparator;
  public static OrderExchange getOrderExchangeByExchangeName(String name) {
    for (OrderExchange d : OrderExchange.values()) {
      if (d.toString().equalsIgnoreCase(name.trim())) {
        return d;
    return null;
  Thanks,
Andrew

Hi Andrew
The only way to serialize object, so that they can be used by other languages than Java is to use the Portable Object Format.
The implementation of this requires you to implement the PortableObject interface in Java. PortableObject defines two methods
public void readExternal(PofReader reader);
public void writeExternal(PofWriter writer);
Also you need to add a POF config file that ties the type to a type id.
In C++ each type needs two template methods implemented to seralize and deserialize. But first it needs to register the data type with the same type id as for the Java type using the COH_REGISTER_MANAGED_CLASS macro.
Secondly analogs to Java implement the serializer stubs
template<> void serialize<Type>(PofWriter::Handle hOut, const Type& type);
template<> Type deserialize<Type>(PofReader::Handle hIn);
For C# your serializable types need to implement IPortableObject, with it's two methods:
void IPortableObject.ReadExternal(IPofReader reader);
void IPortableObject.WriteExternal(IPofWriter writer);
Similar to Java C# uses a POF configuration file, the same type id should bind to the corresponding C# type.
For more information see
POF Configuation: http://coherence.oracle.com/display/COH34UG/POF+User+Type+Configuration+Elements
C++: http://coherence.oracle.com/display/COH34UG/Integrating+user+data+types
C#: http://wiki.tangosol.com/display/COHNET33/Configuration+and+Usage#ConfigurationandUsage-PofContext
Hope that helps!
/Charlie
Edited by: Charlie Helin on Apr 30, 2009 12:31 PM

Similar Messages

  • WHat is the best way for other iphone users to share pictures with me?  I am doing a project which req. people to send me 100 pictures at a time that I'll be putting in my iphoto?

    WHat is the best way for other iphone users to share pictures with me?  I am doing a project which req. people to send me 100 pictures at a time that I'll be putting in my iphoto? thank you.

    ingridlisa,
    I'd suggest to ask them to create Shared PhotoStreams and to invite you to view the streams, see:
    iCloud: Using and troubleshooting Shared Photo Streams
    Regards
    Léonie
    Added:
    that I'll be putting in my iphoto?
    Will you be collecting the photos in iPhoto on your iPhone or on a Mac? On a Mac a Shared PhotoStream requires Mac OS X 10.8.2.

  • Best way for Java objects to relate to DB tables

    When creating a Java app which relies on a backend DB, it is convenient (and necessary) to create Java classes which relate to the data in those tables. However with a normalised set of tables, should the Java classes relate purely to the tables, or the "view" of the un-normalised data?
    e.g. (rough example of what I mean)
    CREATE TABLE teams
    team_id INTEGER NOT NULL PRIMARY KEY,
    team_name CHAR(50)
    CREATE TABLE users
    user_id INTEGER NOT NULL PRIMARY KEY,
    user_name CHAR(50),
    team_id INTEGER REFERENCES teams(team_id)
    Now, the Java class for a user could have either have a variable (e.g. teamName) declared as an int (to fully reflect the table design) or a String (to represent the "view" of the data). I know that views can be used etc. and in this example that would be very easy � I am just using these simplified tables as an example.
    I have tried both and both have pitfalls. For instance, when getting the data from the database, it is very easy to create the object from the DB if it reflects the �view� of the data. However when it comes to updating the data in the DB, you need to do a lot of other work to find out what needs updating in which tables, because the actual raw data (as will be inserted/updated with SQL commands) is not available in the Java object.
    I hope this makes sense.
    Thanks.

    My question is what is the best way to write the classes that represent the DB data. As I said this is not EJB (that would handle the DB side of things anyway), as this is overkill for this particular situation. It was more of a general question anyway - should the class contain the actual data (e.g. should the user Class contain a String for the team name (e.g. Purchasing) or a link to the underlying DB id for Purchasing.
    In reality, I would create a Team class, but the same applies - should the Java Class ever contain any relationship to the underlying DB. I think not, but it seems inefficient to have to continually query the DB to find out information we already have.
    Apologies if I am not explaining this very well.

  • Best Practice for SAP PI installation to share Data Base server with other

    Hi All,
    We are going for PI three tire installation but now I need some best practice document for PI installation should share Data base with other Non-SAP Application or not. I never see SAP PI install on Data base server which has other Application sharing. I do not know what is best practice but I am sure sharing data base server with other non-sap application doesnu2019t look good means not clean architecture, so I need some SAP document for best practice to get it approve from management. If somebody has any document link please let me know.
    With regards
    Sunil

    You should not mix different apps into one database.
    If you have a standard database license provided by SAP, then this is not allowed. See these sap notes for details:
    [581312 - Oracle database: licensing restrictions|https://service.sap.com/sap/bc/bsp/spn/sapnotes/index2.htm?numm=581312]
    [105047 - Support for Oracle functions in the SAP environment|https://service.sap.com/sap/bc/bsp/spn/sapnotes/index2.htm?numm=105047] -> number 23
          23. External data in the SAP database
    Must be covered by an acquired database license (Note 581312).
    Permitted for administration tools and monitoring tools.
    In addition, we do not recommend to use an SAP database with non-SAP software, since this constellation has considerable disadvantages
    Regards, Michael

  • What is best way for 3 person family to share 200 gb music on 1 itunes account on two networked windows 7 PCs, have access to each others music on each PC but have own libraries. Goal is simplicity

    Currently, one windows 7 pc is upstairs in common area and is used most frequently.  Father's (me) windows 7 pc is downstairs and has 200gb music collection on internal hardrive.  PCs are networked together.  Wife and kids would like to buy and listen to itunes music upstairs.  They would be ok sharing a music library and it would not need to be huge.  They generally, but not exclusively don't care for my music.  I am eclectic and like their music as well as mine and would like access to it to be able to easily put it on my devices for family trips, etc and update playlists. 
    Ideally, I would like to be able to keep all of the music together on the same hard drive for managament purposes (organizing, replacing a computer, etc).  I don't trust them not to screw up my library (too many hours invovled in it already), so I'm assuming that they should have their own libraries.  These they would access upstairs and would also sync their devices on the upstairs computer.  I think both their libraries could be pointed to the harddrive on the downstairs computer where the music files currently reside.  When they played music from the upstairs computer, it would play from the downstairs computer across the network.  If they purchase music on the upstairs computer, I would like it to get downloaded on the downstairs computer with the other music files and not be downloaded onto the upstairs computer.  I would like to be able to rely on my library and the music files not getting messed up.  If friends and babysitters come over, they use the upstairs computer.  We've had a disaster before when it was just one computer, but the music was on an external hard drive and my wife launched itunes without turning on the external hard drive first and fried my library.
    The best I can come up with is their having their own libraries, on the upstairs computer, that reference all music files on the downstairs computer over the network.  Am I on the right track here?  How do I make sure their purchases go into and only into the music file downstairs?  Is there some other better option of having a separate itunes on the upstairs computer and storing their music separately upstairs?  How would I make sure to get copies of their music files from the upstairs computer also into my large music file downstairs, so I can keep one comprehensive collection of music all in one file.  This seems like it shouldn't be so very difficult in the 21st century.  I ought to be able to keep one comprehensive music file and one comprehensive library, even though my wife and child, who are less computer literate than me would like smaller, more personalized libraries and to purchase music on the convenient upstairs computer and even store their music on the upstairs computer accross a network.  I the old days, you could just dupe some of the CDs.  HELP!!!!!!!!!!!!!!!!!!!!!!  My wife is tired of waiting on me to resolve.

    Anything Downloaded with a Particular Apple ID is tied to that Apple ID and Cannot be Merged or Transferred to a Different Apple ID.
    Apple ID FAQs  >  http://support.apple.com/kb/HT5622
    SHARING iTunes MUSIC
    http://macmost.com/five-ways-to-share-music-in-itunes.html

  • Best way for two Macs to constantly share, not transfer, files

    Since replacing the hard drive in one Mac, the file sharing is not working properly. The second computer (with new hard drive) can access files from the first but cannot save and graphics are missing. We've had certified Apple techs in here and they haven't figured it out.
    We've tried adding a network hard drive and both computers hooked to it but it's REALLY SLOW!!
    Any thoughts?

    There is no included method to replicate changes both ways. Have you tried looking at DFS replication instead of linked shares?
    http://technet.microsoft.com/en-us/library/8c4cf2e7-0b92-4643-acbd-abfa9f189d03
    -Nick O.

  • What is the best way for my partner and I to share our work across computers?

    What is the best way for my business partner and I to share our work (projects, libraries, images) across computers without emailing items?  Is there creative cloud storage place we can share?

    Can't I just purchase the 200 GB storage, throw our photo library in it, share it with her, and have both of our new and future pics dumped into it?  If so, how do I do that?
    The iCloud Photo Library cannot be shared between users, unless you are using the same AppleID.
    You can share selected photos with shared albums:  iCloud: iCloud Photo Sharing FAQ
    Or create a Photos library on an external drive, that you both can access, as described here for iPhoto:   iPhoto: Sharing libraries among multiple users

  • HT4914 I purchased iMatch because my old computer was failing and I was afraid of losing my music library. Now I bought a new laptop; what is the best way for me to transfer my library to my new laptop? Will iMatch help me do this?

    I purchased iMatch because my old computer was failing and I was afraid of losing my music library. Now I bought a new laptop; what is the best way for me to transfer my library to my new laptop? Will iMatch help me do this?

    Is/was failing or has failed?
    If the old computer still runs one of these methods may be best.
    Method 1
    Backup the library with this User Tip.
    Restore the backup to your new computer using the same tool used to back it up.
    Deauthorize the old computer if you no longer want to access protected content on it.
    Keep your backup up-to-date in future.
    Method 2
    Connect the two computers to the same network. Share your <User's Music> folder from the old computer and copy the entire iTunes library folder into the <User's Music> folder on the new one. Again, deauthorize the old computer if no longer required.
    I'd recommend method 1 since it establishes an ongoing backup for your library.
    I don't have personal experience with iTunes Match, but in principle you should be able to download all the tracks currently registered to your iTunes Match account. This isn't quite the same as restoring your previous library exactly as it was. There is always the potential for iTunes match to provide the wrong version of a song and could be content such as movies, podcasts, audiobooks etc. that would have been excluded.
    tt2

  • Best way for Email Notifications in EWS Managed API 2.0 [ Exchange Server 2013]

    Hi ,
    I want to know best way for Email Notifications in Exchange server. My
    organisation has 
    10 users, i want to get notification if any user mailbox got any new mail.
    i need to create API,
    that was consumed by another Team in their Application.
    I am using Exchange server 2013.
    Please share Your Ideas.
    Thank you

    Take a look at EWS Notifications
    http://msdn.microsoft.com/en-us/library/office/dn458791(v=exchg.150).aspx .
    Cheers
    Glen

  • What's the best way for home sharing to iDevices without iTunes?

    What's the best way for home sharing movies and tv shows on my iDevices?  I know I can use home sharing through iTunes, but I'm looking for a way to share videos to my iDevices without having to leave my computer on.  I have a MacPro, iPhone, iPad, Airport Extreme, and Airport Express (and several external hard drives).  Can anyone suggest an app that would do this?  Can I have videos on an external hd attached to an Airport Extreme/Express and have it stream without iTunes?

    If your "server" is new enough to run Mountain Lion, you can purchase the OS X Server app from the Mac App store and you'll have everything you need to host a NetInstall (NetBoot) server.
    If your machine does not support Mountain Lion, you'll need to purchase the appropriate Mac OS X Server software (i.e. Lion Server or Snow Leopard Server)
    From there you can host NetInstall or NetRestore images, depending on your preferred workflow, which can be created using System Image Utility.
    As Richard points out you can also use Deploy Studio which, again depending on your preferred workflow, might simplify things.

  • What is the best way for sharing an iPad with 2 iPhones using different Apple acount ?

    What is the best way for sharing an iPad with 2 iPhones using different Apple acount ?

    You can't share with other devices if you are using different Apple ID's and iTunes account on them. You can only share if you use the same ID.

  • Best practice for java script placement on a BC page?

    Hi guys just a general ask about where the best place for java script is on a BC page.
    I just watched the this very good video on optimization http://bcgurus.com/tutorials/how-to-do-website-performance-optimization and in it it says how you should try and load the scripts at the bottom of the page so that it loads quicker.
    now I want to do this but with it being a BC site i dont know if certain scripts have to be in the head of the doc. For instance the validate script I have? Does anyone know what I can and cant move from the head?
    I was going to do what kiyuco like to practice and add all my scripts to a content holder and then add that to my pages/templates. Will BC like me adding this to the bottom of the page and not the head?
    Thanks
    Dave

    http://forums.adobe.com/docs/DOC-2964

  • What are the best ways (for best performance) in MII to process the incoming process messages from shop floor systems to SAP ECC 6.0 and vice versa?

    Hi All,
    Can you please suggest to choose the best ways (for best performance) in MII (12.2 on NW 7.3), to process the incoming process messages from shop floor systems to SAP ECC 6.0 and vice versa?
    Thanks

    Hi Surya,
    Best practices for flow of data from ECC --> SAP MII --> Shop floor & Vice verse:
    1. Send ECC data through IDOC's/RFC's as messages to SAP MII message listener and BSL transaction process data and update directly on shop floor database as if you configured in Data services or later send those data by web service to shop floor system (i.e. depends on Shop floor machines).
    From Shop floor:
    shop floor --> SAP MII --> ECC
    1. Use either Web service or fetch data from DB and pass data to BAPI's  for sending to ECC through BLS transaction.
    Regards,
    Praveen Reddy

  • Best way for building an application main frame

    I'm about to program a desktop application.
    The main frame will have menus, toolbar, status bar etc.
    There will be a lot of interaction between the menus, toolbar buttons and other custom gui components (such as an editor).
    My question is which is the best way for building it.
    Cramming all the code in one class file is out of the question.
    I thought about making my own custom JFrame and add API functions like for it so different GUI elements can be accessed.
    Each component which will be manipulated will be in its own class file with the constructor accepting a reference to my custom JFrame object which it is contained in.
    Any suggestions on the matter would be of great help since I've never done extensive Swing programming before.
    P.S.
    The application makes extensive use of RMI.
    What considerations should I take into account (except using SwingUtilities.invokeLater()) ?

    Hi,
    I have replied on this subject somewhere else today but what I do is have one simple entry point where I just instanciate a JFrame.
    On that frame I have a main JPanel. On that panel I add new objects like JPanels, tabs etc.
    I keep each new panel in a separate source as it is easier when the application grows, and it will. That also means that several programers can work with the same application without interfearing each other.
    I hope you understand what I mean the the thing is to split up the code into several sources.
    It may not suit everyone but I found this approach to be the best for me.
    Klint

  • " Why not Emacs Be the best editor for java"

    hai friends,
    iam using emacs editor for java. i think it is the best editor for java available
    for free of cost.
    we can easily customize it based on ur needs
    we can even customize the compilation and run option with single key stroke.
    and it has many interesting and useful features like shell, bsh, cvs customization,telnet
    and a lot more....
    many software concerns had made emacs as thier offical java editor
    i donot think anybody in this world who had used the emacs will go for some other editor
    and i do want to know from u all that whether i was wrong . and
    is there any other editor which can be better than emacs
    if so give me valid reasons
    get back to me if u are not aware of emacs features
    regards
    g.kamal

    I agree with you 100% on linux side, but in
    windows(tm) there are even better editors. I
    personally use MED in windows. After trying dozens of
    different editors in linux I ended up using emacs, it
    sure is the best editor in linux (for Java atleast).
    There are still some things bugging me, for an example
    I would like the "end" button to move the cursor to
    the end of the line instead of EOF.
    I donot understand why ur saying that the "end" button is not moving the cursor to the
    end of the line
    it works fine in my machine
    plz elaborate what more features u want, bcas it may be there in emacs , but u may not have that
    much awareness in it.
    regards
    kamal

Maybe you are looking for

  • How can I see my files from iCloud on my ipad??

    I have some files different kind of files in my iCloud storage... I would like to view and access them from my ipad. How can I view them??

  • Error, while excuting query

    Dear Masters     I have 2 problem. I would like to share u. 1) When im excuting query in query design, first time it's taking 3 mins to display report. But second time same query, while excuting, it's taking 4 seconds only. This is happening for SD q

  • MacBook Pro (2011) Won't Charge Without Restart

    Hi guys, I searched the forums for this problem but couldn't find a match. When I plug the power cable into my 2011 17" MacBook Pro it won't take a charge and the light on the cable doesn't come on. However if I restart the computer, the light will c

  • SCSI to USB adapter

    Does anyone know a good place I can pick up a reasonably priced SCSI to USB cable for a zip drive and/or scanner? thanks

  • The best defence? Anti Virus software sugestions?

    Hay just wondering what virus protection software, if any, is the best for macs.