Discussions

General J2EE: Design problem

  1. Design problem (4 messages)

    hi,

    I have a solution question.

    We are developing a new system for managing and delivering media files i.e. pictures, video and audio. Not only binary data. We are using J2EE technology. A part of the data stored in the db are the media meta data. To each media meta data belongs binary files, which we store in the file system. On the other side our system will be used to deliver meta data and binary data to other systems. Some binary data will be converted on the fly (i.e. scale pictures, filters on pictures, ...) and other which take long time will be converted in a batch process and delivered by anding the process.

    We have a problem with the on the fly solution. Have anybody implement similar system and can give some tips how to do this? Should this be done outside of the application server or can this be done inside?


    Regards,
    Rafal

    Threaded Messages (4)

  2. Design problem[ Go to top ]

    If you can outline more clearly the issues you are facing I'll be in a position to help. We have a system which does something very similar.
  3. Design problem[ Go to top ]

    If you can outline more clearly the issues you are facing I'll be in a position to help. We have a system which does something very similar.


    I would try.

    We have a system for managing mutimedia content. Each "mandant" can create own groups, which have specific rights for the implemented features. Then the "mandant" can register own users which belogs to the groups and can:
    - create/edit/assign category tries for multimedia content
    - create/edit/assign keywords to multimedia content
    - create/edit multimedia content
      * movies
      * audio
      * pictures

    Other system can than gets some content which has deliver status. But if the other system need for i.e. picture in other resolution (320x256 instead of 1024x768) then our system should scale our system store it with specific meta data (maybe others need the same resolution) and deliver it to the system. This can be done on the fly. convertig movies to other codes could be a long process, which will be done in a batch process in the background.

    Is this more clear?


    Regards,
    Rafal
  4. Design problem[ Go to top ]

    Ok , so if I understand your position now, the issue that you are trying to resolve is to handle the Time lag for on the fly provisioning of the content.

    Now a couple of things to ponder over are

    1) Do you need to deliver the content to the client on demand even if the appropriate media type is not available or ready based on the conversion ?

    2) Can the user request for content and it be delivered to them offline ?


    If option 2 is what you are looking for you are in luck ;). The request can target an operational command in the system asynchronously and provide the User with a token. The user can query based on the token to check if the system has the media prepared and deliver the same. No realy issues here.


    If option 1 is what is required, well there are a couple of things. I am going to make an assumption here that the content is delivered to the client through a stream rather than the EJB layer. In this approach you can build your conversion engine as a stream filter and pipe the content through the filter to the user so that you can get dynamic delivery.

    Options to cache this on the server end also - Stream filter write out to a local and remote stream simultaneously, pottentiall issue is bandwidth consumption. The second option is to dynamically stream to the client and create an offline process on the server end to cache the media locally. This way even if the client fails the download the server would have already cached the copy and will prevent the on the fly transition again.

    Hope this helps as a pointer.
  5. Design problem[ Go to top ]

    Ok , so if I understand your position now, the issue that you are trying to resolve is to handle the Time lag for on the fly provisioning of the content.

    >
    > Now a couple of things to ponder over are
    >
    > 1) Do you need to deliver the content to the client on demand even if the appropriate media type is not available or ready based on the conversion ?

    Existing media files on demand, small not existing should be converted on demand and bigger will be delivered later.

    > 2) Can the user request for content and it be delivered to them offline ?

    :) no.

    >
    >
    > If option 2 is what you are looking for you are in luck ;). The request can target an operational command in the system asynchronously and provide the User with a token. The user can query based on the token to check if the system has the media prepared and deliver the same. No realy issues here.
    >
    >
    > If option 1 is what is required, well there are a couple of things. I am going to make an assumption here that the content is delivered to the client through a stream rather than the EJB layer. In this approach you can build your conversion engine as a stream filter and pipe the content through the filter to the user so that you can get dynamic delivery.
    >
    > Options to cache this on the server end also - Stream filter write out to a local and remote stream simultaneously, pottentiall issue is bandwidth consumption. The second option is to dynamically stream to the client and create an offline process on the server end to cache the media locally. This way even if the client fails the download the server would have already cached the copy and will prevent the on the fly transition again.
    >
    > Hope this helps as a pointer.

    Yep. Thanks.


    Regards,
    Rafal