Download presentation
Presentation is loading. Please wait.
Published byRosamund Bryant Modified over 8 years ago
1
Project Fuji - The Next Generation of OpenESB http://fuji.dev.java.net Andreas Egloff Lead Architect SOA/BI Sun Microsystems, Inc. Fuji is in active development, features and directions subject to change
2
Agenda Background Features, features, features Conclusion Architecture Sneak Peek Screencast/Demo
3
Background
4
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 highly attractive to OEMs / ISVs > Modular tooling and runtime > Easy configuration of pre-built solutions / mediation Make it relevant to more uses and technologies > Enable web build-out, backbone for hosted and local services etc Innovate!
5
Fuji Goals Agility + Flexibility + Ease-Of-Use = Productivity
6
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...
7
What Communities can Benefit? Many frameworks on the Java Platform > Java EE, OSGi, POJO, Spring – use to expose and call services 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 Scripting developers > Leverage with any language on the Java Platform GlassFish community > Leverage the containers and services of GlassFish v3 *
8
Interesting Features Web-Based Composition
9
Web Tooling Option Service Composition with EIPs in a Browser
10
Web UI Features All-in-one interface for service composition > Service Definition > Service Wiring > Configuration > Deployment Extensible (services, templates, patterns) Layered on textual representation (DSL) Version control support > Portability across development environments > Develop services with appropriate tooling
11
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 Flexibility for Appliances, OEM / ISV, SaaS / cloud uses
12
Interesting Features Composition using a DSL (domain specific language)
13
Composition in an IDE / Text Editor A textual representation of EIPs Goals > Simple, concise syntax > Easy to type and read > Top-down design Generate service templates Concept > Used to declare and configure services, routing > Sets up services and routing at deployment time; NOT interpreted on the fly at runtime "Hello World 1" - Simple routing
14
Basic Concepts of the DSL Integration Flow Language Output of one filter/stage flows to input of next stage > Similar in concept to Unix Pipes "Hello World 2" - pipes-and-filters
15
Basic Concepts of the DSL Explicit EIP Constructs "Hello World 3" - adding EIP constructs
16
Complexity (Sample Scenario) A picture speaks a 1000 Words
17
Complexity 40 words to compose in the DSL
18
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
19
Interesting Features Enterprise Integration Patterns
20
Integration Patterns Patterns as a first-class citizen in the architecture > Popular way to model common solutions http://www.enterpriseintegrationpatterns.com http://www.enterpriseintegrationpatterns.com > Available both in our visual composition and text (DSL) Existing patterns > Pipes & Filters > Broadcast > Aggregate > Content-Based Router > Scatter-Gather > Composed Message Processor > Message Filter > Split > Wire Tap > Routing Slip > Many more, Extensible...
21
Message Routing: Scatter-Gather ("all")
22
Message Routing: Scatter-Gather ("best")
23
Message Routing: Content-Based Router
24
Message Routing: Content-Based Router (dynamic) > CBR rules configured at deployment/runtime
25
Message Routing: Composed Message Processor
26
Interesting Features Interceptors and Aspects
27
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
28
Interesting Features Modular and Light Weight
29
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
30
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*
31
Interesting Features Topology Options
32
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
Homogenous Cluster Glassfish Clusters
34
Federated Clusters or Instances Transparent Service Proxies
35
Conclusion
36
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
37
Architecture Sneak Peek
38
Fuji Architecture
39
Screencast / Demo
40
40 Thank You More info, screencasts etc: http://fuji.dev.java.net/ http://fuji.dev.java.net/ Andreas Egloff
42
Backup Slides
43
Service Composition Top-down design model IFL : Integration Flow Language > Domain-specific Language for Enterprise Integration Web-Based Composition Tool > Drag-and-drop integration
44
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
45
Service Artifacts Simplify user interface to service artifacts Convention, Configuration, Code... >... In that order! Maven used extensively > Quick start with archetypes > Core of tooling is portable across IDEs > NetBeans, Eclipse, IDEA, etc.
46
Integration Runtime Build on robust core in OpenESB v2 > Same components > V2 applications deploy directly into Fuji Interceptors Distributed Message Bus
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.