Open Source SOA with Service Component Architecture and Apache Tuscany. Jean-Sebastien Delfino Mario Antollini Raymond Feng



Similar documents
Open Source SCA The Apache Tuscany Project

SCA & SDO Implementations Open Source and Vendor Products

SCOrWare project, an enabler for open source SCA-compliant solutions

Converting Java EE Applications into OSGi Applications

Reusing Existing * Java EE Applications from Oracle SOA Suite

ITG Software Engineering

How To Create A C++ Web Service

SCA-based Enterprise Service Bus WebSphere ESB

Oracle WebLogic Foundation of Oracle Fusion Middleware. Lawrence Manickam Toyork Systems Inc

ActiveVOS Server Architecture. March 2009

SOA Fundamentals For Java Developers. Alexander Ulanov, System Architect Odessa, 30 September 2008

Introduction to WebSphere Process Server and WebSphere Enterprise Service Bus

CBM SOMA - SCA. Techniques and Standards to Increase Business and IT Flexibility. Jouko Poutanen Senior IT Architect, IBM Software Group

A standards-based approach to application integration

Oracle Service Bus. Situation. Oracle Service Bus Primer. Product History and Evolution. Positioning. Usage Scenario

Oracle SOA Suite Then and Now:

Developing SOA solutions using IBM SOA Foundation

WELCOME TO Open Source Enterprise Architecture

JBI and OpenESB. Introduction to Technology. Michael Czapski Advanced Solutions Architect, SOA/BI/Java CAPS Sun Microsystems, ANZ

Introduction to CASA: An Open Source Composite Application Editor

Developing Service-Oriented Architecture Applications with OSGi

The Challenges in Real Life ESB Deployments

IBM Proof of Technology Discovering business application services, featuring IBM WebSphere Application Server Network Deployment V8

Spoilt for Choice Which Integration Framework to choose? Mule ESB. Integration. Kai Wähner

Solution Showcase Session. Enterprise 2.0 Computing Services

Beyond the SOA/BPM frontiers Towards a complete open cooperative environment

FUSE-ESB4 An open-source OSGi based platform for EAI and SOA

1 What Are Web Services?

Avoiding Web Services Chaos with WebSphere Service Registry and Repository

1 What Are Web Services?

IBM Rational Web Developer for WebSphere Software Version 6.0

The Composition Approach for Large-Scale SOA

IBM WebSphere ESB V6.0.1 Technical Product Overview

IBM WebSphere Server Administration

Choose an IBM WebSphere Application Server configuration to suit your business needs

Accelerated Java EE Open Source Development with Eclipse CON1905

WebSphere Server Administration Course

Developing modular Java applications

SOA Best Practices (from monolithic to service-oriented)

SAP NetWeaver Opens SAP ERP world. Amedeo Prodi SAP Italia

Oracle BPEL Nuts and Bolts

Beeple, B-Pel, Beepul? Understanding BPEL and Its Role in SOA

Tomáš Müller IT Architekt 21/04/2010 ČVUT FEL: SOA & Enterprise Service Bus IBM Corporation

RED HAT JBOSS FUSE COMPARED WITH ORACLE SERVICE BUS

Course Description. Course Audience. Course Outline. Course Page - Page 1 of 5

ActiveMatrix Extending Virtualization benefits over Your Service Architecture. Joaquim F. Carvalho Senior Solution Consultant TIBCO Software Inc.

Web Services Development In a Java Environment

Open ESB. Sang Shin Java Technology Evangelist Sun Microsystems, Inc. Raffaele Spazzoli Imola Informatica 1

2012 LABVANTAGE Solutions, Inc. All Rights Reserved.

How to Build an E-Commerce Application using J2EE. Carol McDonald Code Camp Engineer

BIRT Application and BIRT Report Deployment Functional Specification

APAC WebLogic Suite Workshop Oracle Parcel Service Overview. Jeffrey West Application Grid Product Management

How to secure your Apache Camel deployment

Extension of a SCA Editor and Deployment-Strategies for Software as a Service Applications

TIBCO ActiveMatrix BPM SOA Concepts

Eclipse Open Healthcare Framework

Building Web Services with Apache Axis2

Managing Application Performance with JBoss Operations Network and OC Systems RTI

Join the Lean Wave. Asanka Abeysinghe Director, Solutions Architecture. WSO2, Inc. Friday, July 22, 11

Building a Service Oriented Architecture with ServiceMix. Jeff Genender CTO Savoir Technologies, Inc

Part One Business Modeling Business Process Model

IBM Rational Asset Manager

Framework Adoption for Java Enterprise Application Development

Developing Web Services with Eclipse

Operations and Monitoring with Spring

REST and SOAP Services with Apache CXF

JAVA/J2EE DEVELOPER RESUME

BONITA, The Open Source BPM Solution

Learn Oracle WebLogic Server 12c Administration For Middleware Administrators

Preface. Motivation for this Book

CHAPTER 1 - JAVA EE OVERVIEW FOR ADMINISTRATORS

Redbook Overview Patterns: SOA Design with WebSphere Message Broker and WebSphere ESB

IBM WebSphere Application Server Family

enterprise^ IBM WebSphere Application Server v7.0 Security "publishing Secure your WebSphere applications with Java EE and JAAS security standards

applications. JBoss Enterprise Application Platform

SOA management challenges. After completing this topic, you should be able to: Explain the challenges of managing an SOA environment

Introduction to Oracle WebLogic. Presented by: Fatna Belqasmi, PhD, Researcher at Ericsson

DB2 Application Development and Migration Tools

GlassFish. Developing an Application Server in Open Source

Oracle Fusion Middleware 11g R1 - Weblogic Server for System z. Marc Connolly Technical Development Director

White Paper: 1) Architecture Objectives: The primary objective of this architecture is to meet the. 2) Architecture Explanation

SERVICE ORIENTED ARCHITECTURE

Introduction to OSGi and Modularity. InfoSphere MDM, Version 11.x Dany Drouin, Senior Software Engineer MDM

WebSphere Training Outline

Oracle SOA Suite: The Evaluation from 10g to 11g

Web Services in Oracle Fusion Middleware. Raghu Kodali Consulting Product Manager & SOA Evangelist Oracle Fusion Middleware Oracle USA

The Java EE 6 Platform. Alexis Moussine-Pouchkine GlassFish Team

OSGi Remote Management

SOA, case Google. Faculty of technology management Information Technology Service Oriented Communications CT30A8901.

Transcription:

Open Source SOA with Service Component Architecture and Apache Tuscany Jean-Sebastien Delfino Mario Antollini Raymond Feng

Learn how to build and deploy Composite Service Applications using Service Component Architecture (SCA) and Apache Tuscany 2008 JavaOne SM Conference java.sun.com/javaone 2

Agenda SCA in a Nutshell Apache Tuscany Overview Demo Business Value Scenarios SCA Quick Tour Tuscany SCA Implementation New and Notable Tuscany Community Summary 2008 JavaOne SM Conference java.sun.com/javaone 3

SCA in a Nutshell A development and deployment model for SOA Service-based models for the Construction Assembly Deployment of composite service applications In a distributed and heterogeneous environment of Multiple languages Multiple container technologies Multiple service access methods 2008 JavaOne SM Conference java.sun.com/javaone 4

SCA Specifications - History Dec 2003: BEA and IBM start collaborating on SCA Nov 2005: 0.9 specs published BEA, IBM, Oracle, SAP, IONA, and Sybase July 2006: 0.95 specs and OSOA.org (Open SOA) Added: Cape Clear, Interface21, Primeton Technologies, Progress Software, Red Hat, Rogue Wave, Siemens AG, Software AG, Sun, TIBCO Mar 2007: 1.0 specs published Submitted to OASIS April 2007: OASIS Forms Open CSA Member Section Sept 2007: Formal standardization starts in OASIS Open CSA 2008 JavaOne SM Conference java.sun.com/javaone 5

Open SOA - http://www.osoa.org 2008 JavaOne SM Conference java.sun.com/javaone 6

OASIS Open CSA - http://www.oasis-opencsa.org/ 2008 JavaOne SM Conference java.sun.com/javaone 7

Agenda SCA in a Nutshell Apache Tuscany Overview Demo Business Value Scenarios SCA Quick Tour Tuscany SCA Implementation New and Notable Tuscany Community Summary 2008 JavaOne SM Conference java.sun.com/javaone 8

Open Source SCA Apache Tuscany http://incubator.apache.org/tuscany 2008 JavaOne SM Conference java.sun.com/javaone 9

What is Apache Tuscany Some words from the project charter: open-source software for distribution at no charge to the public, that simplifies the development, deployment and management of distributed applications built as compositions of service components. These components may be implemented with a range of technologies and connected using a variety of communication protocols. This software will implement relevant open standards including, but not limited to, the SCA standard defined by the OASIS OpenCSA member section." 2008 JavaOne SM Conference java.sun.com/javaone 10

Apache Tuscany - History Project created in Dec 2005 in Apache incubator Major Releases 09/07 1.0 release, first implementation of SCA spec v1.0 02/08 1.1 release, bug fixes, Java Message Service (JMS) binding, improved policy support 04/08 1.2 release Distributed SCA Domain management Eclipse plugin New ATOM binding using Apache Abdera Improved JMS binding OSGi runtime integration Incremental releases every 6/8 weeks Worldwide growing user and developer community! Users in production with Tuscany 2008 JavaOne SM Conference java.sun.com/javaone 11

SCA and Apache Tuscany in Action Business Value Scenarios 2008 JavaOne SM Conference java.sun.com/javaone 12

Demo - The Rise of a Fruit Business The Fruit Store Merger or Acquisition - The Fruit&Vegetable Store The Fruit&Vegetable Store as Supplier The Fruit&Vegetable Store Solution Provider The Fruit Store Widget - Mashup All the code available at http://svn.apache.org/repos/asf/incubator/tuscany/java/sca/tutorial 2008 JavaOne SM Conference java.sun.com/javaone 13

The Fruit Store Creating an Online Business store Collection atom ShoppingCart Store jsonrpc Total http jsonrpc currencycode=usd Catalog Currency Converter 2008 JavaOne SM Conference java.sun.com/javaone 14

The Fruit&Vegetable Store Merger or Acquisition store-merger Collection atom http Store jsonrpc Total jsonrpc ShoppingCart currencycode=usd Currency Converter Fruit Catalog Catalog ws Vegetable Catalog 2008 JavaOne SM Conference java.sun.com/javaone 15

The Fruit&Vegetable Store Using a Database in the ShoppingCart implementation store-db Collection atom database=usdb ShoppingCart Store jsonrpc Total Currency Converter http jsonrpc currencycode=usd Fruit Catalog Catalog ws Vegetable Catalog 2008 JavaOne SM Conference java.sun.com/javaone 16

The Fruit&Vegetable Store as Supplier Being a Supplier for other Online Stores store-supplier Collection atom database=usdb http Store jsonrpc jsonrpc Total ShoppingCart currencycode=usd Currency Converter Fruit Catalog ws Catalog ws Vegetable Catalog AllAroundFoods.com 2008 JavaOne SM Conference java.sun.com/javaone 17

The Fruit&Vegetable Store Solution Provider Providing a Store Solution in another Geography store-eu Collection atom database=eudb ShoppingCart http Store jsonrpc Total jsonrpc currencycode=eur ws Currency Converter Fruit Catalog Catalog ws ws Vegetable Catalog EU Services 2008 JavaOne SM Conference java.sun.com/javaone 18

The Fruit Store Widget - Mashup Store Mashup Offering the Store as an Open Ajax Widget store-mashup Store Mashup http http other Widgets 2008 JavaOne SM Conference java.sun.com/javaone 19

The Fruit Store Widget - Mashup Store Mashup Offering the Store as an Open Ajax Widget 2008 JavaOne SM Conference java.sun.com/javaone 20

Agenda SCA in a Nutshell Apache Tuscany Overview Demo Business Value Scenarios SCA Quick Tour Tuscany SCA Implementation New and Notable Tuscany Community Summary 2008 JavaOne SM Conference java.sun.com/javaone 21

SCA Quick Tour Construction Assembly Deployment 2008 JavaOne SM Conference java.sun.com/javaone 22

SCA - Construction Constructing service component implementations Implementer focuses on business logic Implementer chooses the language that fits the business problem No code is dependent on the means of accessing the service Defining service dependencies Use business services without knowing how they will be accessed Only the interface is known Defining other configuration features Properties Policies 2008 JavaOne SM Conference java.sun.com/javaone 23

SCA - Assembly Service Interface - Java - WSDL Property Reference Interface - Java interface - WSDL PortType Composite A property setting Service Component A Component B Reference promote wire promote Service Binding - Web Service - JMS - JCA - SLSB - HTTP - JSONRPC - ATOM - Implementation - Java - BPEL - SCA Composite - Spring - JEE - Scripting: Groovy, JScript, PHP, Python, Ruby, - XQuery - Reference Binding - Web Service - JMS - JCA - SLSB - HTTP - JSONRPC - ATOM - 2008 JavaOne SM Conference java.sun.com/javaone 24

SCA - Assembly Building Solutions from Assets US EURO binding.ws binding.rest binding.ws binding.json binding.ejb implementation implementation 2008 JavaOne SM Conference java.sun.com/javaone 25

SCA - Deployment SCA Domain Composite Web storeus.html ShoppingCartImpl.java storeeu.html Catalog.java asset contributions 2008 JavaOne SM Conference java.sun.com/javaone 26

SCA Deployment Services logical configuration of the cloud Web (2) addtodomaincomposite Configuration Manager Cloud Manager - Provisioning - Monitoring Server Nodes (1) addcontribution Contribution Manager physical or virtual server nodes Contribution Workspace 2008 JavaOne SM Conference java.sun.com/javaone 27

Agenda SCA in a Nutshell Apache Tuscany Overview Demo Business Value Scenarios SCA Quick Tour Tuscany SCA Implementation New and Notable Tuscany Community Summary 2008 JavaOne SM Conference java.sun.com/javaone 28

Apache Tuscany SCA Implementation Tuscany provides implementations of the main SCA specifications including: SCA Assembly Model V1.0 SCA Policy Framework V1.0 SCA Common Annotations for the Java Platform and APIs V1.0 SCA Java Component Implementation V1.0 SCA Spring Component Implementation V1.0 SCA BPEL Client and Implementation V1.0 SCA Web Service Binding V1.0 SCA JMS Binding V1.0 SCA EJB Session Bean Binding V1.0 2008 JavaOne SM Conference java.sun.com/javaone 29

Apache Tuscany SCA Extensions SCA bindings RSS and ATOM Feeds, HTTP resources, JSON-RPC, Direct Web Remoting, Pub/Sub Notifications and RMI SCA implementation types OSGi, XQuery, BPEL, and various dynamic languages including Groovy, JavaScript programming language, Python and Ruby Databindings Java Architecture for XML Binding (JAXB) software, Service Data Objects (SDO), Axis2's AXIOM, JSON, XMLBeans, SAXON, DOM, SAX and StAX Policies Logging, connection pooling 2008 JavaOne SM Conference java.sun.com/javaone 30

Apache Tuscany Distribution and Hosting Tuscany can be configured as a single node SCA domain or as an SCA domain distributed across multiple nodes. Simple Administration model: SCA domain and SCA node configuration are Web resources accessed using AtomPub. Host deployment options: Standalone Distributed nodes across multiple Java virtual machines Embedded Jetty or Tomcat Standard Web application Tested in Tomcat 5.5.20, Tomcat 6.0.14 and Jetty 6.1.3 Geronimo 2.0.2 Tomcat6 Java Platform, Enterprise Edition (Java EE platform) 5 WebSphere Application Server 6.1 Other Java EE platform Application Servers 2008 JavaOne SM Conference java.sun.com/javaone 31

Agenda SCA in a Nutshell Apache Tuscany Overview Demo Business Value Scenarios SCA Quick Tour Tuscany SCA Implementation New and Notable Tuscany Community Summary 2008 JavaOne SM Conference java.sun.com/javaone 32

Apache Tuscany New and Notable Working on improvements of the BPEL support More work on SCA domain management OSGi integration 3 new committers 6 Google Summer of Code students / projects Next Release... 6/8 weeks as usual? :) 2008 JavaOne SM Conference java.sun.com/javaone 33

Agenda SCA in a Nutshell Apache Tuscany Overview Demo Business Value Scenarios SCA Quick Tour Tuscany SCA Implementation New and Notable Tuscany Community Summary 2008 JavaOne SM Conference java.sun.com/javaone 34

Tuscany Community Working in Open Source What we have learned and are practicing Code Small Composable Modules, low barrier to entry A working build, commit every day Welcoming environment Open mailing list discussions, share ideas, respect new ideas and feedback Encourage user feedback Be responsive to questions, apply patches quickly Help contributors find areas to contribute to Release early, release often! Apache Tuscany community is growing Mailing list subscribers More and more users contributing patches 2008 JavaOne SM Conference java.sun.com/javaone 35

For More Information Apache Tuscany http://incubator.apache.org/tuscany Tuscany SCA Java http://incubator.apache.org/tuscany/sca-java.html Getting started http://incubator.apache.org/tuscany/getting-started-with-tuscany.html Getting started using Eclipse http://jsdelfino.blogspot.com/2007/10/developing-sca-application-with-apache.html Tuscany Online Store Tutorial http://svn.apache.org/repos/asf/incubator/tuscany/java/sca/tutorial Using Tuscany with WebSphere Application Server 6.1 http://jsdelfino.blogspot.com/2007/10/how-to-use-apache-tuscany-with.html Tuscany Blog http://apache-tuscany.blogspot.com How to get involved http://incubator.apache.org/tuscany/getting-involved.html 2008 JavaOne SM Conference java.sun.com/javaone 36

For More Information SCA Specification Work Good introduction to SCA http://www.davidchappell.com/articles/introducing_sca.pdf OASIS Open CSA http://www.oasis-opencsa.org/ V1 level specs http://www.oasis-opencsa.org/sca Open CSA Technical Committees http://www.oasis-opencsa.org/committees Webinars http://www.oasis-opencsa.org/resources OSOA http://osoa.org/display/main/home V1 level of specs can also be found here http://osoa.org/display/main/service+component+architecture+specifications More information on that site http://osoa.org/display/main/sca+resources 2008 JavaOne SM Conference java.sun.com/javaone 37

Agenda SCA in a Nutshell Apache Tuscany Overview Demo Business Value Scenarios SCA Quick Tour Tuscany SCA Implementation New and Notable Tuscany Community Summary 2008 JavaOne SM Conference java.sun.com/javaone 38

Summary Service Component Architecture (SCA) Construction, Assembly, Deployment of Composite Applications Simple end to end composition You can focus on your business logic Apache Tuscany Implements SCA V1.0 Integrates with the Apache Platform Goes beyond the specifications (Web 2.0, ATOM, Scripting, Admin) Many releases Simple to use Join Tuscany! We welcome any type of contribution. http://incubator.apache.org/tuscany/getting-involved.html 2008 JavaOne SM Conference java.sun.com/javaone 39

Jean-Sebastien Delfino Mario Antollini Raymond Feng TS-5918 2008 JavaOne SM Conference java.sun.com/javaone 40