Distributed Component Architectures for Cooperative Information Systems Edward Cobb Vice President, Architecture & Standards BEA Systems

Slides:



Advertisements
Similar presentations
J0 1 Marco Ronchetti - Basi di Dati Web e Distribuite – Laurea Specialistica in Informatica – Università di Trento.
Advertisements

Welcome to Middleware Joseph Amrithraj
Web Service Architecture
J2EE Architecture Overview
Web Services Nasrullah. Motivation about web service There are number of programms over the internet that need to communicate with other programms over.
WEB SERVICES DAVIDE ZERBINO.
An architecture for webb applications, J2EE
G O B E Y O N D C O N V E N T I O N WORF: Developing DB2 UDB based Web Services on a Websphere Application Server Kris Van Thillo, ABIS Training & Consulting.
Presentation 7 part 2: SOAP & WSDL. Ingeniørhøjskolen i Århus Slide 2 Outline Building blocks in Web Services SOA SOAP WSDL (UDDI)
Introduction to Java 2 Enterprise Edition About myself –Neutrinos, Cancer Research, IT Applications Today’s topic: J2EE –Context –Advantages –Components.
Middleware Fatemeh Hendijanifard 1 آزمايشگاه سيستم هاي هوشمند (
A New Computing Paradigm. Overview of Web Services Over 66 percent of respondents to a 2001 InfoWorld magazine poll agreed that "Web services are likely.
Sapana Mehta (CS-6V81) Overview Of J2EE & JBoss Sapana Mehta.
Introduction to Enterprise JavaBeans. Integrating Software Development Server-side Component Model Distributed Object Architecture –CORBA –DCOM –Java.
1. Introducing Java Computing  What is Java Computing?  Why Java Computing?  Enterprise Java Computing  Java and Internet Web Server.
Chapter 7: Client/Server Computing Business Data Communications, 5e.
Ch 12 Distributed Systems Architectures
J2EE vs..NET Nigam Patel. Topics Background –Web Services, J2EE and.NET Similarities Differences Conclusion –Pros and Con (J2EE and.NET)
Software Engineering Module 1 -Components Teaching unit 3 – Advanced development Ernesto Damiani Free University of Bozen - Bolzano Lesson 2 – Components.
Nikolaos Korfiatis The Java 2 Enterprise Edition Platform Dept. of Management & Technology-Athens University of Economics and Business Java 2 Platform.
E-business Architecture.NET vs J2EE Judith Molka-Danielsen Feb.27, 2004.
J2EE Kenneth M. Anderson CSCI Web Technologies October 3, 2001.
12-1 © Prentice Hall, 2004 Chapter 12: Design Elements Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey.
Understanding and Managing WebSphere V5
SOA, BPM, BPEL, jBPM.
EJB Overview Celsina Bignoli Distributed Business Applications Server DB Client DB Server DB.
Quality Assurance for Component- Based Software Development Cai Xia (Mphil Term1) Supervisor: Prof. Michael R. Lyu 5 May, 2000.
Web Services Mohamed Fahmy Dr. Sherif Aly Hussein.
Enterprise Java Beans CS-422. Application Servers In the late 1980s and though the mid 1990s a number of corporations (Broadvision, Netscape…) marketed.
HTTP client wide area network (Internet) HTTP proxy HTTP server HTTP gateway firewall HTTP tunnel Copyright Springer Verlag Berlin Heidelberg 2004.
Middleware-Based OS Distributed OS Networked OS 1MEIT Application Distributed Operating System Services Application Network OS.
Bayu Priyambadha, S.Kom. What is J2EE? * Open and standard based platform for developing, deploying and managing n-tier, Web-enabled, server-centric,
CIS 375—Web App Dev II Microsoft’s.NET. 2 Introduction to.NET Steve Ballmer (January 2000): Steve Ballmer "Delivering an Internet-based platform of Next.
Web Services Architecture1 - Deepti Agarwal. Web Services Architecture2 The Definition.. A Web service is a software system identified by a URI, whose.
Web services: Why and How OOPSLA 2001 F. Curbera, W.Nagy, S.Weerawarana Nclab, Jungsook Kim.
CS 493/693: Distributed Systems Programming V. “Juggy” Jagannathan CSEE, West Virginia University March 21, 2005.
1 G52IWS: Distributed Computing Chris Greenhalgh.
Chapter 3: Objects, Components, and the Web Textbook IT Architectures and Middleware, Second Edition Chris Britton and Peter Bye AIT 600 Jeff Schmitt September.
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.
Outline  Enterprise System Integration: Key for Business Success  Key Challenges to Enterprise System Integration  Service-Oriented Architecture (SOA)
第十四章 J2EE 入门 Introduction What is J2EE ?
Enterprise Java v120131Intro to JavaEE1 Java EE 5 TM Introduction.
® IBM Software Group © 2007 IBM Corporation J2EE Web Component Introduction
Enterprise Java Beans Java for the Enterprise Server-based platform for Enterprise Applications Designed for “medium-to-large scale business, enterprise-wide.
Lecture 15 Introduction to Web Services Web Service Applications.
Web Services Kanda Runapongsa Dept. of Computer Engineering Khon Kaen University.
Source: Peter Eeles, Kelli Houston, and Wojtek Kozaczynsky, Building J2EE Applicationa with the Rational Unified Process, Addison Wesley, 2003 Prepared.
Web Services. Abstract  Web Services is a technology applicable for computationally distributed problems, including access to large databases What other.
Databases JDBC (Java Database Connectivity) –Thin clients – servlet,JavaServer Pages (JSP) –Thick clients – RMI to remote databases –most recommended way.
Distribution and components. 2 What is the problem? Enterprise computing is Large scale & complex: It supports large scale and complex organisations Spanning.
XML and Web Services (II/2546)
Kemal Baykal Rasim Ismayilov
An Introduction to Web Services Web Services using Java / Session 1 / 2 of 21 Objectives Discuss distributed computing Explain web services and their.
Assignment of JAVA id : BSSE-F10-M-10-JAVA1 Overview of J2EE/Session 2/Slide 1 of 38.
1 G52IWS: Web Services Chris Greenhalgh. 2 Contents The World Wide Web Web Services example scenario Motivations Basic Operational Model Supporting standards.
1 Copyright © 2004, Oracle. All rights reserved. Oracle Application Development Framework.
1 Distributed System using J2EE. 2 What is J2EE?  J2EE (Java2 Enterprise Edition) offers a suite of software specification to design, develop, assemble.
Alan L. Batongbacal CS 4244 / 01 Nov 2000
Copyright 2007, Information Builders. Slide 1 iWay Web Services and WebFOCUS Consumption Michael Florkowski Information Builders.
E-commerce Architecture Ayşe Başar Bener. Client Server Architecture E-commerce is based on client/ server architecture –Client processes requesting service.
Sabri Kızanlık Ural Emekçi
WEB SERVICES.
Inventory of Distributed Computing Concepts and Web services
Distributed System Using Java 2 Enterprise Edition (J2EE)
Inventory of Distributed Computing Concepts
WEB SERVICES DAVIDE ZERBINO.
Web Application Server 2001/3/27 Kang, Seungwoo. Web Application Server A class of middleware Speeding application development Strategic platform for.
Component-based Applications
Quality Assurance for Component-Based Software Development
Presentation transcript:

Distributed Component Architectures for Cooperative Information Systems Edward Cobb Vice President, Architecture & Standards BEA Systems 7 September, 2001

27 September 2001COOPIS Trento, Italy Trademarks The following are trademarks of the Object Management Group –CORBA – UML The following are trademarks of Sun Microsystems –Java – J2EE –JavaBeans – J2SE –Enterprise JavaBeans – J2ME The following are trademarks of their respective companies: –WebLogic - BEA Systems –Websphere - IBM Corporation –iPlanet - Sun Microsystems/AOL –Microsoft.NET - Microsoft Corporation

37 September 2001COOPIS Trento, Italy Agenda Today’s Business Environment Evolution of Component Technologies –Desktop Objects –CORBA and DCOM –Object Transaction Monitors –Java and J2EE –Microsoft’s.NET Loosely-Coupled vs. Tightly-Coupled Convergence via Web Services Conclusions

47 September 2001COOPIS Trento, Italy Today’s Business Environment Increased Competition –Time to Market –Flexibility –Adaptability Cost Containment –Shortage of IT skills –“Do More with Less” –IT contribution to bottom line Pace of Technology Innovation –Difficult to Keep Up –Opportunity to gain and maintain competitive advantage

57 September 2001COOPIS Trento, Italy What is a Component? A self-contained unit of software code with –its own data and logic –well-defined connections or interfaces –exposed for communication. Designed for repeated use –in developing applications –with or without customization.

67 September 2001COOPIS Trento, Italy Why Components? Time to market –Improved application developer productivity –Reduced complexity –Reuse of existing code Programming by assembly (manufacturing) rather than development (engineering) –Reduced skills requirements –Focus expertise on domain problems Key benefit will be seen with server-side development

77 September 2001COOPIS Trento, Italy Objects on the Desktop Key to Graphical User Interfaces (GUIs) Pioneered by the Apple Macintosh Brought to the PC by Microsoft and IBM Key Enabling Technology for the success of Microsoft’s Windows Has become the preferred approach for all GUI development A tightly-coupled model

87 September 2001COOPIS Trento, Italy The Client/Server Revolution Local Area Networks make Sharing Efficient and cost-effective –Devices (e.g. printers) –Files –Databases Power to the Desktop User –Applications Reside of Client Desktop –Rise of Powers tools (Microsoft Visual Basic, Sybase Power Builder) for the desktop programmer –Servers used for fixed function (data and device access)

97 September 2001COOPIS Trento, Italy Objects on the Server Two competing alternatives –CORBA from the Object Management Group (multi- language, multi-OS, and vendor neutral) –DCOM from Microsoft (multi-language but Windows only) Interface Definition Language (IDL) –Defines the contract between client and server –Forms the basis of the on-the-wire interoperability protocol –Based on a tightly-coupled RPC model Both had limited success –Distribution costs of fine-grain objects –Scalability problems inherent in client-server architectures –Complexity of supporting multiple programming languages

107 September 2001COOPIS Trento, Italy Common Object Request Broker Architecture (CORBA)

114 November 1998Object Computing Europe 98 - Helsinki Object Transaction Monitors A need breed of application middleware –Not a CORBA ORB with a “suite” of services –Not a TP monitor with O-O language binding –a new software platform built from “open standards” –a component-based development model –AND the performance and “abilities” of a TP monitor Examples: –BEA WebLogic Enterprise (previously called M3 and now part of BEA Tuxedo) –Microsoft’s MTS

127 September 2001COOPIS Trento, Italy Java Makes CORBA a Big Success Rise of the web shifts focus from client to the server Virtual machine architecture provides better portability and security Java programming language eliminates many of the complexities of C++ Focus on portability rather than interoperability Single language results in APIs which are more natural for the Java programmer than IDL mappings of CORBA APIs

137 September 2001COOPIS Trento, Italy Component, Object Clustering (routing, load balancing, failover) Web Clustering (routing, load balancing, failover) Firewall, Net Director HTTP routing (e.g., Net Director), Firewall Programmed Clients Web Server Servlet/ JHTML/JSP State Data Servlet/ JHTML/JSP Web Container Servlet/ JHTML/JSP State Data Servlet/ JHTML/JSP Web Container State Data Enterprise JavaBeans Enterprise JavaBeans Application Container State Data Enterprise JavaBeans Enterprise JavaBeans Application Container State Data Enterprise JavaBeans Enterprise JavaBeans Application Container Web Clients (via Web Server) Web Clients Application Server Architecture

147 September 2001COOPIS Trento, Italy What is J2EE? One of three Java platform specifications –Java 2 Micro Edition (J2ME) –Java 2 Standard Edition (J2SE) –Java 2 Enterprise Edition (J2EE) A Java API specification for Enterprise Applications –Includes J2SE plus –Web container –EJB container The architecture of the Application Server –BEA WebLogic –IBM Websphere –Sun iPlanet

157 September 2001COOPIS Trento, Italy J2EE 1.3 Architecture J2SE DB JAF Java Mail JAAJDBCJMSJTAJAXPJCX JAF Java Mail JAAJDBCJMSJTAJAXPJCX EJB JSP ServletApplet JMSJAAJTAJDBC Application Client J2SE HTTP SSL HTTP SSL HTTP SSL

167 September 2001COOPIS Trento, Italy Web Container Client Access –HTTP(S) Clients with HTML –HTTP(S) Clients with XML documents Programming APIs –Servlets –Java Server Pages (JSP) Dynamic HTML content Custom Tag Libraries –XML parsing (JAXP) in J2EE 1.3 Back-end access –EJBs via Java RMI –DB via JDBC –Enterprise Information Systems via JCA in J2EE 1.3

177 September 2001COOPIS Trento, Italy EJB Container Client EJB Home (bean identifier) EJB Object provides a client view of the enterprise bean. It intercepts all calls and performs transaction, state, persistence, and security services for the bean. methods create find remove EJB Home implements all lifecycle services for the bean. EJB Object Enterprise Bean EJB Object (client view)

187 September 2001COOPIS Trento, Italy EJB Taxonomy EnterpriseJavaBeansEnterpriseJavaBeans EntityBeansEntityBeansSessionBeansSessionBeans StatefulStatefulStatelessStatelessBean-ManagedBean-ManagedContainer-ManagedContainer-Managed Session Beans “TP Monitor” style Short-lived, no key 1-to-1 relationship to client Explicit DB access E.g., Bank Teller, E- Commerce Server Entity Beans Component view of DB row or object May be long-lived Primary key, stateful 1-to-many relationship to client(s) E.g., Customer, Order (Web shopping cart) (Inventory agent, “MTS style”) (via explicit JDBC; when automated tools are insufficient) (via O/R mapping) Many EJB applications will use both!

197 September 2001COOPIS Trento, Italy Client EJB Server EJB Architecture EJB Container EJB home object DBMS Enterprise Beans EJB Object Stubs EJB Objects Deployment Descriptor EJB home stub User Code Generated Code All else, system code

207 September 2001COOPIS Trento, Italy Microsoft.NET.NET Platform –Infrastructure + tools –User experience –Building blocks –Mega services.NET Products and services –Windows.NET –MSN.NET –Personalized subscription services –Office.NET –VisualStudio.NET VB style Generates XML –bCentral.NET BizTalk Business process orchestration CRM services Third party.NET services Building-block services –Identity (Passport) –Notification and messaging Unified IM, , voice mail, … –Personalization –XML store SOAP Data description Unified data access??? –Calendar service –Directory and search –Dynamic delivery

217 September 2001COOPIS Trento, Italy Loosely-Coupled and Tightly- Coupled Architectures Tightly-Coupled –High Degrees of Interdependence –Difficult to change parts –Synchronous Invocations (RPCs, conversations) –Implicit State Sharing –Implicit Contexts –2PC Transactions –Best for intra-enterprise CORBA 2, J2EE 1.2, and DCOM are all tightly-coupled Loosely-Coupled –Greater Independence –Much easier to change parts –Asynchronous invocations (messaging) –Meta-Data Sharing –Explicit Contexts in messages –Workflow –Ideal for inter-enterprise (web) CORBA 3, J2EE 1.3, and.NET add loosely-coupled capabilities Web Services is an architecture for loosely-coupled applications

227 September 2001COOPIS Trento, Italy Business Rationale for Loose Coupling Booking a Business Trip

237 September 2001COOPIS Trento, Italy Web Services Architecture

247 September 2001COOPIS Trento, Italy Web Services Definition “Web services are content and software processes delivered over the Internet using loosely coupled messages (and increasingly, XML interfaces) that ‘service’ a particular set of user needs.” David Smith, Gartner Group 11 October 2000

257 September 2001COOPIS Trento, Italy Web Services Characteristics XML based Locatable via a registry Accessible over the web Loosely-coupled Message-based Standard Web Protocols

267 September 2001COOPIS Trento, Italy What’s Different with Web Services? Standardization moves to Schema/DTD space –Focus on exchange of complete documents rather than just core information –Versions of schemas used critical to communication Interoperability rather than Portability but… –As with standard protocols, little work in self-defining documents and interchange (vs. dynamic interface discovery) –Still have to code business logic and create/parse XML –Closer to EDI than to traditional networking –Long-lived business transactions (not 2PC) –Simpler model of interaction than businesses currently use

277 September 2001COOPIS Trento, Italy Web Services Framework Wire (or exchange format) –The components representing what is sent during a given exchange; data, the envelope and the metadata necessary for a meaningful transmission Description –The specifications required for the format definition, use or application of the wire components Discovery –The specifications that provide the mechanisms for automatic searching and discovery of the components in the Wire and Description stacks

287 September 2001COOPIS Trento, Italy Wire (or exchange format) Message Envelope and controlled extensibility (XML) –Versioning –Mandatory and optional message parts –Message components for different intermediaries Binary attachments Message Exchange (Routing) –The means to designate different intermediaries and their expected response. –Intermediaries identified by service type

297 September 2001COOPIS Trento, Italy Description XML Schemas Service Description –Web Services Definition Language (WSDL) –Messages, sent and received, protocols used to exchange them, logical ports associated with services, binds to address(es) –Functionally analogous to IDL Process Flow Orchestration –Valid sequences of messages –Relationships between messages and the business processes they initiate –Relationships between messages and the (external) contractual provisions they pertain to.

307 September 2001COOPIS Trento, Italy Discovery Inspection –Protocols enabling a web service to obtain metadata about itself such as a service description process flow or related contracts. Discovery (UDDI) –A protocol to obtain identifiers of services based on given characteristics –Functionally similar to CORBA Trader

317 September 2001COOPIS Trento, Italy Conclusion The Next Generation Web will be based on communicating programs not browsers These programs need a common language to exchange information XML is being adopted as that common language –meets the functional requirements –has support from all major vendors –is an open standard “The brunt of XML’s Web impact will be on restructuring the economics of Web-based transactions” - Rita Knox, Gartner Group