Presentation 23: Comparison of technologies. Ingeniørhøjskolen i Århus Slide 2 af 15 Goals of this lesson After this 1x35 lessons you will have –Discussed.

Slides:



Advertisements
Similar presentations
Overview of Web Services
Advertisements

Presentation 11: Developing for small devices. Ingeniørhøjskolen i Århus Slide 2 af 11 Outline Which small devices? What are the limitations and what.
Introduction to .NET Framework
COM vs. CORBA.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 9 Distributed Systems Architectures Slide 1 1 Chapter 9 Distributed Systems Architectures.
Presentation 11: SOAP on small devices. Ingeniørhøjskolen i Århus Slide 2 af 14 Outline Which small devices? What are the limitations and what kind of.
SOAP, WSDL & introduction to UDDI
What iS RMI? Remote Method Invocation. It is an approach where a method on a remote machine invokes another method on another machine to perform some computation.
Presentation 7 part 1: Web Services Introduced. Ingeniørhøjskolen i Århus Slide 2 Outline Definition Overview of Web Services Examples Next Time: SOAP.
Presentation 7: Part 1: Web Services Introduced. Outline Definition Overview of Web Services Examples Next Time: SOAP & WSDL.
University of British Columbia Software Practices Lab Introduction to Middleware for Software Engineering Eric Wohlstadter 539D.
Presentation 7 part 2: SOAP & WSDL. Ingeniørhøjskolen i Århus Slide 2 Outline Building blocks in Web Services SOA SOAP WSDL (UDDI)
Technical Architectures
J2ME Web Services Specification.  With the promise to ease interoperability and allow for large scale software collaboration over the Internet by offering.
Middleware Fatemeh Hendijanifard 1 آزمايشگاه سيستم هاي هوشمند (
What is.NET?. The Clients of.NET a) A new generation of connected application b) Microsoft.NET Framework managed execution c) Allows PCs and other smart.
Distributed Systems Architectures
1. Introducing Java Computing  What is Java Computing?  Why Java Computing?  Enterprise Java Computing  Java and Internet Web Server.
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)
Presentation 7: Web Services Introduced. Ingeniørhøjskolen i Århus Slide 2 af 44 Outline Overview of Web Services & SOAP Service-Oriented Architecture.
Web-based Software Development - An introduction.
Introduction SOAP History Technical Architecture SOAP in Industry Summary References.
Presentation 23: Comparison of technologies. Ingeniørhøjskolen i Århus Slide 2 af 16 Goals of this lesson After this 1x35 lessons you will have –Discussed.
Beyond DHTML So far we have seen and used: CGI programs (using Perl ) and SSI on server side Java Script, VB Script, CSS and DOM on client side. For some.
Data Integration Problem How to access data across 22 different data systems, most operating on different hardware, using different software, and having.
Glink: GCOS e-business in an application server architecture Summit 2000, Jim Gallagher.
Presentation 27: Comparison of technologies. Ingeniørhøjskolen i Århus Slide 2 af 11 Goals of this lesson After this 1x35 lessons you will have –Discussed.
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.
Borland Janeva.NET Interoperability with J2EE and CORBA Svetlin Nakov Software Development Consultant Sofia University “St. Kliment Ohridski”
Presentation 8: SOAP in a distributed object framework, Application Servers & AXIS SOAP.
Presentation 11: SOAP on small devices. Ingeniørhøjskolen i Århus Slide 2 af 11 Outline Which small devices? What are the limitations and what kind of.
Web services: Why and How OOPSLA 2001 F. Curbera, W.Nagy, S.Weerawarana Nclab, Jungsook Kim.
Presentation: SOAP in a distributed object framework, Application Servers & AXIS SOAP.
Component Architecture (CORBA – RMI) -Shalini Pradhan.
Fundamentals of Database Chapter 7 Database Technologies.
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.
Microsoft Visual Studio 2010 Muhammad Zubair MS (FAST-NU) Experience: 5+ Years Contact:- Cell#:
Comparison of Web Services, RMI, CORBA, DCOM Usha, Lecturer MCA Department of Computer Science and Engineering.
1 of of 25 3 of 25 ORBs (Object Request Broker) – A distributed software bus for communication among middleware services and applications – To.
Presentation: SOAP/WS in a distributed object framework, Application Servers & AXIS SOAP.
Presentation: SOAP/WS in a distributed object framework, Application Servers & AXIS SOAP.
Web Services. Abstract  Web Services is a technology applicable for computationally distributed problems, including access to large databases What other.
Presentation 22 Distributed Objects on the Windows platform.
Presentation 22 Distributed Objects on the Windows platform.
Active Server Pages (ASP), also known as Classic ASP or ASP Classic, was Microsoft's first server-side script engine for dynamically generated web pages.
Presented By:- Sudipta Dhara Roll Table of Content Table of Content 1.Introduction 2.How it evolved 3.Need of Middleware 4.Middleware Basic 5.Categories.
 Common Object Request Broker Architecture  An industry standard developed by OMG to help in distributed programming.
S imple O bject A ccess P rotocol Karthikeyan Chandrasekaran & Nandakumar Padmanabhan.
Presentation 11: RMI introduction. Ingeniørhøjskolen i Århus Slide 2 af 20 Goals of this lesson After these 2x35 lessons you will be –Introduced to Java.
Presentation 11: SOAP on small devices. Ingeniørhøjskolen i Århus Slide 2 af 10 Outline Which small devices? What are the limitations and what kind of.
Presentation 11: SOAP on small devices. Ingeniørhøjskolen i Århus Slide 2 af 10 Outline Which small devices? What are the limitations and what kind of.
Glink for Java: applet, application and an API for integrating access to Bull, IBM, UNIX and Minitel systems with your Java based e-business applications.
Topic 5: CORBA RMI Dr. Ayman Srour
A service Oriented Architecture & Web Service Technology.
Presentation 22 Distributed Objects on the Windows platform.
A Detailed Introduction To Visual Studio.NET CRB Tech ReviewsCRB Tech Reviews introduces you to the world of Visual.
Microsoft .NET Platform
Outline SOAP and Web Services in relation to Distributed Objects
CORBA Alegria Baquero.
Outline SOAP and Web Services in relation to Distributed Objects
Interpreter Style Examples
CORBA Alegria Baquero.
Inventory of Distributed Computing Concepts
Component--based development
Quality Assurance for Component-Based Software Development
Presentation transcript:

Presentation 23: Comparison of technologies

Ingeniørhøjskolen i Århus Slide 2 af 15 Goals of this lesson After this 1x35 lessons you will have –Discussed the different Middleware technologies –And be in a position to better decide when to use which technology

Ingeniørhøjskolen i Århus Slide 3 af 15 Outline Discussion in plenum –Pro’s and Con’s of each Middleware technology –When to use which? –Important that you form your own opinion –Do NOT use mine After discussion –Articles of interest (feel free to supplement) –Findings Pro’s and Con’s 6 scenarios – when to use?

Ingeniørhøjskolen i Århus Slide 4 af 15 Articles of interest The following articles could be of interest to you: –1) Java RMI & CORBA A comparison of two competing technologies –2) Distributed object alternatives: DCOM and RMI –3) Web Services/SOAP and CORBA (critic of SOAP) –4).NET from the Enterprise Perspective: SOAP –5) Comparision of CORBA and Java RMI Based on Performance Analysis: –6) A Comparison of Distributed Object Technologies Read this article, at least – if you do not have time to read them all. This discusses all technologies To supplement Emmerich and the articles you already recieved!

Ingeniørhøjskolen i Århus Slide 5 af 15 Pro’s and Con’s of Java RMI Pro’s –Portable across many platforms (heterogen) [1] –Requieres only Java skills – no need to learn IDL’s (uses the build- in java interfaces) –No need for buying and installing an ORB – uses the JDK –Can introduce new code to foreign JVMs (Class Loading) [1] –Regarded as ”easier to learn” than CORBA -> ”CORBA light” –Performance on pure Java systems is comparable to CORBA systems [5] –Distributed Garbage Collection [6] –Some services Naming, activation Con’s –Tied only to platforms with Java support [1] (but: RMI over IIOP and JNI) –Security threats with remote code execution, and limitations on functionality enforced by security restrictions [1] –Learning curve for developers that have no RMI experience is comparable with CORBA [1] –Can only operate with Java systems - no support for legacy systems written in C++, Ada, Fortran, Cobol, and others (including future languages) [1] –Does not implement many services and facilities as do CORBA – need to use EJB or other frameworks [6]

Ingeniørhøjskolen i Århus Slide 6 af 15 Pro’s and Con’s of CORBA Pro’s –With IDL, the interface is clearly separated from implementation, and developers can create different implementations based on the same interface. [1] –Widespread support for heterogenous systems – platform and programming languages [Emmerich] –Implements many services and facilities – that other technologies do not have (e.g. Java RMI, SOAP do not) Persistence, transactions, security, naming, activation etc –CORBA supports primitive data types, and a wide range of data structures, as parameters [1] –CORBA is ideally suited to use with legacy systems, and to ensure that applications written now will be accessible in the future. [1] –CORBA is an easy way to link objects and systems together [1] –Dynamic Invocation possible [6] Con’s –Describing services require the use of an interface definition language (IDL) which must be learned. Implementing or using services require an IDL mapping to your required language - writing one for a language that isn't supported would take a large amount of work. [1] –Need to ”buy” (open source is availlable), and install an ORB –IDL to language mapping tools create code stubs based on the interface - some tools may not integrate new changes with existing code [1]. –CORBA does not support the transfer of objects, or code. [1] –The future is uncertain - if CORBA fails to achieve sufficient adoption by industry, then CORBA implementations become the legacy systems. [1] –Some training is still required, and CORBA specifications are still in a state of flux. [1] –CORBA Services and facilities are hard to learn, thus diminishing the advantages here –Often rather large footprint – though scaled down versions do exsit (footprints belov 90 KB)

Ingeniørhøjskolen i Århus Slide 7 af 15 Pro’s and Con’s of SOAP Pro’s –”Hype” technology – all great vendors support SOAP, including Microsoft, SUN, IBM, Oracle, HP … [3] –Widespread support for heterogenous systems – platform and programming languages –Widespread tool support [3] –XML easy to interpret –Easy to use with some systems and tools (Microsoft extremely easy) [3] –Developers ”believe” it is easy to use – as opposed to CORBA –Relativly ”small footprint” – WingFoot API for J2ME – 32 KB –Simpel communication model – using HTTP port 80 –Same receipt for success as HTML and HTTP on the WWW Con’s –Maybe the ”hype” will wear of [1], [3], [6] –Very slow – everything needs to be parsed [3] – use of XML results in huge overhead –Use of XML far off from programming languages [3] –As Java RMI, SOAP and Web services are much less rich on features than CORBA – need to roll your own servcies – or use others –SOAP is a ”young” technology year 2000 –Problems with port 80 – security risks [3] –Not always the best technology wins (as with HTML)

Ingeniørhøjskolen i Århus Slide 8 af 15 Pro’s and Con’s of DCOM Pro’s –Pure Microsoft technology – good choice for companys dealing only in a Windows world[6] –Absolutly free [2] –DCOM supports multiple (heterogenous) programming languages – supported by C++, Visual Basic, Delphi etc [6] –Many services as in CORBA Persistence, transactions, security, naming, activation etc. –Dynamic Invocation of objects (as in COBRA) [6] –Automatic garbage collection (pinging) [6] Con’s –Pure Microsoft technology – bad choice for companys dealing not only in a Windows world[6] –Runs only on a Windows platform – attempts on migrating to other platforms not successful [6] –Low support of DCOM in industry – no hype [2] –Consider hard to learn by many –Component oriented – not object oriented

Ingeniørhøjskolen i Århus Slide 9 af 15 6 scenarios In the following I present 6 scenarios It is up to you to decide which technology to use – and we may debate it during the presentation

Ingeniørhøjskolen i Århus Slide 10 af 15 Scenario 1 Server program to be written in Java and run on UNIX servers Clients to run on primarely Windows machines – written in C++ Clients communicate via LAN internally in the company Which technology? –CORBA seems the most appropriate –SOAP could be considered – BUT IS LIGHTWEIGHT COMPARED TO CORBA

Ingeniørhøjskolen i Århus Slide 11 af 15 Scenario 2 Need for exposing a few data from an exsisting legacy application running on a UNIX platform which was written in Java Data is to be delivered to several client programs running on different operating systems: Mac, Windows and Linux, and written in different programming languages – using uncontrolled firewalls in different locations Many different small software companys are the targets, skills unknown Which technology? –SOAP seems the most appropriate –CORBA could be considered

Ingeniørhøjskolen i Århus Slide 12 af 15 Scenario 3 A system is being designed: –Server: Java program running on a UNIX server –Client: Java program running on Windows and LINUX –Client option: possible client J2ME on mobile phones Which technology? –Java RMI seems the most appropriate Support for RMI on J2ME not fully implemented –CORBA is possible – opening up for other clients No CORBA support on J2ME yet –SOAP support for J2ME – kSOAP and WingFoot … Would support other types of client in the future

Ingeniørhøjskolen i Århus Slide 13 af 15 Scenario 4 A system is being designed: –Server running on a LINUX platform – Java language –Client – Windows XP PC written in C++ –Client – Windows CE Smartphone edition (C++) –Client – Symbian J2ME mobile phone –Client – LIAB (Linux in a Box) – optional –Problem: communicating via GSM – high latency Which technology: –Maybe CORBA sounds best, but SOAP is the only supported by the Symbian J2ME (WingFoot, kSOAP) –SOAP Works on the.NET CF for SmartPhone!

Ingeniørhøjskolen i Århus Slide 14 af 15 Scenario 5 A system is being designed: –Server running Windows 2000 written in C++ Implementing accounting, employee records, planning scedules etc. –Planned clients include: An accounting program written in Delphi A phonebook program written in ASP.NET (VB Script) An employee update & planning program written in C# Which technology? –COM is obvious for the pure Microsoft platform –CORBA is possible –SOAP is possible

Ingeniørhøjskolen i Århus Slide 15 af 15 Scenario 6 A small company has just made a killer application offering other developers access to: –Searching the Web –Sending and recieving mails and SMS messages –All for free – using sponsporship as a sole income –They want other companys to incoporate the functions they have into their own programs – and devices All kinds of technologies possible here!!! Which technology? –SOAP is obviously suited for this. Every small company can integrate, and no trouble with firewalls!