logging in or signing up chopen98 Valeria Download Post to : URL : Related Presentations : Share Add to Flag Embed Email Send to Blogs and Networks Add to Channel Uploaded from authorPOINTLite Insert YouTube videos in PowerPont slides with aS Desktop Copy embed code: (To copy code, click on the text box) Embed: URL: Thumbnail: WordPress Embed Customize Embed The presentation is successfully added In Your Favorites. Views: 157 Category: Education License: All Rights Reserved Like it (0) Dislike it (0) Added: April 08, 2008 This Presentation is Public Favorites: 0 Presentation Description No description available. Comments Posting comment... Premium member Presentation Transcript iBus - Ein Software Bus für Java Komponenten: iBus - Ein Software Bus für Java Komponenten Dr. Silvano Maffeis SoftWired AG, Zürich maffeis@softwired.ch 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 channelsNeed: 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 BusWorks like Radio Transmission...: Works like Radio Transmission... Tuner 2 Tuner 1 Station A Station B “The Ether” Radio ChannelsPublish/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 CommunicationDifferences 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 multicastIP 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 (224.0.0.0 to 239.255.255.255) 1:1 mapping into Ethernet addressesIP Multicast Example: IP Multicast Example Subnet 130.80.51.0 send (datagram, 226.1.1.1) 130.80.51.10 recv (226.1.1.1) 130.80.51.12 recv (226.1.1.1) 130.80.51.11 Subnet 130.80.52.0 IGMP IGMP mrouted 130.80.51.1 130.80.52.1Products: Products Iona OrbixTalk (www.iona.com) (C++, multicast) TIBCO ObjectBus (www.tibco.com) (C, multicast) Talarian SmartSockets (www.talarian.com) (C++, h&s) VisiBroker Events (www.inprise.com) (Java, h&s) Marimba Castanet (www.marimba.com) (Java, h&s) iBus (www.softwired.ch) (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.talkeriBus Channels and URLs: iBus Channels and URLs Channels are named by iBus URLs such as ibus://226.1.1.1/financial/quotes/SUN ibus://pluto.sun.com/updates/jdk Both reliable IP multicast and TCP channels Multicast used mainly inside Intranets (Secure) TCP channels can be established for routing iBus events between IntranetsProtocol 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://226.1.2.3/financial/quotes"); // 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://226.1.2.3/financial/quotes"); 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 WallStreetWebStand-alone Applications: Stand-alone Applications iBus Software MediumVehicle Communication System: Vehicle Communication System iBus Software Medium Maps etc. NamingiBus 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 http://www.softwired.ch/ibusSummary: 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 You do not have the permission to view this presentation. In order to view it, please contact the author of the presentation.
chopen98 Valeria Download Post to : URL : Related Presentations : Share Add to Flag Embed Email Send to Blogs and Networks Add to Channel Uploaded from authorPOINTLite Insert YouTube videos in PowerPont slides with aS Desktop Copy embed code: (To copy code, click on the text box) Embed: URL: Thumbnail: WordPress Embed Customize Embed The presentation is successfully added In Your Favorites. Views: 157 Category: Education License: All Rights Reserved Like it (0) Dislike it (0) Added: April 08, 2008 This Presentation is Public Favorites: 0 Presentation Description No description available. Comments Posting comment... Premium member Presentation Transcript iBus - Ein Software Bus für Java Komponenten: iBus - Ein Software Bus für Java Komponenten Dr. Silvano Maffeis SoftWired AG, Zürich maffeis@softwired.ch 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 channelsNeed: 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 BusWorks like Radio Transmission...: Works like Radio Transmission... Tuner 2 Tuner 1 Station A Station B “The Ether” Radio ChannelsPublish/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 CommunicationDifferences 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 multicastIP 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 (224.0.0.0 to 239.255.255.255) 1:1 mapping into Ethernet addressesIP Multicast Example: IP Multicast Example Subnet 130.80.51.0 send (datagram, 226.1.1.1) 130.80.51.10 recv (226.1.1.1) 130.80.51.12 recv (226.1.1.1) 130.80.51.11 Subnet 130.80.52.0 IGMP IGMP mrouted 130.80.51.1 130.80.52.1Products: Products Iona OrbixTalk (www.iona.com) (C++, multicast) TIBCO ObjectBus (www.tibco.com) (C, multicast) Talarian SmartSockets (www.talarian.com) (C++, h&s) VisiBroker Events (www.inprise.com) (Java, h&s) Marimba Castanet (www.marimba.com) (Java, h&s) iBus (www.softwired.ch) (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.talkeriBus Channels and URLs: iBus Channels and URLs Channels are named by iBus URLs such as ibus://226.1.1.1/financial/quotes/SUN ibus://pluto.sun.com/updates/jdk Both reliable IP multicast and TCP channels Multicast used mainly inside Intranets (Secure) TCP channels can be established for routing iBus events between IntranetsProtocol 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://226.1.2.3/financial/quotes"); // 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://226.1.2.3/financial/quotes"); 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 WallStreetWebStand-alone Applications: Stand-alone Applications iBus Software MediumVehicle Communication System: Vehicle Communication System iBus Software Medium Maps etc. NamingiBus 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 http://www.softwired.ch/ibusSummary: 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