Platform featues (including upcoming)
Functionally Swarm-ONE is not yet complete.
Presents a lowest common denominator in distributed development - you include only those jars you use
Provides an open-nonprescriptive architecture. You choose the container implementation, its components, aspects and services and/or develop your own
Architecturally agnostic - architecture is determined through container configuration
Open Grid Services Architecture (OGSA) support
Integrated QAS degradation
Platform Independence
Support for SEDA oriented architectures providing extremely high burst resillience
Suitable as a grid enablement platform through the use of distributed health services and shared resource utilization
Dynamically changes application architecture to consume CPU, network and disk resources added to the Swarm-ONE network - no downtime
Supports dynamic change and relocation of components
Support for mobile agents and mobile code
Support for highly distributed applications and upgrade migration through dynamic/distributed class loaders
Localised clustering support
Cleanly separates application logic from infrastructure
Peer networking schemas facilitate the use of Super-Nodes to control network scalability and invocation proxying. (see JXTA and AOP proxy support)
Facilitates a high degree of testaility through extensive use of Dependency Injection (also support the ServiceLocator pattern)
Multiple platform support
Multiple Language (Java, C#, C++)
Lightweight (configurable, adaptive)
ThinClient support - can be run through JSPs, or applet with restricted functionality
Supports multiple transport mechanisms (tcp, multicast, jxta, jms, rmi)
Supports the AOP Alliance API
Supports for multiple Aspect containers (currently builtin Silc and AspectWerkz)
Allows for development of custom messaging infrastructure/pipelinining/filtering through AOP pipelining
Facilitates integration of any messaging infastructure, JMS, MQ, RV
Benefits?
Platform Independence
Open Source
Future Proof
Sounds good but what would i develop in it?
Any type of distributed application including:
Any form of enterprise application, [retail, insurance, banking, scientific, telco] - download the Petstore implementation
Enterprise application server platforms
Messaging systems
Distributed build systems
Collaboration tools
Grid layers/services or applications
Distributed Operating Systems