Publish/Subscribe Technology for StarTeam A Borland White Paper By the Development Resources Platform Team March, 2003
Contents ebusiness Challenges... 3 /Server Challenges... 3 The StarTeam Solution... 4 Introducing Publish/Subscribe Architecture for StarTeam... 4 Reducing Server Load... 7 Summary... 8 2
ebusiness Challenges As business needs grow over time, so does the complexity of applications. The volume of data swells as relatively small teams become larger teams that are geographically dispersed, using a diverse set of software tools in support of internal systems, web content, and a variety of customer deliverables. The data transaction volume accelerates as telecommuters, off-shore developers, multiple divisions, and contract programmers produce and require access to ever greater amounts of digital assets. These digital assets can range from source code and graphics to reports and contracts, from change requests and project plans to discussion threads and task assignments. Managing these diverse business needs require systems and strategy that take full advantage of all available resources. /Server Challenges /server architecture is at the heart of many modern business software applications. The technology has survived the test of time to be widely regarded as the way to network in the enterprise. However, traditional client/server architectures have a drawback in that every client computer has to independently initiate negotiations with the central server(s), and each server responds to client requests on a case-by-case basis. The result is that servers often spend a good amount of processing time and resources servicing the same requests over and over again. For example, when a new file is revision is checked-in or a change request is modified, every user must initiate a query to the server to get the latest information, and the server must locate and provide the same data many times in response to each user s request. This client/server consequence can result in reduced productivity that may necessitate costly hardware upgrades. 3
The StarTeam Solution A Publish/Subscribe Architecture for StarTeam StarTeam Server incorporates a phased approach for StarTeam to deliver real-time data delivery with a hybrid architecture that moves beyond the limitations of the classic client/server model. This is accomplished using publish/subscribe technology to deliver data to the client computer as it is created. Publish/subscribe is a form of one-to-many data communication where a server (the publisher) broadcasts data to interested clients (the subscribers). This approach better meets the needs of larger numbers of users with greater data transaction volumes, because the server pushes data to the clients in a single transaction. Publish/subscribe has proven its ability to speed communications for high volume applications such as those serving airline reservation and stock exchange customers, and it now is available in StarTeam Server. StarTeam Server uses an event API to monitor the StarTeam Server for new data. When an event such as an updated file revision, a new project folder, or a new or updated change request occurs, it notifies an module called the Event Transmitter. The Event Transmitter captures the data and then formats and encrypts it. Then the Event Transmitter pushes the data to another process called the Message Broker. The Message Broker is an independent application that can be operating on another computer. The Message Broker then pushes the data to both StarTeam client computers and to other Message Brokers if they are present. The data pushed to StarTeam client computers is stored in an advanced client cache where it can update the client GUI immediately or on demand. The advanced cache facility is a built-in StarTeam client feature that is activated automatically when an -enabled StarTeam Server is detected. Data also can be transmitted by an Message Broker to other Message Brokers to populate the caches of clients located in geographically dispersed locations. This allows the same benefits for users located in other offices or even at remote locations using the Internet. StarTeam s accessing an -enabled StarTeam server can operate either in enhanced mode or in traditional, non- enhanced mode. This is illustrated in Figure 1. 4
Telecommuter home offices Branch office Advanced Cache Main office Server- pushed events Message Broker Server Database StarTeam Server Event API Event Transmitter Message Broker Broker-to to-broker forwarding Figure 1 Example -enhanced StarTeam Server Figure 1 represents how an Event Transmitter at a main office listens to a StarTeam Server s Event API and then forwards the published data to an Message Broker located on the LAN. The main office Message Broker then pushes the data to the StarTeam clients within the LAN. At the same time, the main office Message Broker is configured to forward messages to another Message Broker located at a branch office that is connected through a high-speed Internet connection. Other StarTeam users who are not located at the main or branch offices can connect via the Internet using DSL, cable modem, or a lower bandwidth connection. StarTeam clients are automatically -enabled when they connect to an -enabled StarTeam Server and can access an available Message Broker. For environments with a large number of clients, provides an additional module known as the Multicast Service. This module allows clients to receive events using IP multicast messaging, thereby reducing overall network traffic. An example of this configuration is shown in Figure 2. 5
Telecommuter home offices Multicast broadcast Branch office Main office Server Database StarTeam Server Event Transmitter Multicast Service Figure 2 An -enabled StarTeam Server with Multicast Service In this example, StarTeam clients utilize an Multicast Service instead of a Message Broker. The Multicast Service broadcasts each message once, which reaches each client via IP multicast messaging. Even StarTeam clients connected from home offices can use multicast messaging if, for example, they are connected to the corporate network via a VPN that supports IP multicast. Additional features of the Starbase Server include:! Fully encrypted data transmission: client computers receive unique encryption keys for each session. Data transmission is secured using industry standard RSA strong encryption.! Standard IP communications: standard unicast and multicast protocols allow remote sites to use over the Internet with ease.! StarTeam clients automatically locate and connect to available Message Brokers: connection profiles allow no-hassle configuration without defining additional server parameters on the client. 6
! Publish/subscribe is used for project metadata: new and updated project folders, file status, file locking, change requests, tasks, topics and other update events are broadcast to StarTeam clients as soon as they occur. Reducing Server Load In many cases, a high percentage of StarTeam Server commands are the result of metadata refreshes where individual StarTeam clients automatically and manually seek updates on items such as file status and updated change requests as a normal part of operations. Under test lab conditions simulating a typical production environment, it was found that StarTeam Server reduced the overall number of server commands processed by approximately one-third. This is shown graphically in Figure 3. Total Server Load 100% 100% 80% 64% 60% 40% 20% 0% Standard Figure 3 Example StarTeam Server Load Reduction with As the number of StarTeam Server commands decreases on a per client basis, the overall capacity potential of the StarTeam Server increases. This is the result of each client being less reliant on traditional client/server calls and taking advantage of StarTeam Server s publish/subscribe architecture. The result is greater overall server availability for a given 7
period of time and a given number of clients. The increased capacity of the StarTeam Server operating as a StarTeam Server is illustrated in Figure 4. Server Capacity Potential Percent of Server Capacity Used 100% 80% 60% 40% 20% 0% 0 n Number of s Stardard Figure 4 Example Increased Server Capacity with Summary StarTeam Server increases StarTeam Server scalability while improving StarTeam client responsiveness using advanced push caching technology. Publish/subscribe messaging allows StarTeam Server components to deliver new and updated content to StarTeam clients asynchronously. This event-based broadcasting effectively pre-charges client caches even before information is first requested. In addition to improved responsiveness, publish/subscribe provides StarTeam clients with new event-based notifications such as instant refresh, which is more immediate than timed refresh mechanisms. The reduction in client/server requests afforded by StarTeam Server frees up StarTeam Server resources. The Starteam Server Message Broker and Multicast Service components provide flexible configuration choices to meet the network topology and client usage patterns of a wide range of environments. 8
Made in Borland Copyright 2002 Borland Software Corporation. All rights reserved. All Borland brand and product names are trademarks or registered trademarks of Borland Software Corporation in the United States and other countries. Microsoft, Windows, and other Microsoft product names are trademarks or registered trademarks of Microsoft Corporation in the U.S. and other countries. Linux is a registered trademark of Linus Torvalds. All other marks are the property of their respective owners. Corporate Headquarters: 100 Enterprise Way, Scotts Valley, CA 95066-3249 831-431-1000 www.borland.com Offices in: Australia, Brazil, Canada, China, Czech Republic, France, Germany, Hong Kong, Hungary, India, Ireland, Italy, Japan, Korea, the Netherlands, New Zealand, Russia, Singapore, Spain, Sweden, Taiwan, the United Kingdom, and the United States. 9