SCA and Java n SCA provides support for multiple Java-based component implementation types l Java POJOs (implementation.java) l Spring Beans (implementation.spring)

Slides:



Advertisements
Similar presentations
11 Copyright © 2005, Oracle. All rights reserved. Creating the Business Tier: Enterprise JavaBeans.
Advertisements

Indigo Jonathan Turnbull Nick Cartwright Ivan Konontsev Chris Bright.
Tu sca ny 1 Simplifying Service Oriented Applications with The Apache Tuscany project Jeremy Boynes 27 July 2006.
Why OSGi matters for Enterprise Java Infrastructures
JBoss Seam: Contextual Components Jason Bechtel
Introduction to Enterprise JavaBeans. Integrating Software Development Server-side Component Model Distributed Object Architecture –CORBA –DCOM –Java.
JSLEE. What is JSLEE ? is an event oriented application middleware. Its main job is to receive events from external resources and deliver these events.
Introduction to EJB INFORMATICS ENGINEERING – UNIVERSITY OF BRAWIJAYA Eriq Muhammad Adams J
Getting Started with WCF Windows Communication Foundation 4.0 Development Chapter 1.
The Spring Framework: A brief introduction to Inversion of Control James Brundege
Chapter 10 EJB Concepts of EJB Three Components in Creating an EJB Starting/Stopping J2EE Server and Deployment Tool Installation and Configuration of.
SCA C++, C and COBOL Bryan Aupperle David Haney 13 Dec
Spring Overview, Application demo -Midhila Paineni 09/23/2011 Spring Overview, Application demo9/8/20151.
1 Session Bean Chuyên đề Lập trình Java & J2EE Chương 14 Biên soạn: Th.S Nguyễn văn Lành.
J2EE Part 2: Enterprise JavaBeans CSCI 4300 Images and code samples from jGuru EJB tutorial,
Ing. Ignacio Roqueta ARTech GeneXus and J2EE.
Slide heading: 28pt Arial Regular, light blue R204 | G204 | B255 Maximum length: 2 lines Slide body: 18pt Arial Regular, white Square bullet color: green.
Enterprise JavaBeans EJB Container Services. EJB container Enterprise JavaBeans are deployed in an EJB container within the application server EJB container.
1 Advanced SCA Michael Rowley, Ph.D. Director, Technology Office of the CTO April 28, 2008 TS-3765.
95-843: Service Oriented Architecture 1 Master of Information System Management Service Oriented Architecture Lecture 10: Service Component Architecture.
1 Stateful Session Beans Stateless Session Beans Michael Brockway Sajjad Shami Northumbria University School of Computing, Engineering & Information Sciences.
Enterprise Java Bean Matt. 2 J2EE 3 J2EE Overview.
Enterprise JavaBeans. What is EJB? l An EJB is a specialized, non-visual JavaBean that runs on a server. l EJB technology supports application development.
Introduction to J2EE Architecture Portions by Kunal Mehta.
EJB Framework.  As we know, EJB is the center of the J2EE architecture that provides a sturdy framework for building enterprise applications. The major.
TDDD05 EJB Lab (Part of slides reused from Mikhail’s) Lu Li
Spring core v3.x Prepared by: Nhan Le. History v3.0 Spring Expression Language Java based bean metadata v3.1 Cache Abstraction Bean Definition Profile.
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 1 Oracle Unified BPM Suite Customer Advisory Board Design Best Practices Overview.
Web servisu izstrāde JAX-WS. Ievads JAX-WS = Java API for XML Web Services JAX-WS ir fundamentāla Web servisu izstrādes tehnoloģija Java EE 5 un Java.
Message Driven Beans & Web Services INFORMATICS ENGINEERING – UNIVERSITY OF BRAWIJAYA Eriq Muhammad Adams J
SCA Assembly Model Anish Karmarkar – Oracle Michael Rowley – BEA.
Spring Framework. Spring Overview Spring is an open source layered Java/J2EE application framework Created by Rod Johnson Based on book “Expert one-on-one.
Introduction to Spring Matt Wheeler. Notes This is a training NOT a presentation Please ask questions Prerequisites – Introduction to Java Stack – Basic.
Copyright 2006, Callista Enterprise AB Service Component Architecture “A reference architecture for SOA” Cadec 2006 Håkan Dahl, Johan Eltes.
Tu sca ny 1 Extending The Tuscany Java SCA Runtime 21 August 2006.
Component frameworks Roy Kensmil. Historical trens in software development. ABSTRACT INTERACTIONS COMPONENT BUS COMPONENT GLUE THIRD-PARTY BINDING.
Ch 2 – Application Assembly and Deployment COSC 617 Jeff Schmitt September 14, 2006.
Slide 1 Extending Tuscany Raymond Feng Apache Tuscany committer.
1 Architectural Overview For application developers, assembling enterprise beans requires little or no expertise in the complex system-level issues that.
Tuscany: a SOA framework Jeffrey Guo Accelrys, Inc.
Fall CIS 764 Database Systems Engineering L7. ADF + EJB Context: Oracle Application Development Framework …but … only EJB.
Tu sca ny 1 The Tuscany Java SCA Runtime 20 August 2006.
SCA Bindings Simon Holdsworth Piotr Przybylski. Agenda n SCA Bindings Overview l Bindings TC Charter n Bindings l Web Services Binding l JMS Binding l.
Tu sca ny 1 The Tuscany Project in the Apache Incubator and The Service Component Architecture Jeremy Boynes Simon Nash 28 June 2006.
® IBM Software Group © 2004 IBM Corporation Developing an SOA with RUP and UML 2.0 Giles Davies.
Copyright 2007 SpringSource. Copying, publishing or distributing without express written permission is prohibited. Spring MVC Essentials Getting started.
Notes from Coulouris 5Ed Distributed Systems Notes on Components.
1 Spring Framework April, 2012 Lam Ho Lam To. © 2010 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 2 1.Spring Overview 2.Framework.
SCA Assembly Model Anish Karmarkar – Oracle Michael Rowley – BEA.
Session Beans Based on: Patel, Brose, Silverman, Mastering Enterprise JavaBeans 3.0.
Component Patterns – Architecture and Applications with EJB copyright © 2001, MATHEMA AG Component Patterns Architecture and Applications with EJB Markus.
Introduction to EJB. What is an EJB ?  An enterprise java bean is a server-side component that encapsulates the business logic of an application. By.
Java Programming: Advanced Topics 1 Enterprise JavaBeans Chapter 14.
.NET Mobile Application Development XML Web Services.
IBM Proof of Technology Discovering the Value of SOA with WebSphere Process Integration © 2005 IBM Corporation SOA on your terms and our expertise WebSphere.
EJB Enterprise Java Beans JAVA Enterprise Edition
EJB. Introduction Enterprise Java Beans is a specification for creating server- side scalable, transactional, multi-user secure enterprise-level applications.
17 Copyright © 2004, Oracle. All rights reserved. Integrating J2EE Components.
Online | classes| Corporate Training | Technical | Placements| Experts Contact US: Magnific training India USA :
© 2010 IBM Corporation RESTFul Service Modelling in Rational Software Architect April, 2011.
Enterprise Java Beans. Contents  Understanding EJBs  Practice Section.
1 Introduction to Service Component Architecture Feature Pack for WebSphere Application Server & SCA Tooling in RAD Mike Edwards and Sara Mitchell - IBM.
EADD – Introduction Chapter -1.
Enterprise Java Beans Bina Ramamurthy 1/13/2019 B.Ramamurthy.
Component Technology Bina Ramamurthy 2/25/2019 B.Ramamurthy.
Distributed System using Web Services
J2EE Lecture 13: JMS and WebSocket
Towards Integrating Java EE into ProtoCom
Objectives In this lesson, you will learn about:
Distributed System using Web Services
Presentation transcript:

SCA and Java n SCA provides support for multiple Java-based component implementation types l Java POJOs (implementation.java) l Spring Beans (implementation.spring) l EJB (implementation.ejb) n Common annotations and API l May be used by all Java-based implementations l Metadata service contracts based on Java interfaces l Metadata component type information l Metadata container-component implementation contract l Asynchronous interactions and callbacks l APIs (few) for accessing assembly information

An example Java implementation type n Just Java with a few (optional) annotations public class LoanServiceImpl implements LoanService { private CreditService creditService; public CreditService creditService) { this.creditService = creditService; } public void apply(Application application) { String id = application.getCustomerID(); int rating = creditService.getCreditScore(id); }

Key Principles n Simplify component development l Use POJOs l Minimal container coupling to implementations l Achieved through Inversion of Control or IoC n Simplify reuse through service-based design l Strongly defined contracts that pass data l Remove need to interact directly with binding protocols and transports most of the time l Focus on loosely-coupled interactions

Metadata for Service Contracts l Defines a service that may be visible across process l Deals with conversational services l More on this later l Denotes a non-blocking operation l More on this later l Defines callback interface and injection

Metadata for defining component type information l Defines services offered by an implementation l Identifies a component type property l Setter-based, ctor-based and field-based injection supported l Identifies a component type reference l Setter-based, ctor-based and field-based injection supported n SCA defines heuristics for unannotated POJOs as well

Container-Component Implementation Contract Metadata l Per-class or per-operation l Specifies visibility and lifecycle contract l STATELESS (default), REQUEST, CONVERSATION, COMPOSITE l Containers may also add custom scopes n Conversation semantics l Always between two parties l May be long-running

More on Conversations n Making an implementation public interface Counter { int getCount(); void int reset(); public class CounterImpl implements Counter { private int count; public int getCount() { return count; } public void increment() { ++i; } public void reset() { i = 0; }

Asynchronous Interactions l Indicate a non-blocking call on an interface public interface Counter { int void int reset(); }

Callbacks n Stateful and stateless n Non-blocking or public interface MyService { void call(); } public interface MyCallback { void call(); } public class MyServiceImpl public void setCallback(MyCallback callback){ //... } //... }

Stateful Callbacks n LoanShark service public interface LoanShark { void borrow(double void void delay(); } public interface Borrower { warn(); kill(); }

APIs n Only a few, deal with specific use cases, e.g. n Component context, name n Request contexts n Service references (may be passed) n Conversation id n Set callback

SCA - Spring Integration

Spring n Spring application contexts can be used as component implementations n Spring beans can be wired to SCA or external services services n Spring beans can have services exposed l Other SCA components may be wired to them l Beans may be bound using an SCA binding Spring Beans SCA Reference SCA Service implementation.spring

SCA - Java EE Integration

Why SCA With Java EE Platform? Java EE gets n Additional implementation types and bindings on the application level: l BPEL, Spring,... l More to expect: For example ESB style interactions n Move protocol specifics to configuration via bindings n Cross-Application Assembly l Domain assembly extends Enterprise App Assembly to the cross-app level SCA gets n Reuse of existing assets, know-how, tooling.

Types of Integration n Bindings l JMS, Session Beans, JCA n Implementation Types l Java EE Components (SessionBeans, WebComponents, etc) as implementation types. l Java EE Archives (EARs, WARs, EJB-JARs) as implementation types.

Use Cases for Bindings Binding.ejb n Consume session beans from service components n Expose SCA services as session beans, so that they can be consumed by unmodified Java EE components Binding.jms, Binding.jca n Several other binding types relate to Java EE, but are the focus of other working groups.

Use Cases for Java EE Components as Implementation Types n Java EE components use SCA‘s programming model to consume SCA-exposed services. n Use session beans as Service Component Implementations that may be consumed by other SCA components. n Use recursive SCA assembly in enterprise applications. n Deploy SCA Components as a part of a Java EE application SCA is the Scale-Out model for Java EE

Use Cases for Java EE Applications as Implementation Types n Use Java EE applications as Service Component Implementations l Modified l Unmodified n Allow unmodified Java EE applications to be rewired by SCA. n Exposure of Java EE services at any level of recursive assembly. SCA is the level of assembly above Java EE

Programming Model in JEE Components n Will be shown during demo:

Composite with a session bean component Contribution is JEE Archive: Sample Assembly I <composite name="beancomposite" targetNamespace=" xmlns=" <implementation.ejb ejb-link="module.jar#RemotableAccountingBean"/>

Including it into the domain <contribution xmlns=" xmlns:sample=" > Declare sample:beancomposite as Deployment Composite in In META-INF/sca-contribution.xml: Contribution is JEE Archive: Sample Assembly II

Contribution containing a Java EE archive

Open Questions n What is the componentType of an unmodified EAR (ie, one with no application.composite)? n Can ejb-ref‘s be rewired by SCA?