Fuji Overview


Published on

OpenESB meets OSGi. Fuji, the next Gen.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Fuji Overview

  1. 1. Project Fuji - The Next Generation of OpenESB http://fuji.dev.java.net Andreas Egloff Lead Architect SOA/BI Sun Microsystems, Inc.
  2. 2. Agenda Background • Features, features, features • Conclusion • Architecture Sneak Peek • Screencast/Demo • Sun Confidential: Internal Only
  3. 3. Background Sun Confidential: Internal Only
  4. 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. 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. 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
  7. 7. Fuji Goals • Agility + • Flexibility + • Ease-Of-Use = • Productivity
  8. 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. 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. 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
  11. 11. Interesting Features Web-Based Composition Sun Confidential: Internal Only
  12. 12. Service Composition in a Browser Sun Confidential: Internal Only
  13. 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. 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
  15. 15. Interesting Features Composition using a DSL (domain specific language) Sun Confidential: Internal Only
  16. 16. Hello World 1 – Simple Routing rss “finance-feed” file “archive” route do from “finance-feed” to “archive” end Sun Confidential: Internal Only
  17. 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
  18. 18. Complexity (Sample Scenario) A picture speaks a 1000 Words
  19. 19. Complexity 40 words to compose in the DSL
  20. 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
  21. 21. Interesting Features Enterprise Integration Patterns Sun Confidential: Internal Only
  22. 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
  23. 23. Interesting Features Interceptors and Aspects Sun Confidential: Internal Only
  24. 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
  25. 25. Interesting Features Modular and Light Weight Sun Confidential: Internal Only
  26. 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. 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*
  28. 28. Interesting Features Topology Options Sun Confidential: Internal Only
  29. 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, ...
  30. 30. Homogenous Cluster Glassfish Clusters
  31. 31. Federated Clusters or Instances Transparent Service Proxies
  32. 32. Conclusion Sun Confidential: Internal Only
  33. 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
  34. 34. Architecture Sneak Peek Sun Confidential: Internal Only
  35. 35. Fuji Architecture Sun Confidential: Internal Only
  36. 36. Screencast / Demo Sun Confidential: Internal Only
  37. 37. Thank You More info, screencasts etc: http://fuji.dev.java.net/ Andreas Egloff 37
  38. 38. Backup Slides Sun Confidential: Internal Only
  39. 39. 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
  40. 40. 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
  41. 41. 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
  42. 42. 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