Title: Distributed Computing Infrastructure
1Distributed Computing Infrastructure
Prepared for
2Fiorano MQ 5, Fiorano Integrator
- Scalability. Performance. Standards.
3Fiorano Software
- Premier Provider of Java Messaging Technology
- FioranoMQ Message Server
- ??? ???? ? JMS Server
- FioranoMQ XCR
- ??? ???? XML content? ??? ?? Routing
- FioranoMQ Bridge
- IBM MQ Series ? MSMQ? ? ???
- Test Suite for JMS
- ?????? ??? test suite
4Fiorano Software
- Founded 1995
- Messaging Servers 1997
- JMS implementation ? ?? ??? ? September 1998
- Over 50 Employees
- ?? Los Gatos, CA
- ?? New York, London, New Delhi
- Operations
- JT Ventures ? ? ? ? ??
- 2002 ? IPO ? ??
5Over 120 Customers
6Partnerships
7- ??
- ATT Wireless
- ???
- Cellular base stations ? ?? ? ? ??? ??
- ?? ??
- ???, ?? ??, ??? ???
- ???
- Wireless base stations ? 24 x 7 ???? ??
- Base station ? ?? ? ??? ?? ???? ????
- ??? ??? ??
8- ??
- Pennsylvania ?
- ???
- ??? ??? ?? ?? ?? ???
- ??, ????, ???, ?
- ?? ??
- Standards-based, ???, ??
- ???
- JMS Distributed Application ? ?? ???
- ?? ?? ?? ?? ???? data ??
- FioranoMQ ? BEA WebLogic?? ?? ??
9- ??
- Socketware
- ???
- E-?? ??? ? ??? ???
- ?? ??
- Standards-based, ???, High-Performance, ???
- ???
- ??? ??? ?? ? ?? deliver ?
- ?? ?? ??? ??
- ???? ?? ??? ?? 100 ????? ? ?? ?????
10What Is Messaging ?
- Software components ? applications ??
communication ?? - ??????? ???? ??? ???? ???? ???? ????? ????
- RMI/CORBA/E-mail ? ?? communication mechanisms ?
? ???
11What is the JMS API ?
- JAVA API ? applications ? messaging
implementation?? ???? ??, ???, ??, ??? ??? ???? ?
??
12JMS API enables
- ??????? ??? ???? ? ???? ???? ???? ? ????
- ????(Asynchronous)
- ???(Reliable)
13JMS Momentum
- 1st Open Messaging Standard
- Portability
- Vendor neutral
- Strong developer adoption
- Easy to use API
- Publish / Subscribe
14JMS Application Components
- JMS Provider
- JMS Clients
- Messages
- Administered objects
- Non-JMS Clients
15JMS Messaging Domains
- Point-to-Point ??? ???
- Publish-Subscribe ??? ???
16Point to Point Messaging
- ??? message ? ??? ??? ????
- Sender ? receiver ? message ?? ? ??? ??? ?? ???
- Receiver ????? processing ? message ? ?? ??
-
17PTP Model
?? message ? ??? ??? ?? process ? ? PTP
messaging ? ??
18Publish/Subscribe Messaging
- ?? message ?? ?? ?? destinations ? ??
- Publisher? subscriber ???? ??? ??? ??? durable
subscriber? ???
19Pub-Sub Model
Message ? zero, one, ??? ?? ? ???? process ? ?
pub/sub messaging ? ??
20Message Consumption
- Synchronous
- Receive method ? ??? destination ? ? ????
- Asynchronous
- Message Listener ? setting ??
-
21JMS Application Building Blocks
- Administered Objects (connection factories and
destinations) - Connections
- Sessions
- Message Producers / Consumers
- Messages
22JMS Client Application
23Administered Objects
- Connection Factories Client ? provider ?
connect ? ? ?? object - Destinations Client ? message ? target/source ?
??? ? ?? object - Administered Objects ? provider ?? ??
24Connections
- JMS provider ? virtual connection ? encapsulate
?? - ?? ?? ?? ? ? session ? ?? ? ??
- Queue Connection ??? Topic Connection? ??
25Sessions
- Message ? ???? ??? ? Single threaded context ? ??
- Message producers, message consumers and messages
? ?? ? ?? - Transactional context ? ????
- Queue Session and Topic Session
26Message Producers
- Messages ? destination ? ?? ? ???? object ?
session ? ??? ??? - PTP ? QueueSender interface ? ????
- PubSub ? TopicPublisher interface ? ????
27Message Consumers
- Destination ? ?? message ? ?? ? ???? object ?
session ? ??? ??? - JMS client ? JMS provider ? ???? destination ?
interest ? register ?? ? ? ?? - PTP ? QueueReceiver ? ????
- PubSub ? TopicSubscriber interface ? ????
28Message Listeners
- Object that acts as an asynchronous event handler
for messages - onMessage ??? ???? MessageListener interface ?
???? - OnMessage method ? message ? ??? ? ?? ??? ??? ????
29JMS Messages
- Header
- JMSDestination, JMSExpiration, JMSReplyTo ..
- Properties (optional)
- Body (optional)
- TextMessage, MapMessage, BytesMessage,
StreamMessage, ObjectMessage, Message
30FioranoMQ - Message Server
- Standards-based
- Fully JMS 1.0.2 compliant, Pure Java
- Performance
- ? ???? ? 10? ??? ??? ??? ???? ???
- File-based data store
- Scalability
- Scalable Connection Management (SCM)
- Fiorano Neighboring
- Clustering Load-balancing
31FioranoMQ - Server Architecture
ERP
Legacy
SSL
TCP/IP
FioranoMQ Server Components
Security
Administration
C Bindings
AppServer Integration
Neighboring
Message Store
ETS Automatic Fail over Capability
XML Toolkit
Firewall
HTTP
HTTP
32FioranoMQ - Message Server
- Interoperability
- C RTL
- XML Support
- FioranoMQ Bridge - IBM MQ Series MSMQ
- Internet Support
- HTTP Tunneling
- Applet/Browser Support
- Security
- Software Firewalls
- ACE/ACL
- SSL
33FioranoMQ Architecture
- FioranoMQ Messaging Server
- High Performance
- Hub Spoke Architecture
- Guaranteed Message Delivery
- Publish/Subscribe
- Point-to-Point
TCP/IP ? HTTP ? SSL
FioranoMQ Message Server
- FioranoMQ Info Bus
- Server-less Multicast JMS
- Peer-to-Peer
- Publish/Subscribe
- High Availability
- No single point of failure
FioranoMQ - Info Bus
34Performance Advantage
Unique?? ??? ??? file based data store?
FioranoMQ? ??? ???? Key Reason??.
35Installation
- Windows
- Installable .exe
- As an NT Service
- Solaris
- tar.gz archive
- License Key
- Offline database? Directory Path ??
- java -classpath CLASSPATH
- fiorano.jms.ex.FMP -p ../bin
36Running Samples
- Publish / Subscribe
- Point-to-Point
- Repeater
- XML
- Dispatcher
37Administration
- Administrator Console
- Users, Groups, Topics Queues, Durable Subscribers
- TCFs, QCFs Admin CFs
- Dispatcher, Snooper
- Administration APIs
- Creating an Admin Connection
38Connection Manager
- Pluggable Architecture
- Java connection management
- Scalable Connection Management (SCM)
- Secure Non-Secure
- Tested with 3,000 concurrent clients
- Windows NT
- Unix
39Scalable Connection Manager (SCM)
40Naming Manager
- Directory Information Storage
- LDAP Integration
- Support for existing network infrastructure
- RDBMS support
- Use RDBMs of choice
- XML support
- Local storage in XML format
41Integration with LDAP Servers
- Pluggable interface to LDAP Servers
- Netscape, etc.
- ?? administered objects? ??
- ?? meta data objects? LDAP Server? ??? ? ??
- LDAP? ???? ?? FioranoMQ? ??
- Server.cfg
- Looking up Connection Factories
- Setting Access Permissions
42JNDI Lookup
- JMS applications? standard based JNDI APIs? ????
??? various administered objects? ??? ? ??. - Client code? vendor specific implementation? ???
???? ????. - JNDI compliant? ?? JMS vendor? ??? ??? code? ?
code??? ??? ? ??.
43JNDI Lookup
- FioranoMQ? context interface? ?? ??? JNDI API?
????. - FioranoInitialContextFactory? JNDI? interface ?
InitialContextFactory? ????.
44Tunneling Through Firewalls
- SOCKS Proxy Server
- Tunnel through client server side firewalls
- SOCKS? TCP? UDP based client and server? data
channel service? ???? proxy? ????. - HTTP Tunneling
- Tunnel through client server side firewalls
- Proxy servers? HTTP? ?? proxy tunneling? ??? ???
???? ??.
45HTTP Tunneling
HTTP Tunneling
Client Proxy
Server Proxy
FioranoMQ SSL / Non SSL
JMS Application
SSL / Non SSL TCP Connection
HTTP Connection
HTTP Connection
Proxy Servicing Client Requests
HTTP Connect
FioranoMQ SSL / Non SSL
JMS Application
SSL / Non SSL TCP Connection
HTTP Connection
46Security
- User Identification Authentication
- JMS API? ??? ??? username/password model
- Authentication Data Protection
- Based on Digital Certificates
- SSL
47Security Realms
- FioranoMQ server? ??? ???? ?? logical and
centralized grouping of Users, Groups, and ACLs. - User Management
- Default Realm
- NT Realm
- Access Control
- ACLs
48Security Realms
- Setting up Realms
- NT
- UNIX
- Permissions
- Configuration
- Administering Realms
- Limitations
49Security Realms
- LDAP
- ???? ??? ?? ???? ?? a LDAP directory.
- Configuration
- Caching Realm
- RDMS Realm
50C Runtime Library
- Thin set ?? wrapper classes? ???? C programs?
JMS messaging ??? ??? ? ??. - Pub/Sub PTP
- Compiling and running C programs
- Windows
- Solaris
- JDKs
- Multithreaded Clients
- Issues
51Hierarchical Topics
- ???? ???? topic name spaces ? ??? destination?
??? ? ?? ??? ????. - Name Space ??
52Hierarchical Topics
- Creating Hierarchical Topics
- Looking up Hierarchical Topics
- Security Considerations
- Limitations
53Logging Trace Facilities
- ??? ?? ??? ??
- Admin Tool Integration
- Set user defined tracing levels
- Generate Log with detail log description
- ??? ???? ??? ?? ?? instant message? ??
54FioranoMQ Bridges
- Integrated Message Queuing
- Architecture
55AppServer Integration
56FioranoMQ Bridges
- Features
- XML Based
- Choice of Connection Topologies
- ?? ???? ???? ??? ??? ??
- Logging and Trace Options
57FioranoMQ Bridges
- ???? ??? ??? queues? ??
- Distributed Queues
58Fiorano Repeater
- Distributed Server-to-Server Communication
- Topics
- Request reply
- Store Forward
- Clustering? ?? ?? dispatcher? ?? ???
- Fault Tolerance and Failover Safety
- Configuration
- XML config. file
59Server-to-Server Communication
- LAN?? WAN??? ?? ??
- Fiorano Repeater
60Fiorano Repeater
Repeater
Repeater
FioranoMQ S2
FioranoMQ S1
FioranoMQ S3
FioranoMQ S4
FioranoMQ S2
FioranoMQ S3
FioranoMQ S4
FioranoMQ S1
Repeater
Repeater
Repeater
Repeater
FioranoMQ S2
FioranoMQ S1
FioranoMQ S3
FioranoMQ S4
Repeater
Repeater
61Fiorano Repeater
- Setup
- Single Instance
- Multiple Instances
- Configuration
- XML config file
- Tags and sample usage
62Load Balancing
- Fiorano Dispatcher
- Configuration
- START_DISPATCHERtrue
- Client ???? ??? change? ? ??? ??.
- Multiple Dispatcher Service
-
63Fiorano Integrator
- Includes all FioranoMQ features plus
- Bridges to MSMQ, MQSeries, SQL
- XCR Content Based Routing engine
- ETS (MQ with no single point of failure)
- Message Servlets and XSLT transformations