Is your Agency ready for open source SOA?


Published on

1 Like
  • Be the first to comment

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

No notes for slide
  • IONA was founded in 1991 in Dublin, Ireland. We have a history of providing distributed, standards-based solutions to IT organizations with complex, heterogeneous computing environments and challenging integration problems. We have a proven record of industry leadership and continuous product improvement. We make software work together so our customers can make better decisions, run their businesses more efficiently and improve their business results. Our software products enable customers to modernize and streamline their IT environments while at the same time lowering total operating costs and ultimately achieving greater return on investment (ROI) on their existing and future IT investments. Our customers span the Global 2000 and operate in a wide variety of industries: Telecommunications: AT&T, Beijing Mobile, BellSouth, Cingular Wireless, Ericsson, Marconi, Motorola, Nokia, Nortel Networks, NTT DoCoMo, O2, Sprint, Verizon, Vodafone, and Wind SpA Financial Services: Credit Suisse Group, GAD, JPMorgan Chase, Lehman Brothers, Raymond James & Associates, Reuters, Sentenial, Winterthur Insurance Government: NASA, National Geospatial-Intelligence Agency, US Department of Transportation, US Environmental Protection Agency Manufacturing: Boeing, Ford Motor Company, Mitsubishi Heavy Industries, National Semiconductor, Schlumberger
  • Common agreement
  • Since the early 1990s, IONA has built its integration products around two very significant open industry standards, initially CORBA and more recently Web services, and a unifying approach to designing and implementing large-scale systems referred to as service-oriented architecture, or SOA. An industry leader in integration and SOA, IONA has the proven expertise to design a highly flexible, distributed SOA infrastructure for the Global 2000 using standardized components. IONA customers built the first generation of SOA with its standards-based CORBA technology in the 1990s. IONA has extended that heritage with its next generation enterprise service bus (ESB), Artix, and its leadership and involvement in a broad array of open source projects that enable the adoption of SOA. IONA's commitment to open source software is part of its 15-year heritage of solving the most complex integration problems by applying open, standards-based solutions. IONA recognizes the value of open source technology and is one of the only companies in the SOA infrastructure space that both actively develops closed source solutions and contributes to a wide range of open source projects. IONA understands that developers are the foundation of open source communities and that community participation drives innovation. IONA developers lead several open source SOA projects and actively participate in many others as committers. IONA makes it easier to use open source SOA infrastructure by integrating leading open source technologies into convenient packages that are fully tested and certified to work together.
  • Successful = viable, use, market share, performance, satisfaction Others: HTML, PCI Bus, Domain Name Service, software in early days of punch cards & magnetic core memory HTML - allows source code viewing of any and every page PCI (Peripheral Component Interconnect) is a local bus standard that is included in most modern PCs and Macintosh computers. The bus serves as a channel over which information flows between two or more devices. Domain Name service allows users to easily address the millions of computers on the Internet. Open Source - model of academia
  • Services in a SOA will be created in many fashions — some in Java, some in C#, and some in C or C++. Deploying these services as web services would be well suited for interoperability, as they are by nature heterogeneous, interoperable, and loosely coupled. However, when building end-user applications or high volume processes, web services may not be the best choice. Web services are expensive in both processing and bandwidth. On average, a web service invocation is 10 times larger than the binary form of such an object interaction. Using XML and SOAP requires huge chunks of bandwidth when dealing with large numbers of transactions, as both the SOAP transport and all data are passed as XML, which is expressed as raw text. BPEL, in theory, gets us closer to SOA today and has been a good way to link and assemble some business processes, although it is not an enterprise platform for deploying high volume custom business applications. BPEL is for orchestration only: it enables the calling of processes, but does not allow for new processes to be developed. It can be an optional layer of SOA, but BPEL alone will not deliver an SOA, as it relies entirely on Web services and XML. Some of the early problems with BPEL have been difficulty in adhering to standards. Considerable customization is required to implement BPEL. Standards are often lost in the process, and many of the services end up becoming proprietary solutions, thereby losing the ability to be quickly extensible as the business requirements change.
  • Should Government mandate Open Source? Probably not a good idea Amounts to failed Industrial Policy Level the playing field Open Standards, Open data formats Correct any market failure Then let the Market decide Best value for taxpayer money Based on reliability, security, interoperability, performance, ease-of-use, TCO and support
  • OSS can have lower licensing costs Taiwan, India, Europe, Japan, China reporting expected savings either directly or from increased competitive landscape Ability to audit code for “back-doors,” “spyware” or security holes Promotes architectural diversity Lowering risks of monoculture and cyberattacks Promotes innovation by unaffiliated developers experimenting with code Reduces dependence on single software producer
  • Enterprise architecture has to take a rational view of the incorporation of open-source within the enterprise and balance it with business value, risk and culture. Many Fortune 500s have no strategy surrounding use of open-source yet it is a pervasive part of their architecture today. The vast majority of company's have open source software in use in production environments, which may include Linux, Apache, JBoss and so on. Some will think of open-source software as being free in terms of cost of acquisition while others who have vision will come to realize that the potential of using open source as a model for software development will help them build better software faster and cheaper.
  • ESBs offer a number of features such as transactionality, security, routing, and reliable messaging. To ensure maximum interoperability between implementations, ESBs base many of their features on a set of standards that include: • WS-Addressing • WS-Atomic Transactions • WS-Coordination • WS-Security • WS-Reliable Messaging
  • On Monday, December 4 th , we will announce how IONA is expanding our leadership in Distributed SOA Infrastructure with the offering of three Open Source products First, we are offering Celtix Enterprise, our Open Source ESB Also, we are offering two of the components of Celtic Enterprise as individually offered products – Celtix Advanced Service Engine or Celtix ASE for short and Celtix Advanced Messaging Where open source, webservices and SOA meet.
  • In addition to the bundled Celtix Enterprise offering, we are offering two of the component technologies - Celtix Advanced Service Engine and Celtix Advanced Messaging – that can be installed and deployed separately. The Celtix Advanced Service Engine is a Certified Open Source Product Distribution that provides the high performance and flexible capability to create and deploy services using a standards-based, pluggable services framework. This product distribution is based on the Apache Incubator’s CXF project, which is an evolution of the ObjectWeb Celtix 1.0 and Codehaus XFire 1.2 projects. The core of Celtix Enterprise the Celtix Advanced Service Engine . Based on Apache Incubator CXF, the serviceengine contains all of the front-ends, message bindings, and transports that are used to implement a service.This component provides all of the hooks required to plug in different combinations of front-ends, bindings, and transports. It also provides hook to allow service to be plugged in to the lower layers of the ESB. Celtix Advanced Messaging is a certified open source product distribution that provides a platform for enterprise messaging. Celtix Advanced Messaging is an open source message broker that implements the AMQP standard for both the broker capabilities and the wire-level format for multi-channel, negotiated, asynchronous, and efficient integration. Celtix Advanced Messaging is based on the Apache Incubator Qpid project. Based on the AMQP open specification which is being developed by the AMQP Working Group including JP Morgan Chase, IONA, Cisco, RedHat and others.Capabilities include: Queue-based messaging Publish-subscribe Header-based routing
  • So what is Celtix Enterprise? Celtix Enterprise is an open source ESB that offers enterprise support for of a Distributed SOA Infrastructure. The Celtix Enterprise distribution is comprised of several leading open source SOA infrastructure projects that have been integrated, tested and certified by IONA. This functionality includes service enablement, messaging, routing, containers for deployment, and tooling derived from the Eclipse SOA Tools Platform project.
  • — Open-source software enables businesses to be much more agile, and an open-source service-oriented architecture enables both greater adaptability and agility, said James Strachan, chief architect and co-founder of LogicBlaze. ADVERTISEMENT Indeed, Strachan, who spoke at TheServerSide Java Symposium here on March 22, said an open-source SOA stack is attainable today for users who want to implement it. "Start today using open-source software ," Strachan said. "Use open-source services … when you need them in bite-sized chunks," he said. Strachan said an open-source SOA stack is available today in the form of a bunch of Apache Software Foundation offerings. Indeed, Strachan said enterprises can use ActiveMQ for messaging, Axis 2.0 for the SOAP (Simple Object Access Protocol) stack, a new Apache project called Ode as the orchestration engine, and ServiceMix as the ESB (Enterprise Service Bus). "Message-oriented middleware is a nice, easy way to start a service-oriented architecture," Strachan said. "Apache ActiveMQ is an open-source version of a message bus." Strachan said IBM's MQ Series is a competing commercial messaging solution, but it is costly and "may not be the easiest thing to install." In the SOAP stack space, Strachan said there are four competing solutions that address what he calls mediation: Apache Axis 2; Celtix from the ObjectWeb consortium; the Java API for XML Web Services (JAX-WS) specification from Sun Microsystems; and XFire from Codehaus. "These are the big four," Strachan said. Of the group, Strachan said he thinks Axis 2 is the furthest along. Apache Ode is an open-source orchestration engine based on two code donations: one from Sybase and another from Intalio that came from FiveSight Technologies, which Intalio acquired in December, Strachan said. Meanwhile, the ServiceMix ESB is an attractive option for several reasons, Strachan said, one of which is that it supports JBI (Java Business Integration ). "The world is not going to be all Web services; it's going to be everything so JBI has something called a binding that talks to all kinds of different things," he said. Click here to read more about the convergence of SOA, open source and Web services. In addition, ServiceMix has connectivity, smart routing, transformation, orchestration, platform support and a management stack. As the developer tooling options of choice, Strachan said he prefers the Eclipse integrated development environment, the Eclipse SOA Tools Platform Project and the Eclipse BPEL (Business Process Execution Language) Designer Project offerings. "My take is to just use Eclipse—sorry Sun," he said. Strachan advised developers to "write your business logic and services as POJOs [plain old Java objects], adding some metadata with annotations." Moreover, Strachan said XML marshaling, or serializing, is very important. Guru Jakob Nielsen offers advice on designing applications for usability. Click here to watch the video. "The biggest decision for SOAs is what tool you use for XML marshaling," Strachan said. He said his two favorite XML marshaling methods are Java Architecture for XML Binding, or JAXB, and Service Data Objects, or SDO. Meanwhile, the application programming models that can be used for an open-source SOA include: JSR 181, known as JSR 181: Web Services Metadata for the Java Platform, together with JAX-WS; the SCA (Service Component Architecture) and Apache Tuscany, which is based on SCA; Enterprise JavaBeans 3.0; and Spring remoting. "SCA deserves very close scrutiny," Strachan said. However, he added, "they're all sort of related."
  • A Celtix Enterprise ESB” shows an example of how you can combine the components to create an ESB. In this example, the service being implemented using JavaScript whose clients connect to it over JMS. The command line tools to are used to generate the starting point code. The JavaScript front-end provides the interface between the implementation and the layers that provide the connectivity. The service itself creates XML messages and connects to the network using HTTP. The router provides the bridge between the service's native message formats and the JMS broker. If you decided that your service did not need to be exposed over JMS you could remove both the router and the JMS broker. If you instead wanted to implement the service using JAX-WS APIs you could use the JAX-WS front-end.
  • A Celtix Enterprise ESB” shows an example of how you can combine the components to create an ESB. In this example, the service being implemented using JavaScript whose clients connect to it over JMS. The command line tools to are used to generate the starting point code. The JavaScript front-end provides the interface between the implementation and the layers that provide the connectivity. The service itself creates XML messages and connects to the network using HTTP. The router provides the bridge between the service's native message formats and the JMS broker. If you decided that your service did not need to be exposed over JMS you could remove both the router and the JMS broker. If you instead wanted to implement the service using JAX-WS APIs you could use the JAX-WS front-end . The Celtix Enterprise Runtime The Celtix Enterprise runtime consists of three components: • a service implementation • the Celtix Advanced Service Engine • a container Together these components form a running service endpoint. The service implementation is the logic that performs the functionality defined by a service contract. The service engine provides the abstraction layer that connects the implementation to the outside world. The container manages the resources needed by the service implementation and the service engine.
  • example, you could deploy an endpoint for a bank services to exchange SOAP messages and you could deploy a second endpoint for the same service that exchanged messages using native XML without the overhead of the SOAP envelope. You could also develop your own bindings to further expand Celtix Enterprise's capabilities.
  • In conclusion, Celtix Enterprise is here! We have reached a significant milestone in IONA’s history and we are poised to lead the market for distributed SOA infrastructure solutions.
  • Is your Agency ready for open source SOA?

    1. 1. Is your Agency ready for open source SOA ? Eric Newcomer & Michelle Davis March 1, 2007
    2. 2. Eric Newcomer Chief Technology Officer, IONA Technologies <ul><li>Joined IONA in November 1999, after 16 years at Digital/Compaq, mostly in DB and TP </li></ul><ul><li>Responsible for IONA's technology and standards strategies </li></ul><ul><li>Contributor to SOA initiatives: </li></ul><ul><ul><li>Co-submitter of SOAP and founding member of the XML Protocols Working Group at W3C </li></ul></ul><ul><ul><li>Co-Editor of the W3C Web Services Architecture specification </li></ul></ul><ul><ul><li>Co-author of WS-Transactions specifications & co-chair of OASIS WS-Transactions technical committee </li></ul></ul><ul><ul><li>Co-chair of OSGi Enterprise Expert Group </li></ul></ul><ul><ul><li>Eclipse Board member </li></ul></ul><ul><li>Co-author of Principles of Transaction Processing (1997), author of Understanding Web Services (2002), co-author of Understanding SOA with Web Services (2004) </li></ul>SOA Book Now Available!
    3. 3. IONA at a Glance <ul><li>75% of Global Telecom </li></ul><ul><li>80% of Financial Services in Global 100 </li></ul><ul><li>Blue Chip System Integrator Partners </li></ul><ul><li>Founded in 1991 </li></ul><ul><li>Publicly traded since 1997 </li></ul><ul><li>Profitable business model </li></ul>Solid business with a history of profitable growth Customers include world’s largest firms NASDAQ: IONA <ul><li>EMEA HQ in Dublin, Ireland </li></ul><ul><li>US HQ in Massachusetts </li></ul><ul><li>APAC HQ in Tokyo, Japan </li></ul>Proven Performance, Guaranteed ROI Worldwide presence <ul><li>Strong heritage and experienced team </li></ul><ul><li>Unique, incremental approach to SOA </li></ul><ul><li>Distributed, standards-based software </li></ul><ul><li>Commercial, open source and consulting solutions </li></ul><ul><li>Measurable customer value </li></ul>
    4. 4. The Promise of SOA… <ul><li>Reduce IT expenses </li></ul><ul><ul><li>Reuse existing application functionality </li></ul></ul><ul><ul><li>Improve developer productivity </li></ul></ul><ul><li>Increase operational efficiency </li></ul><ul><ul><li>Share data across departments, divisions </li></ul></ul><ul><ul><li>Automate common business processes </li></ul></ul><ul><li>Develop new business opportunities </li></ul><ul><ul><li>Provide new and better customer service </li></ul></ul><ul><ul><li>Respond to market changes </li></ul></ul><ul><li>It’s the “IT assembly line” </li></ul><ul><ul><li>And 75% or more come from existing applications! </li></ul></ul>
    5. 5. SOA is going mainstream
    6. 6. What does this mean? <ul><li>Need for enterprise quality & performance </li></ul><ul><ul><ul><li>Mission-critical apps going to SOA </li></ul></ul></ul><ul><ul><ul><li>Govern IT assets as reusable services </li></ul></ul></ul><ul><li>Platform vendors extending their tools </li></ul><ul><ul><ul><li>Microsoft Vista includes SOA tools, runtime </li></ul></ul></ul><ul><ul><ul><li>Java vendors countering with SCA/SDO </li></ul></ul></ul><ul><ul><ul><li>But they are not reinventing them </li></ul></ul></ul><ul><li>The market needs a new approach </li></ul>
    7. 7. SOA Adoption Timeline Maturity Level SOA Experience 2006 2007 2008 2005 SOA Adoption Mainstream: No Need to Explain SOA Industry Adoption Assured Early Adoption Stage Positive Experiences Reported Beginning market: Lot of Evangelizing
    8. 8. Why open source for SOA? <ul><li>Low cost of entry </li></ul><ul><li>SOA is a natural evolution of IT </li></ul><ul><ul><ul><li>Extends application servers, databases, messaging systems, ERPs etc.- already commoditizing </li></ul></ul></ul><ul><ul><ul><li>Improves existing applications through reusability </li></ul></ul></ul><ul><ul><ul><li>i.e. it is not about new applications from the ground up </li></ul></ul></ul><ul><li>Open source provides transparency </li></ul><ul><li>Opportunity for community innovation </li></ul><ul><li>Mixture of open and closed source typical </li></ul>
    9. 9. IONA Leadership – SOA and OSS <ul><li>Distributed computing pioneers with CORBA </li></ul><ul><li>First to market with micro kernel architecture </li></ul><ul><li>Contributing actively to open source projects: </li></ul><ul><ul><ul><li>Eclipse SOA Tools Platform </li></ul></ul></ul><ul><ul><ul><li>Apache CXF </li></ul></ul></ul><ul><ul><ul><li>Apache Qpid </li></ul></ul></ul><ul><li>Delivering enterprise-class support for open source software </li></ul><ul><ul><ul><li>Celtix Enterprise </li></ul></ul></ul><ul><li>Industry leadership activities at W3C, OASIS, OSGi </li></ul>
    10. 10. Future direction for SOA <ul><li>Service-enablement </li></ul><ul><li>Orchestration </li></ul><ul><li>Store and reuse </li></ul><ul><li>Manage service performance </li></ul>ESB Service Endpoints Consumers Contracts Config Policy Business Services Administrators CORBA / J2EE Systems JAVA / J2EE Systems MOM Based Systems Mainframe Transactions IONA IONA IONA IONA
    12. 12. Today’s Government <ul><li>Leaders expect to be able to move quickly , using all information appropriate to make effective choices that benefit constituents. </li></ul><ul><li>Infrastructure is not well suited to responding to the demands for responsive interconnectivity </li></ul><ul><li>Working across levels and branches of government is a complex and difficult undertaking that is further complicated by the governance and infrastructure that must exist to support it. </li></ul>
    13. 13. Why is Open Source Important? <ul><li>Open source products are deeply embedded in the Government </li></ul><ul><ul><li>Apache - Over 60% of the web pages on the world wide web are presented via Apache.* </li></ul></ul><ul><ul><li>TCP/IP - The underlying basis of the Internet; Its creation was funded by DoD. </li></ul></ul><ul><ul><li>Sendmail - moves mail from one machine to another; carries nearly 90% of e-mail traffic* </li></ul></ul><ul><ul><li>Linux - Unix-like operating system with over 18 million users.*** Widely used to support Apache, TCP/IP, and Sendmail services. </li></ul></ul><ul><ul><li>MySQL - relational database. </li></ul></ul><ul><ul><li>Perl - An open-source-only programing language that is widely used to make web pages “smarter” </li></ul></ul><ul><li>Open source development is widespread and international </li></ul><ul><ul><li> - 77,000 projects and 804,000 registered users </li></ul></ul>
    14. 14. Forrester’s definition: SOA <ul><ul><li>Applications are organized into business services that are (typically) network-accessible. </li></ul></ul><ul><ul><li>Service interface definitions are first-class development artifacts. </li></ul></ul><ul><ul><li>Quality of service characteristics are explicitly specified in the design. </li></ul></ul><ul><ul><li>Services are cataloged and discoverable by development tools and management tools. </li></ul></ul><ul><ul><li>Protocols are predominantly, but not exclusively, based on Web services. </li></ul></ul>A style of design, deployment, and management of applications and software infrastructure in which:
    15. 15. SOA and Web Services <ul><li>SOA does not need Web Services </li></ul><ul><li>Not every Web Service is based on SOA </li></ul><ul><li>BUT </li></ul>Through 2008, SOA and Web Services will be implemented together in more than 75 percent of new SOA or Web Services projects (0.7 probability)
    16. 16. Being a Service versus a Component
    17. 17. Open Source likely to be part of today’s software infrastructure
    18. 18. SOA adopters show affinity for Open Source infrastructure
    19. 19. How Services Make Applications Open <ul><li>An agency can quickly adapt to new methods of communication </li></ul>Message Contract <ul><li>New implementations can be added faster and more reliably in a SOA environment </li></ul><ul><li>New customers send messages based on an agreed contract between the producer and consumer </li></ul><ul><li>The implementation is independent of the producer which enables multiple views of information without impacting legacy applications </li></ul>Secure Business Applications Business Application Service Business Logic Interface Facade Producer XML Customizable Presentation Tier Consumer ?
    20. 20. SOA infrastructure can deliver information… Service life-cycle environment Application platforms and information sources … Enterprise service bus Service command platform Service clients Service interfaces Control Change Connection Core services Service metadata Information Services Business Services
    21. 21. An ESB is a common SOA foundation <ul><li>An ESB is an intermediary that makes a set of reusable business services widely available. </li></ul><ul><li>Service Connection : </li></ul><ul><ul><li>Multiple protocols and data formats </li></ul></ul><ul><ul><li>Application adapters </li></ul></ul><ul><li>Service Mediation : </li></ul><ul><ul><li>Routing, interaction models, version resolution </li></ul></ul><ul><ul><li>Transformation and mapping, message enrichment </li></ul></ul><ul><li>Service Change and control : </li></ul><ul><ul><li>Transactions </li></ul></ul><ul><ul><li>Security and quality of service </li></ul></ul><ul><ul><li>Service registry and metadata management </li></ul></ul><ul><ul><li>Service monitoring and management </li></ul></ul><ul><li>Service Orchestration : Business process management and monitoring </li></ul>
    22. 22. Celtix Enterprise Making Headlines <ul><li>IONA is expanding leadership in Distributed SOA infrastructure with open source </li></ul><ul><li>Celtix Enterprise </li></ul><ul><ul><ul><li>Open Source ESB </li></ul></ul></ul><ul><ul><ul><li>Basis for distributed SOA </li></ul></ul></ul><ul><li>Celtix Advanced Messaging </li></ul><ul><ul><ul><li>AMQP reference </li></ul></ul></ul><ul><ul><ul><li>implementation </li></ul></ul></ul><ul><li>Celtix Advanced Service Engine </li></ul><ul><ul><ul><li>Based on Apache CXF </li></ul></ul></ul><ul><li>Enterprise-class Services </li></ul><ul><li>and Support </li></ul>
    23. 23. The Celtix Offering Family (Detail) <ul><li>Celtix Advanced Messaging </li></ul><ul><ul><ul><li>Based on Apache Qpid, AMQP reference implementation </li></ul></ul></ul><ul><ul><ul><li>Supports fire-and-forget, publish-subscribe, reliable message queuing </li></ul></ul></ul><ul><ul><ul><li>AMQP is an open on-the-wire protocol </li></ul></ul></ul><ul><li>Celtix Advanced Service Engine </li></ul><ul><ul><ul><li>Based on Apache CXF </li></ul></ul></ul><ul><ul><ul><li>Full JAX-WS 2.0 implementation </li></ul></ul></ul><ul><ul><ul><li>Supports Java and Javascript/E4X </li></ul></ul></ul><ul><ul><ul><li>SOAP or raw XML over HTTP, JMS, AMQP </li></ul></ul></ul>Celtix Advanced Messaging Routing Java, Javascript/E4X Eclipse STP, code generators, JMX Enabled Celtix Advanced Service Engine Tomcat, J2EE, JBI, Spring
    24. 24. Celtix Enterprise Components <ul><li>Messaging </li></ul><ul><ul><ul><li>Celtix Advanced Messaging </li></ul></ul></ul><ul><ul><ul><li>ActiveMQ JMS </li></ul></ul></ul><ul><ul><ul><li>Routing </li></ul></ul></ul><ul><li>Containers </li></ul><ul><ul><ul><li>Tomcat </li></ul></ul></ul><ul><ul><ul><li>ServiceMix JBI container </li></ul></ul></ul><ul><ul><ul><li>Lightweight Spring-based Container </li></ul></ul></ul><ul><ul><ul><li>Supports J2EE </li></ul></ul></ul><ul><li>Celtix Advanced Service Engine </li></ul><ul><li>Eclipse tooling from the SOA Tools Platform (STP) project </li></ul>
    25. 25. Celtix Enterprise Functionality Support and warranty for source code <ul><li>Tested & Certified with: </li></ul><ul><li>Operating Systems </li></ul><ul><li>Application Servers </li></ul><ul><li>Artix & Artix plug-ins </li></ul>Messaging Pluggable Services Framework User Experience, Management Lightweight Container Routing
    26. 26. Celtix Enterprise Open Source Components Support and warranty for source code <ul><li>Tested & Certified with: </li></ul><ul><li>Operating Systems </li></ul><ul><li>Application Servers </li></ul><ul><li>Artix & Artix plug-ins </li></ul>Celtix Advanced Messaging (Qpid) Routing * Celtix Advanced Service Engine (CXF) SOA Tools Project, JMX Console, Rhino E4X Javascript ActiveMQ JBI Container (ServiceMix) Spring-based Container Servlet Container (Tomcat)
    27. 27. Artix and Celtix in a Distributed SOA JBI Container Network Celtix Celtix Celtix Artix Tomcat Container AMQP AMQP AMQP MQ AMQP AMQP Mainframe Spring-based Container
    28. 28. Celtix Advanced Messaging – Open Source Messaging Platform <ul><li>Based on the AMQP open specification which is being developed by the AMQP Working Group including JP Morgan Chase, IONA, Cisco, RedHat and others. </li></ul><ul><li>Based on code from the Apache Incubator Qpid </li></ul><ul><li>open source project </li></ul><ul><li>Free 30 day support available from IONA </li></ul><ul><li>Consulting, training & support offerings from IONA </li></ul><ul><li>Capabilities include: </li></ul><ul><ul><li>Queue-based messaging </li></ul></ul><ul><ul><li>Publish-subscribe </li></ul></ul><ul><ul><li>Header-based routing </li></ul></ul>
    29. 29. Architecture
    30. 30. Celtix High-level Architecture
    31. 31. Celtix Enterprise – Another View
    32. 32. Think Big, Start Small, Scale Fast
    33. 33. Pluggability / Extensibility <ul><li>Pluggable API for building transports and bindings </li></ul><ul><ul><li>Supports combining any transport with any binding </li></ul></ul><ul><li>Extensibility at all levels </li></ul><ul><ul><li>Configuration </li></ul></ul><ul><ul><li>Component-specific WSDL extensions </li></ul></ul>
    34. 34. WSDL Centric Architecture <ul><li>Leverage WSDL concepts heavily </li></ul><ul><ul><li>Applications w/o WSDL also supported </li></ul></ul><ul><li>Support all WSDL semantics </li></ul><ul><ul><li>Extensible message exchange patterns </li></ul></ul><ul><ul><li>Separation of logical and physical contracts </li></ul></ul><ul><ul><li>Define service and tie it to a binding </li></ul></ul><ul><ul><li>Apply QoS </li></ul></ul><ul><li>Initially support WSDL 1.1 </li></ul><ul><ul><li>WSDL 2.0 (next release) </li></ul></ul>
    35. 35. Bindings <ul><li>Enables integration of Celtix with any type of message and data binding. </li></ul><ul><li>Comprises of two parts, </li></ul><ul><ul><ul><li>Message Binding Layer, which specifically deals with message aspects of the protocol. </li></ul></ul></ul><ul><ul><ul><li>Data Binding Layer, which specifically deals with data aspects like marshalling and un-marshalling. </li></ul></ul></ul><ul><li>Can utilize Apache Yoko to CORBA enable an endpoint. Using a CORBA binding enables you to do the following: </li></ul><ul><ul><ul><li>Develop JAX-WS clients that interacts directly with CORBA back end services. </li></ul></ul></ul><ul><ul><ul><li>Develop services that interact natively with CORBA clients. </li></ul></ul></ul><ul><ul><ul><li>Incrementally migrate CORBA services and clients to a WS implementation. </li></ul></ul></ul>
    36. 36. Transports <ul><li>Enables integration of Celtix with any transport </li></ul><ul><ul><li>Provides flexible framework that makes minimal assumptions about type of underlying transport </li></ul></ul><ul><li>Partial list of supported transport features </li></ul><ul><ul><li>One-way and two-way invocations </li></ul></ul><ul><ul><li>Synchronous and asynchronous invocations </li></ul></ul><ul><ul><li>Various threading models </li></ul></ul>
    37. 37. Containers <ul><li>Celtix Enterprise provides three runtime containers: </li></ul><ul><ul><ul><li>the Apache Incubator ServiceMix JBI container </li></ul></ul></ul><ul><ul><ul><li>the Tomcat 5. x servlet container </li></ul></ul></ul><ul><ul><ul><li>a lightweight Spring based container </li></ul></ul></ul><ul><li>Also supports the deployment of runtime components into J2EE containers such as JBoss. </li></ul><ul><li>The Celtix ASE product is capable of running Web services in a standalone mode. </li></ul>
    38. 38. Routing <ul><li>Celtix Enterprise provides a routing intermediary. It has the following features: </li></ul><ul><ul><ul><li>transport switching </li></ul></ul></ul><ul><ul><ul><li>binding switching </li></ul></ul></ul><ul><ul><ul><li>content-based routing </li></ul></ul></ul><ul><ul><ul><li>operation-based routing </li></ul></ul></ul><ul><ul><ul><li>message transformation </li></ul></ul></ul><ul><li>You can also add orchestration and other advanced features to Celtix Enterprise using intermediaries. </li></ul>
    39. 39. Tooling <ul><li>Code generators </li></ul><ul><ul><li>wsdl2java, java2wsdl, xsd2wsdl, wsdl2service, wsdl2soap </li></ul></ul><ul><li>schemavalidator </li></ul><ul><ul><li>For validating schemata </li></ul></ul><ul><li>Other….. </li></ul><ul><ul><li>JAXB generators from JAXB reference implementation </li></ul></ul><ul><li>GUI Tools to be provided by STP </li></ul><ul><ul><li>Most Notably Eclipse Development Environment Support for Standard JMX Consoles </li></ul></ul><ul><ul><li>endpoints instrumented with Java Management Extensions (JMX) and provides support for any SOA management console that supports JMX. </li></ul></ul>
    40. 40. Environment <ul><li>JSE 5 </li></ul><ul><ul><ul><li>Annotations, Generics, Concurrency etc. </li></ul></ul></ul><ul><li>JAXB 2.0 </li></ul><ul><ul><ul><li>Map XML schema to annotated Java classes </li></ul></ul></ul><ul><li>JAXWS 2.0 </li></ul><ul><ul><ul><li>Map annotated Java classes to WSDL (and the other way around) </li></ul></ul></ul><ul><ul><ul><li>Public sync/async invocation API, handler API, etc </li></ul></ul></ul>
    41. 41. Are you Ready for OpenSource SOA? Celtix Applicability
    42. 42. Use Cases <ul><li>Basic JAX-WS Service Creation </li></ul><ul><ul><ul><li>The GUI tools provide JAX-WS compliant code from WSDL contracts and help you develop applications using it. The GUI tools also provide a mechanism for generating a JAX-WS service from a Java object. </li></ul></ul></ul><ul><li>Reliable Messaging Delivery </li></ul><ul><ul><ul><li>AMQP </li></ul></ul></ul><ul><ul><ul><li>Reliable Messaging (WS-RM) </li></ul></ul></ul><ul><ul><ul><li>ActiveMQ JMS </li></ul></ul></ul><ul><li>Deploying Smart Endpoints </li></ul><ul><ul><ul><li>Has all of the functionality to send and receive messages as specified by the service's contract. </li></ul></ul></ul><ul><ul><ul><li>It does not rely on a central server and is more flexible in terms of resources and deployment options. </li></ul></ul></ul><ul><ul><ul><li>Service's built with Celtix Enterprise can be deployed as standalone processes that are completely autonomous. </li></ul></ul></ul>
    43. 43. Use Cases (Cont) <ul><li>Web Service Enabling of Legacy Systems </li></ul><ul><ul><ul><li>Celtix can assist you in adding the needed JAX-WS annotations to your objects </li></ul></ul></ul><ul><ul><ul><li>It will then generate the WSDL which defines the newly created service. Once your Java code is annotated and the WSDL is generated, you can deploy the code as a service using any of the containers supported by Celtix Enterprise. </li></ul></ul></ul><ul><li>JAX-WS SOAP Stack in alternative containers </li></ul><ul><ul><li>Deploying Inferno service as a web application inside Tomcat container, deploying services with Spring, deploying services on Geronimo. </li></ul></ul><ul><li>JBI Integration </li></ul><ul><ul><li>ServiceMix amongst others (OpenESB) </li></ul></ul>
    44. 44. Use Cases (Cont) <ul><li>Web 2.0 and JavaScript Support </li></ul><ul><ul><ul><li>Integration with AJAX, php, and other scripting languages. </li></ul></ul></ul><ul><ul><ul><li>Celtix Enterprise has a JavaScript front-end that allows you to write services and consumers using either JavaScript or E4X. </li></ul></ul></ul>
    45. 45. CELTIX Features Recap <ul><li>JAX-WS 2.0 </li></ul><ul><li>Bindings: SOAP 1.1, XML </li></ul><ul><li>Transports: HTTP, JMS </li></ul><ul><li>WS-Addressing, WS-Reliable Messaging </li></ul><ul><li>Instrumentation & JMX Management </li></ul><ul><li>JBI Support </li></ul><ul><li>SCA Integration with Tuscany </li></ul><ul><li>J2EE Integration with Geronimo and JOnAS </li></ul><ul><li>Routing </li></ul>
    46. 46. Celtix Enterprise is here!