50 %
50 %
Information about chopen98

Published on April 8, 2008

Author: Valeria


iBus - Ein Software Bus für Java Komponenten:  iBus - Ein Software Bus für Java Komponenten Dr. Silvano Maffeis SoftWired AG, Zürich Trends:  Trends The Real-Time Enterprise Competitive advantage by increasing speed of business activity Immediately process changes in information Componentware Distributed information systems, software composition JavaBeans, ActiveX, CORBA Ubiquitous computing Intelligent watches, mobile phones, PDAs, home appliances Exchange events via infrared, satellite and cellular channels Need: Middleware which is ...:  Need: Middleware which is ... Component based Platform independent Light-weight Flexible and “event-oriented” Extensible at development-time and at run-time (!) Pure Java Software Bus Works like Radio Transmission...:  Works like Radio Transmission... Tuner 2 Tuner 1 Station A Station B “The Ether” Radio Channels Publish/Subscribe Communication:  subscribe (“SUN”); subscribe (“AAPL”); subscribe (“SUN”); subscribe (“AAPL”); subscribe (“AAPL”); subscribe (“SUN”); publish(“SUN”, 43.0); publish(“SUN”, 42.7); publish (“AAPL”, 29.2); publish(“AAPL”, 29.3); subscribe (“AAPL”); subscribe (“SUN”); Intranet Publish/Subscribe Communication Differences to CORBA and RMI:  Differences to CORBA and RMI Group communication vs. point-to-point Channel subscription vs. resolving references Spontaneous networking, “plug-and-play” Self-describing event objects vs. static IDL interfaces Lose coupling, no import of IDL interfaces “Software medium” abstraction “Hub-and-Spoke” Architecture:  “Hub-and-Spoke” Architecture Employs a network centric broker application All events are passed through the broker Maintains subscriptions Distributes events Broker TCP TCP TCP TCP TCP “Multicast Bus” Architecture:  “Multicast Bus” Architecture A fully distributed and scalable architecture No broker processes Events are transmitted by IP multicast IP Multicast Details:  IP Multicast Details IEEE 802 LANs (Ethernet, Token Ring, FDDI) support multicast and broadcast A “low-level software bus” Most efficient dissemination of information IP Multicast uses hardware multicast Class D IP addresses ( to 1:1 mapping into Ethernet addresses IP Multicast Example:  IP Multicast Example Subnet send (datagram, recv ( recv ( Subnet IGMP IGMP mrouted Products:  Products Iona OrbixTalk ( (C++, multicast) TIBCO ObjectBus ( (C, multicast) Talarian SmartSockets ( (C++, h&s) VisiBroker Events ( (Java, h&s) Marimba Castanet ( (Java, h&s) iBus ( (Java, multicast) SoftWired iBus:  SoftWired iBus Combines the advantages of Java and of the Software Bus model “Multicast Bus” architecture; fully distributed “Hub-and-spoke” also supported Extensible: TCP, IP Multicast, encryption, compression, … Light-weight: 100k library, 300k heap space What You Get:  What You Get iBus consists of a programming library (JAR file) and of utility applications The library provides classes and methods to Open communication channels for transmission Subscribe an interest in communication channels Pushing events (Java objects) into channels Pulling events through channels (like RMI) Track failures Installation Copy iBus JAR file Set CLASSPATH variable and go! java iBus.util.talker iBus Channels and URLs:  iBus Channels and URLs Channels are named by iBus URLs such as ibus:// ibus:// Both reliable IP multicast and TCP channels Multicast used mainly inside Intranets (Secure) TCP channels can be established for routing iBus events between Intranets Protocol Stack Framework:  Protocol Stack Framework iBus API separate from transport layers Other middleware products are “black boxes” iBus Protocol Stack framework to customize of retransmission delays etc. add new communication protocols (e.g., infrared, satellite) include new quality of services (e.g., special purpose encryption, different reliable multicast protocols) “Gray Box” approach Protocol Stack Framework (cont.):  Protocol Stack Framework (cont.) Receiver Objects Receiver Objects Protocol Stack Protocol Stack IPMCAST REACH NAK FIFO ZIP CONTEXT ... Sample Talker Application:  Sample Talker Application import iBus.*; public class Talker { public static void main (String [] argv) throws Exception { // create an iBus protocol stack for reliable multicast: Stack stack = new Stack (”Reliable"); // create an iBus URL for the destination channel: iBusURL url = new iBusURL ("ibus://"); // open the channel: stack.registerTalker(url); // create a Posting to hold a quote string: Posting posting = new Posting (); posting.setLength(1); posting.setObject(0, new String(”SUN: 42.7”)); // multicast the quote through the iBus channel denoted by url: stack.push (url, posting); } } Sample Listener Application:  Sample Listener Application import iBus.*; // The listener application: public class Listener { public static void main (String [] argv) throws Exception { Stack stack = new Stack (”Reliable"); QuoteReceiver receiverObject = new QuoteReceiver (); iBusURL url = new iBusURL ("ibus://"); stack.subscribe (url, receiverObject); stack.waitTillExit(); } } // A listener class to receive quotes: class QuoteReceiver implements iBus.Receiver { public void dispatchPush (iBusURL source, Posting p) { // to display the quote string: System.out.println ("QuoteReceiver: got a quote: " + (String) p.getObject(0)); } }; Distributed Information Systems:  Distributed Information Systems iBus Software Medium Event Producer Event Producer Event Consumer Event Consumer Gateway Gateway iBus Gateway Filter Filter Gateway WallStreetWeb Stand-alone Applications:  Stand-alone Applications iBus Software Medium Vehicle Communication System:  Vehicle Communication System iBus Software Medium Maps etc. Naming iBus Status:  iBus Status Core product of SoftWired AG Public review releases since early 1997 Tested on NT, Win95, Solaris, Linux, (AIX) Projects: (Financial) information systems, multimedia Technical support and consulting services Software at Summary:  Summary Trends: the real-time enterprise, componentware, ubiquitous computing, ... Need: A “software medium” Software bus advantages Technical: fault-tolerance, efficient dissemination of events, spontaneous networking (like JINI) Design: lose coupling of components, “flat” architectures, extensibility and maintainability iBus: Combines the advantages of software buses, Java, and of protocol composition

Add a comment

Related presentations