How the Pub-Sub Server Works
12.1.1 How the Pub-Sub Server Works
There is a one-to-one relationship between a Web application and a pub-sub server; in other words, each Web application has access to one unique pub-sub server. Each pub-sub server has its own list of channels, which means that there can be channels with the same name used in different Web applications within the same enterprise application. The Web application uses a context object to get a handle to its associated pub-sub server. The pub-sub server itself is implemented as a Java EE library that its associated Web application references in its weblogic.xml deployment descriptor. The pub-sub server has its own deployment descriptor, called weblogic-pubsub.xml, that lives in the same directory as other Web application descriptors WEB-INF. Developers use the descriptor to configure initial channels for the pub-sub server, specify the transport and message handlers, and set up user authentication and authorization. Web application developers can optionally use server-side pub-sub APIs in their servlets or Java classes to get the pub-sub server context, manage channels, and manage the incoming and outgoing messages to and from the clients. It is not required, however, to use server-side pub-sub APIs. For example, developers can use the pub-sub server to implement a chat feature in their Web application. In a typical chat application, clients perform all the subscribe and publish tasks themselves without any need for additional server-side coding. If, however, developers need the pub-sub server to perform additional steps, such as monitoring, collecting, or interpreting incoming messages from clients, then they must use the server-side pub-sub server APIs to program this functionality. For Web 2.0 Ajax clients to communicate with the pub-sub server, the clients need a JavaScript library that supports the Bayeux protocol. The pub-sub server provides the Dojo JavaScript library implementation as part of its distribution sample. The Dojo JavaScript library provides four different transports, of which two are supported by the WebLogic pub-sub server: long-polling and callback-polling. Using the HTTP Publish-Subscribe Server 12-3 The pub-sub server can run in a clustered environment by using JMS to make the messages shareable between nodes of the cluster. In this case, the pub-sub server essentially delegates message handling to a JMS provider. You can also specify that messages be persisted to physical storage such as a file system or database. By default messages are not persisted. The following sections provide additional information about the pub-sub server: ■ Section 12.1.2, ChannelsParts
» Oracle Fusion Middleware Online Documentation Library
» Document Scope and Audience Guide To This Document
» Servlets and Java EE What You Can Do with Servlets
» JSPs and Java EE What You Can Do with JSPs Overview of How JSP Requests Are Handled
» Related Documentation New and Changed Features In This Release Web Application Security
» Avoiding Session Fixation Attacks in Programmatic Login Avoiding Redirection Attacks
» Step One: Create the Enterprise Application Wrapper Step Two: Create the Web Application
» Servlet Mapping Configuring Servlets
» Setting Up a Default Servlet Servlet Initialization Attributes
» Writing a Simple HTTP Servlet
» Advanced Features Complete HelloWorldServlet Example
» Usage Tracking a Request Handle Footprint
» WebLogic JSP and Java EE Configuring Java Server Pages JSPs Registering a JSP as a Servlet
» Configuring JSP Tag Libraries Configuring Welcome Files
» Customizing HTTP Error Responses Determining the Encoding of an HTTP Request
» JavaServer Faces JSF JavaServer Pages Standard Tag Libraries JSTL
» Referencing External EJBs More about the ejb-ref Elements
» Referencing Application-Scoped EJBs Oracle Fusion Middleware Online Documentation Library
» Configuring WebLogic Server to Use CGI
» Web Component Classes That Support Annotations
» Initializing a Servlet when WebLogic Server Starts Overriding the init Method
» Serving Resources from the CLASSPATH with the ClasspathServlet Providing an HTTP Response
» Methods for Using the HTTP Request Example: Retrieving Input by Using Query Parameters
» Setting Cookies in an HTTP Servlet Retrieving Cookies in an HTTP Servlet
» Forwarding a Request Including a Request
» Setting Up a Proxy to a Secondary Web Server
» Sample Deployment Descriptor for the Proxy Servlet
» Using WebLogic Services from an HTTP Servlet Threading Issues in HTTP Servlets Clustering Servlets
» Referencing a Servlet in a Web Application URL Pattern Matching
» doRequest doResponse doTimeOut Abstract Asynchronous Servlet
» Future Response Servlet A Future Response Model for HTTP Servlets
» HTTP Session Properties Session Timeout Configuring WebLogic Server Session Cookies
» Configuring Application Cookies That Outlive a Session Logging Out
» Configuring JDBC-based Persistent Storage
» Caching and Database Updates for JDBC Session Persistence Using Cookie-Based Session Persistence
» Coding Guidelines for URL Rewriting URL Rewriting and Wireless Access Protocol WAP
» A History of Session Tracking Tracking a Session with an HttpSession Object
» Lifetime of a Session How Session Tracking Works
» Detecting the Start of a Session Setting and Getting Session NameValue Attributes
» Configuring Session Tracking Using URL Rewriting Instead of Cookies
» Scenarios to Avoid When Using Sessions Use Serializable Attribute Values
» How the Pub-Sub Server Works
» Channels Message Delivery and Order of Delivery Guarantee
» Creating the weblogic-pubsub.xml File
» Overview of the Main API Classes and Interfaces
» Getting a Pub-Sub Server Instance and Creating a Local Client Publishing Messages to a Channel
» Programming the Message Filter Class Configuring the Message Filter Chain
» Updating a Browser Client to Communicate with the Pub-Sub Server
» Overriding the Default Servlet Mapping of the pubsub Java EE Library
» Specify Access to Channel Operations Restricting Access to All Channel Operations
» Map Roles to Principals Configure SSL for Pub-Sub Communication
» Use AuthCookieEnabled to Access Resources Locking Down the Pub-Sub Server
» Configuring JMS as a Handler
» Configuring Persistent Channels Advanced Topic: Persisting Messages to Physical Storage
» Declarations Scriptlets Oracle Fusion Middleware Online Documentation Library
» Expressions Example of a JSP with HTML and Embedded Java
» Instantiating the JavaBean Object Doing Setup Work at JavaBean Instantiation
» Forwarding Requests Including Requests
» Expressions and Attribute Values
» JSP Expression Language Implicit Objects
» Literals Errors, Warnings, Default Values Operators Operator Precedence
» JSP Compiler Syntax JSP Compiler Options
» Using the JSPClassServlet Precompiling JSPs
» Configuring a Filter Configuring Filters
» Writing a Filter Class Filtering the Servlet Response Object Additional Resources
» Overview of WebLogic JSP Form Validation Tags Using WebLogic JSP Form Validation Tags in a JSP
» Sample JSP with Validator Tags
» Refreshing a Cache Flushing a Cache
» Repeat Tag Overview of the WebLogic EJB-to-JSP Integration Tool
» Basic Operation Interface Source Files
» Build Options Panel Troubleshooting
Show more