{section} {column:width=70%} h4. General Use case #  A new user visits the ecommerce site # This new user enters a microblog message with a question to the administrator of the site. # One of the system administrators answers the microblog question as quick as possible # Further conversation follows. h4. Technical Prerequisites * You would need an Apache ESME instance (either on a separate server or in the same container).  * You would need at least two users (administrator, newuser) "newuser" would *not be* associated with a particular user but would be more of an anonymous user.  If you had multiple unauthenticated users using the same  e-commerce site, then they would also see / join the same conversation. Depending on the question, they might be able to help the new user as well. h4. Technical Description The basic idea is that an OFBiz UI will be created to capsule the Apache ESME functionality h4. Apache ESME as separate component {gliffy:name=ESME - OFBiz collaboration - Separate|space=ESME|page=ESME as Chat+ in OfBiz|pageid=9373498|align=left|size=M} h4. Apache ESME as OFBiz component h5. Advantges * let it use the OFBiz authentication * allows Apache ESME to use essential system functions like system messages and ease of installation h2. Prototype # Deploy Apache ESME in your existing tomcat # Create two users in Apache ESME: newuser and administrator.  # Create a very rough OfBiz UI component to read and post Apache ESME messages. This is the UI for new users. Use the token for the new users in this UI # The administrator could use the same OfBiz UI component but you have to set the token to the administrator user.  # If you don't want to deploy Apache ESME locally, then you could use [our test server in the cloud|http://esmecloudserverapache.dickhirsch.staxapps.net/] h2. Thoughts on authentication Obviously, the goal would be to have some sort of a common authentication between Apache ESME and OFBiz. In the basic use case, all you really need are two users - anonymous and administrator. Anonymous would be for those users who are not administrators. Since I'm assuming that chat would be available for all users, this would mean that users would see the conversations between other users and the administrators. This would also mean that all users could participate in such conversations. In future iterations of the OfBiz / Apache ESME collaboration, other options would be available.  Currently, Apache ESME has its own user administration and can't use the user administration from the container. We are looking at various means to overcome this gap but we haven't had time to implement them yet. This means that initially there would be a double administration of users. Adding, deleting users and changing user properties would have to occur twice - once in Apache ESME and once in OfBiz.  One way to get around this would be to expand our API to deal with such administrative tasks. Since our APis are based on tokens, you would need to store a token in the user object in OFBiz that could later be used when making calls to Apache ESME. {column} {column:width=30%} *Contents* {toc} *Iterations* # Use Apache ESME as a separate component # Make Apache ESME an OFBiz component {column} {section}