4. Where is OpenESB at now?
• OpenESB v2 is a platform for SOA and Integration.
• 100% Open Source, licensed under CDDL.
• An active, responsive and growing community
>e.g. mails on the users list: Jan '09 - 883
Feb '09 - 918
March '09 - 1023
• Enterprise quality distributions and support offering
> GlassFish ESB v2 Product
• Project Fuji forms basis of next generation platform
Sun Confidential: Internal Only
5. A Growing Component Ecosystem
• Logic, event processing and orchestration
> IEP, BPEL, Camel, Java EE, POJO, Scripting, WLM
• Other Interfaces
> eMail, File, FTP, HTTP, JMS, JMSJCA, LDAP, RSS, SIP,
Scheduler, LDAP, Notification, Asterisk, Exec, HL7,
SNMP, TCPIP, UDDI, XMPP
• EIS Interfaces
> EJB, CORBA, DCOM, CICS, IMS, MSMQ, MQSeries,
Screen Scraping, SWIFT, SAP
• Databases and data manipulation
> Database, ETL, Data mashup, Encoding, MDM, XSLT
Sun Confidential: Internal Only
6. Motivation for Direction of Fuji
• Popularity of simple, productive solutions
> A growing number of developers value high productivity and
simplicity over all-encompassing but complex
• Increase productivity of existing users
> Whilst existing GlassFish ESB v2 apps work unchanged
• Make it relevant to more uses and technologies
> Many developers do tasks that are ideally suited to our platform
> ... but they don't necessarily think of it as “integration” or “SOA”
• Align with and leverage GlassFish v3
• Innovate!
Sun Confidential: Internal Only
8. Example Uses of the Platform...
• Easy to interact with new protocols and systems
> Familiar, consistent service view
> E.g. RSS, Instant Messaging, FTP etc. all just plug-ins
> over 40 adapters already available
• Help realize SOA, light-weight SOA (WOA), EDA
• Enable Mash-ups
> Easy to expose wide range of data sources
> Data mashup; choice to combine data on client or server
• Patterns to solve common problems
> Extensible built-in constructs to realize patterns
Sun Confidential: Internal Only
9. What Properties Make it Interesting?
• Convention, Configuration, Code ...
> ... In that order for higher productivity
• Service based through and through
> Inherent Scaling without explicit coding
> Looser coupling, easier maintenance
• Grows with the application
> Pick-and-choose only the features required, from rapid
prototyping to enterprise or internet scale use cases
• Easy to add mediation
> Cross-cutting concerns addressed outside of business
code; security, auditing, logging, caching...
Sun Confidential: Internal Only
10. What Communities can Benefit?
• Scripting developers
> Leverage with any language on the Java Platform
• Many frameworks on the Java Platform
> Java EE, OSGi, POJO, Spring – use to expose and call services
• GlassFish community
> Leverage the containers and services of GlassFish v3
• REST and light-weight SOA (WOA) Developers
> Leverage Jersey and Fuji to easily get back-end data to web apps
• SOA Developers, Integration Developers
> Contemporary, productive features enrich the SOA story
• EDA Developers
> First-class support for event routing, complex event processing
Sun Confidential: Internal Only
13. Web UI Features
• All-in-one interface for service composition
Service Definition
>
Service Wiring
>
Configuration
>
Deployment
>
• Extensible palette of services
• Version control support allows for portability across
composition and development environments
> Develop services with appropriate tooling
Sun Confidential: Internal Only
14. Web UI Advantages
• No need for a full blown IDE just to (re-)use services
• “Get started in five minutes” now feasible, no IDE
install required
• Appropriate tooling options for differing roles
> Architect composes, developer codes
• Tooling options for different preferences and skills
> A visual view might suit the “casual technologist”
> A programmer might prefer editing in textual view, but
can still visualize the flows
Sun Confidential: Internal Only
16. Hello World 1 –
Simple Routing
rss “finance-feed”
file “archive”
route do
from “finance-feed”
to “archive”
end
Sun Confidential: Internal Only
17. Hello World 2 –
Pipe-and-Filter Concept
email quot;work-mailquot;
jruby quot;filter-and-transformquot;
xmpp quot;notify-imquot;
route do
from quot;work-mailquot;
to quot;filter-and-transformquot;
to quot;notify-imquot;
end
> “think unix pipes” about how messages flow
Sun Confidential: Internal Only
20. Domain Specific Language
Advantages
• Designed to enable “Top-down” design
• Simplicity
> Productive even with simple text editor, command line
> Syntax highlight, code completion in multiple IDEs
(NetBeans, Eclipse today)
• Extensible Pattern Constructs
> Out of the box productivity, users can extend
• Matches up well with any general purpose language
> Attractive to more communities on the Java Platform
Sun Confidential: Internal Only
22. Integration Patterns
• Patterns as a first-class citizen in the architecture
> Popular way to model common solutions
http://www.enterpriseintegrationpatterns.com
> Available both in our visual composition and text (DSL)
• Existing patterns
> Message Filter
Pipes & Filters
>
Broadcast > Split
>
Aggregate
> > Wire Tap
Content-Based Router
>
• Upcoming patterns
> Routing Slip
> Publish-Subscribe
> Many more, Extensible ...
> Scatter-Gather
24. Aspects in the Messaging Model
• Aspects can be added/removed/configured at runtime
> Aspects are pre-built, configurable interceptors
• Aspects address cross-cutting concerns for message based
Services
• Out of the box examples
> Logging Aspect
> Policy Aspect
> Coming: Caching, Auditing ...
• Users can write their own interceptors and aspects and
enrich the community
26. Modularity Framework
• Core framework is an OSGi bundle
• Runs on GlassFish v3 and any OSGi R4 framework
implementation (Felix, Equinox, Knopflerfish)
• Microkernel size
> ~300 KB
• More flexibility in partitioning functionality and
embedding for given communities and applications
Sun Confidential: Internal Only
27. Light Weight in What Way?
• Light weight in download, runtime footprint
> Micro kernel architecture
> Size to your needs, add features and components
dynamically
• Light weight in development process
> Simplified tooling options, productivity features
• Light weight to add mediation
> Aspects to apply policy, interceptors managed at runtime
• Light weight in administration and maintenance
> Enhanced versioning*, manage routing*
29. Topology Options
• Support for
> SOA style
> Explicit exposing and calling of remote services
> “Federated ESB” option
> Transparent if consumer/provider co-lcoated or remote
> Distributing the ESB at the messaging (NMR) level
> Linking both of (homogenous) clusters* and
(heterogeneous) instances
> * Once GlassFish v3 releases cluster support
• Added pluggable distribution mechanism
> First implementation uses the GlassFish mechanism –
GMS / Project Shoal
> Can plug in HTTP, JMS, ...
33. Project Fuji is...
• Revolutionary...
Radically light weight and modular
>
Simplifies for productivity at every layer
>
Enriches the GlassFish v3 offering
>
Capabilities targeted at new communities
>
> Scripting, POJO, Spring, OSGi developers ...
> Leverage from Web 2.0 applications
> REST and Web Oriented Architecture (WOA / ROA)
• Evolutionary...
> Leverages and extends existing component ecosystem
> Leverages existing enterprise features
> ... but enhances and simplifies how they are used
40. Service Composition
• Top-down design model
• IFL : Integration Flow Language
> Domain-specific Language for Enterprise Integration
• Web-Based Composition Tool
> Drag-and-drop integration
Sun Confidential: Internal Only
41. Programmatic Interface
• Expand the range of languages and frameworks
that can interact easily with our platform
• Dynamic Languages
> Scripting the platform
> Ruby, Groovy*, JavaScript*, PHP*, etc.
• POJOs, Spring Framework
> Spring Dynamic Modules
> Beans consume and provide services
Sun Confidential: Internal Only
42. Service Artifacts
• Simplify user interface to service artifacts
• Convention, Configuration, Code ...
> ... In that order!
• Maven used extensively
> Quick start with archetypes
> Tooling is portable across IDEs
> NetBeans, Eclipse, IDEA, etc.
Sun Confidential: Internal Only
43. Integration Runtime
• Build on robust core in OpenESB v2
> Same components
> V2 applications deploy directly into Fuji
• Interceptors
• Distributed Message Bus
Sun Confidential: Internal Only