Flex and concurrent access

I am going to work on a new project. This project is a real time scanning  processing monitor. The application would launch from an html wrapper. Also a few more processes will also start from there using JavaScript code:
oReadfromScanner1 = new ActiveXObject("comportreader.classname");
oReadfromScanner2 = new ActiveXObject("comportreader.classname");
I am going to have up to 10 scanner readers which will update Flex client screen.
There will be many times when readers try to update the client in exact same time. What is a design pattern to manage simultaneous access to Flex? Or there will be no problem at all?
Thanks

Thanks for the feedback. This is still bothering me,
yes I could have a static RandomAccessFile and
synchronise on this, but I really want concurrent
access.
I've implemented a locking mechanism to prevent
different RandomAccessFile instances updating the
same record - is this not a waste if only one
RandomAccessFile can write to the file anyway?
Or is there another Java class I can use to access
the file in this way?
Thanks for the help.Hi,
if the intention of using multiple instanced of RandamAccessFile is concurrent access, then i feel your locking mechanism doesnt achieve the purpose..
also, at any case, you may not plan for full concurrency in updating a file....
it is more prone to malfunctions..
probably, to enhance performance, you can lock only the part your code that actually writes to the file, like io.write() , in this way you can perform all business logic with respect to writing and serialize only the actual file writing...
even in this case, you must be sure that writing to different part of the file, doesnt really impact other parts of the file which might be manipulated by other threads..
i have one more thought on this,
if updating different parts of the file doesnt affect content of other parts of the file,
then can you think of having different files itself?
if using different files is not a good idea, then
probably think of using some buffering mechanism, like collect all data concurrently and periodically update the actual file from the buffer.. just a raw idea but all depends on your system needs & requirements.. ..

Similar Messages

  • Flex and keyboard accessibility

    A Flex accessibility issue has come onto my radar.
    It has been noted that tab accessibility only works with [Tab] and [Space] keys and not with [Tab] and [Return].
    Keyboard and Switch accessibility relies on both combinations so this is a major problem.
    Aside from coding up a key-capture system which would be expensive for my projects, is there a simple work around that anyone can suggest?
    Thanks.

    Alex,
         Yes that is the expected behaviour - (as well as [space] being an alternative to [return]).
         What I have found in Flex though is that [Tab] and [Space] is working, but [Return] is failing to dispatch the click event.
         In Flash both methods work, but in Flex the [Return] not working is a huge problem.
         Is this a known issue?, or has my coder set a flag in his compilation that kills the required behaviour?
         Cheers,
    Jon

  • Concurrent  Access on db  ( write and delete )

    Hi,
    I have a btree type of database. I will store the data by 100 sets/sec. I will delete it by time frame between 8 min.
    so At the 8 min i will get a cursor on db and delete 48000 records ( deletion takes 1.2 secs ), meanwhile the set operation is also going on at the above rate.
    but it seems that while doing delete with cursor ( with flag DB_READ_COMMITTED), we cant set the records.
    Is there any workaround for this. Any pointer will be helpful to me.
    Thanks,
    meendar

    Hi Meendar,
    1. I interpret your "set" as "insert" or "put", that is, inserting key/data pairs into db.
    2. While deleting a key/data pair, the page containing that pair is locked, so you can't insert key/data pairs into the same page. So you got to expect some insert decrease
    3. As you are doing frequent insert/delete, I suggest you set the DB_REVSPLITOFF flag to your DB handle. See this link: http://www.oracle.com/technology/documentation/berkeley-db/db/api_c/db_set_flags.html in the DB_REVSPLITOFF flag section
    4. I don't know what kind of key you are using and the order of the delete, but I think if your newly inserted keys are increasing and you always start deleting from the smallest key, the contention can be minimized and concurrency increased, a simple way to do this is use a sequence number as key which always increases, and delete from smallest number.
    5. If you can remove all data at once then start inserting, you can try using DB->truncate, see this : http://www.oracle.com/technology/documentation/berkeley-db/db/api_c/db_truncate.html
    David

  • How to synchronize concurrent access to static data in ABAP Objects

    Hi,
    1) First of all I mwould like to know the scope of static (class-data) data of an ABAP Objects Class: If changing a static data variable is that change visible to all concurrent processes in the same Application Server?
    2) If that is the case. How can concurrent access to such data (that can be shared between many processes) be controlled. In C one could use semaphores and in Java Synchronized methods and the monitor concept. But what controls are available in ABAP for controlling concurrent access to in-memory data?
    Many thanks for your help!
    Regards,
    Christian

    Hello Christian
    Here is an example that shows that the static attributes of a class are not shared between two reports that are linked via SUBMIT statement.
    *& Report  ZUS_SDN_OO_STATIC_ATTRIBUTES
    REPORT  zus_sdn_oo_static_attributes.
    DATA:
      gt_list        TYPE STANDARD TABLE OF abaplist,
      go_static      TYPE REF TO zcl_sdn_static_attributes.
    <i>* CONSTRUCTOR method of class ZCL_SDN_STATIC_ATTRIBUTES:
    **METHOD constructor.
    *** define local data
    **  DATA:
    **    ld_msg    TYPE bapi_msg.
    **  ADD id_count TO md_count.
    **ENDMETHOD.
    * Static public attribute MD_COUNT (type i), initial value = 1</i>
    PARAMETERS:
      p_called(1)  TYPE c  DEFAULT ' ' NO-DISPLAY.
    START-OF-SELECTION.
    <b>* Initial state of static attribute:
    *    zcl_sdn_static_attributes=>md_count = 0</b>
      syst-index = 0.
      WRITE: / syst-index, '. object: static counter=',
               zcl_sdn_static_attributes=>md_count.
      DO 5 TIMES.
    <b>*   Every time sy-index is added to md_count</b>
        CREATE OBJECT go_static
          EXPORTING
            id_count = syst-index.
        WRITE: / syst-index, '. object: static counter=',
                 zcl_sdn_static_attributes=>md_count.
    <b>*   After the 3rd round we start the report again (via SUBMIT)
    *   and return the result via list memory.
    *   If the value of the static attribute is not reset we would
    *   start with initial value of md_count = 7 (1+1+2+3).</b>
        IF ( p_called = ' '  AND
             syst-index = 3 ).
          SUBMIT zus_sdn_oo_static_attributes EXPORTING LIST TO MEMORY
            WITH p_called = 'X'
          AND RETURN.
          CALL FUNCTION 'LIST_FROM_MEMORY'
            TABLES
              listobject = gt_list
            EXCEPTIONS
              not_found  = 1
              OTHERS     = 2.
          IF sy-subrc <> 0.
    * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
          ENDIF.
          CALL FUNCTION 'DISPLAY_LIST'
    *       EXPORTING
    *         FULLSCREEN                  =
    *         CALLER_HANDLES_EVENTS       =
    *         STARTING_X                  = 10
    *         STARTING_Y                  = 10
    *         ENDING_X                    = 60
    *         ENDING_Y                    = 20
    *       IMPORTING
    *         USER_COMMAND                =
            TABLES
              listobject                  = gt_list
            EXCEPTIONS
              empty_list                  = 1
              OTHERS                      = 2.
          IF sy-subrc <> 0.
    * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
          ENDIF.
        ENDIF.
      ENDDO.
    <b>* Result: in the 2nd run of the report (via SUBMIT) we get
    *         the same values for the static counter.</b>
    END-OF-SELECTION.
    Regards
      Uwe

  • Concurrent access

    Hi all,
    I have created a BAPI which is working well.
    However, if I call it more than one times at the same times through RFC (php call), it doesn't work correctly.
    Can anyone help me about concurrent access like this ?
    Thanks,
    Smoltok

    Hello,
    Before the call to your BAPI, call the function module ENQUEUE_<name of the lock object> and pass the parameters to locjk the specific entry. Now all your BAPI amd once done unlock the entry by call the function module DEQUEUE_<name of the lock object>.
    Regards,
    Sachin

  • Concurrent access in Diadem

    How does Dia   dem manages concurrent access?
    If several network users each of them having a floating licence, want to access the same objects (datasets, reports, view layout), can they?
    What happens if they want to load/delete/modify datasets located in the same folder?
    And if they want to write on the same report?
    Thanks

    Hi condor31,
    The only thing which is concurrent is the license file.  The DIAdem installation is still local on the client computer, which means that client A's DIAdem is completely separate from client B's DIAdem, because the two DIAdems are running on completely different computers.  So you don't have to worry about collisions at the REPORT object level at all.  If DIAdem A and DIAdem B attempt to access or update the same external files (layout files, data files, etc.), then the usual file access rules apply.  Both DIAdem A and DIAdem B can load the same layout or data file from computer C, say, and play with them back on computers A and B, respectively.  If DIAdem A then overwrites the layout or data file on computer C with an updated version, DIAdem B doesn't notice, because DIAdem B has those files in memory on computer B.  If DIAdem B subsequently overwrites the layout or data file on computer C, then DIAdem B wins and its version of the file is now on computer C, though DIAdem A doesn't know this has happened.  If you want to protect a particular data or layout file, you can of course set its Windows read-write permissions to read-only, then neither DIAdem A nor DIAdem B will be able to change it, though they will be able to read it and use it and save the edited version to a new data or layout file.
    The one exception to this is if DIAdem A and DIAdem B happen to register-load the same data file, then they each have an implicit link back to the data file on computer C, and neither will be able to change that data file, since register-loading opens the data file read-only and puts a lock on it so that no one can change it while you have it open, but this is a special case.
    Brad Turpin
    DIAdem Product Support Engineer
    National Instruments

  • Lazy loading, EntityManager and concurrency.

    I need advice which strategy to use with lazy loading.
    My project is based on Spring, Struts 2 and Hibernate JPA. I have enough OneToMany and ManyToMany relationships and it's reasonable to use lazy loading. It seems very convenient to load data in Struts Actions with OpenEntityManagerInViewFilter in such way like:
    Style style = user.getStyle()
    But to avoid LazyLoadException I have to use:
    @PersistenceContext(type=PersistenceContextType.EXTENDED)
    Unfortunately, EntityManager in this case becomes not thread-safe, according to Spring docs: "+Extended EntityManagers are not thread-safe, hence they must not be used in concurrently accessed beans (which Spring-managed singletons usually are).+" EXTENDED means that EntityManager is shared in user session and my EntityManager is injected in singleton services.
    I've found this issue when tried to make quick sequential page reloading which call some selects and got:
    java.sql.SQLException: You can't operate on a closed Statement!!!
    What's the best practice in this situation:
    1. Try synchronize session access to EntityManager by myself or put each user database requests in separate queue (something terrible I suppose).
    2. Use HQL queries with join fetch to preload data for access outside of transaction (maybe overhead).
    3. Or something else???
    And why we need EXTENDED context if it's so unreliable??
    Thanks for help!

    Hi
    Do you have the link to the "lazy loading content"?
    I can't find a proper way to do it.
    Thanks

  • How does the Concurrent Access License (CAL) work.

    Description from Google: How does the Concurrent Access License (CAL) work? Xcelsius Engage Server CALs allow for concurrent live data updates inside Xcelsius dashboards. Every time an end-user triggers a Web service inside an Xcelsius dashboard to retrieve live data, a CAL is consumed for a period of 5 minutes. For that period, in a five CAL deployment for example, there will be only four CALs left for consumption. A five CAL deployment could support up to 25 users and additional CALs can be added to support a larger deployment.
    My question is as follows:
    How a five CAL deployment could support up to 25 users and what does it mean. In the first line it is saying that each CAL for a web service is consumed for a period of 5 minutes and how come it can support 25 users concurrently. Did it mean 25 web service connections inside a swf flash file or 25 different users to access a single web service through swf flash.

    The "Set cost controls" concurrent program is used in R12 to mass update the cost control fields on item costs.
    The cost control region is found by going to Cost management >Item costs > Item Costs
    The concurrent program lets you specify which items /costs should be updated by using various parameters such as cost type, item range, category range etc.
    And you can specify the source for the new cost control data and the new value for the fields.
    Hope this answers your question,
    Sandeep Gandhi

  • Concurrent Access for Crystal Reports for eclipse

    Hi,
    May i know is there any concurrent access limitation when viewing the reports in web using JRC?

    The performance does get better after the initialization of the JRC application.  Because it is a pure java application without any reliances on servers for processing power, it will rely on the speed of the application server.  In the initialization, all of the libraries get loaded in to the classpath so this does take some time.  Generally speaking the performance will get better after this because everything has been loaded in to memory; that is until you restart the application server.
    The JRC will be a bit slower when rendering a large report.  Depending on the size of that report, you may be looking at between a few seconds and several minutes in processing time.
    Whether or not you use the JRC will depend on the number of users you anticipate having at any given time for your application as well as the general size of your reports.
    Crystal Reports Server comes with a set number of licenses.  Initially it comes with 5 and you can purchase up to 20 or 25.  This means you could potentially have about the same number of users as you would with a JRC application, but if you have large reports then you could take advantage of the benefit of being able to schedule those reports (set them to run during an off time so your users can view the instances quickly when they need to).  You do have to be more mindful of how you use licenses with this product, since for each user logged on to the system there will be a license used.  There are many additional benefits, including performance that can be had with CR Server.  One key difference would be in the cost of the product:  The JRC is essentially free, whereas CR Server is not. 
    I would suggest reading our product documentation and applying it to your situation to determine what implementation would work best for you.

  • Unexpected error occurred :concurrent access to HashMap attempted

    While runnig the ALBPM 5.7 we got this error. This looks like the ALBPM workflow engine is using HashMap in a unsynchronized way. is this a known issue and is there a work around for this?
    This error happened shortly after a possible blip in the database server, with exception message which said:
    Message:
    The connectivity to the BEA AquaLogic™ BPM Server database has been successful restablished.
    Any thoughts/insight/past experience....
    Looks like we should be using Hashtable instead of a HashMap (or atleast a Synchronized HashMap)
    This is best done at creation time, to prevent accidental unsynchronized access to the map:
    Map m = Collections.synchronizedMap(new HashMap(...));
    See Exception message below
    Message:
    An unexpected error occurred while running an automatic item.
    Details: Connector [ffmaeng_ENGINE_DB_FUEGOLABS_ARG:SQL:Oracle (ALI)] caused an exception when getting a resource of type [0].
    Detail:Connector [ffmaeng_ENGINE_DB_FUEGOLABS_ARG:SQL:Oracle (ALI)] caused an exception when getting a resource of type [0].
    Caused by: concurrent access to HashMap attempted by Thread[ET(49),5,Execution Thread Pool]
    fuego.connector.ConnectorException: Connector [ffmaeng_ENGINE_DB_FUEGOLABS_ARG:SQL:Oracle (ALI)] caused an exception when getting a resource of type [0].
    Detail:Connector [ffmaeng_ENGINE_DB_FUEGOLABS_ARG:SQL:Oracle (ALI)] caused an exception when getting a resource of type [0].
    at fuego.connector.ConnectorException.exceptionOnGetResource(ConnectorException.java:95)
    at fuego.connector.ConnectorTransaction.getResource(ConnectorTransaction.java:285)
    at fuego.connector.JDBCHelper.getConnection(JDBCHelper.java:43)
    at fuego.server.service.EngineConnectorService.getConnection(EngineConnectorService.java:260)
    at fuego.server.service.EngineConnectorService.getEngineConnection(EngineConnectorService.java:160)
    at fuego.transaction.TransactionAction.getEngineHandle(TransactionAction.java:180)
    at fuego.server.execution.EngineExecutionContext.getEngineHandle(EngineExecutionContext.java:352)
    at fuego.server.execution.EngineExecutionContext.persistInstances(EngineExecutionContext.java:1656)
    at fuego.server.execution.EngineExecutionContext.persist(EngineExecutionContext.java:1010)
    at fuego.transaction.TransactionAction.beforeCompletion(TransactionAction.java:133)
    at fuego.connector.ConnectorTransaction.beforeCompletion(ConnectorTransaction.java:654)
    at fuego.connector.ConnectorTransaction.commit(ConnectorTransaction.java:330)
    at fuego.transaction.TransactionAction.commit(TransactionAction.java:303)
    at fuego.transaction.TransactionAction.startBaseTransaction(TransactionAction.java:470)
    at fuego.transaction.TransactionAction.startTransaction(TransactionAction.java:540)
    at fuego.transaction.TransactionAction.start(TransactionAction.java:213)
    at fuego.server.execution.DefaultEngineExecution.executeImmediate(DefaultEngineExecution.java:118)
    at fuego.server.execution.DefaultEngineExecution.executeAutomaticWork(DefaultEngineExecution.java:58)
    at fuego.server.execution.EngineExecution.executeAutomaticWork(EngineExecution.java:42)
    at fuego.server.execution.ToDoItem.executeAutomaticWork(ToDoItem.java:264)
    at fuego.server.execution.ToDoItem.run(ToDoItem.java:531)
    at fuego.component.ExecutionThread.processMessage(ExecutionThread.java:754)
    at fuego.component.ExecutionThread.processBatch(ExecutionThread.java:734)
    at fuego.component.ExecutionThread.doProcessBatch(ExecutionThread.java:140)
    at fuego.component.ExecutionThread.doProcessBatch(ExecutionThread.java:132)
    at fuego.fengine.ToDoQueueThread$PrincipalWrapper.processBatch(ToDoQueueThread.java:432)
    at fuego.component.ExecutionThread.work(ExecutionThread.java:818)
    at fuego.component.ExecutionThread.run(ExecutionThread.java:397)
    Caused by: java.util.ConcurrentModificationException: concurrent access to HashMap attempted by Thread[ET(49),5,Execution Thread Pool]
    at java.util.HashMap.onExit(HashMap.java:226)
    at java.util.HashMap.transfer(HashMap.java:690)
    at java.util.HashMap.resize(HashMap.java:676)
    at java.util.HashMap.addEntry(HashMap.java:1049)
    at java.util.HashMap.put(HashMap.java:561)
    at fuego.lang.cache.CacheStatistic.lock(CacheStatistic.java:246)
    at fuego.lang.cache.TimedMultiValuatedCache.getLocked(TimedMultiValuatedCache.java:282)
    at fuego.lang.cache.TimedPool.get(TimedPool.java:80)
    at fuego.connector.impl.BaseJDBCPooledConnector.getConnection(BaseJDBCPooledConnector.java:140)
    at fuego.connector.impl.BaseJDBCConnector.getResource(BaseJDBCConnector.java:222)
    at fuego.connector.ConnectorTransaction.getResource(ConnectorTransaction.java:280)
    ... 26 more

    Hi BalusC,
    I forgot to tell one thing, the exception what I mentioned is coming very rarely. The application is in Production and they getting this Exception once in 3 months. Is there any way to re-produce the same exception number of times to check whether it has been fixed or not after installing the updates as you said. If you have any information regarding this exception please send me.
    Thank You.

  • Working with Flex and Central

    Hi,
    I am new in Flex and Central and interested in working with
    Flex and Central and I'm currently trying to run one of the samples
    from the "Central Flex SDK", the HelloFlexCentral. I have an error
    when trying to run the application. The "import.mx.central" line is
    not recognized.
    I don't understand how to connect Flex and Central. My
    questions are :
    - Do I have to install a JRun environment to run/develop this
    kind of application or can I develop the application without a JRun
    Environment ?
    - Can I deploy my application on a IIS server for example
    (and then all the users will install it in central by accessing
    this webserver) ?
    - Where do I have to put all the "CentralIntrinsics" stuff to
    avoid this error I encounter ?
    Thank you for your answers.
    Olivier

    If you want three distinct notes, I suggest you cut it into three samples, then using flex pitch drag the notes to the pitches you desire. Keep in mind that the farther away a note is from it's actual sampled pitch, the worse it's quality will be.

  • Weak and concurrent hash map for caching

    Hello,
    I have written a very simple cache class with both weakness and concurrency benefits. This class is intended to be used as a weak cache in "hot redeploy" capable servers (JBoss or any other).
    My implementation uses the (problematic) "double-check" pattern with a reentrant lock and encapsulates a WeakHashMap with WeakReference values (to avoid circular key/value references). Here is the code:
    public interface ValueCreator<V> {
         public V create();
    public class WeakCache<K, V> {
         private final Lock lock = new ReentrantLock();
         private final Map<K, WeakReference<V>> weakMap;
         public WeakCache() {
              this(16);
         public WeakCache(int initialCapacity) {
              this(initialCapacity, 0.75F);
         public WeakCache(int initialCapacity, float loadFactor) {
              weakMap = new WeakHashMap<K, WeakReference<V>>(initialCapacity, loadFactor);
         public V get(K key, ValueCreator<V> creator) {
              WeakReference<V> ref = weakMap.get(key);
              if (ref == null) {
                   lock.lock();
                   try {
                        ref = weakMap.get(key);
                        if (ref == null) {
                             ref = new WeakReference<V>(creator.create());
                             weakMap.put(key, ref);
                   } finally {
                        lock.unlock();
              return ref.get();
         }One usage of this cache is for session ejb3 lookup:
    private static final WeakCache<Class, Object> LOOKUP_CACHE = new WeakCache<Class, Object>();
    public static <T> T lookup(final Class<T> serviceClass) {
         T service = (T)LOOKUP_CACHE.get(serviceClass,
              new ValueCreator<Object>() {
                   public T create() {
                        String lookup = "myapp/" + serviceClass.getSimpleName() + "/local";
                        try {
                             return (T)(new InitialContext()).lookup(lookup);
                        } catch (NamingException e) {
                             throw new RuntimeException("Could not lookup EJB " + serviceClass + ": " + lookup, e);
         return service;
    ...2 questions:
    1. Is there any issue with concurrent access to this cache ?
    2. What happens exactly when the garbage collector wants to free memory with a map with both weak keys and values ?
    Some limited tests show that the behavior of this cache fits my needs: the lookup cache is cleared on redeploy and it keeps its key/values pairs otherwise.
    Thanks for any comments.
    Message was edited by:
    fwolff999

    I know that DCL is broken under certain circumstances (but I have read it may work with modern JVM and the use of volatile variables for example).
    So: is it broken with this specific implementation and if so, what should be done to make it work ?
    The getter method is potentially setting a value (like in ConcurrentHashMap.putIfAbsent) and it uses a ValueCreator in order to actually create the value only if it is not already present in the map.

  • Trusted Local Flex swf files access to internet?

    Hi All,
    We're developing a desktop game client using Flex and require
    a local swf file to make loader calls to the Internet. I know about
    the sandbox issues but have read that placing a text file such as
    myflexapp.cfg into the
    C:\windows\system32\Macromed\Flash\FlashPlayerTrust directory can
    let the Flash player know about swf files that are trusted. The
    file myflexapp.cfg has the absolute path to the directory location
    of my Flex generated swf file - which is the debug directory of my
    Flex project. I also tried targeting the swf file explicitly rather
    than the entire directory.
    When I test, the swf file continues to just quietly fail to
    load any resources from the internet. Also, I do not get any
    warning dialogs telling me that a swf file is trying to access the
    internet and if I wish to allow it. Have I missed something? has
    anyone had any success with using the Global Flash Player Trust
    directory to allow a local Flex generated swf file access to the
    internet? Also I cannot see the mms.cfg file in the
    C:\windows\system32\Macromed\Flash directory as is described in the
    Adobe Flex 3 Help chapter "Overview of permission controls".
    Any thoughts would be greatly appreciated! Thanks in advance
    Regards
    Tom

    hi - does this always work? i have the same question as wanderz. i live in ethiopia where the internet connection is unreliable and want a robust local wirless network that will allow my devices to communicate with each other and some file sharing. ive used a router in the past but, for instance, when the internet connection goes down my ipad no longer works as a remote control for my mac mini
    really grateful for any suggestions

  • Flex and large real world b2b applications

    Hi all.
    I am new to Flex. I am acting in an architect capacity to
    review the potential in Flex to become the client presentation
    layer for a classic ASP?SQL application. I am seeking a
    cross-browser, cross-platform, zero-installation,
    just-in-time-delivery, rich user experience web application client.
    I think I'm in the right place.
    My aim in creating this post is to solicit feedback on
    approaches and techniques on how to plan and execute a major-system
    re-write into Flex, what is in-scope and what is not, etc. With the
    Flex team putting the final touches into release 1.0, this might be
    considered a bit too soon to ask these questions, but worthy of
    response if Flex is to be take as anything more than
    ‘something to do with that flash games thing that my kids
    play on’.
    One of the key issues for my client company, which I believe
    will be typical for many in the same situation, is to retain
    current investment in the system by re-use of the business logic
    and DB access layers. Basically the back-end is not broken and is
    well prepared for generation of XML instead of HTML. What is
    considered weak, by nature of the web browsers poor user interface
    abilities, is the client side of the system.
    The company has a small, loyal and technically able workforce
    who are very familiar with the current system, which is written
    using classic ASP and SQL Server , HTML and JavaScript. The company
    is risk and runaway cost averse. It has held back from jumping into
    .Net for fear of getting into a costly 5 year revision cycle as
    .Net matures. The AJAX approach is another potentially fruitful
    client-only route but is likely to be a painful way forward as
    there is no major technology vendor leading the charge on
    standards. A Java approach would meet the user interface
    improvement needs but would require replacing or retraining the
    current workforce and a paradigm shift in the technology losing all
    of the middle-tier database logic.
    The ideal is a stable zero-installation web-client that can
    communicate with a server back-end consisting of the same, or
    slightly modified or wrapped business logic and db configuration as
    the current system and that could then run side-by-side during
    switchover.
    If this is possible then risk adverse organisations have a
    way forward.
    The problem is, that from several docs and articles on
    Adobe's web site, there seems to be some careful but vague
    positioning of the capability of Flex in terms of application
    complexity and depth. Also, the demo's that are available seem to
    be quite lightweight compared to real-world needs. These apps
    ‘seem’ to work in a mode where the entire application
    is downloaded in one-hit at user initiation. The assumption is that
    the user will be prepared to pay some wait time for a better UX,
    but there must be a limit.
    Question:: How does one go about crafting in Flex what would
    have been a 300-page website when produced in HTML? Is this
    practical? To create a download containing the drawing instructions
    and page-logic for 300 pages would probably cause such a delay at
    user-initiation that it would not be practical.
    There are many further questions that span from here, but
    lets see what we get back from the post so far.
    Looking forward to reading responses.
    J.

    You're absolutely in the right place (IMO)...
    Cynergy Systems can help you get started. We are a Flex
    Alliance partner,
    and have developed some extremely complex RIAs with Flex.
    Contact our VP of Consulting - Dave Wolf for more info:
    [email protected]
    Paul Horan
    Cynergy Systems, Inc.
    Macromedia Flex Alliance Partner
    http://www.cynergysystems.com
    Office: 866-CYNERGY
    "TKJames" <[email protected]> wrote in
    message
    news:[email protected]...
    > Hi all.
    >
    > I am new to Flex. I am acting in an architect capacity
    to review the
    > potential
    > in Flex to become the client presentation layer for a
    classic ASP?SQL
    > application. I am seeking a cross-browser,
    cross-platform,
    > zero-installation,
    > just-in-time-delivery, rich user experience web
    application client. I
    > think I'm
    > in the right place.
    >
    > My aim in creating this post is to solicit feedback on
    approaches and
    > techniques on how to plan and execute a major-system
    re-write into Flex,
    > what
    > is in-scope and what is not, etc. With the Flex team
    putting the final
    > touches
    > into release 1.0, this might be considered a bit too
    soon to ask these
    > questions, but worthy of response if Flex is to be take
    as anything more
    > than
    > ?something to do with that flash games thing that my
    kids play on?.
    >
    > One of the key issues for my client company, which I
    believe will be
    > typical
    > for many in the same situation, is to retain current
    investment in the
    > system
    > by re-use of the business logic and DB access layers.
    Basically the
    > back-end is
    > not broken and is well prepared for generation of XML
    instead of HTML.
    > What is
    > considered weak, by nature of the web browsers poor user
    interface
    > abilities,
    > is the client side of the system.
    >
    > The company has a small, loyal and technically able
    workforce who are very
    > familiar with the current system, which is written using
    classic ASP and
    > SQL
    > Server , HTML and JavaScript. The company is risk and
    runaway cost
    > averse. It
    > has held back from jumping into .Net for fear of getting
    into a costly 5
    > year
    > revision cycle as .Net matures. The AJAX approach is
    another potentially
    > fruitful client-only route but is likely to be a painful
    way forward as
    > there
    > is no major technology vendor leading the charge on
    standards. A Java
    > approach
    > would meet the user interface improvement needs but
    would require
    > replacing or
    > retraining the current workforce and a paradigm shift in
    the technology
    > losing
    > all of the middle-tier database logic.
    >
    > The ideal is a stable zero-installation web-client that
    can communicate
    > with a
    > server back-end consisting of the same, or slightly
    modified or wrapped
    > business logic and db configuration as the current
    system and that could
    > then
    > run side-by-side during switchover.
    >
    > If this is possible then risk adverse organisations have
    a way forward.
    >
    > The problem is, that from several docs and articles on
    Adobe's web site,
    > there
    > seems to be some careful but vague positioning of the
    capability of Flex
    > in
    > terms of application complexity and depth. Also, the
    demo's that are
    > available
    > seem to be quite lightweight compared to real-world
    needs. These apps
    > ?seem? to
    > work in a mode where the entire application is
    downloaded in one-hit at
    > user
    > initiation. The assumption is that the user will be
    prepared to pay some
    > wait
    > time for a better UX, but there must be a limit.
    >
    >
    Question:: How does one go about crafting in Flex what would
    have
    > been
    > a 300-page website when produced in HTML? Is this
    practical? To create a
    > download containing the drawing instructions and
    page-logic for 300 pages
    > would
    > probably cause such a delay at user-initiation that it
    would not be
    > practical.
    >
    > There are many further questions that span from here,
    but lets see what we
    > get
    > back from the post so far.
    >
    > Looking forward to reading responses.
    >
    > J.
    >
    >

  • Segment fault in concurrent access to BDB

    Hi, All
    I am extending a single thread BDB application to allow concurrent
    access to the DB from 2 threads, transaction is not needed.
    The environment is opened with the flag (DB_CREATE | DB_INIT_MPOOL | DB_INIT_LOCK).
    Then I open a new DB under the same directory in each thread, and
    modify the DB simultaneously.  my expectation was that each thread
    will not conflict with each other and in turn improve the
    throughput. While the program constantly crashed because of segment
    fault in file (src/lock/lock.c:832, both threads crashed on this
    line).
    I inspected the back trace, the only suspecious thing I found is that
    the 2 threads are using the same locker object[1], so I'm wondering if
    anyone has similar experience implementing concurrent BDB
    applications? And what's possible cause of my problem and possible
    fixes? Thanks.
    [1]
    thread 1: #0  0x00002aaab3651a7f in __lock_get_internal (lt=0x13cbda0, sh_locker=0x2aab0119f258, flags=4, obj=0x1c55650, lock_mode=DB_LOCK_WRITE, timeout=0, lock=0x2aab449fe8a0)
        at ../src/lock/lock.c:832
    thread 2: #0  0x00002aaab3651a7f in __lock_get_internal (lt=0x13cbda0, sh_locker=0x2aab0119f258, flags=4, obj=0x13da640, lock_mode=DB_LOCK_WRITE, timeout=0, lock=0x2aab3ffc78a0)
        at ../src/lock/lock.c:832

    Hi, Mike
    Thanks for the timely reply!
    I referred to the Berkeley DB Transaction Guide, while the doc does not mention the consequence if you violate the scenario requirement. 
    1. I choose the default Data Store model, and my program will allow multiple writers, what's the expected behavior? 2 threads using the same locker compete different locks is supposed to segment fault?  I'm also curious about how a put(key, data) correspond to a locker, keys in the memory page map to the same locker?
    2. I try to enable concurrent reader & writer without transaction, while the guide assumes transaction is enable, is Data Store able to achieve this? Or at least Concurrent Data Store is required?
    Thank you very much!

Maybe you are looking for

  • Report based on VA21/VA23

    Hello, I am a basic SAP user. I've used the standard Tcodes and have a general understanding. I want to find a way to create a report based on quotes on file for all customers and be able to select what information this report pulls. For example, I w

  • Migrate Solaris 8 to Solaris 10

    Hi everyone I am looking for some help on how to migrate Solaris 8 to a Solaris 10 box. Is there a doc. that explains the process? Thank you

  • Bank Sun Accounts

    Hi, I am trying to set up Automatic Payment Program for Vendor Payments. Where the sub accounts used in APP and how are they configured? Thanks in advance Kavita.

  • Radix sort help again

    I created a linked list and are now trying to pass a word into a radix sort (which works outside of this particular program) so that it will sort the words and place them back into the appropriate places in the list. Just for the record, I haven't re

  • Call a external SWF by press the button within another SWF file but the second SWF file play Externely

    Hello Guyz. i am working on Macromedia Flash 8 and i just want to call a external SWF when i press the button within another SWF file.......but the second SWF file play Externely............can any one knows the code.... AS2